一、NLP、NLU、NLG
自然語言處理(NLP)是指機(jī)器理解并解釋人類寫作、說話方式的能力。
NLP 的目標(biāo)是讓計(jì)算機(jī)/機(jī)器在理解語言上像人類一樣智能。最終目標(biāo)是彌補(bǔ)人類交流(自然語言)和計(jì)算機(jī)理解(機(jī)器語言)之間的差距。
自然語言處理(Natural Language Processing,簡稱NLP)是人工智能的一個(gè)子域。自然語言處理的應(yīng)用包括機(jī)器翻譯、情感分析、智能問答、信息提取、語言輸入、輿論分析、知識(shí)圖譜等方面,也是深度學(xué)習(xí)的一個(gè)分支。
在這個(gè)概念下還有兩大子集,即自然語言理解(Natural Language Understanding,簡稱NLU)與自然語言生成(Natural Language Generation,簡稱NLG)
套用百度的一張圖片展示它們的關(guān)系如下

(1)最底部,是最基礎(chǔ)的大數(shù)據(jù)、機(jī)器學(xué)習(xí)和語言學(xué)(Linguistics);
(2)往上看,是知識(shí)圖譜(Knowledge Graph),其中包含了實(shí)體圖譜、注意力圖譜和意圖圖譜。
(3)再上一層,左側(cè)是語言理解(Language Understanding),右側(cè)是語言生成(Language Generation)
——語言理解,包含了Query理解、文本理解、情感分析(Sentiment Analysis)等,還有詞法(Lexical)、句法(Syntax)和語義(Semantic)等不同層次的分析。
——語言生成,包含了寫作、閱讀理解等等。
(4)最上方,是系統(tǒng)層面,包含了問答系統(tǒng)、機(jī)器翻譯和對(duì)話系統(tǒng)。
二、NLP 與文本挖掘(或文本分析)之間的不同
自然語言處理是理解給定文本的含義與結(jié)構(gòu)的流程。
文本挖掘或文本分析是通過模式識(shí)別提起文本數(shù)據(jù)中隱藏的信息的流程。
自然語言處理被用來理解給定文本數(shù)據(jù)的含義(語義),而文本挖掘被用來理解給定文本數(shù)據(jù)的結(jié)構(gòu)(句法)。
例如,在「I found my wallet near the bank」一句中,NLP 的任務(wù)是理解句尾「bank」一詞指代的是銀行還是河邊。
三、NLP在人工智能中的地位

由于自然語言是人類區(qū)別于其他動(dòng)物的根本標(biāo)志。沒有語言,人類的思維也就無從談起,所以自然語言處理體現(xiàn)了人工智能的最高任務(wù)與境界,也就是說,只有當(dāng)計(jì)算機(jī)具備了處理自然語言的能力時(shí),機(jī)器才算實(shí)現(xiàn)了真正的智能。
事實(shí)上,“人工智能”被作為一個(gè)研究問題正式提出來的時(shí)候,創(chuàng)始人把計(jì)算機(jī)國際象棋和機(jī)器翻譯作為兩個(gè)標(biāo)志性的任務(wù),認(rèn)為只要國際象棋系統(tǒng)能夠打敗人類世界冠軍,機(jī)器翻譯系統(tǒng)達(dá)到人類翻譯水平,就可以宣告人工智能的勝利。四十年后的1997年,IBM公司的深藍(lán)超級(jí)計(jì)算機(jī) 已經(jīng)能夠打敗國際象棋世界冠軍卡斯帕羅夫。而機(jī)器翻譯到現(xiàn)在仍無法與人類翻譯水平相比,從此可以看出自然語言處理有多么困難!
一句話總結(jié)就是,語言是文明的標(biāo)志,是人類思維邏輯和情感線索的載體,自然語言處理正是人工智能的最高境界。
四、NLP面臨的主要難點(diǎn)
(1)單詞的邊界界定
在口語中,詞與詞之間通常是連貫的,而界定字詞邊界通常使用的辦法是取用能讓給定的上下文最為通順且在文法上無誤的一種最佳組合。在書寫上,漢語也沒有詞與詞之間的邊界。
(2)詞義的消歧
許多字詞不單只有一個(gè)意思,因而我們必須選出使句意最為通順的解釋。
(3)句法的模糊性
自然語言的文法通常是模棱兩可的,針對(duì)一個(gè)句子通??赡軙?huì)剖析(Parse)出多棵剖析樹(Parse Tree),而我們必須要仰賴語意及前后文的資訊才能在其中選擇一棵最為適合的剖析樹。
(4)有瑕疵的或不規(guī)范的輸入
例如語音處理時(shí)遇到外國口音或地方口音,或者在文本的處理中處理拼寫,語法或者光學(xué)字符識(shí)別(OCR)的錯(cuò)誤。
(5)語言行為與計(jì)劃
句子常常并不只是字面上的意思,例如,“你能把鹽遞過來嗎”,一個(gè)好的回答應(yīng)當(dāng)是把鹽遞過去,在大多數(shù)上下文環(huán)境中,“能”將是糟糕的回答,雖說回答“不”或者“太遠(yuǎn)了我拿不到”也是可以接受的。再者,如果一門課程去年沒開設(shè),對(duì)于提問“這門課程去年有多少學(xué)生沒通過?”回答“去年沒開這門課”要比回答“沒人沒通過”好。
五、目前NLP的應(yīng)用

