從ACL 2017 看到四個在自然語言處理(NLP)的趨勢

ACL是什麼?

ACL 全名為 The Association for Computational Linguistics (國際計算語言學協會),為計算語言學領域的首要會議,今年7/30–8/4在加拿大溫哥華舉行。範圍包含自然語言的計算方法及其各類研究領域。ACL 2017 除了主要會議之外,還包含研討會、專題報告、研習會等。

NLP簡介

NLP (Neural Language Processing) 為自然語言處理,是數據科學的一大分支,旨在以智能而高效的方法來分析文本數據中潛藏的信息,你可以實現諸如機器翻譯、命名實體識別、情感分析等任務。我們可以通過Python語言做實現,最常使用的是NLTK這個開源函數庫(Natural Language Toolkit)、以及 jieba 中文斷詞的package。

趨勢一:Linguistic Structure is Back

過去在自然語言領域有著這樣的認知:「語言僅是由一連串的字詞序列組合而成」,只需要將字詞轉變成vector,簡單地端到端訓練一個RNN模型,隨機梯度下降就能解決問題!雖然這種方法在短期內獲得了成功,但是它的局限正變得越來越明顯。

在ACL 2017中,幾位著名的研究者跳脫「語言只是字詞序列」的思維,並且對於為什麼NLP應該重新擁抱語言結構(Linguistic Structure)提出了以下三個原因:

  1. 減少搜索空間

語言結構縮小了所有可能輸出的搜索空間,使得生成一個符合語法規則的輸出變得容易。在Yin and Neubig和Rabinovich et al.的ACL論文中,都使用結構化的預測方法,將搜索空間限制到只搜索格局良好的樹上,消除了不合語法的輸出。

2. 建立一個聯合學習的語言框架

這裡強調綜合的框架,也就是將主任務(例如機器翻譯)與一個語言框架任務(例如語法分析)組合起來後,能夠改進主任務的性能 — 這很有可能是因為受惠於語言框架在語法結構上提供了有用的信息。ACL中好幾篇論文都成功地採用了這個方法 — — 特別是Eriguchi et al.Wu et al.為NMT設計了一個新的混合編碼器,它使用shift-reduce算法來同時生成和解析目標序列。

3.優先考量句法因子

Improved Neural Machine Translation with a Syntax-Aware Encoder and Decoder中,使用一個遞歸的編碼器可以改善機器翻譯的性能,並且對於較長的句子改進更為明顯。相比於過去的順序因子的作法,它可以更容易地捕捉到長句子中距離遙遠的字詞之間的依賴關係。下圖是Wu等人給出的一個例子,顯示了句法因子(紅色虛線)和順序因子的區別。


趨勢二:Reconsidering Word Embeddings

在字詞的認知上,我們很常遇到「一詞多義」的情況,Word embedding的一個明顯問題是,它們無法對多義詞做出解釋,而是為每一個字詞分配一個向量。Upadhyay et al.提出了一種解法,他利用多語言並行的數據去學習多語義的 word embedding,例如,對於英文單字「bank」,可以同時被翻譯為法語單詞 banc banque,證明了bank是一個多義詞,並且能夠區分它的兩種含義。在Multimodal Word Distributions》中,Athiwaratkun 和 Wilson沒有使用單個向量表示詞語,而是使用多種模式的高斯概率分佈來表示,因此同時捕獲了不確定性和多義詞。論文有一個令人印象深刻的demo,當你搜索一個多義詞例如「zip」時,你會發現三種包含了不同含義的相關詞語的呈現(zip code, clothes zip, zipped file)。

另外,像是意思相似字詞的高關聯性辨別(例如: walking 與 walker),我們可能需要一個更明確的形態模型,而不僅僅是字符組成。在《Morph-fitting: Fine-Tuning Word Vector Spaces with Simple Language-Specific Rules》論文中,Vulić 等人通過使用非語言學家編寫的一些簡單的形態規則來微調word embedding(例如在英文中,前綴un-代表反義),這帶來了大量的改進,顯示即使是少量的語言就能非常有效。

同時,Cotterell和 Schütze也提出了另一個形態模型,聯合學習一個能夠將單詞劃分的形態組件的系統(例如: questionablyquestion + able + ly)組合回詞語表示。


趨勢三:Interpretability

Lipton定義了兩種廣泛的解釋方法:事後解釋(Post-hoc)和透明度(Transparency)。事後解釋採用一個學習好的模型並從它得出一些有用的見解,通常這些見解只對模型的工作原理提供一個局部和間接的解釋。透明度則更直接地提問「模式是如何工作的?」,試圖提供一些方法去了解模型本身的核心原理。

這邊舉一個事後解釋的例子:是將解釋本身視為一個翻譯任務。在《Translating Neuralese》中,採用在兩個訓練好的機器之間傳遞的向量信息(neuralese)去進行一個合作任務,並且並將它們轉化為自然語言。為了克服 neuralese-to-English 並行數據的缺乏,研究中將一對信息視為等價,如果它們被人類和機器代理人使用在相似的情景裡,作者提出了一個關於這些翻譯結果能否被信任的重要問題,像是:如果神經元信息編碼的語言是否有可能無法被捕捉?人類和機器在選擇溝通時存在著不同的偏差謬誤,那麼我們如何確保訓練數據包含與神經元相對應的英文字詞?


趨勢四:Attention

它可以用於繞過信息流中的瓶頸,它可以實現無法通過前饋層實現的鍵值查找功能,並提供了一些解釋性。注意力機制在今年的ACL上有所增加,標題中出現「注意力」的論文一共有15篇(相較去年9篇有所增長)

以下有三篇論文提出有關問題回答(QA)模型,除了最基本的「問題到文檔的attention( question-to-document attention)」,還增加了「文檔到問題的attention (document-to-question attention)」。在這些模型 注意力上的注意力(attention-over-attention)交叉注意力(cross-attention)守門注意力(gated-attention)中,第三篇論文還引入了multi-hop attention機制,這使得模型在得到答案之前,多重複幾次迭代以讓結果更準確。

然而,Attention機制在有些情況下並無我們希望的有效。Tan等人認為,對於抽象文檔的摘要,attention distribution並不能有效地找出原句子的重點;Bollman等人發現當他們為多任務學習引進一個輔助任務時,增加attention機制就變得有害而不是有用;最後,有一些簡單的任務,可能使用注意力機制也是多餘的。Aharoni等人認為對於形態轉折生成(morphological inflection generation),它通常每次只需要關注一個字符,因此標準的”soft” attention是過度的,他們發現更簡單的 “hard” attention 就足夠產生清晰的集群效果了。


結論

這篇主要介紹NLP的研究趨勢,尤其是在ACL這樣的指標性會議當中所看到自然語言處理的研究突破與方法。不同主題的論文連結整理如文末,我認為是可以幫助想踏入自然語言領域(像我就很需要XD)、研究中遇到瓶頸的、和對特定主題有興趣的人作為參考。

原文參考Abigail See 於個人部落格發表的文章<Four Deep learning trends from ACL 2017 Part1> 以及 <Four Deep learning trends from ACL2017 Part2>
— Abigail See 目前為 Stanford大學的博士班學生,專注於自然語言領域在深度學習發展之研究