NLP-統(tǒng)計(jì)語(yǔ)言模型的平滑方法

一荣月、引言

NLP-統(tǒng)計(jì)語(yǔ)言模型中簡(jiǎn)要介紹了統(tǒng)計(jì)語(yǔ)言模型的原理和實(shí)現(xiàn)方法,以bigram為例袭蝗,計(jì)算了

P(\color{green}{我,喜歡 ,自然語(yǔ)言 ,處理})=P(\color{green}{我})*P(\color{green}{喜歡|我})*P(\color{green}{自然語(yǔ)言|喜歡})*P(\color{green}{處理|自然語(yǔ)言})

的概率唤殴,這是比較理想的情況,而現(xiàn)實(shí)與理想的差距是我們預(yù)測(cè)了一萬(wàn)種可能到腥,卻還有一萬(wàn)零一種可能的存在朵逝。而我們企圖用已經(jīng)存在的語(yǔ)料數(shù)據(jù)來(lái)覆蓋未來(lái)有可能出現(xiàn)的測(cè)試數(shù)據(jù),未免有些天真左电。
還是以NLP-統(tǒng)計(jì)語(yǔ)言模型中的假設(shè)語(yǔ)料來(lái)舉例

  • 我 喜歡 大自然
  • 自然語(yǔ)言 是 如何 形成 的 呢
  • 如何 處理 數(shù)據(jù) 是 很 重要 的
  • 越來(lái)越多 的 人 喜歡 自然語(yǔ)言 處理

而我需要計(jì)算句子\color{green}{我 喜歡 看電影}的概率時(shí):

P(\color{green}{我,喜歡 ,看電影})=P(\color{green}{我})*P(\color{green}{喜歡|我})*P(\color{green}{看電影|喜歡})

在語(yǔ)料庫(kù)中喜歡的后面并沒(méi)有出現(xiàn)過(guò)看電影廉侧,也就意味著P(\color{green}{看電影|喜歡})=0页响,直接導(dǎo)致了\color{green}{我 喜歡 看電影}的可能性為0,這顯然是不科學(xué)的段誊,所以就需要一些平滑的處理方法闰蚕,用以過(guò)渡上述情況。

二连舍、add-k smoothing

add-k smoothing 是一種比較簡(jiǎn)單的方式没陡,為了防止出現(xiàn)概率為0的情況,對(duì)求概率的公式做了一點(diǎn)手腳索赏,如下:

P(w_n|w_{n-1})=\frac{w_n盼玄、w_{n-1}同時(shí)出現(xiàn)的次數(shù)+k}{語(yǔ)料庫(kù)中w_{n-1}出現(xiàn)的次數(shù)+k*詞庫(kù)大小} \tag{k=1,2,3...n}

為什么是k*詞庫(kù)大小呢,因?yàn)橐_保概率的總和為1潜腻,具體過(guò)程此處不做推導(dǎo)埃儿。
add-k smoothing 是一種行之有效的方式,但其中也隱含著一種價(jià)值觀:
沒(méi)有出現(xiàn)的詞未來(lái)出現(xiàn)的可能性相等融涣,對(duì)于所有概率為0的情況童番,都是在分子和分母上做了同樣的操作,那么就導(dǎo)致了這些情況的概率都一致威鹿,是否還有更加“公平”的一些方式呢剃斧?有,來(lái)看看interpolation smoothing忽你。

三幼东、interpolation smoothing

interpolation smoothing的思想在于求上不得而求其中,其中不足余下來(lái)補(bǔ)科雳,為了更好的說(shuō)明interpolation 以trigram為例根蟹,假設(shè)我們要求P(w_n|w_{n-1},w_{n-2})P(w_n|w_{n-1},w_{n-2})會(huì)等于0炸渡,那么求P(w_n|w_{n-1})娜亿,再不濟(jì)還可以求P(w_n),綜合上面三種情況蚌堵,給每種情況分配不同的權(quán)重得:

P(w_n|w_{n-1},w_{n-2})=\lambda_1 * P(w_n|w_{n-1},w_{n-2})+\lambda_2 * P(w_n|w_{n-1})+\lambda_3 * P(w_n)
\lambda_1+\lambda_2+\lambda_3=1

此方法綜合unigram买决、bigram和trigram甚至可以更多,這樣就確保了語(yǔ)料庫(kù)未出現(xiàn)詞組合的概率的不一致吼畏,相對(duì)來(lái)說(shuō)督赤,公平了些。

四泻蚊、good-turing smoothing

good-turing的核心思想在于躲舌,對(duì)于沒(méi)有出現(xiàn)的過(guò)的事件,不能認(rèn)為該事件出現(xiàn)的概率為0性雄,所以我們從已經(jīng)發(fā)生的事件概率總量1中分配一個(gè)很小的比例給該事件没卸。
這是一種很有前瞻性的格局羹奉,但是把概率分出去一分部以后,那未出現(xiàn)的事件+已經(jīng)出現(xiàn)的事件的概率總和就會(huì)大于1约计,所以就需要把已經(jīng)發(fā)生的事件的概率稍微調(diào)小一點(diǎn)诀拭,確保概率的總合為1,具體怎么調(diào)整呢煤蚌,先擺出公式再來(lái)解釋:
為了說(shuō)明公式耕挨,先來(lái)認(rèn)識(shí)一個(gè)概念:

