1. 程式人生 > 實用技巧 >清華大學劉知遠:知識指導的自然語言處理

清華大學劉知遠:知識指導的自然語言處理

“語言是一塊琥珀,許多珍貴和絕妙的思想一直安全地儲存在裡面。”從人類誕生伊始,自然語言就承載著世世代代的智慧,積聚了無窮無盡的知識。這片深蘊寶藏的沃土吸引了眾多滿懷好奇的AI研究者,投入其中耕耘、開墾、發掘和重構。

2020 年 9 月 25日,由中國科協主辦,清華大學電腦科學與技術系、AI TIME 論道承辦的《2020 中國科技峰會系列活動青年科學家沙龍——人工智慧學術生態與產業創新》上,清華大學副教授劉知遠所作的學術報告《知識指導的自然語言處理》,於深度學習時代另闢蹊徑,闡釋了語言知識和世界知識對於自然語言處理的重要價值。

劉知遠,清華大學計算機系副教授、博士生導師。主要研究方向為表示學習、知識圖譜和社會計算。2011年獲得清華大學博士學位,已在ACL、IJCAI、AAAI等人工智慧領域的著名國際期刊和會議發表相關論文60餘篇,Google Scholar統計引用超過6000次。曾獲清華大學優秀博士學位論文、中國人工智慧學會優秀博士學位論文、清華大學優秀博士後、中文資訊學會青年創新獎,入選中國科學青年人才託舉工程、中國計算機學會青年學者提升計劃。擔任中文資訊學會青年工作委員會執委、副主任,中文資訊學會社會媒體處理專委會祕書長,ACL、EMNLP、COLING、IJCNLP領域主席。

一、NLP研究需從語言自身特點出發

自然語言處理(Natural Language Processing, NLP),旨在讓計算機掌握和運用人類語言。從詞性標註、命名實體識別、指代消解、到語義和句法的依存分析,NLP工作者們致力於從無結構的語音或文字序列中挖掘出結構化資訊。恍如從一片混沌中尋找秩序,無論是語義還是句法結構的,都不簡單。

語言作為一個符號系統,包含多種不同粒度的語言單元。譬如中文的漢字、詞、短語、句子、文件、直到文件互聯構成的全球資訊網,由下而上,粒度不斷加粗。

而自然語言處理的很多工,都涉及對不同層級的語言單元的語義相關度計算。例如資訊檢索就是給定一個query或者短語,找出哪些文件和該短語的語義最相關。由於語言的粒度大小不一,這就給計算增加了複雜度。

幸運的是,我們可以通過深度學習分散式表示,建立多粒度的語言關聯。

深度學習是近十年內一場席捲AI界的技術革命,而深度學習在自然語言處理領域獲得巨大成功的一個重要原因就是分散式表示。從詞彙、詞義、短語、實體到文件,深度學習把不同粒度的語言單元對映到統一的低維向量分散式表示空間,實現統一的隱式表示,有助於不同語言單位語義資訊的融合與計算。這給NLP任務提供統一的表示基礎,避免對不同任務設計不同的相似度計算方法,也能更好地解決大規模長尾分佈資料稀疏的問題。

針對深度學習的分散式表示,2015年到2017年劉知遠的實驗室開展了不少相關工作。具體包括:把漢字和詞結合進行統一表示、英文詞義和中文詞義的表示、短語的表示、實體和文件的表示等等。

二、融入語言知識庫HowNet

儘管如今深度學習卓有成效,但自然語言處理尚未得到徹底解決。2015年Science刊登的一篇NLP綜述中提到,儘管機器學習和深度學習已經成果豐碩,但要攻克真正的難題,包括語義、上下文、知識的建模,仍需更多研究和發現。

這就涉及語言的另一個特點:一詞多義現象。日常交流中,我們把詞或漢字視為最小的使用單位。然而,這些並非最小的語義單元,詞的背後還會有更細粒度的詞義層次,比如“蘋果”這個詞至少有水果、公司產品這兩種解釋。那麼詞義(sense)是最小單元麼?可能也不是。

語義最小單元:義原

語言學家指出可以對詞義進行無限細分,找到一套語義“原子”來描述語言中的所有概念。這套原子稱為義原(sememes),即語義的最小單元。例如,“頂點”這個詞可能有兩個詞義,每個詞義用細粒度更小的義原來表示。如圖,左邊的詞義是指某物的最高點,由四個義原的組合進行表示。

在人工標註義原方面,語言學家董振東先生辛勞數十年,手工標註了一個知識庫HowNet,釋出於1999年。經過幾輪迭代,現囊括約2000個不同的義原,並利用這些義原標註了中英文各十幾萬個單詞的詞義。

然而深度學習時代,以word2vec為代表的大規模資料驅動的方法成為主流,傳統語言學家標註的大規模知識庫逐漸被推向歷史的牆角,HowNet、WordNet等知識庫的引用明顯下跌。

