1. 程式人生 > >史上最強NLP知識集合:知識結構、發展歷程、導師名單

史上最強NLP知識集合:知識結構、發展歷程、導師名單

轉載自 資料簡化DataSimp 
作者 秦隴紀 
郭一璞 編輯 
量子位 報道 | 公眾號 QbitAI

本篇推送包含三篇文章,

《自然語言處理技術發展史十大里程碑》

《語言處理NLP知識結構》

《自然語言處理NLP國內研究方向機構導師》

總共超過20000字,量子位建議先碼再看。

自然語言處理技術發展史十大里程碑

文|秦隴紀,參考|黃昌寧、張小鳳、Sebatian Ruder

自然語言是人類獨有的智慧結晶。

自然語言處理(NaturalLanguage Processing,NLP)是電腦科學領域與人工智慧領域中的一個重要方向,旨在研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法。用自然語言與計算機進行通訊,有著十分重要的實際應用意義,也有著革命性的理論意義。

由於理解自然語言,需要關於外在世界的廣泛知識以及運用操作這些知識的能力,所以自然語言處理,也被視為解決人工智慧完備(AI-complete)的核心問題之一。對自然語言處理的研究也是充滿魅力和挑戰的。

微軟亞洲研究院黃昌寧張小鳳在2013年發表論文,就過去50年以來自然語言處理(NLP)研究領域中的發現和發展要點進行闡述,其中包括兩個事實和三大重要成果。

近年來,自然語言處理的語料庫調查顯示如下兩個事實:

(1)對於句法分析來說,基於單一標記的短語結構規則是不充分的;單個標記的PSG規則不足以進行自然語言描述;

(2)PSG規則在文字語料庫中具有偏差分佈,即PSG規則的總數似乎不能夠涵蓋大型語料庫中發現的語言現象,這不符合語言學家的期望。短語結構規則在真實文字中的分佈呈現嚴重扭曲。換言之,有限數目的短語結構規則不能覆蓋大規模語料中的語法現象。這與原先人們的預期大相徑庭。

NLP技術發展歷程在很大程度上受到以上兩個事實的影響,在該領域中可以稱得上里程碑式的成果有如下三個:

(1)複雜特徵集和合一語法;

(2)語言學研究中的詞彙主義;

(3)語料庫方法和統計語言模型。業內人士普遍認為,大規模語言知識的開發和自動獲取是NLP技術的瓶頸問題。因此,語料庫建設和統計學習理論將成為該領域中的關鍵課題。

一、NLP研究傳統問題

自然語言處理(NLP)是電腦科學、資訊工程和人工智慧的子領域,涉及計算機和人類(自然)語言之間的互動,尤其是程式設計實現計算機處理和分析大量自然語言資料。自然語言處理的挑戰包括語音識別,自然語言理解和自然語言生成。

資訊輸入、檢索、人機對話等需求增多,使自然語言處理(NLP)成為21世紀初的熱門學科。從50年代機器翻譯和人工智慧研究算起,NLP至今有長達半個世紀的歷史了。

近年來這一領域中里程碑式的理論和方法貢獻有如下三個:

(1)複雜特徵集和合一語法;

(2)語言學研究中的詞彙主義;

(3)語料庫方法和統計語言模型。

這三個成果將繼續對語言學、計算語言學和NLP的研究產生深遠影響。為了理解這些成果的意義,先介紹一下兩個相關事實。

自然語言處理中識別句子句法結構的句法分析的全過程:

(1)把句子中的詞一個一個地切分出來;

(2)查詞典,給句子中的每個詞指派一個合適的詞性(part of speech);

(3)用句法規則把句子裡包含的句法成分,如名詞短語、動詞短語、小句等,逐個地識別出來。

(4)判斷每個短語的句法功能,如主語、謂語、賓語等,及其語義角色,最終得到句子的意義表示,如邏輯語義表示式。

1.1 事實一:語言的結構歧義問題

第一個事實(黃昌寧,張小鳳,2013)是:短語結構語法(PhraseStructure Grammar,簡稱PSG)不能有效地描寫自然語言。

PSG在Chomsky的語言學理論[1]中佔有重要地位,並且在自然語言的句法描寫中擔當著舉足輕重的角色。但是它有一些根本性的弱點,主要表現為它使用的是像詞類和短語類那樣的單一標記,因此不能有效地指明和解釋自然語言中的結構歧義問題。