N_c:表示語(yǔ)料庫(kù)中出現(xiàn)了c次的詞有N_c個(gè)
N_1:表示語(yǔ)料庫(kù)中出現(xiàn)了1次的詞有N_1個(gè)
d_c:表示調(diào)整以后語(yǔ)料庫(kù)中出現(xiàn)了c次的詞的頻次
c:表示某個(gè)詞在語(yǔ)料庫(kù)中出現(xiàn)的頻次

假設(shè)語(yǔ)料庫(kù)的大小為N,對(duì)于沒(méi)有出現(xiàn)過(guò)的詞尉桩,概率原本為0筒占,那么分一個(gè)語(yǔ)料庫(kù)中低頻事件的概率給它,比如蜘犁,把語(yǔ)料庫(kù)中只出現(xiàn)只出現(xiàn)過(guò)一次的事件的概率給它:

P(未出現(xiàn)詞)=0 =>P(未出現(xiàn)詞)=\frac{N_1}{N}

對(duì)于已經(jīng)出現(xiàn)過(guò)的詞翰苫,需要調(diào)整概率

P(出現(xiàn)的詞)=\frac{c}{N} =>P(出現(xiàn)的詞)=d_c*\frac{1}{N}=\frac{(c+1)N_{c+1}}{N_c*N}

至于公式為何是這樣,吳軍老師在《數(shù)學(xué)之美》中講解較好沽瘦,感興趣的可以前去參考革骨,此處不做過(guò)多解釋,本文著眼于如何利用成果解決問(wèn)題析恋。

看了公式可能有點(diǎn)蒙圈,還是根據(jù)語(yǔ)料庫(kù)來(lái)解釋一下
設(shè)語(yǔ)料來(lái)舉例

  • 自然語(yǔ)言 是 如何 形成 的 呢
  • 如何 處理 自然語(yǔ)言 是 很 重要 的
  • 是 又 如何

假設(shè)現(xiàn)在要根據(jù)語(yǔ)料庫(kù)計(jì)算計(jì)算的概率盛卡,而計(jì)算剛好沒(méi)有出現(xiàn)過(guò)助隧,那么

P(計(jì)算)=\frac{N_1}{16}=\frac{6}{16} \tag{只出現(xiàn)過(guò)一次的詞有6個(gè)}

此時(shí),原先出現(xiàn)過(guò)的詞的概率需調(diào)整

P(自然語(yǔ)言)=\frac{c}{N}=\frac{2}{16}=>\frac{(c+1)N_{c+1}}{N_c*N}=\frac{(2+1)N_{2+1}}{N_2*N}=\frac{3}{16}

突然發(fā)現(xiàn)了神奇的一幕滑沧,調(diào)整以后概率還變大了并村,這是因?yàn)榕e例的語(yǔ)料庫(kù)太小,很多地方不合理滓技,在較大的語(yǔ)料庫(kù)中是不會(huì)出現(xiàn)這種情況的哩牍,拿漢字來(lái)說(shuō),常用的漢字的比例在總漢字中的比例是很小的令漂,也就是c越大膝昆,N_c越小,那么一般情況下N_{c+1}<N_{c}(具體證明參考齊夫定律)叠必,即概率調(diào)整后是減少的荚孵。

五、總結(jié)

本文簡(jiǎn)單介紹一些在統(tǒng)計(jì)語(yǔ)言模型中需要的一些平滑過(guò)渡的方法收叶,總體而言就是考慮未登錄詞的情況蜓萄,方法并非絕對(duì)绕德,如果讀者還有更多的方法歡迎介紹耻蛇。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末漱牵,一起剝皮案震驚了整個(gè)濱河市酣胀,隨后出現(xiàn)的幾起案子甚脉,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)洞斯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門亚铁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)吞琐,“玉大人站粟,你說(shuō)我怎么就攤上這事奴烙。” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)貌亭。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任栏账,我火速辦了婚禮帖族,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘挡爵。我一直安慰自己竖般,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布茶鹃。 她就那樣靜靜地躺著涣雕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪闭翩。 梳的紋絲不亂的頭發(fā)上挣郭,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音男杈,去河邊找鬼丈屹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛伶棒,可吹牛的內(nèi)容都是我干的旺垒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼肤无,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼先蒋!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起宛渐,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤竞漾,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后窥翩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體业岁,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年寇蚊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了笔时。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡仗岸,死狀恐怖允耿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情扒怖,我是刑警寧澤较锡,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站盗痒,受9級(jí)特大地震影響蚂蕴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一掂墓、第九天 我趴在偏房一處隱蔽的房頂上張望谦纱。 院中可真熱鬧,春花似錦君编、人聲如沸跨嘉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)祠乃。三九已至,卻和暖如春兑燥,著一層夾襖步出監(jiān)牢的瞬間亮瓷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工降瞳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嘱支,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓挣饥,卻偏偏與公主長(zhǎng)得像除师,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子扔枫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容