語義解析:人工神經網絡之外不容忽視的自然語言處理利器

2021-01-17 DOIT

 如何合理地表示語言的內在意義?這是自然語言處理業界中長久以來懸而未決的一個命題。

在2013年分布式詞向量表示(Distributed Representation)出現之前,one-hot是最常用的字詞數值表示形式。在這樣的詞袋模型下,語言被表示為極其稀疏的向量形式,詞之間的相互關係完全獨立,語言深刻的內在含義被簡化成0-1關係。

而之後出現的一系列預訓練詞向量(如Word2Vec、Glove等),在一定程度上解決了詞袋模型的稀疏性,對大部分NLP任務的表現都帶來了一定程度的提升,但其仍無法對如組合性,多義性、照應性、依賴性等複雜語言現象進行合理的表示。到了2018年,隨著一系列在大規模語料上訓練的深度語言模型的出現,以閱讀理解為代表的一大批NLP任務的榜單屢被刷新,人工智慧在語言上的理解能力超過人類的言論一度甚囂塵上。但當我們回過頭來仔細思考,在真實的「自然語言理解」業務場景中,這一輪「技術革新」帶來的利好似乎乏善可陳。

那麼,對大規模語料的暴力擬合是不是真的能讓模型理解語言的語義呢?2019年出現的GTP2模型參數數量達到了驚人的15億之巨,由它生成的新聞甚至能騙過專業的記者。但值得玩味的是,今年早些時候臺灣成功大學的幾位研究者發現,BERT更多地學到了語言中的統計線索,而不是理解文本當中的真正邏輯。當我們用同樣的模型對武俠小說進行學習之後,在其生成的文本中我們看到「三柄長劍斷作兩截」這樣的「statistically impeccable but logically wrong」的句子,讓我們進一步驗證基於人工神經網絡的大規模語言模型對語言的深度理解仍然有限。

其實,對於語言表示的問題,在統計學派興起之前的20世紀初期,以索緒爾為代表的一批符號學派語言學家就開始系統地研究了。到了六十年代末期,隨著邏輯學家和語言學家之間的屏障開始被打破,一批理論語言學家們著手為自然語言尋求一套完整的語義理論模式,來對語義進行完整的表示。美國邏輯學家理察·蒙塔古是其中的佼佼者,他認為自然語言與形式語言在基本文法邏輯上是一致的,他提出的「蒙太古語法」也為之後的語義表示研究奠定了基礎。

> There is in my opinion no important theoretical difference between natural languages the artificial languages of logicians; indeed I consider it possible to comprehend the syntax semantics of both kinds of languages with a single natural mathematically precise theory. (Montague 1970c, 222)

在語義解析這個領域,語義表示早期的工作幾乎都是符號學派為主的,例如一階邏輯表達式和lambda計算式。舉個例子,對於:

這樣一個自然語言,利用一階邏輯表達式可以簡單地表達為:

但這些早期的邏輯表達式有一些限制條件,例如,在一階邏輯中,量詞只能用於個體變元,取消這一限制條件,允許量詞也可用於命題變元和謂詞變元,由此構造起來的謂詞邏輯就是高階邏輯。FMR(Functional Meaning Representation) 就是利用高階函數來做意義表達,將語義(函數聲明的調用)和語用(函數具體實現邏輯,函數體)的實現解耦合,讓模塊的復用性和實用性更好。

也有一些研究者希望用有向無環圖來更完備地表達語義,例如由帕爾默等人提出的AMR(Abstract Meaning Representation)。近年來,一些工業界機構也根據自己的業務場景提出了滿足各自需求的多種語義表示方法,例如亞馬遜的Alexa語音助手就採用了同樣基於有向無環圖的AMRL(Alexa Meaning Representation Language)來表示以對話為主的自然語言。

還有一些研究者傾向於把自然語言直接轉化為像python、SQL一樣的程序語言,使之能夠直接被執行。由於程序語言天然地傾向於消除歧義,這樣的方法在某些特定領域有著很強的實用性。

在一覽群智的業務落地過程中,我們一直在探索一種實用性強、擴展性好的落地方案。面對實際業務問題,能夠基于堅實的基礎研發產品進行快速的行業適配,擺脫傳統方法對數據標註的依賴。同時,又能無縫銜接先進通用模型帶給我們的技術利好,有機地把行業內的專家知識與自然語言學界的前沿成果結合起來。基於Go語言的開源庫FMR (Functional Meaning Representation)就是我們朝這個方向踏出的堅實一步。在我們的實際業務場景種,基於FMR框架,僅需要少量的工程師就能將有行業特殊性的語言邏輯快速轉化為FMR框架可讀的文法,快速滿足行業定製化需求。另外,FMR相比於傳統的框架,可解釋性強,誤差可控,在部署便利程性和技術的延展性上,都有著獨特的優越性。

註:FMR開源庫地址連結https://github.com/liuzl/fmr

在傳統自然語言的應用中,業界傾向於用一種pipeline的方式,包括分詞、特徵工程、建模等流程。這樣的方式中的任何一個子流程的誤差在整個過程中都會被傳播甚至放大。與傳統流程不同的是,語義解析把自然語⾔的歧義性儘量當成特性⽽不是問題來進行處理,儘量保留所有符合語義的解析樹,並結合上下文語境進行歧義消解。例如,在FMR中,對語句詞的切分是依據UnicodeStandardAnnex#29,並在此基礎上根據文法進⾏解析,這極大程度規避了分詞模型誤差在pipeline中逐級傳播。另外,對於大部分自然語言模型框架,外部依賴繁雜,在業務部署過程中非常繁瑣。相比之下,基於Go語言的FMR在部署時能夠被編譯成一個可以直接執行的二進位文件,給部署帶來了極大的便利。

語言的歧義性與其解析難度是正相關的。正如剛才所說,大部分程式語言在設計的時候就把「消除歧義」作為設計原則之一,因此,大部分程序語言的解析複雜度都是O(n)的。對於自然語言,由於其內在的歧義性,所用到的解析算法的複雜度(例如CKY和Earley)都是O(N^3)的。與程式語言相似的是,在金融、公安、法律等領域,文書的文法和詞法在一定程度上會刻意避免歧義,以求準確表達。這正好大大降低了語言的歧義性,讓語義解析在這些場景下能夠發揮效用。

金融行業的票據審核正是這樣一個和語義解析耦合性很強的場景。在這個場景下,語言的歧義性一定程度上被人為的避免,降低了語義解析的難度。票據中的語言表述精煉,幾乎沒有「上下文語境」,而這是大多深度學習模型所依賴的,所以這些屠榜的利器在這個場景下幾乎沒有用武之地。另外,金融行業對模型的可解釋性和可控性要求極高,這也是語義解析能在這個行業落地的重要因素。一覽群智為金融行業打造的智能審單專家系統中,不論是對票據信息的抽取還是對條款語義的理解,語義解析扮演著舉足輕重的角色。這個審單系統已經在多個銀行的票據審核中投入使用,不僅給銀行客戶帶來了業務效率的提示,也節省了銀行大量的人力成本。

與金融行業類似,公安行業也存在著大量的零碎數據,分布在不同部門資料庫中。在過去,面對這樣的海量數據,很多業務需求,例如案件線索追蹤和串併案發現,都極度依賴於專家的個人經驗和大量人力比對。另外,公安行業的數據由於其行業特殊性,數據很難流通,這給數據標註也帶來了很大的困擾。一覽群智針對公安行業的數據現狀,研發了融合海量警情分析和案件關聯分析的警情案情分析預警系統,在多地的公安系統中得到應用和一致好評。

正因為這些行業的文本數據分布與開放領域文本的分別存在偏移,導致很多通用的模型無法快速地適配到應用場景中。同時,這些模型算法中大多數依賴於短期內無法得到的大批量標註數據,面對沒有標註數據的場景幾乎無法冷啟動。著名學者楊樂村曾說過:如果把人工智慧比作蛋糕,那監督學習和強化學習只是蛋糕上的點綴,只有非監督學習是蛋糕本體。在我們面臨的大多數沒有標註數據的場景中,也許語義解析就是楊樂村的那塊蛋糕。自然語言處理和文本分析針對的場景往往是多個任務的集合,而語義解析與深度學習模型的綜合使用,能夠讓自然語言處理和文本分析中的各項任務,按照最適合其特性的解決方法,得到綜合的處理。

