第2章 語言模型
2.1 語言模型概述
何為語言模型?從機器學習的角度來看,語言模型可對自然語句進行建模,對語言序列中的每個詞預測一個概率分布,通過這種概率建模可以判斷這個詞序列是否為正常語句[1]。比方說,對于語句A“我愛自然語言處理和語句”和語句B“我自然語言處理愛”,鑒于語句A更可能是一個正常語句,語言模型將對其賦予更高的概率。即使是如今最強大的模型,如ChatGPT和GPT-4,也是采用的這種樸素的語言模型思想來進行建模的。
給定任意一個詞序列w1,w2,…,wn,語言模型能夠計算這個詞序列的概率P(w1,w2,…,wn)。一種常見的方法是,根據數據集中句子出現的次數進行計算。假設語料庫中的句子個數為N,定義c(w1,w2,…,wn)為訓練語料庫中詞序列w1,w2,…,wn出現的次數,那么詞序列概率的計算公式為

然而,這種語言模型的計算方式只能對語料庫中出現過的句子進行概率計算,卻不能泛化到語料庫中未出現的語句。因此,另一種計算方式是將詞序列中每個詞出現的概率進行疊加。根據概率學中的鏈式法則,詞序列對概率計算公式進行化簡,即

根據P(wi|w1,…,wi-1),可計算出P(w1,w2,…,wn)。該概率可理解為給定一個詞序列,根據該詞序列對下一個會出現的詞進行概率預測。