Mô hình ngôn ngữ là một mô hình xác suất sử dụng cho việc dự đoán phần tử tiếp theo trong một dãy tuần tự các đối tượng. Các đối tượng chúng ta xét là một văn bản, đoạn văn bản dạng w1w2...wm và nhiệm vụ của mô hình ngôn ngữ là cho biết xác suất của một từ hoặc cụm từ là bao nhiêu.
P(w1w2...wm)=P(w1) * P(w2|w1) * P(w3|w1w2)*...*P(wm|w1w2...wm-1) Như vậy mỗi từ hoặc cụm từ sẽ liên quan có điều kiện tới toàn bộ các từ trước nó (ta sẽ gọi đây là lịch sử của sự kiện hoặc từ đó). Tuy nhiên, việc sử dụng toàn bộ các từ trước đó để đoán nhận từ hoặc cụm từ tiếp theo là không thể thực hiện được vì 2 nguyên nhân:
Thứ nhất: phương pháp này không khả thi về mặt tính toán do tốn quá nhiều thời gian, tài nguyên hệ thống cho mỗi lần dự đoán.
Thứ hai: trong rất nhiều trường hợp, chỉ sau khi duyệt vài từ trong lịch sử, ta đã nhận thấy rằng đó là một câu chưa từng gặp trước đây. Bởi vậy kể cả khi đã biết toàn bộ lịch sử của một từ, xác suất của nó vẫn có thể là không biết.
Thay vào đó, các mô hình ngôn ngữ thường ước lượng tương đối xác suất dựa trên giả định Markov: xác suất xuất hiện của một từ được coi như chỉ phụ thuộc vào n từ đứng liền trước nó chứ không phải phụ thuộc vào toàn bộ dãy từ đứng trước, tức là:
P(wm|w1w2...wm-1) ≈ P(wm|wm-nwm-n+1...wm-1) Như vậy, công thức tính xác suất văn bản được tính lại theo công thức:
P(w1w2...wm)=P(w1)*P(w2|w1)*P(w3|w1w2)*...*P(wm|wm- nwm-n+1...wm-1)
Với công thức này, ta có thể xây dựng mô hình ngôn ngữ dựa trên việc thống kê các cụm có ít hơn n+1 từ. Mô hình ngôn ngữ này gọi là mô hình ngôn ngữ N-gram. Ứng với N=1 ta có mô hình Unigram; N=2 có mô hình bigram; N=3 ta có mô hình trigram,...Ví dụ, nếu chúng ta muốn ước lượng xác suất 3- gram của một từ wi với mô hình Markov bậc 2 thì chúng ta sẽ dựa trên hai từ trước đó (Hình 2.7 )
Hình 2.7. Mô hình Markov bậc 2