語言模型是一個自然語言中的詞語機率分佈模型，例如提供一個長度為 m 的字詞序列 w_1 w_2 w_m，計算這些字詞的機率：P w_1ldotsw_m。透過語言模型，可以確定哪個詞語出現的可能性更大，或者透過若干上文語境詞來預測下一個最可能出現的詞語。王亞珅，黃河燕著，短文字表示建模及應用，北京理工大學出版社，202105 第 24 頁 語言模型經常使用在許多自然語言處理方面的應用，如語音識別 Kuhn Roland and Renato De Mori A cachebased natural language model for speech recognition IEEE transactions on pattern analysis and machine intelligence 126 1990 570583，機器翻譯 Andreas Jacob Andreas Vlachos and Stephen Clark Semantic parsing as machine translation Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics Volume 2 Short Papers 2013，詞性標註，句法分析 Andreas Jacob Andreas Vlachos and Stephen Clark Semantic parsing as machine translation Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics Volume 2 Short Papers 2013，手寫體識別 Pham Vu et al Dropout improves recurrent neural networks for handwriting recognition 2014 14th International Conference on Frontiers in Handwriting Recognition IEEE 2014 和資訊檢索。由於字詞與句子都是任意組合的長度，因此在訓練過的語言模型中會出現未曾出現的字串 資料稀疏的問題，也使得在語料庫中估算字串的機率變得很困難，這也是要使用近似的平滑 n 元語法 Ngram 模型之原因。 在語音辨識和在資料壓縮的領域中，這種模式試圖捕捉語言的特性，並預測在語音串列中的下一個字。 在語音識別中，聲音與單詞序列相匹配。當來自語言模型的證據與發音模型和聲學模型相結合時，歧義更容易解決。 當用於資訊檢索，語言模型是與檔案有關的集合。以查詢字「Q」作為輸入，依據機率將檔案作排序，而該機率 P QM_d 代表該檔案的語言模型所產生的語句之機率。 模型型別 單元語法（unigram） 一個單元模型可以看作是幾個單狀態有限自動機的組合 Christopher D Manning Prabhakar Raghavan Hinrich Schütze An Introduction to Information Retrieval pages 237240 Cambridge University Press 2009。 它會分開上下文中不同術語的機率，比如將 P t_1t_2t_3P t_1 P t_2mid t_1 P t_3mid t_1t_2 拆分為 P_text unit_1t_2t_3P t_1 P t_2 P t_3 在這個模型中，每個單詞的機率只取決於該單詞在文件中的機率，所以我們只有一個狀態有限自動機作為單位。自動機本身在模型的整個詞彙表中有一個機率分佈，總和為 1。下面是一個文件的單元模型。 單詞 term 在文件 doc 中的機率 a 01 world 02 likes 005 we 005 share 03 sum_text term in doc P text term 1 為特定查詢 query 生成的機率計算如下 P text query prod_text term in query P text term 不同的文件有不同的語法模型，其中單詞的命中率也不同。不同文件的機率分佈用於為每個查詢生成命中機率。可以根據機率對查詢的文件進行排序。兩個文件的單元模型示例 單詞 在 Doc1 的機率 在 Doc2 中的機率 a 01 03 world 02 01 likes 005 003 we 005 002 share 03 02 在資訊檢索環境中，通常會對單語法語言模型進行平滑處理，以避免出現 P term 0 的情況。一種常見的方法是為整個集合生成最大似然模型，並用每個文件的最大似然模型對集合模型進行線性插值來平滑化模型。Buttcher Clarke and Cormack Information Retrieval Implementing and Evaluating Search Engines pg 289291 MIT Press n 元語法 在一個 n 元語法模型中，觀測到序列 w_1ldotsw_m 的機率 P w_1ldotsw_m 可以被近似為 P w_1ldotsw_m prodm_i1 P w_imid w_1ldotsw_i1 approx prodm_i1 P w_imid w_in1ldotsw_i1 此處我們引入馬爾科夫假設，一個詞的出現並不與這個句子前面的所有詞關聯，只與這個詞前的 n 個詞關聯（n 階馬爾科夫性質）。在已觀測到 i1 個詞的情況中，觀測到第 i 個詞 wi 的機率，可以被近似為，觀測到第 i 個詞前面 n 個詞（第 in1 個詞到第 i1 個詞）的情況下，觀測到第 i 個詞的機率。第 i 個詞前 n 個詞可以被稱為 n 元。 條件機率可以從 n 元語法模型頻率計數中計算 P w_imid w_in1ldotsw_i1 frac mathrm countw_in1ldotsw_i1w_imathrm countw_in1ldotsw_i1 術語 二元語法 bigram 和三元語法 trigram 語言模型表示 n 2 和 n 3 的 n 元 Craig Trim What is Language Modeling April 26th 2013。 典型地，n 元語法模型機率不是直接從頻率計數中匯出的，因為以這種方式匯出的模型在面對任何之前沒有明確看到的 n 元時會有嚴重的問題。相反，某種形式的平滑是必要的，將一些總機率質量分配給看不見的單詞或 n 元。使用了各種方法，從簡單的 加一 平滑 將計數 1 分配給看不見的 n 元，作為一個無資訊的先驗 到更復雜的模型，例如或 。 例子 在二元語法模型中 n 2 I saw the red house 這個句子的機率可以被估計為 begin align P text I saw the red house approx P text Imidlangle srangle P text sawmid text I P text themidtext saw P text redmidtext the P text housemidtext red P langle sranglemid text house end align 而在三元語法模型中，這個句子的機率估計為 begin align P text I saw the red house approx P text Imid langle sranglelangle srangle P text sawmidlangle srangleI P text themidtext I saw P text redmidtext saw the P text housemidtext the red P langle sranglemidtext red house end align 注意前 n1 個詞的 n 元會用句首符號 填充。 指數型 語言模型用特徵函式編碼了詞和 n 元的關係。 P w_m w_1ldotsw_m1 frac 1Z w_1ldotsw_m1 exp aT f w_1ldotsw_m 其中 Z w_1ldotsw_m1 是，a 是引數向量， f w_1ldotsw_m 是特徵函式。 在最簡單的情況下，特徵函式只是某個 ngram 存在的指示器。使用先驗的 a 或者使用一些正則化的手段是很有用的。 對數雙線性模型是指數型語言模型的另一個例子。 參見 聊天機器人 對話程式語言模型 語言模型 大語言模型 GPT4 Gemini 語言模型 參考資料 外部連結 LMSharp 開源統計語言模型工具包，支援 ngram 模型（KneserNey 平滑），以及反饋神經網路模型（recurrent neural network model） Category 計算語言學 Category 馬爾可夫模型 Category 自然語言處理任務