⬆⬆⬆ 點擊藍字web
關注咱們算法
AI TIME歡迎每一位AI愛好者的加入!安全
「語言是一塊琥珀,許多珍貴和絕妙的思想一直安全地保存在裏面。」從人類誕生伊始,天然語言就承載着世世代代的智慧,積聚了無窮無盡的知識。這片深蘊寶藏的沃土吸引了衆多滿懷好奇的AI研究者,投入其中耕耘、開墾、發掘和重構。
微信
2020 年 9 月 25日,由中國科協主辦,清華大學計算機科學與技術系、AI TIME 論道承辦的《2020 中國科技峯會系列活動青年科學家沙龍——人工智能學術生態與產業創新》上,清華大學副教授劉知遠所做的學術報告《知識指導的天然語言處理》,於深度學習時代另闢蹊徑,闡釋了語言知識和世界知識對於天然語言處理的重要價值。網絡
![](http://static.javashuo.com/static/loading.gif)
1、NLP研究需從語言自身特色出發機器學習
天然語言處理(Natural Language Processing, NLP),旨在讓計算機掌握和運用人類語言。從詞性標註、命名實體識別、指代消解、到語義和句法的依存分析,NLP工做者們致力於從無結構的語音或文字序列中挖掘出結構化信息。恍如從一片混沌中尋找秩序,不管是語義仍是句法結構的,都不簡單。分佈式
語言做爲一個符號系統,包含多種不一樣粒度的語言單元。譬如中文的漢字、詞、短語、句子、文檔、直到文檔互聯構成的萬維網,由下而上,粒度不斷加粗。svg
而天然語言處理的不少任務,都涉及對不一樣層級的語言單元的語義相關度計算。例如信息檢索就是給定一個query或者短語,找出哪些文檔和該短語的語義最相關。因爲語言的粒度大小不一,這就給計算增長了複雜度。學習
![](http://static.javashuo.com/static/loading.gif)
幸運的是,咱們能夠經過深度學習分佈式表示,創建多粒度的語言關聯。
深度學習是近十年內一場席捲AI界的技術革命,而深度學習在天然語言處理領域得到巨大成功的一個重要緣由就是分佈式表示。從詞彙、詞義、短語、實體到文檔,深度學習把不一樣粒度的語言單元映射到統一的低維向量分佈式表示空間,實現統一的隱式表示,有助於不一樣語言單位語義信息的融合與計算。這給NLP任務提供統一的表示基礎,避免對不一樣任務設計不一樣的類似度計算方法,也能更好地解決大規模長尾分佈數據稀疏的問題。
![](http://static.javashuo.com/static/loading.gif)
針對深度學習的分佈式表示,2015年到2017年劉知遠的實驗室開展了很多相關工做。具體包括:把漢字和詞結合進行統一表示、英文詞義和中文詞義的表示、短語的表示、實體和文檔的表示等等。
![](http://static.javashuo.com/static/loading.gif)
2、融入語言知識庫HowNet
儘管現在深度學習卓有成效,但天然語言處理還沒有獲得完全解決。2015年Science刊登的一篇NLP綜述中提到,儘管機器學習和深度學習已經成果豐碩,但要攻克真正的難題,包括語義、上下文、知識的建模,仍需更多研究和發現。
![](http://static.javashuo.com/static/loading.gif)
這就涉及語言的另外一個特色:一詞多義現象。平常交流中,咱們把詞或漢字視爲最小的使用單位。然而,這些並不是最小的語義單元,詞的背後還會有更細粒度的詞義層次,好比「蘋果」這個詞至少有水果、公司產品這兩種解釋。那麼詞義(sense)是最小單元麼?可能也不是。
![](http://static.javashuo.com/static/loading.gif)
語義最小單元:義原
語言學家指出能夠對詞義進行無限細分,找到一套語義「原子」來描述語言中的全部概念。這套原子稱爲義原(sememes),即語義的最小單元。例如,「頂點」這個詞可能有兩個詞義,每一個詞義用細粒度更小的義原來表示。如圖,左邊的詞義是指某物的最高點,由四個義原的組合進行表示。
![](http://static.javashuo.com/static/loading.gif)
在人工標註義原方面,語言學家董振東先生辛勞數十年,手工標註了一個知識庫HowNet,發佈於1999年。通過幾輪迭代,現囊括約2000個不一樣的義原,並利用這些義原標註了中英文各十幾萬個單詞的詞義。
![](http://static.javashuo.com/static/loading.gif)
然而深度學習時代,以word2vec爲表明的大規模數據驅動的方法成爲主流,傳統語言學家標註的大規模知識庫逐漸被推向歷史的牆角,HowNet、WordNet等知識庫的引用明顯下跌。
那麼,數據驅動是最終的AI解決方案麼?
直覺上並不是如此。數據只是外在信息、是人類智慧的產物,卻沒法反映人類智能的深層結構,尤爲是高層認知。咱們可否教會計算機語言知識呢?
HowNet與Word2Vec的融合
2017年,劉知遠等人嘗試將HowNet融入當時深度學習天然語言處理中一個里程碑式的工做Word2Vec,取得了振奮人心的實驗效果。
下圖展現了義原指導的word embedding,該模型根據上下文來計算同一詞語不一樣義原的注意力、獲得不一樣詞義的權重,從而進行消歧,進一步利用上下文學習該詞義的表示。儘管利用了傳統Word2Vec中skip-gram的方法,即由中心詞Wt預測滑動窗口裏上下文的詞,然而中心詞的embedding由標註好的義原的embedding組合而成。所以,這項研究將HowNet中word、sense和sememe三層結構融入word embedding中,綜合利用了知識庫和數據兩方面的信息。
![](http://static.javashuo.com/static/loading.gif)
實驗結果證實,融入HowNet的知識能夠顯著提高模型效果,尤爲是涉及認知推理、類比推理等成分的任務。而且,咱們能自動發現文本中帶有歧義的詞在具體語境下隸屬於哪個詞義。不一樣於過去有監督或半監督的方法,該模型並未直接標註這些詞所對應的詞義,而是利用HowNet知識庫來完成。因而可知,知識庫對於文本理解可以提供一些有意義的信息。
![](http://static.javashuo.com/static/loading.gif)
受到這項工做的鼓舞,劉知遠的團隊將知識的運用從詞語層面擴展到句子級別。過去深度學習是直接利用上文的語義預測下一個詞,如今把word、sense和sememe的三層結構嵌入預測過程當中。首先由上文預測下一個詞對應的義原,而後由這些義原激活對應的sense,進而由sense激活對應的詞。一方面,該方法引入知識,利用更少的數據訓練相對更好的語言模型;另外一方面,造成的語言模型具備更高的可解釋性,可以清楚地代表哪些義原致使了最終的預測結果。
![](http://static.javashuo.com/static/loading.gif)
HowNet做爲董振東先生一輩子很是重要的心血,已經開源出來供你們免費下載和使用,但願更多老師和同窗認識到知識庫的獨特價值,並開展相關的工做。下面是義原知識相關的閱讀列表。
![](http://static.javashuo.com/static/loading.gif)
3、世界知識:聽懂弦外之音
除了語言上的知識,世界知識也是語言所承載的重要信息。
![](http://static.javashuo.com/static/loading.gif)
現實世界中有多種多樣的實體以及它們之間各類不一樣的關係,好比莎士比亞創做了《羅密歐與朱麗葉》,這些世界知識能夠構成知識圖譜(knowledge graph)。在知識圖譜中,每一個節點能夠當作一個實體,鏈接它們的邊反映了這些實體之間的關係。圖譜由若干三元組構成,每一個三元組包括頭實體、尾實體以及它們之間的關係。
![](http://static.javashuo.com/static/loading.gif)
因爲知識圖譜中的實體隸屬不一樣的類別,並且具備不一樣的鏈接信息,所以咱們能夠基於knowledge attention這種機制,把低維向量的知識表示與文本的上下文表示結合起來,進行細粒度實體分類的工做。
![](http://static.javashuo.com/static/loading.gif)
另外一個方向是兩個不一樣知識圖譜的融合問題,實爲一個典型的entity alignment的問題,過去通常要設計一些特別複雜的算法,發現兩個圖譜之間各類各樣蛛絲馬跡的聯繫。如今實驗室提出了一個簡單的方法,把這兩個異質圖譜分別進行knowledge embedding,獲得兩個不一樣的空間,再利用這兩個圖譜裏面具備必定鏈接的實體對、也就是構成的種子,把這兩個圖譜的空間結合在一塊兒。工做發現,該方法可以更好地進行實體的對齊。
![](http://static.javashuo.com/static/loading.gif)
同時,知識也能指導咱們進行信息檢索,計算query和文檔之間的類似度。除了考慮query和document中詞的信息,咱們能夠把實體的信息、以及實體跟詞之間的關聯造成不一樣的矩陣,從而支持排序模型的訓練。
![](http://static.javashuo.com/static/loading.gif)
最後,預訓練語言模型的誕生,把深度學習從原來有監督的數據擴展到了大規模無監督數據。事實上,這些大規模文本中的每句話,都包含大量實體以及它們之間的關係。咱們理解一句話,每每須要外部的世界知識的支持。
可否把外部知識庫加入預訓練語言模型呢?2019年,劉知遠所在的團隊提出ERNIE模型,使用知識表示算法(transE)將知識圖譜中的實體表示爲低維的向量,並利用一個全新的收集器(aggregator)結構,經過前饋網絡將詞相關的信息與實體相關的信息雙向整合到一塊兒,完成將結構化知識加入到語言表示模型的目的。
![](http://static.javashuo.com/static/loading.gif)
4、總結
本次報告主要從義原知識和世界知識兩個方面,闡述了知識指導的天然語言處理相關的工做。將來天然語言處理的一個重要方向,就是融入人類各類各樣的知識,從而深刻地理解語言,讀懂言外之意、聽出弦外之音。針對面向天然語言處理的表示學習,劉知遠等人也發表了一本專著,供你們免費下載研讀。
![](http://static.javashuo.com/static/loading.gif)
相關連接及參考文獻:
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
整理:鴿鴿
排版:田雨晴
本週直播預告:
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
AI Time是清華大學計算機系一羣關注人工智能發展,並有思想情懷的青年學者們創辦的圈子,旨在發揚科學思辨精神,邀請各界人士對人工智能理論、算法、場景、應用的本質問題進行探索,增強思想碰撞,打造一個知識分享的彙集地。
![](http://static.javashuo.com/static/loading.gif)
更多資訊請掃碼關注
(點擊「閱讀原文」查看直播回放)
本文分享自微信公衆號 - AI TIME 論道(lundaoAI)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。