《數學之美》中的自然語言處理

1.      信息的冗餘是信息安全的保障。

2.      語言的數據,我們稱之爲語料,尤其是雙語或者多語的對照語料對翻譯至關重要,它是我們從事機器翻譯研究的基礎。

 

現在自然語言處理多用統計語言模型。賈里尼克的觀點非常簡單:一個句子是否合理,就看看它的可能性大小如何。而可能性就用概率來衡量。

當使用條件概率的時候,每個變量的可能性就是一種語言字典的大小,而如果假定當前的詞出現的概率取決於它前面的所有詞,這時候條件概率的計算將會相當麻煩,越來越麻煩進而達到無法估算的地步。

高階語言模型:

19世紀到20世紀初,俄羅斯數學家馬爾科夫給出了一個簡單有效的方法,即假設任意一個詞出現的概率僅和它前面的一個詞(二元模型)有關(可擴展到2個(三元模型),3個(四元模型)詞)。這種假設在數學上稱爲馬爾科夫假設。

 

N-Gram:假設文本中的每個詞 和 前面 N-1 個詞有關,這樣當前詞的概率只取決於前面N-1 個詞。這種假設稱爲N-1 階馬爾科夫假設,對應的語言模型稱爲N 元模型。

N=2 是最簡單的馬爾科夫假設;

N=3 是實際中權衡精度與代價後用的最多的模型;

谷歌用的是四元模型。N元模型的大小(空間複雜度)、速度(時間複雜度)幾乎是 N 的指數函數。因此N 不能很大。當 N 從1 到2 ,再從 2 到 3 的時候,模型的效果上升顯著。而當模型從3 到4 時,效果的提升就不是很顯著了,但是資源的耗費卻增加的非常快。

零概率問題和平滑方法:

大數定理:只要統計量足夠,相對頻度就等於概率。

在數理統計中,之所以敢於用採樣數據的觀察結果來預測概率,是因爲有大數定理在背後做支持,它的要求是有足夠的觀測值。

當觀測值不夠時,如果用直接的比值計算個概率,大部分條件概率依然是零,這種模型我們稱之爲“不平滑”。訓練統計語言模型的藝術就在於解決好統計樣本不足時的概率估計問題。

古德-圖靈估計:對於沒有看見的事件,我們不能認爲它發生的概率就是零,因此我們從概率的總量中分配一個很小的比例給予這些沒有看見的事件。這樣一來,看見的那些事件的概率總和就要小於1 了,因此需要將所有看見的事件概率調小一點。至於小多少,要根據“越是不可信的統計折扣越多”的方法進行。

卡次退避法進行平滑處理。在實際的自然語言處理中,一般對出現次數超過某個閾值的詞,頻率不下調,只對出現次數低於這個閾值的詞,頻率才下調,下調得到的頻率總和給未出現的詞。

 

 

中文分詞:

查字典:

把一個句子從左向右掃描一遍,遇到字典裏有的詞就標識出來,遇到複合詞(比如“揚州大學”)就找最長的詞匹配,遇到不認識的字串就分割成單字詞,於是簡單的分詞就完成了(北航,樑南元)。

 

最少詞數:

即一句話應該分成數量最少的詞串。但是遇到有歧義詞的分割時就無能爲力。中國古代的斷句和說文解字根本就是消除歧義性(哈工大,王曉龍)。

統計語言模型分詞:

清華郭進博士用統計語言模型成功解決了分詞歧義性問題。郭進是中國大陸自覺地用統計語言模型方法進行自然語言處理的第一人,並且獲得了成功。

一個句子可能有幾種不同的分詞飛方法,那麼最好的一種分詞方法應該保證分完詞後這個句子出現的概率最大。因此只要利用統計語言模型 計算出每種分詞後句子出現的概率,並找出其中概率最大的,就能夠找到最好的分詞方法。

如果窮舉所有可能的分詞方法並計算出每種可能性下的句子的概率,計算量太大。因此可以把它看成是一個動態規劃問題,並利用維特比算法(__補充__)快速的找到最佳分詞。

 

