Statistical Natural Language Processing

Introduction:

    自然語言處理方面相關的研究已經被大量的探討然而對於自然語言  

處理而言最重要的是前置作業的資料收集這些工作在傳統上多半是靠著人力處理的方式因此過程中複雜度以及困難度也大大的提升

    有別於傳統的自然語言處理一個全新的研究領域------統計自然語言處理(Statistical Natural Language Processing)於焉誕生雖說是一個新的領域但是實際上它還是保有Natural Language Processing的內容並且加入了Machine Learning相關的技術Machine Learning說穿了其實也就是基於強而有利的數學工具-----統計而發展出的一連串演算法

    Statistical Natural Language ProcessingNatural Language Processing兩者之間最大的不同之處在於建立資料庫是否為自動化或者是manually construct由於要處理Natural Language必須收集大量的相關資料來加以分析因此資料庫建立的過程也就相對變的非常重要

    以一個簡單的例子來說明為何Statistical Natural Language Processing較傳統的Natural Language Processing居於優勢考慮這個句子”Do you sell Apple laptops?”, 這個句子的意思可以解釋成 “Whether the company stocks Apple-branded laptops.” or “Whether the company sells laptops computers to Apple”Statistical Natural Language Processing採用了一種Probabilistic context-free grammars對於每一個rule都指定了一個機率值給該rule然後根據這些數據算出所也可能句子的機率值然後挑選擁有最大機率值的句子當作parse過後的意思至於這些個別的機率要如何指定這就是以下要繼續討論的modeling的部份

 

Modeling:

    Modeling對於一個科學的研究而言是非常重要的,modeling可以將一個原本抽象的概念量化成數字的表示方式,進而可以使用數學的tool來加以分析和討論。Statistical Natural Language Processing顧名思義就是以統計為理論基礎的處理方式,因此對於統計而言,modeling也扮演著重要的腳色。

    Modeling的過程也有兩種常見的錯誤:overfitting and underfitting 。前者所指的是說,對於所收集到的資料modeling的過程太過於複雜,如此變化對於我們在做出decision時會變的不夠準確;而後者則是剛剛好相反,modeling的過程太過於簡略,省東省西,省到最後把一些重要的相關資訊也省略了。Overfitting and underfitting都是極端的表現,對於modeling而言需要特別的小心。

 

Estimation / Learning :

    Estimationlearning所指的其實是相同的一件事只不過在統計學上習慣用estimation這一個termlearning則是computer science所慣用的term在此雖然所討論的是屬於computer science的範疇但是Statistical Natural Language Processing所著重的技術畢竟還是統計所以這是我認未本書為何會使用estimation這個term的原因

    Estimation就是要估算在introduction的部份所講到的機率值estimation的方法有許多種以下列舉幾種來加以討論

(1)    Maximum Likelihood and Smoothing :

Maximum Likelihood是目前在Statistical Natural Language Processing這個研究領域裡面最為流行的一種方法它的概念其實很簡單就是根據每一個set所出現的次數和所有總次數的比來當作參數,說穿了其實就是帶有點機率的味道,如果在之前所收集到的training set裡面出現的次數越多的話,則很自然的會賦予較高的參數值,以便將來在predict時能夠有較大的可能性得到我們所想要的結果。上述這種簡單的做法其實也就是為何Maximum Likelihood會是目前最為流行的一種method。

然而Maximum Likelihood並非是十全十美,它也有它的缺點,舉例來說overfitting就有可能發生,而且一但發生的話,若我們不採取一些措施來修補的話,則往往會造成predict的結果不正確。因為上述的理由,而有了Smoothing的引入。

(2) Maximum Entropy:

   Maximum Entropy也可以稱為log-linear models是可以用來評估parameter and parameter之間是否有關聯性的一個重要工具paper上的例子而言New York合起來就是美國著名的城市紐約,但若是分開來一個一個單字看的話,則new代表新的意思,然而york本身並沒有特別的意義,像上述的例子在實際生活週遭其實還不少,由此也顯見Maximum Entropy的重要性。

(3) Kernel Methods:

   這是目前在machine learning領域中最廣為流行的一種作法其實也就是support vector machineKernel methods之所以會如此的吸引人的原因是它可以處理non-linear interactions between features.

(4) Ensemble Approaches:

    所謂的ensemble approaches就是指說任意結合上面所討論的三種方法Maximum Likelihood and SmoothingMaximum EntropyKernel Methods根據一些實驗的結果通常這種combine的方式可以得到更佳的performance.

 

Data :

   如同前面所述的由於Statistical Natural Language Processing是利用machine learning的方法自動的根據以往所蒐集的資料來做為判斷的準則因此資料的搜集好壞的程度大大的影響了最後預測的結果

    在計算語言學領域中資料一斑而言都是由corpora裡取得Corpora又可以再區分成為annotated corporaunannotated corpora兩類其中unannotated corpora是指說蒐集了大量的資料但是並不加以做任何的額外處理直接的呈現這一類型的corpora通常有利於分析每一個words所出現的頻率有多高至於annotated corpora則是指說經過處理並且加入了額外的資訊的corpora

    早期的計算語言學受限於機器可讀文章的數量但是到了現今由於the Internet的發達使得取得機器可讀文章的來源大幅的增加

Evaluation:

    既然Statistical Natural Language Processing的estimation有許許多多不同的methods,因此建立一個可以用來評估各種方法效率的metric應該被訂定出來,雖然說用了這麼一個metric來評估不同的estimation methods或許在不同的場合當中可能不太適合,但是作為一個參考用的數據,卻仍然有其存在的必要性。

    Text classification是一個非常重要且適合拿來當作測試的一個task。而其中有兩個評估的準則:precision and recall。這兩個名詞到底是什麼意思呢?以下用集合論的觀點來加以解釋。

    首先,令C是一個class U中的samples,而 則是經過predict之後被歸類為是屬於U中的samples。Precision則可以定義成;而recall則可以定義成。如下一頁的圖所示:

Application :

    以上大概的講述了Statistical Natural Language Processing的背景背後的數學模型一些方法的介紹以及如何評量一個方法的performance在最後便要稍微的談論Statistical Natural Language Processing的應用

(1)Part-of-Speech Tagging :

(2)Statistical Parsing :

    (3) Text Classification:

可以自動的將文章分類。

(3)Question Answering :

使用者可以輸入他想要詢問的問題,然後機器經過分析便認知後輸出使用者想要的答案,這和一般的搜尋引擎不同之處在於,搜尋引擎只接受關鍵字的檢索,而question answering則是針對一整句的完整句子來分析。

(4)Machine Translation :

Machine translation可以說是natural language processing領域裡頭最吸引人的一個問題,因為它背後所包含的商機實在很誘人,尤其又是在這個全球化的時刻,不同國界和不同國界之間的溝通必定更加的頻繁,然而語言這種東西必不是一朝一夕就可以有所領會的,因此如果有了machine translation的話,則大大的增進了人和人之間溝通的便利性。