語義解析所依賴的所有語義解析語法是不是都需要人工編寫呢?在特定領域中,由於語法規則的制定帶有很多人工的先驗知識,需要人為的來制定。例如在數字解析中,「一打」的指的是「12」,這樣的規則就是機器學不來的。但對於大部分語法規則來說,我們是可以通過統計和機器學習等數據驅動方法,從語⾔數據中學習,從而獲得規律。在極端的數據驅動⽅方法中,甚至可以完全不使用⼈工手寫語法,所有規則都是從數據中學習⽽而獲得的。

語義解析是否就是正則表達式匹配或者槽位填充呢?⾃然語言具有語義組合性和遞歸性的特點,槽位填充實現了部分的組合性。而對於語義的遞歸性,不論是正則表達式匹配還是槽位填充都無法體現。

在標註數據充足的情況下,符號化語義解析是否仍有優勢呢?基於神經網絡的一些模型在很多特定的任務上取得了鼓舞人心的評測結果,但與語義解析框架不同的是,這些模型算法更像是太上老君的丹爐,模型的優劣是實驗規律總結得到,很難得到理論上的解釋性。正如張鈸院士所說:「現在的人工智慧沒有自知之明」。數據驅動的方法做出來的人工智慧系統,是很危險的。即使對於SOTA模型,我們只知道在很大概率上,模型的結果是正確的,但我們無法確定很小概率的那部分在哪裡。舉例來說,對於一個簡單的自然語言描述數字轉換成阿拉伯數字問題,即使模型精度達到了99%,但在例如票據審核這樣容錯率極低的場景下,即使是1%的錯誤率,但模型無法確定性的直接給出到底是哪1%是錯誤的,這樣也會帶來無法接受的後果。

總而言之,我們當然對真正的強人工智慧喜聞樂見,但受限於當前的技術發展,「全心全意」地相信深度學習模型並不是一種負責任的選擇,更不用說在很多場景下,由於標註數據的匱乏,可選模型乏善可陳。相比之下,語義解析似乎是我們在這個階段上的一個局部最優解。若干年後,假使真的出現對語言理解勝於人類的智能產物,人們也不會忘記語義解析在人工智慧發展的長河中濃墨重彩的一筆。

                                                                                                                                                                                                                                                  (一覽群智 劉佔亮)

作者簡介:  劉佔亮 一覽群智技術副總裁
2007年畢業於天津大學計算機系,

曾先後供職於微軟亞洲研究院網際網路搜索與挖掘組、騰訊搜索、搜狗號碼通和百度國際化,歷任研究軟體工程師、研究員、資深研究員/研發負責人、

資深架構師/高級技術經理,負責基礎研究、產品研發、研發管理、業務推廣、商業變現等方面的工作。此外,他還曾作為產品技術負責人參與創辦Hitchsters.com(named one of Time Magazine’s 50 Best Websites for 2007)和Initialview.com。

未經允許不得轉載:DOIT » 語義解析:人工神經網絡之外不容忽視的自然語言處理利器