那麼,資料驅動是最終的AI解決方案麼?

直覺上並非如此。資料只是外在資訊、是人類智慧的產物,卻無法反映人類智慧的深層結構,尤其是高層認知。我們能否教會計算機語言知識呢?

HowNet與Word2Vec的融合

2017年,劉知遠等人嘗試將HowNet融入當時深度學習自然語言處理中一個里程碑式的工作Word2Vec,取得了振奮人心的實驗效果。

下圖展示了義原指導的word embedding,該模型根據上下文來計算同一詞語不同義原的注意力、得到不同詞義的權重,從而進行消歧,進一步利用上下文學習該詞義的表示。儘管利用了傳統Word2Vec中skip-gram的方法,即由中心詞Wt預測滑動窗口裡上下文的詞,然而中心詞的embedding由標註好的義原的embedding組合而成。因此,這項研究將HowNet中word、sense和sememe三層結構融入word embedding中,綜合利用了知識庫和資料兩方面的資訊。

實驗結果證明,融入HowNet的知識可以顯著提升模型效果,尤其是涉及認知推理、類比推理等成分的任務。並且,我們能自動發現文字中帶有歧義的詞在具體語境下隸屬於哪一個詞義。不同於過去有監督或半監督的方法,該模型並未直接標註這些詞所對應的詞義,而是利用HowNet知識庫來完成。由此可見,知識庫對於文字理解能夠提供一些有意義的資訊。

受到這項工作的鼓舞,劉知遠的團隊將知識的運用從詞語層面擴充套件到句子級別。過去深度學習是直接利用上文的語義預測下一個詞,現在把word、sense和sememe的三層結構嵌入預測過程中。首先由上文預測下一個詞對應的義原,然後由這些義原啟用對應的sense,進而由sense啟用對應的詞。一方面,該方法引入知識,利用更少的資料訓練相對更好的語言模型;另一方面,形成的語言模型具有更高的可解釋性,能夠清楚地表明哪些義原導致了最終的預測結果。

HowNet作為董振東先生一生非常重要的心血,已經開源出來供大家免費下載和使用,希望更多老師和同學認識到知識庫的獨特價值,並開展相關的工作。下面是義原知識相關的閱讀列表。

三、世界知識:聽懂弦外之音

除了語言上的知識,世界知識也是語言所承載的重要資訊。

現實世界中有多種多樣的實體以及它們之間各種不同的關係,比如莎士比亞創作了《羅密歐與朱麗葉》,這些世界知識可以構成知識圖譜(knowledge graph)。在知識圖譜中,每個節點可以看成一個實體,連線它們的邊反映了這些實體之間的關係。圖譜由若干三元組構成,每個三元組包括頭實體、尾實體以及它們之間的關係。

由於知識圖譜中的實體隸屬不同的類別,而且具有不同的連線資訊,因此我們可以基於knowledge attention這種機制,把低維向量的知識表示與文字的上下文表示結合起來,進行細粒度實體分類的工作。

另一個方向是兩個不同知識圖譜的融合問題,實為一個典型的entity alignment的問題,過去一般要設計一些特別複雜的演算法,發現兩個圖譜之間各種各樣蛛絲馬跡的聯絡。現在實驗室提出了一個簡單的方法,把這兩個異質圖譜分別進行knowledge embedding,得到兩個不同的空間,再利用這兩個圖譜裡面具有一定連線的實體對、也就是構成的種子,把這兩個圖譜的空間結合在一起。工作發現,該方法能夠更好地進行實體的對齊。

同時,知識也能指導我們進行資訊檢索,計算query和文件之間的相似度。除了考慮query和document中詞的資訊,我們可以把實體的資訊、以及實體跟詞之間的關聯形成不同的矩陣,從而支援排序模型的訓練。

最後,預訓練語言模型的誕生,把深度學習從原來有監督的資料擴充套件到了大規模無監督資料。事實上,這些大規模文字中的每句話,都包含大量實體以及它們之間的關係。我們理解一句話,往往需要外部的世界知識的支援。

能否把外部知識庫加入預訓練語言模型呢?2019年,劉知遠所在的團隊提出ERNIE模型,使用知識表示演算法(transE)將知識圖譜中的實體表示為低維的向量,並利用一個全新的收集器(aggregator)結構,通過前饋網路將詞相關的資訊與實體相關的資訊雙向整合到一起,完成將結構化知識加入到語言表示模型的目的。

四、總結

本次報告主要從義原知識和世界知識兩個方面,闡述了知識指導的自然語言處理相關的工作。未來自然語言處理的一個重要方向,就是融入人類各種各樣的知識,從而深入地理解語言,讀懂言外之意、聽出弦外之音。針對面向自然語言處理的表示學習,劉知遠等人也發表了一本專著,供大家免費下載研讀。

相關連結及參考文獻: