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

Youngmi huang
Sep 26, 2017 · 10 min read

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等人給出的一個例子,顯示了句法因子(紅色虛線)和順序因子的區別。

Image for post
Image for post

趨勢二: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)。

Image for post
Image for post

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

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

Image for post
Image for post

趨勢三: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 就足夠產生清晰的集群效果了。

Image for post
Image for post

結論

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

原文參考Abigail See 於個人部落格發表的文章<Four Deep learning trends from ACL 2017 Part1> 以及 <Four Deep learning trends from ACL2017 Part2>

— Abigail See 目前為 Stanford大學的博士班學生,專注於自然語言領域在深度學習發展之研究


Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store