五.《Beauty of Mathmatics - 數學之美》的簡單總結與推薦

數學是在計算機領域的重要性不言而喻。或許大部分的崗位需求不需要特別強的數學能力,但是沒有數學的基礎,在這條路上也並會走得太長久。《數學之美》是一本基於自然語言處理的經典之作。在讀完《算法圖解》之後,《數學之美》非常適合作爲緊接着讀的書。本文所有內容均是通過借鑑與總結《數學之美》。

一、文字與語言 vs. 數字與信息

1. 通信原理和信息傳播的模型

無論是原始人還是現代通信原理,他們的信息傳播模型是極其相似的。信息的傳播者通過發出聲音(編碼)經過空氣傳播(信道)到達接收者(解碼)獲取信息。

2.信源編碼和最短編碼

隨着文明的推進,人類需要記錄的信息越來越多。然後就出現了文字,無論是象形文字,楔形文字、拼音文字都屬於一種編碼,對信息進行編碼。而在文明的發展中,古人將最常用的語言使用最短的字符表示,而生僻的事物則用較長的字符表達,這完全符合最短編碼的原理。對常用的信息進行濃縮成簡單的詞彙,以便減少開銷。

3.解碼的規則和語法

古語到現代語言,是語法使得表達方式和含義變得更加豐富和準確。字母到詞(這裏作者將漢字的橫豎筆畫也比作字母)是編碼。語法則是語言的編碼和解碼規則

4.聚類

在文明的發展中,文字越來越多,人類並不能全部都記住,因此”概念“產生。而有的詞的概念會有多個,比如日(1 作太陽 2 作時間單位,一天)。這就是概念聚類。

5.校驗位

猶太人抄寫《聖經》的時候爲了避免出現錯誤,會對每頁進行獨特的校驗方法。這是最早的校驗實踐。

6.雙語對照、語料庫和機器翻譯

正是因爲有羅塞塔石碑上的三種語言,人類纔可以對那個時代進行研究。通過對不同語言但是表達相同事件的研究,可以獲取歷史的信息。語言的數據就是語料,雙語或多語的對照語料對翻譯至關重要。這是從事機器翻譯研究的基礎。

7.多義性和利用上下文消除歧義性

由於多義詞會在不同情境下存在多義性。所以需要根據具體的情境、上下文進行分析消除歧義性。

二、自然語言處理 - 從規則到統計

由於時代與歷史侷限性,早期的自然語言處理的研究方向並不明確,屬於還在探索的階段。當時的科學家普遍認爲,人類之所以能夠完美地處理自然語言,或者不同語言的轉換,是因爲對語法的瞭解。儘管這種思想是正確的,但是卻是對於人類而言是正確的。爲了完成讓機器也能如同人類對自然語言的分析,早期科學家認爲需要讓計算機如同人類一樣學習語法,從而通過分析語法,利用規則來完成對自然語言的分析。

隨着時間的發展,人們漸漸發現這個方向的研究並沒有很大的突破,甚至有些困入其中。直到IBM華生實驗室爲語音識別而進行了以統計爲基礎的分析,才得以推動自然語言處理的進步。基於統計的自然語言處理方法,在數學模型上和通信是相通的,甚至就是相同的。因此,在數學意義上自然語言處理又和語言的初衷 - 通信聯繫在一起了。

三、統計語言模型

自然語言演變成上下文相關的信息表達和傳遞的方式,爲了讓計算機能夠處理自然語言,需要根據它上下文的特性設計出數學模型 - 統計語言模型。根據詞句在語料庫中出現的概率進行計算當前檢測語句的準確概率。從基本模型到二元模型、再到N-1階馬爾可夫假設。以及考慮空間複雜度和時間複雜度之後,N的取值限制,即是馬爾可夫假設的侷限性。爲了解決這一限制,需要使用長程(距離)依賴性。

設計出來的模型需要參數的支持,但是根據二元模型可能會出現零概率、絕對(1)概率的情況,這就涉及統計可靠性問題。數理統計中,一般通過大數定理來支持較爲準確的統計概率。但是實際應用中,統計語言莫模型的零概率問題依然無法避免。因此在訓練統計語言模型中使用古德-圖靈估計(對於沒有看見的事件,我們不能認爲它發生的概率就是0,對一小部分不可信的統計數據概率給未看見的事件)。同時過去經常使用低階語言模型和高階模型進行線性插值 - 刪除差值來達到平滑的目的。但是由於線性插值的效果略低於卡茨退避法,因此現在較少使用了。模型訓練中的另一個重要問題是訓練數據,或者說語料庫的選取。在訓練數據和應用數據一致並且訓練量足夠大的情況下,訓練語料的噪音高低也會對模型的效果產生一定的影響。

