微軟亞洲研究院:NLP將迎來黃金十年
趨勢熱點:值得關注的 NLP 技術
從最近的 NLP 研究中,我們認為有一些技術發展趨勢值得關注,這里總結了五個方面:
熱點一,預訓練神經網絡
如何學習更好的預訓練的表示,在一段時間內繼續成為研究的熱點。
通過類似于語言模型的方式來學習詞的表示,其用于具體任務的范式得到了廣泛應用。這幾乎成為自然語言處理的標配。這個范式的一個不足是詞表示缺少上下文,對上下文進行建模依然完全依賴于有限的標注數據進行學習。實際上,基于深度神經網絡的語言模型已經對文本序列進行了學習。如果把語言模型關于歷史的那部分參數也拿出來應用,那么就能得到一個預訓練的上下文相關的表示。這就是 Matthew Peters 等人在 2018 年 NAACL 上的論文“Deep Contextualized Word Representations”的工作,他們在大量文本上訓練了一個基于 LSTM 的語言模型。最近 Jacob Delvin 等人又取得了新的進展,他們基于多層 Transformer 機制,利用所謂“MASKED”模型預測句子中被掩蓋的詞的損失函數和預測下一個句子的損失函數所預訓練得到的模型“BERT”,在多個自然語言處理任務上取得了當前最好的水平。以上提到的所有的預訓練的模型,在應用到具體任務時,先用這個語言模型的 LSTM 對輸入文本得到一個上下文相關的表示,然后再基于這個表示進行具體任務相關的建模學習。結果表明,這種方法在語法分析、閱讀理解、文本分類等任務都取得了顯著的提升。最近一段時間,這種預訓練模型的研究成為了一個研究熱點。
如何學習更好的預訓練的表示在一段時間內將繼續成為研究的熱點。在什么粒度(word,sub-word,character)上進行預訓練,用什么結構的語言模型(LSTM,Transformer 等)訓練,在什么樣的數據上(不同體裁的文本)進行訓練,以及如何將預訓練的模型應用到具體任務,都是需要繼續研究的問題。現在的預訓練大都基于語言模型,這樣的預訓練模型最適合序列標注的任務,對于問答一類任務依賴于問題和答案兩個序列的匹配的任務,需要探索是否有更好的預訓練模型的數據和方法。將來很可能會出現多種不同結構、基于不同數據訓練得到的預訓練模型。針對一個具體任務,如何快速找到合適的預訓練模型,自動選擇最優的應用方法,也是一個可能的研究課題。
熱點二,遷移學習和多任務學習
對于那些本身缺乏充足訓練數據的自然語言處理任務,遷移學習有著非常重要和實際的意義。多任務學習則用于保證模型能夠學到不同任務間共享的知識和信息。
不同的 NLP 任務雖然采用各自不同類型的數據進行模型訓練,但在編碼器(Encoder)端往往是同構的。例如,給定一個自然語言句子 who is the Microsoft founder,機器翻譯模型、復述模型和問答模型都會將其轉化為對應的向量表示序列,然后再使用各自的解碼器完成后續翻譯、改寫和答案生成 (或檢索) 任務。因此,可以將不同任務訓練得到的編碼器看作是不同任務對應的一種向量表示,并通過遷移學習(Transfer Learning)的方式將這類信息遷移到目前關注的目標任務上來。對于那些本身缺乏充足訓練數據的自然語言處理任務,遷移學習有著非常重要和實際的意義。
多任務學習(Multi-task Learning)可通過端到端的方式,直接在主任務中引入其他輔助任務的監督信息,用于保證模型能夠學到不同任務間共享的知識和信息。Collobert 和 Weston 早在 2008 年就最早提出了使用多任務學習在深度學習框架下處理 NLP 任務的模型。最近 Salesforce 的 McCann 等提出了利用問答框架使用多任務學習訓練十項自然語言任務。每項任務的訓練數據雖然有限,但是多個任務共享一個網絡結構,提升對來自不同任務的訓練數據的綜合利用能力。多任務學習可以設計為對諸任務可共建和共享網絡的核心層次,而在輸出層對不同任務設計特定的網絡結構。
熱點三,知識和常識的引入
如何在自然語言理解模塊中更好地使用知識和常識,已經成為目前自然語言處理領域中一個重要的研究課題。
隨著人們對人機交互(例如智能問答和多輪對話)要求的不斷提高,如何在自然語言理解模塊中更好地使用領域知識,已經成為目前自然語言處理領域中一個重要的研究課題。這是由于人機交互系統通常需要具備相關的領域知識,才能更加準確地完成用戶查詢理解、對話管理和回復生成等任務。
最常見的領域知識包括維基百科和知識圖譜兩大類。機器閱讀理解是基于維基百科進行自然語言理解的一個典型任務。給定一段維基百科文本和一個自然語言問題,機器閱讀理解任務的目的是從該文本中找到輸入問題對應的答案短語片段。語義分析是基于知識圖譜進行自然語言理解的另一個典型任務。給定一個知識圖譜(例如 Freebase)和一個自然語言問題,語義分析任務的目的是將該問題轉化為機器能夠理解和執行的語義表示。目前,機器閱讀理解和語義分析可以說是最熱門的自然語言理解任務,它們受到了來自全世界研究者的廣泛關注和深入探索。
常識指絕大多數人都了解并接受的客觀事實,例如海水是咸的、人渴了就想喝水、白糖是甜的等。常識對機器深入理解自然語言非常重要,在很多情況下,只有具備了一定程度的常識,機器才有可能對字面上的含義做出更深一層次的理解。然而獲取常識卻是一個巨大的挑戰,一旦有所突破將是影響人工智能進程的大事情。另外,在 NLP 系統中如何應用常識尚無深入的研究,不過出現了一些值得關注的工作。
熱點四,低資源的 NLP 任務
引入領域知識(詞典、規則)可以增強數據能力、基于主動學習的方法增加更多的人工標注數據等,以解決數據資源貧乏的問題。
面對標注數據資源貧乏的問題,譬如小語種的機器翻譯、特定領域對話系統、客服系統、多輪問答系統等,NLP 尚無良策。這類問題統稱為低資源的 NLP 問題。對這類問題,除了設法引入領域知識(詞典、規則)以增強數據能力之外,還可以基于主動學習的方法來增加更多的人工標注數據,以及采用無監督和半監督的方法來利用未標注數據,或者采用多任務學習的方法來使用其他任務甚至其他語言的信息,還可以使用遷移學習的方法來利用其他的模型。
以機器翻譯為例,對于稀缺資源的小語種翻譯任務,在沒有常規雙語訓練數據的情況下,首先通過一個小規模的雙語詞典(例如僅包含 2000 左右的詞對),使用跨語言詞向量的方法將源語言和目標語言詞映射到同一個隱含空間。在該隱含空間中, 意義相近的源語言和目標語言詞具有相近的詞向量表示。基于該語義空間中詞向量的相似程度構建詞到詞的翻譯概率表,并結合語言模型,便可以構建基于詞的機器翻譯模型。使用基于詞的翻譯模型將源語言和目標語言單語語料進行翻譯,構建出偽雙語數據。于是,數據稀缺的問題通過無監督的學習方法產生偽標注數據,就轉化成了一個有監督的學習問題。接下來,利用偽雙語數據訓練源語言到目標語言以及目標語言到源語言的翻譯模型,隨后再使用聯合訓練的方法結合源語言和目標語言的單語數據,可以進一步提高兩個翻譯系統的質量。
為了提高小語種語言的翻譯質量,我們提出了利用通用語言之間大規模的雙語數據,來聯合訓練四個翻譯模型的期望最大化訓練方法(Ren et al., 2018)。該方法將小語種(例如希伯來語)作為有著豐富語料的語種(例如中文)和(例如英語)之間的一個隱含狀態,并使用通用的期望最大化訓練方法來迭代地更新 X 到 Z、Z 到 X、Y 到 Z 和 Z 到 Y 之間的四個翻譯模型,直至收斂。
熱點五,多模態學習
視覺問答作為一種典型的多模態學習任務,在近年來受到計算機視覺和自然語言處理兩個領域研究人員的重點關注。
嬰兒在掌握語言功能前,首先通過視覺、聽覺和觸覺等感官去認識并了解外部世界。可見,語言并不是人類在幼年時期與外界進行溝通的首要手段。因此,構建通用人工智能也應該充分地考慮自然語言和其他模態之間的互動,并從中進行學習,這就是多模態學習。










評論