在過去的 2018 年中,自然語言處理出現了很多令人激動的新想法與新工具。從概念觀點到實戰訓練,它們為 NLP 注入了新鮮的活力。
在這一年中,清華大學副教授劉知遠和他所在的清華自然語言處理實驗室同樣在這個領域做出了很多成果,他們關注如何結合深度神經網路與大型知識庫,並期望構建更多魯棒及可解釋性的自然語言理解系統。在這一篇文章中,機器之心採訪了劉知遠教授,他向我們介紹了 NLP 在過去一年的重要發展歷程,以及實驗室的重要研究成果與方向。
從 18 年走進 19 年
機器之心:在過去一年,您認為人工智慧或者機器學習領域方面有哪些比較重要的研究成果?
劉知遠:我認為去年最有里程碑意義的研究是 BERT,每個從事自然語言處理的研究者和開發者,甚至每個人工智慧研究者都會比較關注。它的地位可能和 CV 中的 ResNet 相似,都是充分利用更多資料自動學習預訓練模型,改進相關任務的效能。
參考文章:谷歌終於開源 BERT 程式碼:3 億引數量,機器之心全面解讀
機器之心:Transformer 在 2018 年有了更廣泛的應用,除了機器翻譯以外,它在語言模型和問答系統也都有所應用。您認為這是不是體現了一種趨勢?
劉知遠:我們可以把 Transformer 看做是以往神經網路的一個升級版,能夠一定程度上解決以往 CNN 和 RNN 對長程依賴建模的問題。並且提出完全利用 Attention 機制來進行句子表示學習,結構也比較清晰,目前在機器翻譯任務上取得了大幅提升。
在文字表示方面,深度神經網路主要存在兩種做法:一種是 RNN/GRU/LSTM 系列,將句子作為字元序列進行順序編碼處理;另一種如 CNN 就不再關注句子中詞之間的序列關係,而是通過諸如 Convolution(卷積)的機制,從區域性開始逐漸形成整個句子的表示。前一種做法更符合語言理解特點,而後一種做法則平行計算效能更好。
Transformer 現在有比較大的影響力,一個方面就是其每層都會利用 Attention(注意力)來捕捉全域性的資訊,能夠提升長程依賴的學習能力,這是 CNN 所不具備的。同時 Transformer 能在 GPU 上得到非常好的加速,可以從更多訓練資料學習更好的效果,這是 RNN 系列模型難以做到的。此外簡單利用自注意力機制可以方便層次化建模,這也是之後深層 Transformer 以及 BERT 等相關模型效果顯著的重要因素。
總的來說,Transformer 比較好地解決了 RNN 和 CNN 等傳統神經網路模型的缺陷,但更側重於模型的並行化,對於語言序列性質的考慮還比較簡單。當然,我認為未來這兩種做法還會有此消彼長的過程。可能再發展一兩年,我們又會在 Transformer 中把句子的序列性質著重考慮進來,讓效能進一步提高,這也是一個互相借鑑的過程。
機器之心:您在 18 年都有哪些比較重要的研究成果,能介紹一下嗎?
劉知遠:2018 年我們圍繞知識與語言開展了很多工作。我們認識到不同型別知識對語言理解的重要意義,是純資料驅動方法無法勝任的。所以,我們的總目標是構建知識指導的自然語言處理框架,近年來一直探索如何將世界知識、語言知識和行業知識用於自然語言理解,以及反過來如何利用深度學習技術從無結構文字中抽取各類知識。
2018 年,在世界知識方面,我們進一步探索了利用深度學習技術抽取實體關係的技術,推出了 OpenNRE 工具包,獲得了國內外的廣泛關注;我們也利用知識表示學習技術,將世界知識用於文字實體分類、資訊檢索的文字排序等任務,驗證了世界知識對於文字理解的積極意義。在語言知識方面,我們進一步探索瞭如何將用義原標註的詞彙知識庫 HowNet 融入到深度學習語言模型中;我們也探索了跨語言進行義原知識標註的可行性,有望加速多語言義原標註的效率。在行業知識方面,我們探索瞭如何將自然語言處理技術與法律知識相結合,提高法律領域的智慧化水平。
實際上,從無結構文字中抽取結構化知識形成大規模知識圖譜後,這些知識反過來可以融入深度學習模型中,幫助我們更好地實現對自然語言的理解。我認為這是深度學習模型與知識圖譜不斷互相正反饋的過程:如果有越來越大、越來越精確的知識圖譜,也會有越來越好、越來越魯棒的自然語言理解模型,它們是共同發展的。
機器之心:清華 NLP 實驗室這邊還會關注哪一些前沿研究成果或關注哪些方向?
劉知遠:我們實驗室共有三位老師,孫茂松教授、劉洋副教授和我。我主要關注如何將知識圖譜與文字理解相融合,以期更好地解決自然語言處理問題。這方面工作也得到了孫茂松教授的指導,孫老師作為首席科學家的 973 專案於 2018 年結題,我們提出的融合知識的語義表示學習框架和知識指導的自然語言處理框架就是 973 專案的重要成果。
劉洋老師則主要關注機器翻譯這個自然語言處理的重要方向,最近一直探索如何更好地利用神經網路提升機器翻譯效能,近年來發表了很多有影響力的工作,包括如何提升機器翻譯模型的魯棒性、可解釋性、覆蓋能力等等,曾經獲得過自然語言處理頂級會議 ACL 的傑出論文獎。
孫茂松老師還對社會人文計算和藝術創作特別感興趣,近年來圍繞古詩自動創作開展研究,研製了大家熟知的九歌系統,在中央電視臺機智過人等節目和場合出現過,深受大家喜愛。最近孫茂松老師還將研究擴充套件到了現代詩創作、音樂創作等。
九歌作詩系統:https://jiuge.thunlp.cn//
機器之心:在 2019 新的一年中,您認為整體上 NLP 會有哪些值得關注,或是有哪些可能會取得突破的地方?
劉知遠:我認為自然語言處理發展主要還是遵循兩個大的方向。一個方向是如何更充分地從大規模資料中學習和挖掘有用資訊。例如 BERT 這種預訓練語言模型就是利用大規模無標註文字資料學習一般的語言知識,2013 年的 word2vec 也是類似工作的典範,無疑它們對整個自然語言處理領域都產生了非常大的影響。近年來機器翻譯領域也在探索如何構建無監督機器翻譯模型,也是更充分利用無監督資料的做法。這些都屬於資料驅動的方法。
如何更充分挖掘資料的價值,無論是有標註資料、弱標註資料還是無標註資料,都是資料驅動模型的重要命題,仍然有很多開放問題等待解決。即使 2018 年有了 BERT,未來還會有更多的學習機制等待探索。
另一個方向,也是我個人比較關注的,是如何更好地將結構化知識融入相關自然語言處理模型中,相當於把基於符號表示的各種先驗知識和規則,引入到自然語言計算模型中。Google、DeepMind 等研究機構很重視這個方向,現在比較流行的圖神經網路可以看做這方面的重要嘗試。我們有望通過圖神經網路將結構化知識融入深度學習,實現各種計算與推理任務。
我認為,未來這兩個大方向都非常重要,它們會相互補充與促進:網際網路上有海量的非結構化資料,需要 BERT 等深度學習模型發揮重要作用;我們也積累了海量結構化知識,如何利用這些知識也具有重要意義。
當然,很多熱門學習模型在新的一年裡還會有更多關注和進展,例如對抗學習、強化學習、圖神經網路等;很多新穎的學習場景,如 zero/one/few shot learning 等,也開始有很多有益的探索。
機器之心:最近清華也剛剛成立了知識智慧研究中心,那麼在新的一年中,知識中心主要也是關注如何結合知識與文字這方面的研究嗎?
劉知遠:知識智慧研究中心是清華大學人工智慧研究院成立的首個研究中心。知識中心的使命是,在清華大學人工智慧研究院的指導下,更好地整合清華校內與知識智慧有關的研究力量,開展具有世界水平的基礎理論研究,建設融通語言知識、常識知識、世界知識的大規模知識圖譜及典型行業知識庫,形成具有國際影響力的知識計算開放平臺,同時積極開展高水平國際學術交流和產學研深度合作。我們希望通過知識中心,能夠增進校內外以及國內外的學術交流,通過構建更大更好的知識圖譜和計算平臺,推動魯棒可解釋人工智慧的實現。
在這次知識中心成立儀式上,我們釋出了清華大學知識計算開放平臺,內容涵蓋語言知識(OpenHowNet)、世界知識(XLORE)和科技知識庫(AMiner)。希望未來知識中心可以把知識計算開放平臺做大做好,成為人工智慧研究與應用的重要基礎設施。
清華人工智慧研究院成立「知識智慧研究中心」,釋出四大知識平臺
常識知識是魯棒可解釋人工智慧必不可少的支撐,因此從 2019 年開始,我們計劃利用若干年時間,逐步構建常識知識體系。常識知識具體以什麼方式來構建,目前正在積極的討論和規劃中。
深度學習與 HowNet
機器之心:您認為深度學習與知識庫結合的優勢以及侷限都在哪?
劉知遠:自然語言的最小使用單位是「詞」。與影象的最小單位「畫素」不同,語言中的「詞」是典型的符號系統,背後關聯著豐富的語義資訊。因此,自然語言處理的難題之一是如何打破「詞」這個屏障,更精確地捕捉詞彙背後的語義資訊。資料驅動的深度學習技術提供的解決方案是,將詞的語義資訊表示為詞向量,通過語義組合表示句子語義,從而支援各種下游自然語言處理任務,並利用大規模資料提供的豐富上下文來學習詞向量。這種方法最大的問題是可解釋性差,我們只知道這個幾百維的向量表示某個詞,但為什麼能表示這個詞,這個詞確切有什麼含義,我們仍然不知道。
以 word2vec 為例,詞嵌入向量能得到不同詞之間的類比關係,例如「國王 - 男性= 王后 - 女性」。但是每次重新訓練後,表示某個詞的向量都是不一樣的,它捕捉的只是詞之間的關係。這也是為什麼詞嵌入向量只能描述詞的分佈而不能描述組成這個詞的概念的原因。大多數深度學習模型都和詞嵌入向量一樣缺少可解釋性,這也是深度學習被廣泛詬病的地方。
然而對於自然語言處理而言,我們不僅希望模型能夠理解或生成文字,更希望知道模型這樣做的原因。對於人類而言,我們完成各種任務時同樣會有一個「世界模型」,或者說一個「知識庫」進行指導。藉助「知識庫」作為語境可以幫助我們對任務決策做出理性的解釋。純粹的資料驅動方法只能從大規模文字中學習與任務相關的某些「模式」,我們還需要另一種基於知識的方法才能靈活利用與理解這些模式。
所以,要想讓計算機真正「理解」自然語言,還需要建立起文字背後的語義知識庫。HowNet 正是這種詞彙知識庫,它秉承還原論思想,認為詞彙語義可以用更小的語義單位來描述,這種語義單位被稱為「義原」(Sememe),是最基本的、不易於再分割的意義的最小單位。HowNet 構建出了一套精細的義原體系(約 2000 個義原),並基於該義原體系累計標註了數十萬詞彙/詞義的語義資訊。
HowNet 中由義原向上構建概念,由概念向上定義詞。藉助它們,詞嵌入等模型能突破此層面的表徵。
2017 年以來,我們系統探索了 HowNet 在深度學習時代的應用價值,並在詞彙語義表示、句子語義表示、詞典擴充套件等任務上均得到了驗證。研究發現,HowNet 通過統一的義原標註體系直接刻畫語義資訊,一方面能夠突破詞彙屏障,瞭解詞彙背後豐富語義資訊;另一方面每個義原含義明確固定,可被直接作為語義標籤融入機器學習模型,使自然語言處理深度學習模型具有更好的魯棒可解釋性。
例如,我們將詞彙義原知識融入到了神經語言模型 LSTM 中,能夠有效提升了語言模型的可解釋性。我覺得這是一個非常有意思的嘗試,成功地把以義原為代表的語言知識與以資料為驅動的深度學習模型結合了起來。我們相信,只有充分融合知識與資料的優勢,才能實現深層次的自然語言理解和計算。
論文:Language Modeling with Sparse Product of Sememe Experts
論文地址:http://aclweb.org/anthology/D18-1493
如上所示為結合 HowNet 義原知識的語言模型架構,在給定迴圈神經網路的上下文向量後,模型會預測每個義原將在下個詞中出現的概率,並藉助上下文向量和義原資訊進而預測詞義(sense)的概率和詞(word)的概率。
我們還認識到 HowNet 知識人工標註費時費力,我們還系統探索瞭如何利用深度學習模型對新詞自動推薦義原,輔助知識的標註工作,這將為未來更快更好地擴充 HowNet 奠定技術基礎。此外,我們還結合詞向量學習技術與 HowNet 對領域詞典進行自動擴充套件,這些都是充分利用 HowNet 知識和資料驅動深度學習技術的有益嘗試。
論文:Lexical Sememe Prediction via Word Embeddings and Matrix Factorization
論文地址:https://www.ijcai.org/proceedings/2017/0587.pdf
論文:Chinese LIWC Lexicon Expansion via Hierarchical Classification of Word Embeddings with Sememe Attention
論文地址:https://aaai.org/ocs/index.php/AAAI/AAAI18/paper/view/16760
所以總的而言,資料驅動的深度學習技術能夠從海量文字中學習語義模式,卻不可解釋,因此還需要大規模知識庫指導這些模式的原因和合理性。深度學習模型融合「世界模型」是非常有必要的。當然「世界模型」並不是一定就是 HowNet 這種形式。如果我們在計算過程中發現 HowNet 的缺點,自然也可以去改進它,或者尋找更好的語言知識表示方法。
圖神經網路
機器之心:您可以介紹一下圖神經網路和傳統圖模型,以及原來的深度學習之間的關係嗎?
劉知遠:對於這個問題,我們需要看是從什麼角度來考慮。從研究任務的角度來看,比如對於資料探勘領域的社會網路分析問題,過去主要採用 graph embedding 技術,借鑑詞嵌入的思想,為網路節點學習低維向量表示。
如果將圖神經網路(GNN)跟 graph embedding 相比,最大的差別就是,像 DeepWalk、LINE 這些 graph embedding 演算法,聚焦在如何對網路節點進行低維向量表示,相似的節點在空間中更加接近。相比之下,GNN 最大的優勢是在於它不只可以對一個節點進行語義表示,具有更強大的建模本領。例如 GNN 可以表示子圖的語義資訊,對網路中一小部分節點構成的社群(community),GNN 可以把這個社群的語義表示出來,而這是以前的 graph embedding 不容易做到的。GNN 還可以在整個網路上進行資訊傳播、聚合等建模,也就是說它可以把網路當成一個整體進行建模。GNN 即使是對單個節點的表示也可以做得比過去方法更好,因為它可以更好地考慮這個節點周圍的豐富資訊。
由於我主要研究知識圖譜,所以會更關注 GNN 與知識表示學習(knowledge embedding)之間的差別。TransE 等知識表示學習方法,一般是將知識圖譜按照三元組來學習建模,學到每個實體和關係的低維向量表示,這樣就可以去進行一些連結預測和實體預測任務。
這些知識表示學習方法同樣沒有辦法整體地對知識圖譜建模,因為它會將知識分割成三元組再進行建模。而 GNN 則有希望把整個知識圖譜看成整體進行學習,並可以在知識圖譜上開展注意力、卷積等操作,以學習圖譜中實體與實體之間的複雜關係。即使實體間沒有直接連線,GNN 也可以更好地對它們的關係建模。
過去,人們主要設計了隨機遊走、最短路徑等圖方法來利用知識圖譜這種符號知識,但這些方法並沒有辦法很好地利用每個節點的語義資訊。而傳統的深度學習技術更擅長處理非結構文字、影象等資料。簡言之,我們可以將 GNN 看做將深度學習技術應用到了符號表示的圖資料上來,或者說是從非結構化資料擴充套件到了結構化資料。GNN 能夠充分融合符號表示和低維向量表示,發揮兩者優勢。
清華大學圖神經網路綜述:模型與應用
論文:Graph Neural Networks: A Review of Methods and Applications
論文地址:https://arxiv.org/abs/1812.08434
DeepMind 等機構提出「圖網絡」:面向關係推理
論文:Relational inductive biases, deep learning, and graph networks
論文地址:https://arxiv.org/abs/1806.01261