讓我們先來看一看漢語中“V+N”組合。假如我們把“打擊,委託,調查”等詞指派為動詞(V);把“力度,方式,盜版,甲方”等詞視為名詞(N),而且同意“打擊力度”、“委託方式”是名詞短語(NP),“打擊盜版”、“委託甲方”是動詞短語(VP),那麼就會產生如下兩條有歧義的句法規則:

(1) NP → V N

(2) VP → V N

換句話講,當計算機觀察到文字中相鄰出現的“V+N”詞類序列時,仍不能確定它們組成的究竟是NP還是VP。我們把這樣的歧義叫做“短語型別歧義”。例如:

• 該公司正在招聘[銷售V人員N]NP。

• 地球在不斷[改變V形狀N]VP。

下面再來看“N+V”的組合,也同樣會產生帶有短語型別歧義的規則對,如:

(3) NP → N V 例:市場調查;政治影響。

(4) S → N V 例:價格攀升;局勢穩定。

其中標記S代表小句。

不僅如此,有時當機器觀察到相鄰出現的“N+V”詞類序列時,甚至不能判斷它們是不是在同一個短語中。也就是說,“N+V”詞類序列可能組成名詞短語NP或小句S,也有可能根本就不在同一個短語裡。後面這種歧義稱為“短語邊界歧義”。下面是兩個相關的例句:

• 中國的[鐵路N建設V]NP發展很快。

• [中國的鐵路N]NP建設V得很快。

前一個例句中,“鐵路建設”組成一個NP;而在後一個例句中,這兩個相鄰的詞卻分屬於兩個不同的短語。這足以說明,基於單一標記的PSG不能充分地描述自然語言中的句法歧義現象。下面讓我們再來看一些這樣的例子。

(5)NP → V N1de N2

(6)VP → V N1de N2

其中de代表結構助詞“的”。例如,“[削蘋果]VP的刀”是NP; 而“削[蘋果的皮]NP”則是VP。這裡既有短語型別歧義,又有短語邊界歧義。比如,“削V蘋果N”這兩個相鄰的詞,可能構成一個VP,也可能分處於兩個相鄰的短語中。

(7)NP → P N1de N2

(8)PP → P N1de N2

規則中P和PP分別表示介詞和介詞短語。例如,“[對上海]PP的印象”是NP; 而“對[上海的學生]NP”則是PP。相鄰詞“對P 上海N”可能組成一個PP,也可能分處於兩個短語中。

(9)NP → NumPN1 de N2

其中NumP 表示數量短語。規則(9)雖然表示的是一個NP,但可分別代表兩種結構意義:

(9a)NumP [N1de N2]NP 如:五個[公司的職員]NP

(9b)[NumPN1]NP de N2 如:[五個公司]NP 的職員

(10)NP → N1 N2N3

規則(10)表示的也是一個NP,但“N1+ N2”先結合,還是“N2 +N3”先結合,會出現兩種不同的結構方式和意義,即:

(10a)[N1 N2]NPN3 如:[現代漢語]NP 詞典

(10b)N1 [N2N3]NP 如:新版[漢語詞典]NP

以上討論的第一個事實說明:

! 由於約束力不夠,單一標記的PSG規則不能充分消解短語型別和短語邊界的歧義。用數學的語言來講,PSG規則是必要的,卻不是充分的。因此機器僅僅根據規則右邊的一個詞類序列來判斷它是不是一個短語,或者是什麼短語,其實都有某種不確定性。

! 採用複雜特徵集和詞彙主義方法來重建自然語言的語法系統,是近二十年來全球語言學界就此作出的最重要的努力。

1.2 事實二:詞頻統計的齊夫律

通過大規模語料的調查,人們發現一種語言的短語規則的分佈也符合所謂的齊夫率(Zipf’s Law)

Zipf是一個統計學家和語言學家。他提出,如果對某個語言單位(不論是英語的字母或詞)進行統計,把這個語言單位在一個語料庫裡出現的頻度(frequency)記作F,而且根據頻度的降序對每個單元指派一個整數的階次(rank) R。結果發現R和F的乘積近似為一個常數。即

F*R ≈ const (常數)

