【大模型基礎_毛玉仁】1.1 基于統計方法的語言模型
- 1.語言模型基礎
- 1.1 基于統計方法的語言模型
- 1.1.1 n-grams 語言模型
- 1.1.2 n-grams 的統計學原理
1.語言模型基礎
語言是概率的。語言模型(LanguageModels, LMs)旨在準確預測語言符號的概率。
將按照語言模型發展的順序依次講解:
-
基于統計方法的n-grams 語言模型;
-
基于循環神經網絡(RecurrentNeuralNetwork,RNN)的語言模型;
-
基于Transformer的語言模型。
1.1 基于統計方法的語言模型
通過對語料庫(Corpus)中的語料進行統計或學習,來獲得預測語言符號概率。
n-grams是最具代表性的統計語言模型。 它基于馬爾可夫假設和離散變量的極大似然估計給出語言符號的概率。
1.1.1 n-grams 語言模型
n-gram指的是長度為n的詞序列。
-
當n=1時, 稱之為unigram
-
當n=2時,稱之為bigrams
-
當n=3時,稱之為trigrams
-
其他時,稱之為“數字-grams”(如:當n=4 時,稱之為4-grams)
假設,包含N個元素的語言符號可以表示為 w 1 : N = { w 1 , w 2 , w 3 , . . . , w N } w_{1:N} = \{w_1, w_2, w_3, ..., w_N\} w1:N?={w1?,w2?,w3?,...,wN?}。 w 1 : N w_{1:N} w1:N? 代表文本。
n-grams語言模型,通過依次統計文本中的n-gram及其對應的(n-1)-gram在語料庫中出現的相對頻率,來計算文本 w 1 : N w_{1:N} w1:N? 出現的概率。計算公式如下所示:
P n -grams ( w 1 : N ) = ∏ i = n N C ( w i ? n + 1 : i ) C ( w i ? n + 1 : i ? 1 ) , (1.1) P_{n\text{-grams}}(w_{1:N}) = \prod_{i=n}^{N} \frac{C(w_{i-n+1:i})}{C(w_{i-n+1:i-1})}, \tag{1.1} Pn-grams?(w1:N?)=i=n∏N?C(wi?n+1:i?1?)C(wi?n+1:i?)?,(1.1)
-
C ( w i ? n + 1 : i ) C(w_{i?n+1 : i}) C(wi?n+1:i?)為詞序列 { w i ? n + 1 , . . . , w i } \{w_{i?n+1},...,w_i\} {wi?n+1?,...,wi?}在語料庫中出現的次數;
-
C ( w i ? n + 1 : i ? 1 ) C(w_{{i?n+1}: {i?1}}) C(wi?n+1:i?1?) 為詞序列 { w i ? n + 1 , . . . , w i ? 1 } \{w_{i?n+1},...,w_{i?1}\} {wi?n+1?,...,wi?1?}在語料庫中出現的次數。
bigrams語言模型的例子:
圖1.1: n-grams 示例語料庫。
假設語料庫如圖1.1所示,應用bigrams 對文本“長頸鹿脖子長”(其由{長頸鹿,脖子,長}三個詞構成)出現的概率進行計算,如下式所示:
P bigrams ( 長頸鹿,?脖子,?長 ) = C ( 長頸鹿,?脖子 ) ? C ( 脖子,?長 ) C ( 長頸鹿 ) ? C ( 脖子 ) 。 (1.2) P_{\text{bigrams}}(\text{長頸鹿, 脖子, 長}) = \frac{C(\text{長頸鹿, 脖子}) \cdot C(\text{脖子, 長})}{C(\text{長頸鹿}) \cdot C(\text{脖子})}。 \tag{1.2} Pbigrams?(長頸鹿,?脖子,?長)=C(長頸鹿)?C(脖子)C(長頸鹿,?脖子)?C(脖子,?長)?。(1.2)
在此語料庫中,C(長頸鹿)=5,C(脖子)=6,C(長頸鹿, 脖子)=2,C(脖子, 長) = 2,故有:
P bigrams ( 長頸鹿,?脖子,?長 ) = 2 5 ? 2 6 = 2 15 。 (1.3) P_{\text{bigrams}}(\text{長頸鹿, 脖子, 長}) = \frac{2}{5} \cdot \frac{2}{6} = \frac{2}{15}。 \tag{1.3} Pbigrams?(長頸鹿,?脖子,?長)=52??62?=152?。(1.3)
由此可見,n-grams 具備對未知文本的泛化能力。但是,這種泛化能力會隨著n的增大而逐漸減弱。應用trigrams對文本“長頸鹿脖子長”出現的概率進行計算,將出現“零概率”的情況。
因此,在n-grams語言模型中,n的值是影響性能的關鍵因素。
1.1.2 n-grams 的統計學原理
n-grams 語言模型是在n階馬爾可夫假設下,對語料庫中出現的長度為n的詞 序列出現概率的極大似然估計。
定義1.1(n階馬爾可夫假設):
對于序列 { w 1 , w 2 , w 3 , . . . , w N } \{w_1, w_2, w_3, ..., w_N\} {w1?,w2?,w3?,...,wN?},當前狀態 wN? 出現的概率只與前 n 個狀態 { w N ? n , . . . , w N ? 1 } \{w_{N-n}, ..., w_{N-1}\} {wN?n?,...,wN?1?}有關,即:
P ( w N ∣ w 1 , w 2 , . . . , w N ? 1 ) ≈ P ( w N ∣ w N ? n , . . . , w N ? 1 ) (1.5) P(w_N|w_1, w_2, ..., w_{N-1}) \approx P(w_N|w_{N-n}, ..., w_{N-1}) \tag{1.5} P(wN?∣w1?,w2?,...,wN?1?)≈P(wN?∣wN?n?,...,wN?1?)(1.5)
定義1.2(離散型隨機變量的極大似然估計): (存疑。。。)
給定離散型隨機變量X的分布律為 P { X = x } = p ( x ; θ ) P\{X=x\}=p(x;θ) P{X=x}=p(x;θ),
設 X 1 , . . . , X N X_1,...,X_N X1?,...,XN? 為來 自X的樣本, x 1 , . . . , x N x_1,...,x_N x1?,...,xN? 為對應的觀察值,θ為待估計參數。
在參數θ下,分 布函數隨機取到 x 1 , . . . , x N x_1,...,x_N x1?,...,xN? 的概率為:
p ( x ∣ θ ) = ∏ i = 1 N p ( x i ; θ ) (1.6) p(x|\theta) = \prod_{i=1}^{N} p(x_i; \theta) \tag{1.6} p(x∣θ)=i=1∏N?p(xi?;θ)(1.6)
構造似然函數為:
L ( θ ∣ x ) = p ( x ∣ θ ) = ∏ i = 1 N p ( x i ; θ ) (1.7) L(\theta|x) = p(x|\theta) = \prod_{i=1}^{N} p(x_i; \theta) \tag{1.7} L(θ∣x)=p(x∣θ)=i=1∏N?p(xi?;θ)(1.7)
離散型隨機變量的極大似然估計旨在找到θ使得L(θ|x)取最大值。
n-grams 語言模型總結:
n-grams 語言模型通過統計詞序列在語料庫中出現的頻率來預測語言符號的概 率。其對未知序列有一定的泛化性,但也容易陷入“零概率”的困境。
基于各類神經網絡的語言模型不斷被提出,泛化能力越來越強。基于神經網絡的語言模型不再通過顯性的計算公式對語言符號的概率進行計算,而是利 用語料庫中的樣本對神經網絡模型進行訓練。
.
其他參考:【大模型基礎_毛玉仁】系列文章
聲明:資源可能存在第三方來源,若有侵權請聯系刪除!