一般來講,根據不同應用,漢語分詞的顆粒度大小應該不同。比如,在機器翻譯中,顆粒度應該大一些;而在語音識別中,顆粒度應該小一些。中文分詞的方法可以幫助判別英語單詞的邊界。

 

雖然可以對不同的應用構造不同的分詞器,但是這樣做不僅非常浪費,而且不必要。更好的方法是讓一個分詞器支持不同層次詞的切分。

首先需要一個基本的詞表和一個複合詞的詞表。然後根據基本詞表和複合詞表各建立一個語言模型。

Step1.根據基本詞表和語言模型L1對句子進行分詞,就得到了小顆粒度的分詞結果(輸入“字”串,輸出基本“詞”串)

Step2.根據複合詞表和語言模型L2對句子進行第二次分詞(輸入“基本詞串”,輸出“複合詞串”)。

以上詞表和語言模型兩個數據庫改變了,但是分詞器(程序)和前面的完全相同。

 

分詞器準確性問題:

不一致性:

         錯誤:1、越界型錯誤(北京大學生——北京大學-生)

                     2、覆蓋型錯誤(賈里尼克——賈-裏-尼-克)

         顆粒度不一致性:這類不一致性在度量分詞器好壞時,可以不作爲錯誤,以免不同的人看法不同左右了對分詞器的度量。

 

中文分詞以統計語言模型爲基礎,經過幾十年的發展和完善,基本可以看做是一個已經解決的問題

 

 

 

 

 

 

 

 

 

隱含馬爾科夫模型:

         隱含馬爾科夫模型比馬爾科夫過程多了一個不確定性(概率)狀態產生觀測值的不確定性。

         關鍵點:

1.獨立輸出假設,模型在每個時刻t 狀態St 會輸出一個符號Ot ,而且Ot 和 St 相關且僅和 St 相關,而與其他S 無關,一個St 可能會產生不同的多個Ot 。

         2.馬爾科夫語言模型(二元、統計語言模型)

 

訓練方法:(鮑姆-韋爾奇算法-無監督)

首先找到一組能夠產生輸出序列O的模型參數。(顯然它們是一定存在的,因爲轉移概率P和輸出概率Q爲均勻分佈時,模型可以產生任何輸出,當然包括我們觀察到的輸出O。)現在有了這樣一個初始的模型,我們成爲M0,需要在此基礎上找到一個更好的模型。假定解決了第一個問題和第二個問題,不但可以算出這個模型產生O的概率,P(O|M0),而且能夠找到這個模型產生O 的所有可能的路徑以及這些路徑的概率。這些可能的路徑,實際上記錄了每個狀態經理的多少次,到達了哪些狀態,輸出了哪些符號,因此可以將它們看做是“標註的訓練數據”,並且根據公式計算出一組新的模型參數作爲心得的模型M1,從M0到M1 的過程稱爲一次迭代。接下來不斷迭代,直到模型的質量沒有明顯提高爲止。

鮑姆-韋爾奇算法是一個期望最大化的過程。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

信息的度量和作用:

         信息熵的概念:

                   H= -(P1*log P1+、、、+Pn*logPn);

當各隨機變量分佈均勻時,信息熵最大。

         自古以來,信息和消除不確定性是相聯繫的。在英語裏,信息和情報是同一個詞(information),而我們直到情報的作用就是排除不確定性。網頁搜索本質上也是利用信息消除不確定性的過程。

         條件熵:

                   已知X的概率分佈,可以求得X的信息熵,加入我們還知道Y的一些情況,包括

1.      Y和X一起出現的概率,在數學上稱爲  聯合概率分佈 ,

2.      在Y 不同取值的條件下X的概率分佈,在數學上稱爲條件概率分佈。

在直到Y的信息的條件下,X的條件熵爲 所有變量取值的

聯合概率分佈*log(條件概率分佈) 之和。

         信息的作用在於消除不確定性,自然語言處理的大量問題就是找相關的信息。

 

互信息:

         用以度量兩個隨機事件的“相關性”。

         X,Y的互信息 = X的信息熵 – Y條件下X的條件熵。

         即瞭解其中一個Y的前提下,對消除另一個X不確定性所提供的信息量。兩者完全無關時,它的取值是0 。