被觀察的語言單元的階次R與其頻度F成反比關係。詞頻統計方面齊夫律顯示,不管被考察的語料僅僅一本長篇小說,還是一個大規模的語料庫,最常出現的100個詞的出現次數會佔到語料庫總詞次數(tokens)的近一半。

假如語料庫的規模是100萬詞次,那麼其中頻度最高的100個詞的累計出現次數大概是50萬詞次。如果整個語料庫含有5萬詞型(types),那麼其中的一半(也就是2.5萬條左右)在該語料庫中只出現過一次。即使把語料庫的規模加大十倍,變成1000萬詞次,統計規律大體不變。

有趣的是,80年代英國人Sampson對英語語料庫中的PSG規則進行統計,發現它們的分佈同樣是扭曲的,大體表現為齊夫率。也就是說,一方面經常遇到的語法規則只有幾十條左右,它們的出現頻度非常非常高;另一方面,規則庫中大約一半左右的規則在語料庫中只出現過一次。

隨著語料庫規模的擴大,新的規則仍不斷呈現。Noam Chomsky曾提出過這樣的假設,認為對一種自然語言來說,其語法規則的數目總是有限的,但據此生成的句子數目卻是無限的。但語料庫調查的結果不是這個樣子。這個發現至少說明,單純依靠語言學家的語感來編寫語法規則不可能勝任大規模真實文字處理的需求,必須尋找可以從語料庫中直接獲取大規模語言知識的新方法。

幾十年來,NLP學界曾發表過許多燦爛成果,有詞法學、語法學、語義學的,有句法分析演算法的,還有眾多著名的自然語言應用系統。那麼究竟什麼是對該領域影響最大的、里程碑式的成果呢?

二、NLP十大里程碑

2.1 里程碑一:1985複雜特徵集

複雜特徵集(complex feature set)又叫做多重屬性(multiple features)描寫。語言學裡,這種描寫方法最早出現在語音學中。美國計算語言學家Martin Kay於1985年在“功能合一語法”(FunctionalUnification Grammar,簡稱FUG)新語法理論中,提出“複雜特徵集”(complex feature set)概念。後來被Chomsky學派採用來擴充套件PSG的描寫能力。

640?wx_fmt=png

 美國計算語言學家Martin Kay

現在在語言學界、計算語言學界,語法系統在詞彙層的描寫中常採用複雜特徵集,利用這些屬性來強化句法規則的約束力。一個複雜特徵集F包含任意多個特徵名fi和特徵值vi對。其形式如:

F = {…, fi=vi, …}, i=1,…,n

特徵值vi既可以是一個簡單的數字或符號,也可以是另外一個複雜特徵集。這種遞迴式的定義使複雜特徵集獲得了強大的表現能力。舉例來說,北京大學俞士汶開發的《現代漢語語法資訊詞典》[10],對一個動詞定義了約40項屬性描寫,對一個名詞定義了約27項屬性描寫。

一條含有詞彙和短語屬性約束的句法規則具有如下的一般形式:

: <屬性約束>

: <屬性傳遞>

一般來說,PSG規則包括右部(條件:符號序列的匹配模式)和左部(動作:短語歸併結果)。詞語的“屬性約束”直接來自系統的詞庫,而短語的“屬性約束”則是在自底向上的短語歸併過程中從其構成成分的中心語(head)那裡繼承過來的。在Chomsky的理論中這叫做X-bar理論

X-bar代表某個詞類X所構成的、仍具有該詞類屬性的一個成分。如果X=N,就是一個具有名詞特性的N-bar。當一條PSG規則的右部匹配成功,且“屬性約束”部分得到滿足,這條規則才能被執行。此時,規則左部所命名的的短語被生成,該短語的複雜特徵集通過“屬性傳遞”部分動態生成。

80年代末、90年代初學術界提出了一系列新的語法,如廣義短語結構語法(GPSG)、中心語驅動的短語結構語法(HPSG)、詞彙功能語法(LFG)等等。這些形式語法其實都是在詞彙和短語的複雜特徵集描寫背景下產生的。合一(unification)演算法則是針對複雜特徵集的運算而提出來的。“合一”是實現屬性匹配和賦值的一種演算法,所以上述這些新語法又統稱為“基於合一的語法”。

2.2 里程碑二:1966詞彙主義

