易於泛化到多種任務的通用文本嵌入正受到熱捧。
詞嵌入和句子嵌入已成為所有基於深度學習的自然語言處理(NLP)系統的重要組成部分。它們在定長的密集向量中編碼單詞和句子,以大幅度提高文本數據的處理性能。
對通用嵌入的追求是一大趨勢:在大型語料庫上預訓練好的嵌入,可以插入各種下游任務模型(情感分析、分類、翻譯等),通過融合一些在更大的數據集中學習得到的常用詞句表示,自動提高它們的性能。
這是一種遷移學習。最近,遷移學習被證明可以大幅度提高 NLP 模型在重要任務(如文本分類)上的性能。Jeremy Howard 和 Sebastian Ruder (ULMFiT) 的工作就是一個最好的例子。(http://nlp.fast.ai/classification/2018/05/15/introducting-ulmfit.html)
雖然句子的無監督表示學習已經成為很長一段時間的規範,但最近幾個月,隨著 2017年末、 2018 年初提出了一些非常有趣的提議,無監督學習已經有轉向有監督和多任務學習方案的趨勢。
通用詞/句子嵌入的最新趨勢。 在這篇文章中,我們描述了用上圖中黑體字的模型。
因此,這篇文章簡要介紹了通用詞和句子嵌入的最新技術:
強/快的基線模型:FastText,Bag-of-Words(詞袋)
最先進的模型:ELMo,Skip-Thoughts,Quick-Thoughts,InferSent,MILA/ MSR 的通用句子表示和 Google 的通用句子編碼器。
我們先從詞嵌入開始。如果你想對 2017 年之前發生的事情有一些背景知識,我推薦你去看 Sebastian 去年寫過的關於詞嵌入的一篇很好的文章(http://ruder.io/word-embeddings-2017/)和入門介紹帖(http://ruder.io/word-embeddings-1/)。
詞嵌入的最新發展
在過去的五年裡,人們已經提出了大量可能的詞嵌入方法。最常用的模型是 word2vec 和 GloVe,它們都是基於分佈假設的無監督學習方法(在相同上下文中的單詞往往具有相似的含義)。
雖然有些人通過結合語義或句法知識的有監督來增強這些無監督的方法,但純粹的無監督方法在 2017-2018 中發展非常有趣,最著名的是 FastText(word2vec的擴展)和 ELMo(最先進的上下文詞向量)。
FastText (https://github.com/facebookresearch/fastText)是 2013 年提出了 word2vec 框架的 Tomas Mikolov 團隊開發的,這引發了關於通用詞嵌入研究的爆炸式增長。FastText 對原始 word2vec 向量的主要改進是包含了字符 n-gram,它允許為沒有出現在訓練數據中的單詞計算單詞表示。
FastText 向量訓練速度超快,可在 157 種語言的 Wikipedia 和 Crawl 訓練中使用。這是一個很好的基線模型。
深度語境化的單詞表示 (ELMo,http://allennlp.org/elmo) 最近大幅提高了詞嵌入的頂級水平。它由 Allen 研究所開發,將於 6 月初在 NAACL 2018 會議上發佈。
ELMo對上下文語境瞭解很多
在ELMo 中,每個單詞被賦予一個表示,它是它們所屬的整個語料庫句子的函數。所述的嵌入來自於計算一個兩層雙向語言模型(LM)的內部狀態,因此得名「ELMo」:Embeddings from Language Models。
ELMo的 特點:
ELMo 的輸入是字母而不是單詞。因此,他們可以利用子字詞單元來計算有意義的表示,即使對於詞典外的詞(如 FastText 這個詞)也是如此。
ELMo 是 biLMs 幾層激活的串聯。語言模型的不同層對單詞上的不同類型的信息進行編碼(如在雙向LSTM神經網絡中,詞性標註在較低層編碼好,而詞義消歧義用上層編碼更好)。連接所有層可以自由組合各種文字表示,以提高下游任務的性能。
現在,讓我們談談通用句子嵌入。
通用句子嵌入的興起
目前有很多有競爭力的學習句子嵌入的方案。儘管像平均詞嵌入這樣的簡單基線始終效果不錯,但一些新穎的無監督和監督方法以及多任務學習方案已於 2017 年末至 2018 年初出現,並且引起了有趣的改進。
讓我們快速瀏覽目前研究的四種方法:從簡單的詞向量平均基線到無監督/監督方法和多任務學習方案。
在這一領域有一個普遍的共識,即直接平均一個句子的詞向量(即所謂的「詞袋」方法)的簡單方法為許多下游任務提供了一個強大的基線。
Arora 等人的工作詳細介紹了計算這種基線的一個很好的算法。去年在 ICLR 上發表了一個簡單但有效的句子嵌入基線 https://openreview.net/forum?id=SyK00v5xx:使用你選擇的熱門詞嵌入,在線性加權組合中對一個句子進行編碼,並執行一個通用組件移除(移除它們的第一主成分上的向量)。這種通用的方法具有更深入而強大的理論動機,它依賴於一個使用語篇向量上的生成模型的隨機遊走來生成文本。(在這裡我們不討論理論細節)
最近一個強大的 Bag-of-Word 基線(甚至比 Arora 的基線更強)的實現是來自達姆施塔特大學的串聯 p-mean 嵌入,它的地址是 https://github.com/UKPLab/arxiv2018-xling-sentence-embeddings。
HuggingFace 的對話框袋的字。 Bag-of-Words 接近寬鬆的單詞排序,但保留了驚人數量的語義和句法內容。
除了簡單的平均,第一個主要的建議是使用無監督的訓練目標,從 Jamie Kiros 和他的同事在 2015 年提出的 Skip-thoughts 向量開始。
無監督方案將句子嵌入學習作為學習的副產品,以預測句子內連貫的句子順序或句子中連貫的連續從句。這些方法可以(理論上)使用任何文本數據集,只要它包含以連貫方式並列的句子/子句。
Skip-thoughts 向量(https://arxiv.org/abs/1506.06726)是學習無監督句子嵌入的典型例子。它可以作為為詞嵌入而開發的 skip-gram 模型的句子等價物:我們試著預測一個句子的周圍句子,而不是預測單詞周圍的單詞。該模型由基於 RNN 的編碼器 – 解碼器組成,該解碼器被訓練用於重構當前句子周圍的句子。
Skip-Thought 論文中有一個有趣的見解是詞彙擴展方案:Kiros 等人在訓練過程中,通過在 RNN 詞嵌入空間和一個更大的詞嵌入(如word2vec)之間進行線性變換,來處理未見過的單詞。
Quick-thoughts 向量(https://openreview.net/forum?id=rJvJXZb0W)是今年在 ICLR 上發佈的 Skip-thoughts 向量的最新發展。在這項工作中,預測下一句話的任務被重新定義為一個分類任務:解碼器被一個分類器所取代,該分類器必須在一組候選者中選擇下一句。它可以被解釋為對生成問題的一種判別近似。
該模型的一個優勢是其訓練速度(與 Skip-thoughts 模型相比有數量級的提升)使其成為開發大量數據集的有競爭力的解決方案。
Quick-thoughts分類任務, 分類器必須從一組句子嵌入中選擇以下句子
在很長一段時間裡,監督學習句子嵌入被認為是比無監督的方法提供更低質量的嵌入,但是這個假設最近被推翻,部分是在推論結果的發佈之後。
與之前詳述的無監督方法不同,監督學習需要標註數據集來標註某些任務,如自然語言推理(如一對限定句)或機器翻譯(如一對譯句),構成特定的任務選擇的問題和相關問題的數據集的大小需要質量好的嵌入。在討論這個問題之前,讓我們看看 2017 年發佈的突破 InferSent 的背後是什麼。
因其簡單的體系結構,InferSent (https://arxiv.org/abs/1705.02364)是一個有趣的方法。它使用句子自然語言推理數據集(一組 570k 句子對標有3個類別:中性,矛盾和隱含)來在句子編碼器之上訓練分類器。兩個句子都使用相同的編碼器進行編碼,而分類器則是根據兩個句子嵌入構建的一對錶示進行訓練。Conneau 等人採用雙向 LSTM 完成最大池化的操作器作為句子編碼器。
從NLI數據集中學習的監督句子嵌入模型(InferSent)
除了通常的尋找最佳神經網絡模型的探索之外,InferSent 的成功還提出了以下問題:
什麼樣的監督訓練任務能獲得更好泛化到下游任務中的句子嵌入?
多任務學習 可以看作是 Skip-Thoughts,InferSent 和相關的無監督/監督學習方案的泛化,它通過試圖在訓練方案中結合幾個訓練目標來回答這個問題。
最近幾個關於多任務學習的提議於2018年初發布。讓我們簡要的看一下 MILA / MSR 的通用句子表示和Google 的通用句子編碼器。
在 MILA 和 Microsoft Montreal 的 ICLR 2018 論文(Learning General Purpose Distributed Sentence Representation via Large Scale Multi-Task Learning,https://arxiv.org/abs/1804.00079)中,Subramanian 等人觀察到,為了能夠泛化到各種不同的任務中,對同一句子的多個方面進行編碼是必要的。
因此,作者利用一對多的多任務學習框架,通過在多個任務之間切換來學習通用句子嵌入。選擇的 6 個任務(Skip-thoughts 模型預測上下文、神經網絡機器翻譯、句法分析和自然語言推理)共享了由雙向 GRU 獲得的相同的句子嵌入。實驗表明,當添加多語言神經機器翻譯任務時,可以更好地學習語法屬性,通過解析任務學習長度和詞序並且訓練自然語言推斷編碼語法信息。
Google 的通用句子編碼器(https://arxiv.org/abs/1803.11175),於2018年初發布,採用相同的方法。他們的編碼器使用一個轉換網絡,該網絡經過各種數據源和各種任務的訓練,目的是動態地適應各種自然語言理解任務。他們也給 TensorFlow 提供了一個預訓練的版本 https://www.tensorflow.org/hub/modules/google/universal-sentence-encoder/1。
總結
以上就是我們對於通用詞嵌入和句子嵌入現狀的簡短總結。
在過去的幾個月中,文本嵌入已經呈現出了很多有趣的發展,在我們評估和探索這些嵌入的表現以及它們內在的偏見/公平性(這是當談到通用嵌入時的一個實際問題)方面都有了巨大進步。 我們不在這裡討論這些最新的主題,但您可以在參考文獻中找到鏈接。
我希望你喜歡這個簡介!
via medium.com/huggingface/universal-word-sentence-embeddings,AI 科技評論編譯
CCF - GAIR 2018 將於
6 月 29 日 至 7 月 1 日
在深圳舉行。
三天議程及強大陣容已經陸續出爐。
6 月 8 日,
AI 科技評論啟動了
CCF-GAIR 2018 的免費門票申請通道,
並計劃從中篩選 20 位學生,
承包「國內往返機票+四晚住宿」的
AI 科技評論讀者專屬福利。
福利發出後,
表單如海水一樣湧入後臺系統,
截至 6 月 14 日晚 24 點,
第一批申請表單已經截止申請,
同事們最近也都在加班加點審核表單。
在此,
AI 科技評論由衷感謝
同學們對 CCF-GAIR 大會的關注!
從眾多申請之中,
AI 科技評論甄選了 12 名學生,
他們將成為第一批獲得
價值 3999 元 CCF-GAIR 2018 大會門票
及
「國內往返機票+四晚住宿」福利的同學!
AI 科技評論將第一批獲獎學生名單
及所屬院校公佈如下(共 12 位):
新加坡南洋理工大學 張徵豪
斯坦福大學 孫林
清華大學 孔濤
賓夕法尼亞大學 王倪劍橋
北京航空航天大學 黃雷
澳大利亞國立大學 劉瀚陽
中國科學院 王昌淼
香港科技大學 李正
上海交通大學 徐衍鈺
華中科技大學 李柏依
香港理工大學 曹自強
香港中文大學 楊巍
在此向以上同學表示祝賀,
運營小姐姐將很快聯繫你們喲~
並備註姓名及院校。
但是!
我們的福利申請並沒有結束!
從 6 月 15 日 0 時開始,
AI 科技評論將開啟第二批福利申請通道,
將繼續篩選 8 名同學贈送價值 3999 元 CCF-GAIR 2018 大會門票
及「國內往返機票+四晚住宿」福利!
本福利申請截至 6 月 21 日晚 24 點,
預計將於 6 月 22 日公佈獲獎名單。
填寫個人信息申請!
與此同時,
暫時沒有入選第一批名單的同學們也不需要灰心,
我們也會在所有提交申請的同學中,
篩選部分學生
陸續進行一對一聯繫,
贈送價值 3999 元的 CCF-GAIR 大會門票。
(此門票包含三天午餐喲!)
贈票申請通道截止日期為
6 月 26 日晚 24:00
6 月 29 日至 7 月 1 日,深圳見!
贈票申請須知
➤ 截止日期:6 月 26 日晚 24:00
➤ 活動解釋權歸雷鋒網 AI 科技評論所有
閱讀更多 AI科技評論 的文章