(1)NLU 旨在讓機(jī)器理解自然語言形式的文本內(nèi)容。
從 NLU 處理的文本單元來講,可以分為詞(term)、句子(sentence)、文檔(document)三種不同的類型:
---詞層面的基礎(chǔ) NLU 領(lǐng)域包括分詞(漢語、緬甸語、泰語等非拉丁語系語言需要)、詞性標(biāo)注(名詞、動(dòng)詞、形容詞等)、命名實(shí)體識(shí)別(人物、機(jī)構(gòu)、地點(diǎn)等)和實(shí)體關(guān)系提?。ɡ缛宋?出生地關(guān)系、公司-所在地關(guān)系、公司收購關(guān)系等);
---句子層面的基礎(chǔ) NLU 領(lǐng)域包括句法結(jié)構(gòu)解析(獲取句子的句法結(jié)構(gòu))和依存關(guān)系解析(獲取句子組成部分的依賴關(guān)系);
---文檔層面的基礎(chǔ) NLU 領(lǐng)域包含情感分析(分析一篇文檔的情感傾向)和主題建模(分析文檔內(nèi)容的主題分布)。
(2)與NLU不同,NLG旨在讓機(jī)器根據(jù)確定的結(jié)構(gòu)化數(shù)據(jù)、文本、音視頻等生成人類可以理解的自然語言形式的文本。根據(jù)數(shù)據(jù)源的類型,NLG可以分為三類:
---Text to text NLG,主要是對(duì)輸入的自然語言文本進(jìn)行進(jìn)一步的處理和加工,主要包含文本摘要(對(duì)輸入文本進(jìn)行精簡提煉)、拼寫檢查(自動(dòng)糾正輸入文本的單詞拼寫錯(cuò)誤)、語法糾錯(cuò)(自動(dòng)糾正輸入文本的句法錯(cuò)誤)、機(jī)器翻譯(將輸入文本的語義以另一種語言表達(dá))和文本重寫(以另一種不同的形式表達(dá)輸入文本相同的語義)等領(lǐng)域;
---Data to text NLG,主要是根據(jù)輸入的結(jié)構(gòu)化數(shù)據(jù)生成易讀易理解的自然語言文本,包含天氣預(yù)報(bào)(根據(jù)天氣預(yù)報(bào)數(shù)據(jù)生成概括性的用于播報(bào)的文本)、金融報(bào)告(自動(dòng)生成季報(bào)/年報(bào))、體育新聞(根據(jù)比分信息自動(dòng)生成體育新聞)、人物簡歷(根據(jù)人物結(jié)構(gòu)化數(shù)據(jù)生成簡歷)等領(lǐng)域的文本自動(dòng)生成;
---Vision to text NLG,主要是給定一張圖片或一段視頻,生成可以準(zhǔn)確描述圖片或視頻(其實(shí)是連續(xù)的圖片序列)語義信息的自然語言文本。
下面重點(diǎn)說下NLG 技術(shù)的能力邊界:
NLG 技術(shù),一個(gè)核心在于NL,即自然語言形式的文本,更易于普通人閱讀;另一個(gè)核心在于G,即生成,但不是創(chuàng)作,不涉及深入地分析、提煉和推理。
在 Text to text NLG 中,本質(zhì)上是將輸入文本進(jìn)行處理,映射到一個(gè)語義向量空間中,然后再用輸出文本來表達(dá)同樣的語義,而這一過程中語義信息本身并沒有經(jīng)過進(jìn)一步加工。
Data to text NLG 的目的是將結(jié)構(gòu)化數(shù)據(jù)嵌入自然語言文本中,便于普通人的快速閱讀,即使有一些看似推理的結(jié)果(例如天氣預(yù)報(bào)中根據(jù)下周七天的天氣數(shù)據(jù),輸出「未來一周大部分時(shí)間晴好,僅周三有短時(shí)小雨」這樣的文本),其實(shí)也是人為定義了新的結(jié)構(gòu)化數(shù)據(jù)字段。
Vision to text NLG 中也是如此,只是用自然語言文本來表達(dá)原先圖像表達(dá)的語義,也不涉及語義的進(jìn)一步加工。
換句話說,目前的 NLG 技術(shù)并不能實(shí)現(xiàn)人類的「寫作」過程 - 其中包括對(duì)大量輸入信息的理解、提煉、分析、推理和重組,而僅能夠給出輸入信息(文本、數(shù)據(jù)和圖像)的自然語言形式的表示。
NLG 技術(shù)生成的文本,單篇文本看起來會(huì)非常規(guī)范和優(yōu)質(zhì),但把大量的生成文本放在一起,就會(huì)感覺出濃濃的機(jī)器味兒 - 更為模式化且缺少靈活性。
六、小結(jié)
NLP是AI的最大瓶頸,語言生成是NLP的最前沿