統計語言模型在形式上非常簡單,任何人都很容易理解,但內裏的學問卻很深。數學的魅力就在於將複雜的問題簡單化。

四、談談中文分詞

對於拼音語言來說,如英語,詞之間有明確的分界符,統計和使用語言模型非常直接。而亞洲語種中,如 中、日、韓、泰等語言,詞之間沒有明確的分界符(韓國有特例)。需要對句子進行分詞,才能進一步自然語言處理。這個過程之中,我們可以將其看成一個動態規劃的問題,並且利用維特比算法快速找到最佳分詞。拓展閱讀也對分詞的層次、顆粒度進行了介紹。中文分詞以統計語言模型爲基礎,經過幾十年的發展和完善,今天基本上可以看作是一個已經解決的問題。

五、隱含馬爾可夫模型

通過第四章可以對馬爾可夫模型有所瞭解。而且隱含馬爾可夫模型是一個並不複雜的數學模型,目前爲止,它一直被認爲是解決大多數自然語言處理問題最爲快速、有效的方法。它成功解決了複雜的語音識別、機器翻譯等問題。

在通信模型中,我們有發送者的信息串S和通過信道後接收者的信息串O,如何根據O來推測S,用概率論的語言,就是在已知O的情況下,求得令條件概率P(s_{1},s_{2},s_{3},...|o_{1},o_{2},o_{3},...)達到最大值的那個信息串s_{1},s_{2},s_{3},...,即 

                                                 s_{1},s_{2},s_{3},...=\underset{all \ s_{1},s_{2},s_{3},...}{Arg\ Max}\ P(s_{1},s_{2},s_{3},...| o_{1},o_{2},o_{3},...)

通過轉換、變換直到最後可以使用隱含馬爾可夫模型來估計。

隱含馬爾可夫模型最初應用於通信領域,繼而推廣到語音和語言處理中,成爲連接自然語言處理和通信的橋樑。同時它也是機器學習的主要工具之一,如同其他的機器學習的模型工具一樣,它需要一個訓練算法(鮑姆·韋爾奇算法)和使用時的解碼算法(維特比算法),掌握這兩類算法,基本上可以使用隱含馬爾可夫模型這一工具。

六、信息的度量和作用

對於信息我們只清楚它的抽象概念,但是信息到底有多大,如何度量?信息的作用在於消除不確定性,自然語言處理的大量問題就是找到相關的信息。在這一章節引入了信息熵的概念,它表示了信息量。而信息量又代表了不確定性的多少,代爲使用Bit。

準確的信息量可以通過:H(x)=-\sum _{x\in X} P(x)*log(x)來表示。

信息熵不僅是對信息的量化度量,而且是整個信息論的基礎。它對於通信、數據壓縮、自然語言處理都有很強的指導意義。信息熵的物理含義是對一個信息系統不確定性的度量,在這一點上,它和熱力學中的熵的概念相同,因爲後者是對於一個系統無序的度量。

七、賈里尼克和現代語言處理

呈現了一個大師的平凡和不平凡。

八、簡單之美-布爾代數和搜索引擎的索引

簡述了布爾代數的誕生與發展,如何成爲數字電路的基礎,以及在離散數學中發揮無比重要的作用。同時也介紹了搜索引擎的簡單原理,瞭解數學在工程中的作用,以及索引。

布爾代數非常簡單,但是對數學和計算機發展的意義重大,它不僅把邏輯和數學合二爲一,而且給了我們一個全新的視角看待世界。 開創了今天數字化的時代。

九、圖論和網絡爬蟲

對離散數學中圖進行了闡述,並且通過廣度優先算法(BFS,把鄰居節點探查完,然後對二級鄰居探查,直到結束) 和深度優先算法(DFS,隨機找個鄰居,然後一條路走帶黑,再看這條線上漏掉的鄰居的鄰居們等) 的應用對遍歷的概念進行了介紹。在對遍歷和圖有所瞭解之後,基於以上的理論介紹了網絡爬蟲的原理和定義,提及哈希表/散列表的在其中的用途。

在延伸閱讀中,對歐拉七橋問題利用離散的圖進行了證明,並針對如何構建一個網絡爬蟲提供了思路。

------更新中-----------

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章