假設有乙個句子「明天校長威廉斯打算宣布捐助1000萬元給落後鄉村建立一所希望小學」。改一下詞的順序,變成「校長威廉斯明天捐助打算宣布1000萬元給鄉村建立落後小學一所希望」。再改一下順序,變成「威廉斯校宣布長捐助明鄉村10天萬元落後10希望一所小建立學」。
第一句話,能明白句子的含義,第二句話,大概讀下來能才懂它的意思,而對於第三句話,基本就搞不懂它的含義了。正如上一章所言,上個世紀以前,科學家們的想法是試圖判斷整個文字的序列是否合乎文法、含義是否正確等,這條路走不通。而賈里尼克換了乙個角度,用乙個簡單的統計模型解決了這個問題。
他的出發點是:要想判斷乙個句子是否合理,就看它的可能性,也就是概率有多大。假設上面的三個句子,第乙個句子的概率最大,那麼它就是最合理的句子。
判斷它的概率,首先得降句子分成若干個詞wi,然後求其各個詞的條件概率,再相乘即可。根據其條件概率p(wi | …),「…」中考慮的是wi前面的多少個詞,將其分成?元模型(假設按照馬爾可夫假設,即只考慮前面的乙個詞相關,則稱為二元模型,若考慮乙個詞與前面的n-1個詞相關,則成為n元模型)。
而對於條件概率p(wi | wi-1),根據大數定理,只要資料量足夠大,那麼它可由wi和wi-1在語料庫**現的次數相除得到。讀到這裡,我才慢慢感悟到,原來大家說的物極至簡是這麼乙個道理。。這麼強大的功能,原來其背後的數學公式如此地簡單。
不過,一般情況下,基本採用3元模型或者最多4元模型(谷歌的羅塞塔翻譯系統),因為當n取值越大時,空間和時間複雜度會以指數級的數量增大,並且詞的上下文相關性可能會關聯到上下段落,因此不論n取值多大,都不可能完全覆蓋所有情況,這就是馬爾可夫假設的侷限性(吳軍:這時需要用一些長程的依賴性解決)。
零概率問題:對於條件概率p(wi | wi-1),等於wi和wi-1在語料庫**現的次數#相除,可能會出現概率為0的情況。這就涉及到了統計的可靠性問題。在數理統計當中,之所以按照上述方式計算概率,是有大數定理的存在,即增加資料量,但是即使資料量增加了,零概率問題也不可避免。這種模型稱之為**「不平滑」**。
為了解決不平滑問題,古德和他的老闆圖靈,給出了一種新的概率估計公式(古德-圖靈估計)。
古德-圖靈估計的原理是:對於沒有看見的事件(即出現次數為0的詞),不能認為它的概率就是零,因此要從概率的總量中,分配乙個很小的比例給這些沒有看見的事件。而對於看見的事件概率需要調小,「越是不可信的事件折扣越多」(我的理解是:出現次數越少的事件概率調的越小)。
下面以統計詞典中的每個詞的概率為例子。假設語料庫**現r詞的詞有nr個,特別的,未出現的詞的數量為n0,語料庫的總大小為n。
那麼出現r詞的詞在整個語料庫中的相對頻度為r*nr/n,若不做任何優化的情況下,該相對頻度則當做這些詞的概率估計。若要按照古德圖靈估計,則對於出現次數小於一定閾值(即出現次數小於乙個特定值)的詞,要假設它們的出現次數為dr(而不直接使用r),將其概率下調,且將下調得到的概率給未出現的詞。
dr的計算公式為:dr = (r+1)*nr+1/nr
注:這裡提到zipf定律,即一般在語料庫中,出現的次數r越大,其詞的個數nr就越小。
所以,當r很小時,nr+1/nr是乙個很小的值,故dr0。這樣就可以給未出現的詞賦予乙個很小的非零值,達到解決零概率問題的目的。
而至於r越小,打的折扣越多,我個人的理解是:由書中給出的zipf定律曲線可以看出,曲線在r越小的時候越陡,所以此時使得nr+1/nr的值越小(nr增大幅度更大,nr+1增大幅度相對更小),因此dr與r的差別也就越大,dr越小,使得打的折扣也就越多。
(不過對於書中講述的,採取這種估計方法後,出現r詞的詞的概率估計為dr/n,對於這點我不是很明白。。。以後再反覆理解吧。)
二元模型概率的公式如下:
f(wi|wi-1) if #(wi|wi-1)>=t
p(wi|wi-1)= fgt(wi|wi-1) if 0<#(wi|wi-1)q(wi-1)*f(wi) otherwise
注意:t為某一閥值,fgt()表示經過古德-圖靈估計後的相對頻度,而q(wi-1)=(1-∑p(wi|wi-1))/∑f(wi)
暫無後續了,由於讀研方向是cv,所以暫時放下這本書的閱讀。。。
原創 《數學之美》讀書筆記 第2章
前一章節的最後,作者提到了乙個語言學研究方法的問題 究竟是語言對,還是語法對。也即為,究竟是從真實的語句文字 成為語料 出發,還是從規則出發。最後自然語言處理的成就宣布了前者的勝利。也就是,從規則到統計。本章節主要講的是自然語言處理的發展史,其中分為兩個階段,前一階段是科學家們走彎路的時候,也即為用...
數學之美讀書筆記3
數學之美讀書筆記3 上一章講述了自然語言處理的坎坷路程,以及大牛們奮鬥的經歷。這一章我們談談為什麼統計模型在自然語言處理方面有著很大的優勢。第一章講述了祖先們語言與現在的自然語言有著相似的地方,那就是有相同的數學規律。通過數學規律,來找到答案,往往是可行的。賈里尼克,通過分析乙個句子出現的概率大小來...
《數學之美》讀書筆記(二) 第6章 第10章
第六章第七章 賈里尼克和現代語言處理 1.今天數字通訊中應用最廣的兩個演算法 bcjr演算法和維特比演算法。第八章 簡單之美 布林代數和搜尋引擎第十章 圖論和網路爬蟲頁面分析和url的提取 網際網路早期,url都是以文字的形式防在網頁中,前後都有明顯的標識,很容易提取出來。但是現在很多網頁是用一種指...