NLP領域第二個里程碑式貢獻是詞彙主義(lexicalism)。

1966年,韓禮德(Halliday)提出詞彙不是用來填充語法確定的一套“空位”(slots),而是一個獨立的語言學層面;詞彙研究可以作為對語法理論的補充,卻不是語法理論的一部分,他主張把詞彙從語法研究中獨立地分離出來。

語言學家Hudson宣稱,詞彙主義是當今語言學理論頭號發展傾向。出現原因也同上節兩事實有關。詞彙主義方法不僅提出一種顆粒度更細的語言知識表示形式,而且體現一語言知識遞增式開發和積累的新思路。

首先解釋一個背景矛盾。

一方面,語言學界一向認為,不劃分詞類就無法講語法,如前面介紹的短語結構語法,語法“不可能”根據個別單獨的詞來寫規則。但是另一方面,人們近來又注意到,任何歸類其實都會丟失個體的某些重要資訊。所以從前文提到的第一個事實出發,要想強化語法約束能力,詞彙的描寫應當深入到比詞類更細微的詞語本身上來。

換句話講,語言學呼喚在詞彙層採用顆粒度更小的描寫單元。從本質上來說,詞彙主義傾向反映了語言描寫的主體已經從句法層轉移到了詞彙層;這也就是所謂的“小語法,大詞庫”的思想。下面讓我們來看與詞彙主義有關的一些工作。

2.2.1 詞彙語法學(Lexicon-grammar)

