N-gram模型是一種基於統計的語言模型,其核心思想是利用馬爾科夫鏈假設,認為一個詞的出現僅與其前面的一些詞有關。N-gram模型可以計算一個詞序列的機率,即這些單詞的聯合機率。在N-gram模型中,N表示詞元的數量,常見的有bigram(N=2)、trigram(N=3)等。模型的訓練通常涉及分詞、統計相鄰詞元的組合數目、生成ngram計數檔案以及統計每個組合的機率,最終生成語言模型。此外,為了處理未知詞或數據稀疏問題,通常會使用平滑技術。
N-gram模型在自然語言處理中有廣泛的套用,例如用於文本生成、語音識別、拼寫糾正等。它通過統計文本中連續詞元的出現頻率來預測或評估一個句子是否合理,也可以用來評估兩個字元串之間的相似度。在中文處理中,N-gram模型被稱為漢語語言模型(CLM),它利用上下文中相鄰詞間的搭配信息來進行語言建模。