NLP語言模型Language Model

Language Model

語言模型用來判斷:是否一句話從語法上通順

  • LM—Obgective(目標(biāo)=) : Compute the probability of a sentence or sequence of words.
  • P(s) = P(w1,w2,w3,w4,w5...wn)

方式:給定一個句子,計算該句子在當(dāng)前LM下的概率。重點是LM的訓(xùn)練。

Noisy Channel Model

P(text | source) ∝ P(source | text)* P(text)

∝:proportional 等同于
此公式考慮貝葉斯公式

  • 應(yīng)用場景:語音識別、機器翻譯、拼寫糾正、OCR、密碼破解

    • 共同點:給定一個信號,將其轉(zhuǎn)換成一個文本
  • 給定一個 source 要轉(zhuǎn)換成指定text

  • 由于source是指定的,因此P(source)不受text影響,可看做常量

Recap:Chain Rule

  • P(A,B,C,D) =P(A)* P(B|A)* P(C|A,B)*P(D|A,B,C) ——chain rule

    • 把包含4個隨機變量的聯(lián)合分布,拆分成3個條件分布和1個P(A)
    • P(A,B) = P(A|B)* P(B) = P(B|A)*P(A)
  • P(w1,w2,w3,w4,w5...wn) = P(w1)* P(w2|w1)* P(w3|w1w2)* P(w4|w1,w2,w3)* P(w5|w1,w2,w3,w4)...P(wn|w1,w2...wn-1) ————chain rule

Chain Rule for Language Model

條件若包含很多單詞,會有稀疏問題

Markov Assumption(馬爾可夫假設(shè) )

有些情況概率很難計算,此時考慮markov assumption估計概率

  • first order markov assumption
    • p(w1,w2,w3,w4...wn) = p(w1)* p(w2|w1)* p(w3|w2)...p(Wn|Wn-1)
  • secod order
    • p(w1,w2,w3,w4...wn) = p(w1)* p(w2|w1)* p(w3|w2,w1)...p(Wn|Wn-2,Wn-1)
  • third order
  • ...

Unigram, Bigram, N-gram

Language Model:Unigram

  • P(w1,w2,w3,w4...Wn) = P(w1) * P(w2)* P(w3)...P(Wn)

Language Model:Bigram

<=> first order markov assumption

  • p(w1,w2,w3,w4...wn) = p(w1)* p(w2|w1)* p(w3|w2,w1)...p(Wn|Wn-2,Wn-1)

Language Model: N-gram

<=> Higher order (n>2)

Estimating Probability of Language Model (估計語言模型的概率)

Unigram:Estimating Probability

P(Wn) = 詞匯Wn出現(xiàn)次數(shù) / 語料庫所有詞匯數(shù)量V

Bigram:Estimating Probability

p(w1,w2,w3,w4...wn) = p(w1)* p(w2|w1)* p(w3|w2,w1)...p(Wn|Wn-2,Wn-1)

  • P(Wn/Wn-2,Wn-1) = 出現(xiàn)Wn的同時也出現(xiàn)詞匯Wn-1,Wn-2的次數(shù) / 詞匯Wn出現(xiàn)次數(shù)

對于其中一項概率為0,可以作平滑處理

N-gram:Estimating Probability

同理Bigram estimating probability

Evaluation of Language Model(評估語言模型)

Perplexity

Perplexity = 2^(-x) ,
x : average log likelihood

  • 將訓(xùn)練好的 LM 放入 語料庫,計算 likelihood。
    likelihood 的越大,x越大,2^(-x) 越小,Perplexity越小,越小越好!!
    (可以畫圖像更生動展示變化曲線)

  • Perplexity 尤其適用 unsupervised 文本的情況

Perplexity計算

Perplexity = 2^(-x) ,
x : average log likelihood (平均 對數(shù) 似然)
計算X 的過程:

  • likelihood : 計算P(Wn)
  • log likelihood: 計算logP(Wn)
  • average log likelihood: x = (logP(W1)+...+logP(Wn))/n

最后將x帶入Perplexity公式。

一般情況下,N-gram LM 效果更好

Smoothing(平滑處理)

Add-one Smoothing 方法(Laplace Smoothing 方法)

若不考慮Smoothing,通常計算的是PMLE,

  • PMLE(Wi | Wi-1) = c((Wi , Wi-1)) / c(Wi )

但是此方法可能出現(xiàn)P(Wn)為0的情況而導(dǎo)致無法評估,因此引入Smoothing方法。

  • PAdd-1(Wi | Wi-1) = c((Wi , Wi-1)) + 1 / c(Wi ) + V
  • V是詞典的大?。o重復(fù)詞)
  • 在分母中加V,會使得所有P()的總和為1

Add-K Smoothing(Laplace Smoothing)

  • PAdd-1(Wi | Wi-1) = c((Wi , Wi-1)) + k / c(Wi ) + kV
  • k=1時, 是Add-one Smoothing

如何選擇K

  1. K = 1,2,3...n ,一個一個計算對比找到最合適的 k
  2. 優(yōu)化 f(k) ,此時Perplexity = f(k),故 Minperplexity= Minf(k) => k= argmink f(k)

Interpolation 方法

背景:現(xiàn)在不出現(xiàn)的概率,不代表未來數(shù)據(jù)更多anyway還不出現(xiàn)

  • 核心思路:在計算Trigram概率時同時Unigram,Bigram,Trigram出現(xiàn)的頻次
  • P(Wn|Wn-1,Wn-2) = λ1P(Wn|Wn-1,Wn-2)+ λ2P(Wn|Wn-1)+ λ3P(Wn) , λ123 =1

上面公式 <=> Tri-gram = λ1Trigram+ λ2 Bigram+ λ3Unigram

對各方法加權(quán)平均,好的方法權(quán)重大些,加權(quán)平均的和為1

Good-Turning Smoothing

背景:在訓(xùn)練數(shù)據(jù)里沒有見過的怎么處理?

  • Nc : 出現(xiàn)c次的單詞的個數(shù)

沒有出現(xiàn)過的單詞,未來出現(xiàn)的概率

  • PMLE=0

PMLE 方法: 在歷史數(shù)據(jù)中看到過什么,依據(jù)此來給出概率結(jié)果

  • PGT=N1 / N

通過N1 / N來計算。通過出現(xiàn)過1次的情況來預(yù)測未來的這種小概率事件

出現(xiàn)過的單詞,未來出現(xiàn)的概率

  • PMLE= c / N
  • PGT=(c+1)Nc+1 / Nc*N

通常,PGT小于PMLE ,因為考慮到了新的情況(未出現(xiàn)),相當(dāng)于把一些概率已經(jīng)給到了新事件

缺點?如何解決?

  • 計算Ni-1,需要Ni,很多情況會有Nn的缺失
  • 解決:根據(jù)現(xiàn)有Nn的情況作一條曲線(機器學(xué)習(xí)的方法擬合)來估計缺失值

Use Language Model to Generate Sentence(利用語言模型生成句子)

LM是生成模型:一旦模型訓(xùn)練好,該模型可以生成新的數(shù)據(jù)

  • ungram model是最簡單的,不考慮語言邏輯
  • Bigram model在隨機的基礎(chǔ)上,會大概率選取關(guān)聯(lián)概率最大的單詞,因此優(yōu)于unigram
  • N-gram,在有大量的語料庫的基礎(chǔ)上,可以訓(xùn)練
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容