法國巴黎大學Gross教授60年代創立研究中心LADL(http://www.ladl.jussieu.fr/),提出了詞彙語法的概念。

• 把12,000個主要動詞分成50個子類。

• 每個動詞都有一個特定的論元集。

• 每一類動詞都有一個特定的矩陣, 其中每個動詞都用400個不同句式來逐一描寫(“+”代表可進入該句式;“-”表示不能)。

• 已開發英、法、德、西等歐洲語言的大規模描寫。

• INTEX是一個適用於大規模語料分析的工具,已先後被世界五十多個研究中心採用。

2.2.2 框架語義學(Frame Semantics)

Fillmore是格語法(Case Grammar)創始人,前幾年主持美國自然科學基金的一個名為框架語義學的專案(http://www.icsi.berkeley.edu/~framenet)。該專案從WordNet上選取了2000個動詞,從中得到75個語義框架。例如,動詞”categorize”的框架被定義為:

一個人(Cognizer)把某個物件(Item)視為某個類(Category)。

同原先的格框架相比,原來一般化的動作主體被具體化為認知者Cognizer,動作客體被具體化為事物Item,並根據特定體動詞的性質增加了一個作為分類結果的語義角色Category。

專案組還從英國國家語料庫中挑出50,000個相關句子,通過人工給每個句子標註了相應的語義角色。例句:

Kimcategorized the book as fiction.

(Cog) (Itm)(Cat)

2.2.3 WordNet

WordNet(http://www.cogsci.princeton.edu:80/~wn/)是一個描寫英語詞彙層語義關係的詞庫,1990年由普林斯頓大學Miller開發。至今有很多版本,全部公佈在因特網上,供研究人員自由下載。

歐洲有一個Euro-WordNet,以類似的格式來表現各種歐洲語言的詞彙層語義關係。WordNet刻意描寫的是詞語之間的各種語義關係,如同義關係(synonymy)、反義關係(antonymy)、上下位關係(hyponymy),部分-整體關係(part-of)等等。

這種詞彙語義學又叫做關係語義學,這一學派同傳統的語義場理論和和語義屬性描寫理論相比,其最大的優勢在於第一次在一種語言的整個詞彙表上實現了詞彙層的語義描寫。這是其他學派從來沒有做到的。其他理論迄今僅僅停留在教科書或某些學術論文中,從來就沒有得到工程規模的應用。下面是WordNet的概況:

• 95,600條實詞詞型(動詞、名詞、形容詞)

• 被劃分成70,100個同義詞集(synsets)

2.2.4 知網網(How-Net)

知網是董振東和董強設計的一個漢語語義知識網(http://www.keenage.com),訪問只有主頁。

• 自下而上地依據概念對漢語實詞進行了窮盡的分類。

• 15,000個動詞被劃分成810類。

• 定義了300個名詞類,100個形容詞類。

• 全部概念用400個語義元語來定義。

知網特點是既有WordNet所描寫的同一類詞間語義關係(如:同義、反義、上下位、部分-整體等),又描寫不同類詞之間的論旨關係和語義角色。

2.2.5 MindNet

MindNet是微軟研究院NLP組設計的詞彙語義網(http://research.microsoft.com/nlp/),用三元組(triple)作為全部知識的表示基元。一個三元組由兩個節點和一條連線邊組成。每個節點代表一個概念,連線兩個概念節點的邊表示概念之間的語義依存關係。全部三元組通過句法分析器自動獲取。

具體通過對兩部英語詞典(Longman Dictionaryof Contemporary English,AmericanHeritage Dictionary)和一部百科全書(Encarta)中的全部句子進行分析,獲得每個句子的邏輯語義表示(logical form,簡稱LF)。

而LF本來就是由三元組構成的,如(W1, V-Obj,W2)表示:W1是一個動詞,W2是其賓語中的中心詞,因此W2從屬於W1,它們之間的關係是V-Obj。比如(play, V-Obj,basketball)便是一個具體的三元組。又如(W1, H-Mod,W2),W1代表一個偏正短語中的中心詞(head word),W2是其修飾語(modifier),因此W2從屬於W1,它們之間的關係是H-Mod。

這種資源是完全自動做出來的,所得三元組不可能沒有錯誤。但是那些出現頻度很高的三元組一般來說正確。MindNet已經應用到像語法檢查、句法結構排歧、詞義排歧、機器翻譯等許多場合。

2.3 里程碑三:1976統計語言模型

第三大貢獻是語料庫方法,或叫統計語言模型。

首先成功利用數學方法解決自然語言處理問題的是語音和語言處理大師弗雷德·賈里尼克(Fred Jelinek)。1968年始在IBM研究中心兼職1974年全職加入,他領導一批傑出科學家利用大型計算機處理人類語言問題,學術休假(SabbaticalLeave)時(約1972-1976年間)提出統計語言模型。

1990s李開復用統計語言模型把997個詞的語音識別問題簡化成了20詞識別問題,實現了有史以來第一次大詞彙量非特定人連續語言的識別。常用統計語言模型,包括N元文法模型(N-gram Model)、隱馬爾科夫模型(Hidden MarkovModel,簡稱HMM)、最大熵模型(MaximumEntropy Model)等。

640?wx_fmt=png

 美國工程院院士Frederick Jelinek

如果用變數W代表一個文字中順序排列的n個詞,即W = w1w2…wn,則統計語言模型的任務是給出任意一個詞序列W在文字中出現的概率P(W)

利用概率的乘積公式,P(W)可展開為:

P(W) =P(w1)P(w2/w1)P(w3/ w1 w2)…P(wn/w1 w2…wn-1) (1)

式中P(w1)表示第一個詞w1的出現概率,P(w2/w1)表示在w1出現的情況下第二個詞w2出現的條件概率,依此類推。

不難看出,為了預測詞wn的出現概率,必須已知它前面所有詞的出現概率。從計算上來看,這太複雜了。如果近似認為任意一個詞wi的出現概率只同它緊鄰的前一個詞有關,那麼計算就得以大大簡化。這就是所謂的二元模型(bigram),由(1)式得:

P(W) ≈ P(w1)∏i=2,…,nP(wi/ wi-1 ) (2)

式中∏i=2,…,nP(wi/ wi-1 )表示多個概率的連乘。

需要著重指出的是:這些概率引數都可以通過大規模語料庫來估值。比如二元概率

P(wi/ wi-1) ≈count(wi-1 wi) / count(wi-1) (3)

式中count(…)表示一個特定詞序列在整個語料庫中出現的累計次數。若語料庫的總詞次數為N,則任意詞wi在該語料庫中的出現概率可估計如下:

P(wi) ≈count(wi) / N (4)

同理,如果近似認為任意詞wi的出現只同它緊鄰前兩個詞有關,就得到一個三元模型(trigram):

P(W) ≈P(w1)P(w2/w1) ∏i=3,…,nP(wi/wi-2 w-1 ) (5)

統計語言模型的方法有點像天氣預報。用來估計概率引數的大規模語料庫好比是一個地區歷年積累起來的氣象記錄,而用三元模型來做天氣預報,就像是根據前兩天的天氣情況來預測當天的天氣。天氣預報當然不可能百分之百正確。這也算是概率統計方法的一個特點。

2.3.1 語音識別

語音識別作為計算機漢字鍵盤輸入的一種圖代方式,越來越受到資訊界人士的青睞。所謂聽寫機就是這樣的商品。據報道中國的行動電話使用者已超過一億,隨著行動電話和個人數字助理(PDA)的普及,尤其是當這些隨身攜帶的器件都可以無線上網的時候,廣大使用者更迫切期望通過語音識別或手寫板而不是小鍵盤來輸入簡短的文字資訊。

其實,語音識別任務可視為計算以下條件概率的極大值問題:

W*= argmaxWP(W/speech signal)

= argmaxWP(speech signal/W) P(W) / P(speech signal)

= argmaxWP(speech signal/W) P(W) (6)

式中數學符號argmaxW表示對不同的候選詞序列W計算條件概率P(W/speech signal)的值,從而使W*成為其中條件概率值最大的那個詞序列,這也就是計算機選定的識別結果。換句話講,通過式(6)的計算,計算機找到了最適合當前輸入語音訊號speech signal的詞串W。

式(6)第二行是利用貝葉斯定律轉寫的結果,因為條件概率P(speech signal/W)比較容易估值。公式的分母P(speech signa)對給定的語音訊號是一個常數,不影響極大值的計算,故可以從公式中刪除。在第三行所示的結果中,P(W)就是前面所講得統計語言模型,一般採用式(5)所示的三元模型;P(speechsignal/W)叫做聲學模型

講到這兒,細心的讀者可能已經明白,漢語拼音輸入法中的拼音-漢字轉換任務其實也是用同樣方法實現的,而且兩者所用的漢語語言模型(即二元或三元模型)是同一個模型。

據筆者所知,目前市場上的聽寫機產品和微軟拼音輸入法(3.0版)都是用詞的三元模型實現的,幾乎完全不用句法-語義分析手段。為什麼會出現這樣的局面呢?這是優勝劣汰的客觀規律所決定的。可比的評測結果表明,用三元模型實現的拼音-漢字轉換系統,其出錯率比其它產品減少約50%。

2.3.2 詞性標註

一個詞庫中大約14%的詞型具有不只一個詞性。而在一個語料庫中,佔總詞次數約30%的詞具有不止一個詞性。所以對一個文字中的每一個詞進行詞性標註,就是通過上下文的約束,實現詞性歧義的消解。歷史上曾經先後出現過兩個自動詞性標註系統。一個採用上下文相關的規則,叫做TAGGIT(1971),另一個應用詞類的二元模型,叫做CLAWS(1987)。

兩個系統都分別對100萬詞次的英語非受限文字實施了詞性標註。結果顯示,採用統計語言模型的CLAWS系統的標註正確率大大高於基於規則方法的TAGGIT系統。請看下錶的對比:

640?wx_fmt=png

令C和W分別代表詞類標記序列和詞序列,則詞性標註問題可視為計算以下條件概率的極大值:

C*= argmaxCP(C/W)

= argmaxCP(W/C)P(C) / P(W)

≈ argmaxC∏i=1,…,nP(wi/ci )P(ci /ci-1 ) (7)

式中P(C/W)是已知輸入詞序列W的情況下,出現詞類標記序列C的條件概率。數學符號argmaxC表示通過考察不同的候選詞類標記序列C,來尋找使條件概率取最大值的那個詞類標記序列C*。後者應當就是對W的詞性標註結果。

公式第二行是利用貝葉斯定律轉寫的結果,由於分母P(W)對給定的W是一個常數,不影響極大值的計算,可以從公式中刪除。接著對公式進行近似。首先,引入獨立性假設,認為任意一個詞wi的出現概率近似只同當前詞的詞類標記ci有關,而與周圍(上下文)的詞類標記無關。於是詞彙概率可計算如下:

P(W/C) ≈∏i=1,…,n P(wi/ci ) (8)

其次,採用二元假設,即近似認為任意一個詞類標記ci的出現概率只同它緊鄰的前一個詞類標記ci-1有關。有

P(C) ≈ P(c1)∏i=2,…,n P(ci /ci-1 ) (9)

P(ci /ci-1 )是詞類標記的轉移概率,也叫做基於詞類的二元模型。

上述這兩個概率引數都可以通過帶詞性標記的語料庫來分別估計:

P(wi/ci ) ≈count(wi,ci) / count(ci) (10)

P(ci /ci-1 ) ≈count(ci-1ci) / count(ci-1) (11)

據文獻報道,採用統計語言模型方法漢語和英語的次性標註正確率都可以達到96%左右[6]。

2.3.3 介詞短語PP的依附歧義

英語中介詞短語究竟依附於前面的名詞還是前面的動詞,是句法分析中常見的結構歧義問題。下例用語料庫方法來解決這個問題,以及這種方法究竟能達到多高的正確率。

例句:Pierre Vinken,61 years old, joined the board as a nonexecutive director.

令A=1表示名詞依附,A=0為動詞依附,則上述例句的PP依附問題可表為:

(A=0,V=joined, N1=board, P=as, N2=director)

令V, N1, N2分別代表句中動詞短語、賓語短語、介賓短語的中心詞,並在一個帶有句法標註的語料庫(又稱樹庫)中統計如下四元組的概率Pr:

Pr = (A=1 /V=v, N1=n1, P=p, N2=n2) (10)

對輸入句子進行PP 依附判斷的演算法如下:

若Pr = (1 / v, n1, p, n2) ≥ 0.5,

則判定PP依附於n1,

否則判定PP依附於v。

Collins和Brooks實驗使用的語料庫是賓夕法尼亞大學標註的華爾街日報(WSJ)樹庫,包括:訓練集20,801個四元組,測試集3,097個四元組。他們對PP依附自動判定精度的上下限作了如下分析:

一律視為名詞依附(即A≡1) 59.0%

只考慮介詞p的最常見附加72.2%

三位專家只根據四個中心詞判斷88.2%

三位專家根據全句判斷93.2%

很明顯,自動判斷精確率的下限是72.2%,因為機器不會比只考慮句中介詞p的最常見依附做得更差了;上限是88.2%,因為機器不可能比三位專家根據四個中心詞作出的判斷更高明。

論文報告,在被測試的3,097個四元組中,系統正確判斷的四元組為2,606個,因此平均精確率為84.1%。這與上面提到的上限值88.2%相比,應該說是相當不錯的結果。

傳統三大技術里程碑小結

語言學家在不論是複雜特徵集和合一語法,還是詞彙主義方法,都是原先所謂的理性主義框架下做出的重大貢獻。詞彙主義方法提出了一種顆粒度更細的語言知識表示形式,而且體現了一種語言知識遞增式開發和積累的新思路,值得特別推崇。

尤其值得重視的是,在眾多詞彙資源的開發過程中,語料庫和統計學習方法發揮了很大的作用。這是經驗主義方法和理性主義方法相互融合的可喜開端,也是國內知名語言學者馮志偉等人認可的研究正規化。

語料庫方法和統計語言模型,國內同行中實際上存在不同評價。有種觀點認為NLP必須建立在語言理解基礎上,他們不大相信統計語言模型在語音識別、詞性標註、資訊檢索等應用領域中所取得的進展。這些爭論不能澄清,是因為同行間缺少統一評測。有評測才會有鑑別。

評判某方法優劣應公開、公平、相互可比的評測標準,而非研究員設計“自評”。黃昌寧、張小鳳2013年論文表示,語料庫方法和統計語言模型是當前自然語言處理技術的主流,其實用價值已在很多應用系統中得到充分證實。統計語言模型研究在結構化物件的統計建模方面,仍有廣闊發展空間。

自然語言處理領域業界知名博主Sebatian Ruder在2018年文章從神經網路技術角度,總結NLP領域近15年重大進展、8大里程碑事件,提及很多神經網路模型。這些模型建立在同一時期非神經網路技術之上,如上述三大里程碑。下面接著看後續NLP技術的發展。

2.4 里程碑四:2001神經語言模型(Neural language models)

語言模型解決的是在給定已出現詞語的文字中,預測下一個單詞的任務。這是最簡單的語言處理任務,有許多具體實際應用,如智慧鍵盤、電子郵件回覆建議等。語言模型歷史由來已久,經典方法基於n-grams模型(利用前面n個詞語預測下一個單詞),並利用平滑操