1. 程式人生 > >自然語言處理NLP技術里程碑、知識結構、研究方向和機構導師(公號回覆“NLP總結”下載彩標PDF典藏版資料)

自然語言處理NLP技術里程碑、知識結構、研究方向和機構導師(公號回覆“NLP總結”下載彩標PDF典藏版資料)

自然語言處理NLP技術里程碑、知識結構、研究方向和機構導師(公號回覆“NLP總結”下載彩標PDF典藏版資料)

原創: 秦隴紀 資料簡化DataSimp 今天

資料簡化DataSimp導讀:自然語言處理髮展史上的十大里程碑、NLP知識結構,以及NLP國內研究方向、機構、導師。祝大家學習愉快~要推進人類文明,不可止步於敲門吶喊;設計空想太多,無法實現就虛度一生;工程能力至關重要,秦隴紀與君共勉之。

自然語言處理NLP技術里程碑、知識結構、研究方向和機構導師(29847字)

目錄

A自然語言處理技術發展史十大里程碑(21585字)

一、NLP研究傳統問題

二、NLP十大里程碑

B自然語言處理NLP知識結構(6990字)

一、NLP知識結構概述

二、NLP知識十大結構

三、中文NLP知識目錄

C自然語言處理NLP國內研究方向機構導師(1111字)

文字語言VS數字資訊

基礎研究

應用研究

參考文獻(4747字)Appx(845字).資料簡化DataSimp社群簡介

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

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

文|秦隴紀,參考|黃昌寧、張小鳳、Sebatian Ruder,資料簡化DataSimp20181013Sat22Mon

摘要:自然語言處理(NaturalLanguage Processing,NLP)是電腦科學、人工智慧、語言學領域的學科分支、交叉學科,關注計算機和人類(自然)語言之間的相互,研究實現人與計算機之間使用自然語言進行有效通訊的各種理論和方法的領域。本文從兩個NLP傳統研究問題出發,總結以下十大技術里程碑:複雜特徵集、詞彙主義、統計語言模型、神經語言模型、多工學習、詞嵌入、RNN/CNN用於NLP的神經網路、序列到序列模型、注意力機制網路、預訓練語言模型。

關鍵詞:自然語言處理; NLP; 中文分詞; 文字分類; 資訊抽取; 語義理解; 問答系統; 自然語言對話系統; 複雜特徵集; 詞彙主義; 語料庫方法; 統計語言模型。

Title: Ten milestonesin the history of natural language processing technology

Author: Qin Longji,data simplification Community, 20181013Sat20Sat {[email protected]}

Abstract: Natural Language Processing (NLP) is a branch ofinterdisciplinary and interdisciplinary fields in the fields of computerscience, artificial intelligence, and linguistics. It focuses on the mutualrelationship between computers and human (natural) languages, and studies theuse of natural language between humans and computers. The field of varioustheories and methods for effective communication. Based on two NLP traditionalresearch questions, this paper summarizes the following ten major milestones:complex feature set, lexicalism, statistical language model, neural languagemodels, .

Keywords: Natural Language Processing, NLP; Chinese WordSegmentation; Text Classification; Information Extraction; SemanticUnderstanding; Question Answering System; Natural Language Dialogue System;Complex Feature Set; Lexicalism; Corpus-Based Approaches, Statistical LanguageModels.

 

自然語言是人類獨有的智慧結晶。自然語言處理(NaturalLanguage Processing,NLP)是電腦科學領域與人工智慧領域中的一個重要方向,旨在研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法。用自然語言與計算機進行通訊,有著十分重要的實際應用意義,也有著革命性的理論意義。由於理解自然語言,需要關於外在世界的廣泛知識以及運用操作這些知識的能力,所以自然語言處理,也被視為解決人工智慧完備(AI-complete)的核心問題之一。對自然語言處理的研究也是充滿魅力和挑戰的。

微軟亞洲研究院黃昌寧、張小鳳在2013年發表論文,就過去50年以來自然語言處理(NLP)研究領域中的發現和發展要點進行闡述,其中包括兩個事實和三大重要成果。近年來,自然語言處理的語料庫調查顯示如下兩個事實:(1)對於句法分析來說,基於單一標記的短語結構規則是不充分的;單個標記的PSG規則不足以進行自然語言描述;(2)PSG規則在文字語料庫中具有偏差分佈,即PSG規則的總數似乎不能夠涵蓋大型語料庫中發現的語言現象,這不符合語言學家的期望。短語結構規則在真實文字中的分佈呈現嚴重扭曲。換言之,有限數目的短語結構規則不能覆蓋大規模語料中的語法現象。這與原先人們的預期大相徑庭。

