1. 程式人生 > >微軟亞研院:NLP趨勢展望

微軟亞研院: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 之間的四個翻譯模型,直至收斂。

熱點五,多模態學習

視覺問答作為一種典型的多模態學習任務,在近年來受到計算機視覺和自然語言處理兩個領域研究人員的重點關注。

嬰兒在掌握語言功能前,首先通過視覺、聽覺和觸覺等感官去認識並瞭解外部世界。可見,語言並不是人類在幼年時期與外界進行溝通的首要手段。因此,構建通用人工智慧也應該充分地考慮自然語言和其他模態之間的互動,並從中進行學習,這就是多模態學習。

視覺問答作為一種典型的多模態學習任務,在近年來受到計算機視覺和自然語言處理兩個領域研究人員的重點關注。給定一張圖片和使用者提出的一個自然語言問題,視覺問答系統需要在理解圖片和自然語言問題的基礎上,進一步輸入該問題對應的答案,這需要視覺問答方法在建模中能夠對影象和語言之間的資訊進行充分地理解和互動。

我們在今年的 CVPR 和 KDD 大會上分別提出了基於問題生成的視覺問答方法(Li et al., 2018)以及基於場景圖生成的視覺問答方法(Lu et al., 2018),這兩種方法均在視覺問答任務上取得了非常好的結果,實現了 state-of-the-art 的效果。除視覺問答外,視訊問答是另一種最近廣受關注的多模態任務。該任務除了包括帶有時序的視訊資訊外,還包括了音訊資訊。目前,視訊問答作為一種新型的問答功能,已經出現在搜尋引擎的場景中。可以預見,該任務在接下來一定還會受到更多的關注。

未來展望:理想的 NLP 框架和發展前景

我們認為,未來理想狀態下的 NLP 系統架構可能是如下一個通用的自然語言處理框架:

首先,對給定自然語言輸入進行基本處理,包括分詞、詞性標註、依存分析、命名實體識別、意圖/關係分類等。

其次,使用編碼器對輸入進行編碼將其轉化為對應的語義表示。在這個過程中,一方面使用預訓練好的詞嵌入和實體嵌入對輸入中的單詞和實體名稱進行資訊擴充,另一方面,可使用預訓練好的多個任務編碼器對輸入句子進行編碼並通過遷移學習對不同編碼進行融合。

接下來,基於編碼器輸出的語義表示,使用任務相關的解碼器生成對應的輸出。還可引入多工學習將其他相關任務作為輔助任務引入到對主任務的模型訓練中來。如果需要多輪建模,則需要在資料庫中記錄當前輪的輸出結果的重要資訊,並應用於在後續的理解和推理中。

顯然,為了實現這個理想的 NLP 框架需要做很多工作:

  • 需要構建大規模常識資料庫並且清晰通過有意義的評測推動相關研究;

  • 研究更加有效的詞、短語、句子的編碼方式,以及構建更加強大的預訓練的神經網路模型;

  • 推進無監督學習和半監督學習,需要考慮利用少量人類知識加強學習能力以及構建跨語言的 embedding 的新方法;

  • 需要更加有效地體現多工學習和遷移學習在 NLP 任務中的效能,提升強化學習在 NLP 任務的作用,比如在自動客服的多輪對話中的應用;

  • 有效的篇章級建模或者多輪會話建模和多輪語義分析;

  • 要在系統設計中考慮使用者的因素,實現使用者建模和個性化的輸出;

  • 構建綜合利用推理系統、任務求解和對話系統,基於領域知識和常識知識的新一代的專家系統;

  • 利用語義分析和知識系統提升 NLP 系統的可解釋能力。

未來十年,NLP 將會進入爆發式的發展階段。從 NLP 基礎技術到核心技術,再到 NLP+的應用,都會取得巨大的進步。比爾蓋茨曾經說過人們總是高估在一年或者兩年中能夠做到的事情,而低估十年中能夠做到的事情。

 

原文連結:https://www.jiqizhixin.com/articles/2018-11-25