人工智能

基于Go的語義解析開源庫FMR,“屠榜”模型外的NLP利器

廣告
廣告
基于Go的語義解析開源庫FMR,“屠榜”模型外的NLP利器

(由AI科技大本營付費 下載自視覺中國)

作者 | 劉占亮 一覽群智技術副總裁

編輯 | Jane

出品 | AI科技大本營( ID:rgznai100)

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

在  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 and the artificial languages of logicians; indeed I consider it possible to comprehend the syntax and semantics of both kinds of languages with a single natural and mathematically precise theory. (Montague 1970c, 222)

基于Go的語義解析開源庫FMR,“屠榜”模型外的NLP利器

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

基于Go的語義解析開源庫FMR,“屠榜”模型外的NLP利器

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

基于Go的語義解析開源庫FMR,“屠榜”模型外的NLP利器

但這些早期的邏輯表達式有一些限制條件。例如,在一階邏輯中,量詞只能用于個體變元,取消這一限制條件,允許量詞也可用于命題變元和謂詞變元,由此構造起來的謂詞邏輯就是高階邏輯。 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

基于Go的語義解析開源庫FMR,“屠榜”模型外的NLP利器

在傳統自然語言的應用中,業界傾向于用一種 pipeline 的方式,包括分詞、特征工程、建模等流程。這樣的方式中的任何一個子流程的誤差在整個過程中都會被傳播甚至放大。

與傳統流程不同的是,語義解析把自然語?的歧義性盡量當成特性?不是問題來進行處理,盡量保留所有符合語義的解析樹,并 結合上下文語境進行歧義消解。例如,在 FMR 中,對語句詞的切分是依據 UnicodeStandardAnnex#29,并在此基礎上根據文法進?解析,這極大程度規避了分詞模型誤差在 pipeline 中逐級傳播。

另外,對于大部分自然語言模型框架,外部依賴繁雜,在業務部署過程中非常繁瑣。相比之下,基于 Go 語言的 FMR 在部署時能夠被編譯成一個可以直接執行的二進制文件,給部署帶來了極大的便利。

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

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

基于Go的語義解析開源庫FMR,“屠榜”模型外的NLP利器

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

基于Go的語義解析開源庫FMR,“屠榜”模型外的NLP利器

正因為這些行業的文本數據分布與開放領域文本的分別存在偏移,導致很多通用的模型無法快速地適配到應用場景中。同時,這些模型算法中大多數依賴于短期內無法得到的大批量標注數據,面對沒有標注數據的場景幾乎無法冷啟動。

著名學者楊樂村曾說過:如果把人工智能比作蛋糕,那監督學習和強化學習只是蛋糕上的點綴,只有非監督學習是蛋糕本體。在我們面臨的大多數沒有標注數據的場景中,也許語義解析就是那塊蛋糕。自然語言處理和文本分析針對的場景往往是多個任務的集合,而語義解析與深度學習模型的綜合使用,能夠讓自然語言處理和文本分析中的各項任務,按照最適合其特性的解決方法,得到綜合的處理。

語義解析所依賴的所有語義解析語法是不是都需要人工編寫呢?

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

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

在標注數據充足的情況下,符號化語義解析是否仍有優勢呢?基于神經網絡的一些模型在很多特定的任務上取得了鼓舞人心的評測結果,但與語義解析框架不同的是,這些模型算法更像是太上老君的丹爐,模型的優劣是實驗規律總結得到,很難得到理論上的解釋性。正如張鈸院士所說:“現在的人工智能沒有自知之明”。

數據驅動的方法做出來的人工智能系統,是很危險的。即使對于SOTA模型,我們只知道在很大概率上,模型的結果是正確的,但我們無法確定很小概率的那部分在哪里。舉例來說,對于一個簡單的自然語言描述數字轉換成阿拉伯數字問題,即使模型精度達到了99%,但在如票 據審核這樣容錯率極低的場景下,即使是1%的錯誤率,但模型無法確定性的直接給出到底是哪 1% 是錯誤的,這樣也會帶來無法接受的后果。

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

作者介紹: 劉占亮 一覽群智技術副總裁

基于Go的語義解析開源庫FMR,“屠榜”模型外的NLP利器

2007年畢業于天津大學計算機系,曾先后供職于微軟亞洲研究院互聯網 搜索與挖掘組、騰訊 搜索、搜狗號碼通和百度國際化,歷任研究軟件工程師、研究員、資深研究員/研發負責人、資深架構師/高級技術經理,負責基礎研究、產品研發、研發管理、業務推廣、商業變現等方面的工作。此外,他還曾作為產品技術負責人參與創辦 Hitchsters .com(named one of Time Magazine’s 50 Best Websites for 2007)和 Initialview .com。

https://www.toutiao.com/i6740221603793076747/
我還沒有學會寫個人說明!

淺談滴滴派單算法

上一篇

"加班文化"到底是如何流行起來的

下一篇

你也可能喜歡

基于Go的語義解析開源庫FMR,“屠榜”模型外的NLP利器

長按儲存圖像,分享給朋友

ITPUB 每周精要將以郵件的形式發放至您的郵箱


微信掃一掃

微信掃一掃
双色球常规走势图 彩票中奖 极速11选5官方网站 重庆幸运农场追号技巧 招标公司里面靠什么赚钱 体彩快中彩开奖结果 北京快乐8开奖时间 京东 内购价 赚钱 大神棋牌安卓版下载 山西11选5前3走势图 山东十一选五走势图 江西多乐彩的标志 体彩奖金池