NLP技術發展歷程在很大程度上受到以上兩個事實的影響,在該領域中可以稱得上里程碑式的成果有如下三個:(1)複雜特徵集和合一語法;(2)語言學研究中的詞彙主義;(3)語料庫方法和統計語言模型。業內人士普遍認為,大規模語言知識的開發和自動獲取是NLP技術的瓶頸問題。因此,語料庫建設和統計學習理論將成為該領域中的關鍵課題。

Naturallanguage is the unique wisdom of mankind. Natural Language Processing (NLP) isan important direction in the field of computer science and artificialintelligence. It aims to study various theories and methods that can realizeeffective communication between human and computer in natural language.Communicating with computers in natural language has very important practicalapplication significance and revolutionary theoretical significance. Because ofthe understanding of natural language, the need for extensive knowledge of theexternal world and the ability to manipulate it, natural language processing isalso seen as one of the core issues in solving AI-complete. The study of naturallanguage processing is also full of charm and challenge.

HuangChangning and Zhang Xiaofeng in Microsoft Asia Research Institute published a paper in 2013, elaboratedon the major findings and developments points in theresearch field of Natural Language Processing (NLP) in the past50 year, including two facts and three important achievements. In recent yearsthe corpus investigation of NaturalLanguage Processing as shown the following two facts:(1) Forsyntactic analysis, the rule structure of phrase based on single mark is notsufficient; Single labeled PSGrules are not sufficient for naturallanguage description, and (2) PSGrules have skew distribution in text corpora,i.e. the total number of PSGrules does not seem to be able to cover thelanguage phenomena found in a large corpus, which is out of most linguistsexpectation. The distribution of phrase structure rules in real textis seriously distorted. In other words, a limited number of phrase structurerules cannot cover grammatical phenomena in large-scale corpus. This is verydifferent from the expectations of the original people.

The developmentof NLP technology has been under the influence of the two facts mentionedabove.There have been three major breakthroughs and milestonesin this field: (1) multiple features and unification-based grammars, (2)lexicalism in linguistics research, (3) Statistical Language Modeling (SLM) andcorpus-based approaches. The latest investigations reveal that the bottleneckproblem in the NLP technology is the problem of obtaining and developing largescale linguistic knowledge; therefore, the corpus construction and statisticallearning theory become key issues in NLPresearch and application.

一、NLP研究傳統問題

自然語言處理(NLP)是電腦科學、資訊工程和人工智慧的子領域,涉及計算機和人類(自然)語言之間的互動。,尤其是程式設計實現計算機處理和分析大量自然語言資料。自然語言處理的挑戰包括語音識別,自然語言理解和自然語言生成。Naturallanguage processing (NLP) is a subfield of computer science, informationengineering, and artificial intelligence concerned with the interactionsbetween computers and human (natural) languages, in particular how to programcomputers to process and analyze large amounts of natural language data.Challenges in natural language processing frequently involve speechrecognition, natural language understanding, and natural language generation.

資訊輸入、檢索、人機對話等需求增多,使自然語言處理(NLP)成為21世紀初的熱門學科。從50年代機器翻譯和人工智慧研究算起,NLP至今有長達半個世紀的歷史了。近年來這一領域中里程碑式的理論和方法貢獻有如下三個:(1)複雜特徵集和合一語法;(2)語言學研究中的詞彙主義;(3)語料庫方法和統計語言模型。這三個成果將繼續對語言學、計算語言學和NLP的研究產生深遠影響。[21]為了理解這些成果的意義,先介紹一下兩個相關事實。