相關焦點

  • .| 多人姿勢估計;對話框語義分析;無監督語義分析;自然語言處理...
    還有一種是將自然語言直接轉換為計算機可以理解並且執行的語言,本文就是解決這個問題創新點:面向任務的對話框系統的分層語義表示,它可以對組合查詢和嵌套查詢建模。提出了一個語義解析的層次化注釋方案,它允許組合查詢的表示,並且可以被標準的選區解析模型高效準確地解析。而且還發布了一個由44k個帶注釋的查詢1組成的數據集。
  • 自然語言處理有哪些可以推薦的書?
    所謂「自然語言」,是指人們日常交流使用的語言,如英語、印地語、葡萄牙語等。相對於程式語言和數學符號這樣的人工語言,自然語言隨著一代代的傳遞而不斷演化,因而很難用明確的規則來確定。從廣義上講,「自然語言處理」(Natural Language Processing,NLP)包含所有用計算機對自然語言進行的操作,從最簡單的通過計數詞彙出現的頻率來比較不同的寫作風格,到最複雜的完全「理解」人所說的話,或至少達到能對人的話語作出有效反應的程度。
  • 深度解讀谷歌SyntaxNet:全新TensorFlow自然語言處理模型
    本文中,Hobbibal深度解讀了谷歌的自然語言處理模型。上周,谷歌開源了其基於人工智慧系統Tensorflow的自然語言解析模型分析庫SyntaxNet。在過去的兩年時間裡,谷歌研究人員利用這個分析庫發布了一系列神經網絡分析模型。自從SyntaxNet發布以來,筆者就一直關注它,當然也一直也期待這個軟體能夠開源。
  • 達觀數據|詳解自然語言處理5大語義分析技術及14類應用
    導讀自然語言處理(Natural Language Processing,NLP)技術是與自然語言的計算機處理有關的所有技術的統稱,其目的是使計算機能夠理解和接受人類用自然語言輸入的指令,完成從一種語言到另一種語言的翻譯功能。
  • 人工智慧與自然語言處理最全解讀:AI三大階段、NLP關鍵應用領域
    ,對自然語言處理在大數據中扮演的角色作了探討。   智能化演變   1、自然語言處理   2、知識表示   3、自動推理   4、機器學習   NLP、人工智慧、機器學習、深度學習和神經網絡之間的區別   自然語言處理:建立能夠理解語言的系統,人工智慧的一個分支。   機器學習:建立能從經驗中進行學習的系統,也是人工智慧的一個分支。   神經網絡:生物學啟發出的人工神經元網絡。   深度學習:在大型數據集上,建立使用深度神經網絡的系統,機器學習的一個分支。
  • 人工智慧閱卷「翻車」 其實是「翻」在了自然語言處理
    AI閱卷系統則涉及到對語言文字的評判,涵蓋很多方面,如語法、語義等,會大量運用到自然語言處理技術。「自然語言處理技術是人工智慧的一個重要分支,研究利用計算機對自然語言進行智能化處理,基礎的自然語言處理技術主要圍繞語言的不同層級展開,包括音位(語言的發音模式)、形態(字、字母如何構成單詞、單詞的形態變化)、詞彙(單詞之間的關係)、句法(單詞如何形成句子)、語義(語言表述對應的意思)、語用(不同語境中的語義解釋)、篇章(句子如何組合成段落)7個層級。」
  • AI閱卷「翻車」 其實是「翻」在了自然語言處理
    AI閱卷系統則涉及到對語言文字的評判,涵蓋很多方面,如語法、語義等,會大量運用到自然語言處理技術。  「自然語言處理技術是人工智慧的一個重要分支,研究利用計算機對自然語言進行智能化處理,基礎的自然語言處理技術主要圍繞語言的不同層級展開,包括音位(語言的發音模式)、形態(字、字母如何構成單詞、單詞的形態變化)、詞彙(單詞之間的關係)、句法(單詞如何形成句子)、語義(語言表述對應的意思)、語用(不同語境中的語義解釋)、篇章(句子如何組合成段落)7個層級。」
  • 詳解自然語言處理(NLP)5大語義分析技術及14類應用(建議收藏)
    導讀:自然語言處理(Natural Language Processing,NLP)技術是與自然語言的計算機處理有關的所有技術的統稱,其目的是使計算機能夠理解和接受人類用自然語言輸入的指令,完成從一種語言到另一種語言的翻譯功能。自然語言處理技術的研究,可以豐富計算機知識處理的研究內容,推動人工智慧技術的發展。
  • 自然語言處理技術在證券行業的應用
    一、背景及意義近年來自然語言處理技術在金融領域得到了廣泛的應用,包括粗粒度的資訊輿情分析,中粒度的表格提取與識別和細粒度的勾稽關係檢查。自然語義處理的核心技術包含文檔結構識別、文本內容理解、表格理解以及跨期和跨區的文本塊理解。目前在金融領域的應用主要是在投行和風控領域。
  • 自然語言處理的應用前景
    自然語言處理(NLP)的定義 自然語言處理(NLP)是人工智慧技術的一個分支,它使計算機能夠像人們一樣理解、處理和生成語言,並且在商業中的應用正在迅速增長。 雖然自然語言處理(NLP)這一術語最初指的是人工智慧系統的閱讀能力,但它後來成為所有計算語言學的一種通俗說法。
  • 全面解讀用於文本特徵提取的神經網絡技術:從神經概率語言模型到...
    選自arXiv作者:Vineet John機器之心編譯參與:吳攀、李亞洲、蔣思源文本特徵提取是自然語言處理的核心問題之一,近日,加拿大滑鐵盧大學的 Vineet John 在 arXiv 發布了一篇關於用於文本特徵提取的神經網絡技術的綜述論文。機器之心對該論文進行了編譯介紹,論文原文可點擊文末「閱讀原文」查閱。
  • 自然語言處理技術及金融應用實踐綜述
    1 介紹1.1 自然語言處理自然語言通常是指一種自然地隨文化演化的語言,是人類交流和思維的主要工具,是人類智慧的結晶。狹義的自然語言處理是使用計算機來完成以自然語言為載體的非結構化信息為對象的各類信息處理任務,比如文本的理解、分類、摘要、信息抽取、知識問答、生成等的技術。
  • 自然語言處理及相關的機器學習技術
    隨著最近這幾年人工智慧的快速發展,自然語言處理技術的應用已經比較普及。但是自然語言處理的學習路徑依然沒有一個系統的認識。自然語言處理介紹——什麼是自然語言處理?此領域探討如何處理及運用自然語言,自然語言處理包括多方面和步驟,基本有認知、理解、生成等部分。自然語言認知和理解是讓電腦把輸入的語言變成有意思的符號和關係,然後根據目的再處理。
  • 人工神經網絡的五大主要應用場景
    理解人工神經網絡人工神經網絡像人腦一樣構建,神經元節點像網絡一樣相互連接。人腦有數千億個叫做神經元的細胞。每個神經元都是由一個負責處理信息的細胞體組成,該細胞體是大腦進行信息的輸入以及輸出的基礎。一個ANN有數百個或數千個被稱為處理單元的人工神經元,它們通過節點相互連接。這些處理單元由輸入和輸出單元組成。
  • 中文自然語言處理百萬級語料庫-ChineseSemanticKB免費下載
    項目介紹 語義知識庫是自然語言處理中十分重要的一個基礎資源,與學術界追求算法模型不同,工業界的自然語言處理對於底層的詞彙知識庫、語義知識庫等多種資源依賴度很高,具體體現在: 1、具有落地場景的自然語言處理任務都是業務高度相關,一個業務需求剛進去,
  • 自然語言處理在開放搜索中的應用
    簡介: 構建搜尋引擎的時候,都會遇到很多效果優化的問題,其中很多都和自然語言處理相關liveId=44650自然語言智能(NLP)自然語言智能研究實現人與計算機之間用語言進行有效通信。它是融合語言學、心理學、計算機科學、數學、統計學於一體的科學。它涉及到自然語言和形式化語言的分析、抽取、理解、轉換和產生等多個課題。
  • 適用於特殊類型自然語言分類的自適應特徵譜神經網絡
    文本分類算法是自然語言處理中很重要的一類算法,在20世紀50年代就已經有科學家藉助「專家系統」對文本進行分類,然而該方法可覆蓋的範圍以及分類準確率都非常有限,只能用於解決一些條件明確、描述清晰且有條理的文本分類問題。
  • 深耕自然語言處理近30年 百度CTO王海峰獲光華工程科技獎
    百度CTO王海峰因其在人工智慧領域、尤其是自然語言處理領域的卓越貢獻,成為AI產業界首位獲此殊榮的科技工作者。王海峰從上世紀九十年代開始自然語言處理及機器翻譯研究,並在博士論文中探索了將神經網絡技術用於自然語言理解及機器翻譯
  • ACL論文 | 深度學習大神新作,神經網絡的自然語言翻譯應用
    Manning進行了關於神經機器翻譯(NMT)的講座。神經機器翻譯是一種簡單的新架構,可以讓機器學會翻譯。該方法雖然相對較新,已經顯示出了非常好的效果,在各種語言對上都實現了最頂尖的表現。神經網絡在自然語言處理方面,未來有巨大的應用潛力。
  • 走進人工智慧NLP自然語言處理的世界,NLU與NLG又是什麼
    NLP 技術,讓機器理解這些文本信息,並加以利用,然後能夠給人類帶來更多的方便快捷那麼,什麼是NLP自然處理人類有人類的溝通語言,比如漢語,英語,或者手語等等,這些都是人與人溝通的語言,動物有動物之間的溝通語言,當然,植物也有植物之間的溝通信息的語言,我們是如何跟自己家的寵物溝通的??