相對熵:

1.      對於兩個完全相同的函數,它們的相對熵等於零。

2.      相對熵越大,兩個函數差異越大

3.      對於概率分佈或者概率密度函數,如果取值均大於零,相對熵可以度量兩個隨機分佈的差異性。

詞頻率-逆向文檔頻率(TF-IDF)。補充

 

語言模型複雜度:

         直接衡量語言模型的好壞。

         在給定上下文的條件下,句子中每個位置平均可以選擇的單詞數量。一個模型的複雜度越小,每個位置的詞就越確定,模型越好。

 

 

 

 

 

 

 

 

 

 

 

 

 

確定網頁和查詢的相關性:

         網頁質量(pagerank):

         在互聯網上,如果一個網頁被其他多個網頁所鏈接,說明它受到普遍的承認和信賴,那麼它的排名就高。

         來自不同網頁的鏈接區別對待,因爲網頁排名搞得的那些網頁的鏈接更可靠,於是要給這些鏈接以較大的權重。

         由於網頁之間鏈接的數量相比互聯網的規模非常稀疏,因此計算網頁的網頁排名也需要對零概率或者小概率事件進行平滑處理。

 

         搜索關鍵詞權重的科學度量TF-IDF:

         根據網頁的長度,對關鍵詞的次數進行歸一化以避免內容長的網頁比內容短的網頁佔便宜。得到的商稱爲“關鍵詞的頻率(TF)”,或者“單文本詞頻”。

         對漢語中的每一個詞給一個權重:

1.      一個詞預測主題的能力越強,權重越大,反之,權重越小;

2.      停止詞(比如“的”“是”等主題無關又大量出現的詞)的權重爲零。

         逆文本頻率指數:(IDF)

                            IDF = log(D/Dw)

                   D是全部網頁數.

                   關鍵詞w 在 Dw 個網頁中出現過。

         TF-IDF中TF 是詞頻,IDF是權重。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

餘弦定理和新聞的分類

新聞的特徵向量:

        任何文本的分類,無非是要把相似的新聞放到同一類中。而計算機本質上只能做快速計算。爲了讓計算機能夠算新聞(而不是讀新聞),就要求我們首先把文字的新聞編程可以計算的一組數字,然後再設計一個算法來算出任意兩篇新聞的相似性。

         先根據詞庫建立一個字典

         再根據每篇新聞,在對應詞的位置寫上對應的TF-IDF值,得到一個代表這篇具體文章的向量,稱爲新聞的特徵向量。

         如果兩篇新聞屬於同一類,他們的特徵向量在某幾個維度的值都比較大,而在其他維度的值都比較小。這樣的就定性地認識到兩篇新聞的主題是否接近,取決於他們的特徵向量長得像不像。而定量衡量兩個特徵向量之間的相似性,如下:

 

向量距離的度量:

          向量的夾角是衡量兩個向量相近程度的度量。用餘弦定理來計算。

          當兩條新聞向量夾角的餘弦等於1 時,這兩個向量的夾角爲零,兩條新聞完全相同;當夾角餘弦接近於1時,兩條新聞相似,從而可以歸爲一類。

 

1.      假定我們已經知道一些新聞類別的特徵向量X ,那麼對於任何一個要被分類的新聞Y,很容易計算它和各類新聞特徵向量的餘弦相似性,並且分到它該去的那一類中。

2.      事先沒有這些新聞類別的特徵向量

計算所有新聞之間兩兩的餘弦相似性,把相似性大於一個閾值的新聞合併成一個小類。

           把每個小類中所有的新聞作爲一個整體,計算小類的特徵向量,再通過計算小類之間的餘弦相似性,然後合併成大一點的小類。

           直到聚合成我們想要的類別個數爲止。

 

         位置的加權:

                   出現在文本不同位置的詞在分類時的重要性也不相同。顯然出現在標題中的詞對主題的貢獻遠比出現在新聞正文中的重要。因此,要對標題和重要位置的詞進行額外的加權,以提高文本分類的準確性。

 

 

 

 

發佈了38 篇原創文章 · 獲贊 22 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章