句法分析的全過程:自然語言處理中識別句子的句法結構,要把句子中的一個一個地切分出來:然後去查詞典,給句子中的每個詞指派一個合適的詞性(part of speech);之後再用句法規則把句子裡包含的句法成分,如名詞短語、動詞短語、小句等,逐個地識別出來。進而判斷每個短語的句法功能,如主語、謂語、賓語等,及其語義角色,最終得到句子的意義表示,如邏輯語義表示式。

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規則進行統計,發現它們的分佈同樣是扭曲的,大體表現為齊夫率[4]。也就是說,一方面經常遇到的語法規則只有幾十條左右,它們的出現頻度非常非常高;另一方面,規則庫中大約一半左右的規則在語料庫中只出現過一次。隨著語料庫規模的擴大,新的規則仍不斷呈現。Noam Chomsky曾提出過這樣的假設,認為對一種自然語言來說,其語法規則的數目總是有限的,但據此生成的句子數目卻是無限的。但語料庫調查的結果不是這個樣子。這個發現至少說明,單純依靠語言學家的語感來編寫語法規則不可能勝任大規模真實文字處理的需求,必須尋找可以從語料庫中直接獲取大規模語言知識的新方法。

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

二、NLP十大里程碑

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

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

圖1 美國計算語言學家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宣稱,詞彙主義是當今語言學理論頭號發展傾向[5]。出現原因也同上節兩事實有關。詞彙主義方法不僅提出一種顆粒度更細的語言知識表示形式,而且體現一語言知識遞增式開發和積累的新思路。

首先解釋一個背景矛盾。一方面,語言學界一向認為,不劃分詞類就無法講語法,如前面介紹的短語結構語法,語法“不可能”根據個別單獨的詞來寫規則。但是另一方面,人們近來又注意到,任何歸類其實都會丟失個體的某些重要資訊。所以從前文提到的第一個事實出發,要想強化語法約束能力,詞彙的描寫應當深入到比詞類更細微的詞語本身上來。換句話講,語言學呼喚在詞彙層採用顆粒度更小的描寫單元。從本質上來說,詞彙主義傾向反映了語言描寫的主體已經從句法層轉移到了詞彙層;這也就是所謂的“小語法,大詞庫”的思想。下面讓我們來看與詞彙主義有關的一些工作。

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)

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

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

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

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

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

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

3.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)等。

圖2 現代語音識別和自然語言處理研究的先驅、美國工程院院士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)[2]。兩個系統都分別對100萬詞次的英語非受限文字實施了詞性標註。結果顯示,採用統計語言模型的CLAWS系統的標註正確率大大高於基於規則方法的TAGGIT系統。請看下錶的對比:

系統名

TAGGIT(1971)

CLAWS(1987)

標記數

86

133

方法

3000條CSG

規則

隱馬爾科夫模型

標註精度

77%

96%

測試語料

布朗LOB

令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。

