Bạn có thể sử dụng phương pháp "brute force", theo đó bạn so sánh ngôn ngữ được tạo với dữ liệu được thu thập trên n-grams cao hơn thứ tự so với mô hình Markov đã tạo ra nó.
tức là nếu ngôn ngữ được tạo bằng mô hình Markov thứ 2, tối đa 3 gram sẽ có tần suất chính xác nhưng có thể 4-gram.
Bạn có thể nhận tần suất tối đa 5 gram từ công khai của Google n-gram dataset. Mặc dù rất lớn - 24G được nén - bạn cần tải xuống bằng cách đăng trên DVD từ LDC.
EDIT: Thêm một số chi tiết thực hiện
Các n-gram đã được tính, vì vậy bạn chỉ cần để lưu trữ các đếm (hoặc tần số) trong một cách đó là nhanh chóng để tìm kiếm. Một cơ sở dữ liệu được lập chỉ mục đúng, hoặc có lẽ chỉ mục Lucene sẽ hoạt động.
Cho một đoạn văn bản, quét qua nó và tìm tần suất của mỗi 5 gram trong cơ sở dữ liệu của bạn và xem vị trí của nó so với 5 gram khác bắt đầu bằng 4 từ.
Thực tế, trở ngại lớn hơn có thể là các điều khoản cấp phép của tập dữ liệu. Sử dụng nó cho một ứng dụng thương mại có thể bị cấm.
Tôi thích cách tiếp cận này, nhưng tôi nghĩ điều này sẽ không khả thi về mặt tính toán? – agiliq
Không xem cách thêm một số chi tiết vào câu trả lời. – pufferfish