我們已經介紹了
資訊熵,它是資訊理論的基礎,我們這次談談資訊理論在自然語言處理中的應用。
先看看資訊熵和語言模型的關係。我們在
系列一中談到語言模型時,沒有講如何定量地衡量乙個語言模型的好壞,當然,讀者會很自然地想到,既然語言模型能減少語音識別和機器翻譯的錯誤,那麼就拿乙個語音識別系統或者機器翻譯軟體來試試,好的語言模型必然導致錯誤率較低。這種想法是對的,而且今天的語音識別和機器翻譯也是這麼做的。但這種測試方法對於研發語言模型的人來講,既不直接、又不方便,而且很難從錯誤率反過來定量度量語言模型。事實上,在賈里尼克(
fred jelinek
)的人研究語言模型時,世界上既沒有像樣的語音識別系統,更沒有機器翻譯。我們知道,語言模型是為了用上下文**當前的文字,模型越好,**得越準,那麼當前文字的不確定性就越小。
資訊熵正是對不確定性的衡量,因此資訊熵可以直接用於衡量統計語言模型的好壞。賈里尼克從資訊熵出發,定義了乙個稱為語言模型複雜度(perplexity)的概念,直接衡量語言模型的好壞。乙個模型的複雜度越小,模型越好。李開復博士在介紹他發明的 sphinx 語音識別系統時談到,如果不用任何語言模型(即零元語言模型)時,複雜度為997,也就是說句子中每個位置有 997 個可能的單詞可以填入。如果(二元)語言模型只考慮前後詞的搭配不考慮搭配的概率時,複雜度為 60。雖然它比不用語言模型好很多,但是和考慮了搭配概率的二元語言模型相比要差很多,因為後者的複雜度只有 20。
資訊理論中僅次於熵的另外兩個重要的概念是「互資訊」(mutual information) 和「相對熵」(kullback-leibler divergence)。
「互資訊」是資訊熵的引申概念,它是對兩個隨機事件相關性的度量。比如說今天隨機事件北京下雨和隨機變數空氣濕度的相關性就很大,但是和姚明所在的休斯敦火箭隊是否能贏公牛隊幾乎無關。互資訊就是用來量化度量這種相關性的。在自然語言處理中,經常要度量一些語言現象的相關性。比如在機器翻譯中,最難的問題是詞義的二義性(歧義性)問題。比如 bush 一詞可以是美國**的名字,也可以是灌木叢。(有乙個笑話,美國上屆**候選人凱里 kerry 的名字被一些機器翻譯系統翻譯成了"愛爾蘭的小母牛",kerry 在英語中另外乙個意思。)那麼如何正確地翻譯這個詞呢?人們很容易想到要用語法、要分析語句等等。其實,至今為止,沒有一種語法能很好解決這個問題,真正實用的方法是使用互資訊。具體的解決辦法大致如下:首先從大量文字中找出和**布希一起出現的互資訊最大的一些詞,比如**、美國、國會、華盛頓等等,當然,再用同樣的方法找出和灌木叢一起出現的互資訊最大的詞,比如土壤、植物、野生等等。有了這兩組詞,在翻譯 bush 時,看看上下文中哪類相關的詞多就可以了。這種方法最初是由吉爾(gale),丘奇(church)和雅讓斯基(yarowsky)提出的。
當時雅讓斯基在賓夕法尼亞大學是自然語言處理大師馬庫斯 (mitch marcus) 教授的博士生,他很多時間泡在貝爾實驗室丘奇等人的研究室裡。也許是急於畢業,他在吉爾等人的幫助下想出了乙個最快也是最好地解決翻譯中的二義性,就是上述的方法,這個看上去簡單的方法效果好得讓同行們大吃一驚。雅讓斯基因而只花了三年就從馬庫斯那裡拿到了博士,而他的師兄弟們平均要花六年時間。
資訊理論中另外乙個重要的概念是「相對熵」,在有些文獻中它被稱為成「交叉熵」。在英語中是
kullback-leibler divergence
,是以它的兩個提出者庫爾貝克和萊伯勒的名字命名的。相對熵用來衡量兩個正函式是否相似,對於兩個完全相同的函式,它們的相對熵等於零。在自然語言處理中可以用相對熵來衡量兩個常用詞(在語法上和語義上)是否同義,或者兩篇文章的內容是否相近等等。利用相對熵,我們可以到處資訊檢索中最重要的乙個概念:詞頻率-逆向文件頻率(tf/idf)。我們下回會介紹如何根據相關性對搜尋出的網頁進行排序,就要用的餐tf/idf 的概念。另外,在新聞的分類中也要用到相對熵和 tf/idf。
對資訊理論有興趣又有一定數學基礎的讀者,可以閱讀史丹福大學托馬斯.科弗 (thomas cover) 教授的專著 "資訊理論基礎"(elements of information theory):
科弗教授是當今最權威的資訊理論專家
數學之美 系列七 資訊理論在資訊處理中的應用
我們已經介紹了 資訊熵,它是資訊理論的基礎,我們這次談談資訊理論在自然語言處理中的應用。先看看資訊熵和語言模型的關係。我們在 系列一中 談到語言模型時,沒有講如何定量地衡量乙個語言模型的好壞,當然,讀者會很自然地想到,既然語言模型能減少語音識別和機器翻譯的錯誤,那麼就拿乙個語音識 別系統或者機器翻譯...
數學之美 系列七 資訊理論在資訊處理中的應用
2006年5月25日 上午 07 56 00 發表者 吳軍,google 研究員 我們已經介紹了 資訊熵,它是資訊理論的基礎,我們這次談談資訊理論在自然語言處理中的應用。先看看資訊熵和語言模型的關係。我們在 系列一中談到語言模型時,沒有講如何定量地衡量乙個語言模型的好壞,當然,讀者會很自然地想到,既...
數學之美 系列七 資訊理論在資訊處理中的應用
我們已經介紹了 資訊熵,它是資訊理論的基礎,我們這次談談資訊理論在自然語言處理中的應用。先看看資訊熵和語言模型的關係。我們在 系列一中談到語言模型時,沒有講如何定量地衡量乙個語言模型的好壞,當然,讀者會很自然地想到,既然語言模型能減少語音識別和機器翻譯的錯誤,那麼就拿乙個語音識別系統或者機器翻譯軟體...