CollinsBrooks[8]實驗使用的語料庫是賓夕法尼亞大學標註的華爾街日報(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年文章[22]從神經網路技術角度,總結NLP領域近15年重大進展、8大里程碑事件,提及很多神經網路模型。這些模型建立在同一時期非神經網路技術之上,如上述三大里程碑。下面接著看後續NLP技術的發展。

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

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

第一個神經語言模型,前饋神經網路(feed-forward neural network),是Bengio等人於2001年提出的。模型以某詞語之前出現的n個詞語作為輸入向量,也就是現在大家說的詞嵌入(word embeddings)向量。這些詞嵌入在級聯後進入一個隱藏層,該層的輸出然後通過一個softmax層。如圖3所示。

圖3 前饋神經網路語言模型(Bengio et al., 2001;2003)

而現在構建語言模型的前饋神經網路,已被迴圈神經網路(RNNs)和長短期記憶神經網路(LSTMs)取代。雖然後來提出許多新模型在經典LSTM上進行了擴充套件,但它仍然是強有力的基礎模型。甚至Bengio等人的經典前饋神經網路在某些設定下也和更復雜的模型效果相當,因為這些任務只需要考慮鄰近的詞語。理解這些語言模型究竟捕捉了哪些資訊,也是當今一個活躍的研究領域。

語言模型的建立是一種無監督學習(unsupervisedlearning)Yann LeCun稱之為預測學習(predictivelearning),是獲得世界如何運作常識的先決條件。關於語言模型最引人注目的是,儘管它很簡單,但卻與後文許多核心進展息息相關。反過來,這也意味著NLP領域許多重要進展都可以簡化為某種形式的語言模型構建。但要實現對自然語言真正意義上的理解,僅僅從原始文字中進行學習是不夠的,我們需要新的方法和模型。

2.5 里程碑五:2008多工學習(Multi-task learning)

多工學習是在多個任務下訓練的模型之間共享引數的方法,在神經網路中通過捆綁不同層的權重輕鬆實現。多工學習思想1993年Rich Caruana首次提出,並應用於道路追蹤和肺炎預測。多工學習鼓勵模型學習對多個任務有效的表徵描述。這對於學習一般的、低階的描述形式、集中模型的注意力或在訓練資料有限的環境中特別有用。

多工學習2008年被CollobertWeston等人首次在自然語言處理領域應用於神經網路。在他們的模型中,詞嵌入矩陣被兩個在不同任務下訓練的模型共享,如圖4所示。

圖4 詞嵌入矩陣共享(Collobert & Weston,2008; Collobert et al., 2011)

共享的詞嵌入矩陣使模型可以相互協作,共享矩陣中的低層級資訊,而詞嵌入矩陣往往構成了模型中需要訓練的絕大部分引數。Collobert和Weston發表於2008年的論文,影響遠遠超過了它在多工學習中的應用。它開創的諸如預訓練詞嵌入和使用卷積神經網路處理文字的方法,在接下來的幾年被廣泛應用。他們也因此獲得2018年機器學習國際會議(ICML)test-of-time

如今,多工學習在自然語言處理領域廣泛使用,而利用現有或“人工”任務已經成為NLP指令庫中的一個有用工具。雖然引數的共享是預先定義好的,但在優化的過程中卻可以學習不同的共享模式。當模型越來越多地在多個任務上進行測評以評估其泛化能力時,多工學習就變得愈加重要,近年來也湧現出更多針對多工學習的評估基準。

2.6 里程碑六:2013詞嵌入

稀疏向量對文字進行表示的詞袋模型,在自然語言處理領域有很長曆史。而用稠密的向量對詞語進行描述,也就是詞嵌入,則在2001年首次出現。2013年Mikolov等人工作主要創新之處在於,通過去除隱藏層和近似計算目標使詞嵌入模型的訓練更為高效。儘管這些改變本質上十分簡單,但它們與高效的word2vec(wordto vector用來產生詞向量的相關模型)組合在一起,使得大規模的詞嵌入模型訓練成為可能。

Word2vec有兩種不同的實現方法:CBOW(continuousbag-of-words)和skip-gram。它們在預測目標上有所不同:一個是根據周圍的詞語預測中心詞語,另一個則恰恰相反。如圖5所示。

圖5 CBOW和skip-gram架構(Mikolov et al., 2013a; 2013b)

雖然這些嵌入與使用前饋神經網路學習的嵌入在概念上沒有區別,但是在一個非常大語料庫上的訓練使它們能夠獲取諸如性別、動詞時態和國際事務等單詞之間的特定關係。如下圖 4 所示。

圖6 word2vec捕獲的聯絡(Mikolov et al., 2013a; 2013b)

這些關係和它們背後的意義激起了人們對詞嵌入的興趣,許多研究都在關注這些線性關係的來源。然而,使詞嵌入成為目前自然語言處理領域中流砥柱的,是將預訓練的詞嵌入矩陣用於初始化可以提高大量下游任務效能的事實

雖然word2vec捕捉到的關係具有直觀且幾乎不可思議的特性,但後來的研究表明,word2vec本身並沒有什麼特殊之處:詞嵌入也可以通過矩陣分解來學習,經過適當的除錯,經典的矩陣分解方法SVD和LSA都可以獲得相似的結果。從那時起,大量的工作開始探索詞嵌入的不同方面。儘管有很多發展,word2vec仍是目前應用最為廣泛的選擇。Word2vec應用範圍也超出了詞語級別:帶有負取樣的skip-gram——一個基於上下文學習詞嵌入的方便目標,已經被用於學習句子的表徵。它甚至超越了自然語言處理的範圍,被應用於網路和生物序列等領域。

一個激動人心的研究方向是在同一空間中構建不同語言的詞嵌入模型,以達到(零樣本)跨語言轉換的目的。通過無監督學習構建這樣的對映變得越來越有希望(至少對於相似的語言來說),這也為語料資源較少的語言和無監督機器翻譯的應用程式創造可能。

2.7 里程碑七:2013RNN/CNN用於NLP的神經網路

20132014年是自然語言處理領域神經網路時代的開始。其中三種類型的神經網路應用最為廣泛:迴圈神經網路(recurrentneural networks)、卷積神經網路(convolutionalneural networks)和結構遞迴神經網路(recursiveneural networks)。

迴圈神經網路是NLP領域處理動態輸入序列最自然的選擇。Vanilla迴圈神經網路很快被經典的長短期記憶網路(long-shorttermmemory networks,LSTM)代替,該模型能更好地解決梯度消失和梯度爆炸問題。在2013年之前,人們仍認為迴圈神經網路很難訓練,直到Ilya Sutskever博士的論文改變了迴圈神經網路這一名聲。雙向的長短期記憶記憶網路通常被用於同時處理出現在左側和右側的文字內容。LSTM 結構如圖7所示。

圖7 LSTM網路(來源:ChrisOlah)

應用於文字的卷積神經網路只在兩個維度上進行操作,卷積層只需要在時序維度上移動即可。圖8展示了應用於自然語言處理的卷積神經網路的典型結構。

圖8 卷積神經網路(Kim,2014)

與迴圈神經網路相比,卷積神經網路的一個優點是具有更好的並行性。因為卷積操作中每個時間步的狀態只依賴於區域性上下文,而不是迴圈神經網路中那樣依賴於所有過去的狀態。卷積神經網路可以使用更大的卷積層涵蓋更廣泛的上下文內容。卷積神經網路也可以和長短期記憶網路進行組合和堆疊,還可以用來加速長短期記憶網路的訓練。

迴圈神經網路和卷積神經網路都將語言視為一個序列。但從語言學的角度來看,語言是具有層級結構的:詞語組成高階的短語和小句,它們本身可以根據一定的產生規則遞迴地組合。這激發了利用結構遞迴神經網路,以樹形結構取代序列來表示語言的想法,如圖9所示。

圖9 結構遞迴神經網路(Socher et al., 2013)

結構遞迴神經網路自下而上構建序列的表示,與從左至右或從右至左對序列進行處理的迴圈神經網路形成鮮明的對比。樹中的每個節點是通過子節點的表徵計算得到的。一個樹也可以視為在迴圈神經網路上施加不同的處理順序,所以長短期記憶網路則可以很容易地被擴充套件為一棵樹。

不只是迴圈神經網路和長短期記憶網路可以擴充套件到使用層次結構,詞嵌入也可以在語法語境中學習,語言模型可以基於句法堆疊生成詞彙,圖形卷積神經網路可以樹狀結構執行。

2.8 里程碑八:2014序列到序列模型(Sequence-to-sequencemodels)

2014年,Sutskever等人提出序列到序列學習,即使用神經網路將一個序列對映到另一個序列的一般化框架。在這個框架中,一個作為編碼器的神經網路對句子符號進行處理,並將其壓縮成向量表示;然後,一個作為解碼器的神經網路根據編碼器的狀態逐個預測輸出符號,並將前一個預測得到的輸出符號作為預測下一個輸出符號的輸入。如圖10所示。

圖10 序列到序列模型(Sutskever et al., 2014)

機器翻譯是這一框架的殺手級應用。2016年,谷歌宣佈他們將用神經機器翻譯模型取代基於短語的整句機器翻譯模型。谷歌大腦負責人Jeff Dean表示,這意味著500行神經網路模型程式碼取代50萬行基於短語的機器翻譯程式碼

由於其靈活性,該框架在自然語言生成任務上被廣泛應用,其編碼器和解碼器分別由不同的模型來擔任。更重要的是,解碼器不僅可以適用於序列,在任意表示上均可以應用。比如基於圖片生成描述(如圖11)、基於表格生成文字、根據原始碼改變生成描述,以及眾多其他應用。

圖11 基於影象生成標題(Vinyalset al., 2015)

序列到序列的學習甚至可以應用到自然語言處理領域常見的結構化預測任務中,也就是輸出具有特定的結構。為簡單起見,輸出就像選區解析一樣被線性化(如圖12)。在給定足夠多訓練資料用於語法解析的情況下,神經網路已經被證明具有產生線性輸出和識別命名實體的能力。

圖12 線性化選區解析樹(Vinyalset al., 2015)

序列的編碼器和解碼器通常都是基於迴圈神經網路,但也可以使用其他模型。新的結構主要都從機器翻譯的工作中誕生,它已經成了序列到序列模型的培養基。近期提出的模型有深度長短期記憶網路卷積編碼器Transformer(一個基於自注意力機制的全新神經網路架構)以及長短期記憶依賴網路和的 Transformer 結合體等。

2.9 里程碑九:2015注意力機制和基於記憶的神經網路

注意力機制是神經網路機器翻譯(NMT)的核心創新之一,也是使神經網路機器翻譯優於經典的基於短語的機器翻譯的關鍵。序列到序列學習的主要瓶頸是,需要將源序列的全部內容壓縮為固定大小的向量。注意力機制通過讓解碼器回顧源序列的隱藏狀態,以此為解碼器提供加權平均值的輸入來緩解這一問題,如圖13所示。

圖13 注意力機制(Bahdanau et al., 2015)

之後,各種形式的注意力機制湧現而出。注意力機制被廣泛接受,在各種需要根據輸入的特定部分做出決策的任務上都有潛在的應用。它已經被應用於句法分析、閱讀理解、單樣本學習等任務中。它的輸入甚至不需要是一個序列,而可以包含其他表示,比如影象的描述(圖14)。

注意力機制一個有用的附帶作用是它通過注意力權重來檢測輸入的哪一部分與特定的輸出相關,從而提供了一種罕見的雖然還是比較淺層次的,對模型內部運作機制的窺探。

圖14 影象描述模型中的視覺注意力機制指示在生成”飛盤”時所關注的內容(Xu etal., 2015)

注意力機制不僅僅侷限於輸入序列。自注意力機制可用來觀察句子或文件中周圍的單詞,獲得包含更多上下文資訊的詞語表示。多層的自注意力機制是神經機器翻譯前沿模型Transformer的核心。

注意力機制可以視為模糊記憶的一種形式,其記憶的內容包括模型之前的隱藏狀態,由模型選擇從記憶中檢索哪些內容。與此同時,更多具有明確記憶單元的模型被提出。他們有很多不同的變化形式,比如神經圖靈機(NeuralTuring Machines)、記憶網路(MemoryNetwork)、端到端的記憶網路(End-to-endMemory Newtorks)、動態記憶網路(DynamicMemoryNetworks)、神經可微計算機(NeuralDifferentiable Computer)、迴圈實體網路(RecurrentEntityNetwork)。

記憶的存取通常與注意力機制相似,基於與當前狀態且可以讀取和寫入。這些模型之間的差異體現在它們如何實現和利用儲存模組。比如說,端到端的記憶網路對輸入進行多次處理並更新記憶體,以實行多次推理。神經圖靈機也有一個基於位置的定址方式,使它們可以學習簡單的計算機程式,比如排序。基於記憶的模型通常用於需要長時間保留資訊的任務中,例如語言模型構建和閱讀理解。記憶模組的概念非常通用,知識庫和表格都可以作為記憶模組,記憶模組也可以基於輸入的全部或部分內容進行填充。

2.10里程碑十:2018預訓練語言模型

預訓練的詞嵌入與上下文無關,僅用於初始化模型中的第一層。近幾個月以來,許多有監督的任務被用來預訓練神經網路。相比之下,語言模型只需要未標記的文字,因此其訓練可以擴充套件到數十億單詞的語料、新的領域、新的語言。預訓練的語言模型於 2015年被首次提出,但直到最近它才被證明在大量不同型別的任務中均十分有效。語言模型嵌入可以作為目標模型中的特徵,或者根據具體任務進行調整。如下圖所示,語言模型嵌入為許多工的效果帶來了巨大的改進。

圖13 改進的語言模型嵌入(Peterset al., 2018)

使用預訓練的語言模型可以在資料量十分少的情況下有效學習。由於語言模型的訓練只需要無標籤的資料,因此他們對於資料稀缺的低資源語言特別有利。2018年10月,谷歌AI語言組釋出BERT語言模型預訓練,已被證明可有效改進許多自然語言處理任務(Dai and Le, 2015; Peters et al., 2017, 2018; Radford etal., 2018; Howard and Ruder, 2018)。這些任務包括句子級任務,如自然語言推理inference(Bowman et al., 2015; Williams et al., 2018)和釋義paraphrasing(Dolan and Brockett, 2005),旨在通過整體分析來預測句子之間的關係;以及詞塊級任務,如命名實體識別(Tjong KimSang and De Meulder, 2003)和SQuAD問題回答(Rajpurkar et al., 2016),其中模型需要在詞塊級別生成細粒度輸出。

近年七大技術里程碑小結

除了上述七大技術里程碑,一些其他進展雖不如上面提到的那樣流行,但仍產生了廣泛的影響。

基於字元的描述(Character-based representations),在字元層級上使用卷積神經網路和長短期記憶網路,以獲得一個基於字元的詞語描述,目前已經相當常見了,特別是對於那些語言形態豐富的語種或那些形態資訊十分重要、包含許多未知單詞的任務。據目前所知,基於字元的描述最初用於序列標註,現在,基於字元的描述方法,減輕了必須以增加計算成本為代價建立固定詞彙表的問題,並使完全基於字元的機器翻譯的應用成為可能。

對抗學習(Adversarial learning),在機器學習領域已經取得了廣泛應用,在自然語言處理領域也被應用於不同的任務中。對抗樣例的應用也日益廣泛,他們不僅僅是探測模型弱點的工具,更能使模型更具魯棒性(robust)。(虛擬的)對抗性訓練,也就是最壞情況的擾動,和域對抗性損失(domain-adversariallosses)都是可以使模型更具魯棒性的有效正則化方式。生成對抗網路(GANs)目前在自然語言生成任務上還不太有效,但在匹配分佈上十分有用。

強化學習(Reinforcement learning)在具有時間依賴性任務上證明有效,比如在訓練期間選擇資料和對話建模。在機器翻譯和概括任務中,強化學習可以有效地直接優化“紅色”和“藍色”這樣不可微的度量,不必去優化像交叉熵這樣的代理損失函式。同樣,逆向強化學習(inversereinforcement learning)在類似視訊故事描述這樣的獎勵機制非常複雜且難以具體化的任務中,也非常有用。


B自然語言處理NLP知識結構(6990)

自然語言處理NLP知識結構

文|秦隴紀,資料簡化DataSimp20181013Sat

自然語言處理(計算機語言學、自然語言理解)涉及:字處理,詞處理,語句處理,篇章處理詞處理分詞、詞性標註、實體識別、詞義消歧語句處理句法分析(SyntacticAnalysis)、語義分析(SenmanticAnalysis)等。其中,重點有:1.句法語義分析:分詞,詞性標記,命名實體識別。2.資訊抽取3.文字挖掘:文字聚類,情感分析。基於統計。4.機器翻譯:基於規則,基於統計,基於神經網路。5.資訊檢索6.問答系統7.對話系統建議...本文總結的自然語言處理歷史、模型、知識體系結構內容,涉及NLP的語言理論、演算法和工程實踐各方面,內容繁雜。參考黃志洪老師自然語言處理課程、宗成慶老師《統計自然語言處理》,鄭捷2017年電子工業出版社出版的圖書NLP漢語自然語言處理原理與實踐》,以及國外著名NLP書籍的英文資料、漢譯版資料。

一、NLP知識結構概述

1)自然語言處理:利用計算機為工具,對書面實行或者口頭形式進行各種各樣的處理和加工的技術,是研究人與人交際中以及人與計算機交際中的演員問題的一門學科,是人工智慧的主要內容。

2)自然語言處理是研究語言能力和語言應用的模型,建立計算機(演算法)框架來實現這樣的語言模型,並完善、評測、最終用於設計各種實用系統。

3)研究問題(主要):

資訊檢索

機器翻譯

文件分類

問答系統

資訊過濾

自動文摘

資訊抽取

文字挖掘

輿情分析

機器寫作

語音識別

研究模式:自然語言場景問題,數學演算法,演算法如何應用到解決這些問題,預料訓練,相關實際應用

自然語言的困難:

場景的困難:語言的多樣性、多變性、歧義性

學習的困難:艱難的數學模型(hmm,crf,EM,深度學習等)

語料的困難:什麼的語料?語料的作用?如何獲取語料?

二、NLP