0
本文作者: AI研習(xí)社-譯站 | 2018-08-08 10:47 |
雷鋒網(wǎng)按:本文為雷鋒字幕組編譯的研究博客,原標(biāo)題 The Current Best of Universal Word Embeddings and Sentence Embeddings ,作者 Thomas Wolf。
翻譯 | 付騰、汪星宇 整理 | 凡江
插播一則小廣告:NLP領(lǐng)域的C位課程,斯坦福CS224n正在AI慕課學(xué)院持續(xù)更新中,無(wú)限次免費(fèi)觀看!
詞與句的嵌入模型已經(jīng)是目前任何以深度學(xué)習(xí)為基礎(chǔ)的 NLP 系統(tǒng)的核心部件了。
它們將詞和句編碼成為固定長(zhǎng)度的密度向量,以此來(lái)大幅提升文本數(shù)據(jù)的處理性能。
目前一個(gè)大趨勢(shì)就是:如何構(gòu)建通用嵌入系統(tǒng)。通用嵌入系統(tǒng)是已經(jīng)在大量的文獻(xiàn)基礎(chǔ)上進(jìn)行了訓(xùn)練的系統(tǒng),這種訓(xùn)練好的系統(tǒng)能夠被用于大量的下游任務(wù)模型當(dāng)中(情感分析,分類,翻譯,等等),以此來(lái)自動(dòng)提升這些任務(wù)模型的性能,因?yàn)橥ㄓ们度胂到y(tǒng)已經(jīng)在大型的數(shù)據(jù)集上學(xué)習(xí)到了一些基本的詞/句的表征特點(diǎn),來(lái)和任務(wù)模型進(jìn)行配合。
這就是一種形式的遷移學(xué)習(xí)。
目前對(duì)句子的非監(jiān)督的表征學(xué)習(xí)已經(jīng)是一種常態(tài),并且持續(xù)了很長(zhǎng)一段時(shí)間,但是在過去的幾個(gè)月里,尤其是在 2017 年末至 2018 年初,出現(xiàn)了很多有趣的可遷移的監(jiān)督學(xué)習(xí)和多任務(wù)學(xué)習(xí)方案。
目前通用詞/句嵌入模型的趨勢(shì)。在這片文章中,我們會(huì)介紹上圖中以黑色字體標(biāo)識(shí)的模型。相關(guān)的具體文獻(xiàn)會(huì)在本文結(jié)尾列出。
這篇文章只是對(duì)目前最新的通用詞/句嵌入系統(tǒng)的大概介紹,此外,深入介紹了一些模型的細(xì)節(jié),包括:
性能好/速度快的基線模型: 比如 FastText,詞袋(BoW)
目前最新的模型:ELMo, Skip-Thoughts, Quick-Thoughts, InferSent, MILA/MSR’s General Purpose Sentence Representations & Google’s Universal Sentence Encoder
讓我們從詞嵌入模型開始吧。
在過去五年的時(shí)間里,很多可能的詞嵌入方法被提出。其中最常用的包括 Word2vec 和 GloVe,它們采用的都是非監(jiān)督的方法,也都是基于詞義分布理論 distributional hypothesis 來(lái)構(gòu)建的(即某些詞如果出現(xiàn)于相同上下文中則它們可能具有相同或類似的意義)。
雖然同時(shí)期也有一些研究提出了結(jié)合傳統(tǒng)詞義和句法知識(shí)且基于非監(jiān)督的方法,但是在 2017 到 2018 年間,純粹的非監(jiān)督方法依然有可喜的進(jìn)展,其中最受矚目的就是 FastText(word2vec 模型的擴(kuò)展)和 ELMo(最新的基于上下文的詞向量模型)。
FastText 是 Tomas Mikolov 團(tuán)隊(duì)的杰出作品,這引爆了對(duì)于通用詞嵌入模型的研究熱情。(Tomas Mikolov 同時(shí)也是在 2013 年提出 word2vec 架構(gòu)的始作俑者。)
FastText 相對(duì)于原版的 word2vec 向量主要提升包括基于字符的 ngrams 的模型。這種模型可以讓詞嵌入模型計(jì)算出訓(xùn)練數(shù)據(jù)當(dāng)中沒有出現(xiàn)的詞的表征向量(即詞典之外的詞)。
FastText 向量 的訓(xùn)練速度堪稱急速,并且提供基于 Wiki 百科和 Crawl 數(shù)據(jù)集的預(yù)訓(xùn)練模型,支持多達(dá) 157 種語(yǔ)言。這些都是很重要的基準(zhǔn)模型。
深度上下文詞表征 模型(ELMo)最近在詞嵌入方面的性能提升同樣引人側(cè)目。ELMo 是由 Allen AI 研究院提出并且開源,并且被 NAACL 2018 收錄,將會(huì)在 2018 年六月上旬大會(huì)期間進(jìn)行展示。
ELMo 對(duì)于詞一級(jí)的上下文知道不少。
在 ELMo 模型當(dāng)中,每個(gè)詞都被賦予一個(gè)表征,這個(gè)表征是一個(gè)函數(shù),代表它們所屬整個(gè)語(yǔ)料庫(kù)的語(yǔ)句的一個(gè)函數(shù)。從兩層雙向語(yǔ)言模型(LM)的內(nèi)部狀態(tài)計(jì)算嵌入,因此從語(yǔ)言模型命名為「ELMo」:Embeddings from Language Models。
ELMo 的具體特點(diǎn):
ELMo 的輸入是字符而不是詞。這讓 ELMo 可以獲得 分詞單元 一級(jí)的優(yōu)勢(shì),從而讓模型能夠?yàn)?詞典外單詞 計(jì)算出有意義的表征(與 FastText 類似)。
ELMo 是好幾層激活的 biLM 的 并列組合。不同層的語(yǔ)言模型編碼了相同單詞的不同信息(比如,POS 標(biāo)識(shí)能夠被底層 biLSTM 很好的預(yù)測(cè),同時(shí)高層的 biLM 模型能很好的完成詞義的消歧)。將所有層并列組合能夠?qū)⒋罅康男畔⒔Y(jié)合然后賦予詞表征向量,以此提高下游任務(wù)模型的性能。
接下來(lái),讓我們看看通用句嵌入模型吧。
目前在句嵌入模型領(lǐng)域 有很多相互競(jìng)爭(zhēng)的方案。簡(jiǎn)單的基線模型比如 基于詞嵌入的平均方法就不斷的有更好的結(jié)果出現(xiàn),一些新奇的非監(jiān)督和監(jiān)督方法和一些多任務(wù)學(xué)習(xí)方案,在 2017 年末和 2018 年初出現(xiàn),并且引領(lǐng)了有趣的性能提升。
讓我們趕快看看目前較新的四類方法: 從簡(jiǎn)單的詞向量平均基線模型到一些新奇的非監(jiān)督和監(jiān)督方法,和一些多任務(wù)學(xué)習(xí)方案(如前文所述)。
先說(shuō)說(shuō)在這個(gè)領(lǐng)域的共識(shí),那就是最簡(jiǎn)單的方法: 直接對(duì)一個(gè)句子中的詞嵌入向量求平均值(簡(jiǎn)稱 BoW 方法),已經(jīng)能夠提供足夠好的基線性能,并且適合大部分下游任務(wù)。
計(jì)算此類基線方法中有一個(gè)比較好的算法,具體細(xì)節(jié)可以參考 Arora et al. 發(fā)表在 ICLR 2017 年的文章。標(biāo)題是:A Simple but Tough-to-Beat Baseline for Sentence Embeddings。具體的實(shí)施方法就是使用任意一種詞嵌入,然后對(duì)句子當(dāng)中的詞向量 進(jìn)行線型加權(quán)的整合。然后對(duì)所得向量進(jìn)行正常的成分移除(即 移除 向量在其第一主成分的低緯度方向上的 投影)。這個(gè)簡(jiǎn)單的方法背后的理論動(dòng)機(jī)深厚且強(qiáng)大。這個(gè)理論是基于生成模型的原理,就是利用話語(yǔ)向量的隨機(jī)游動(dòng)來(lái)生成文本(此處我們就不討論理論細(xì)節(jié)了)。
這是一個(gè) Hugging Face(一個(gè)社交對(duì)話 AI)對(duì)話的熱詞圖詞袋。詞袋(BoW)的 排序比較松散,但是卻很神奇的保存了大量的語(yǔ)義和句法 的內(nèi)容信息。這是一個(gè)有趣的結(jié)論,也是 Conneau 等人的成果,文章發(fā)于 ACL 2018。
超越簡(jiǎn)單的求平均,第一個(gè)重要的提案就是利用非監(jiān)督來(lái)達(dá)到訓(xùn)練目標(biāo)。這也是 Jamie Kiros 及其同事在 2015 年 提出的 Skip-thoughts vectors 方法。
基于非監(jiān)督學(xué)習(xí)的句嵌入方案其實(shí)是一個(gè)副產(chǎn)品。而這個(gè)副產(chǎn)品的本來(lái)目標(biāo)其實(shí)是希望模型能夠?qū)W會(huì)預(yù)測(cè) 一個(gè)連貫一致的句子,或者至少是一個(gè)連貫的句子摘要。這些方法(理論上)能夠利用任何文本數(shù)據(jù),只要文本數(shù)據(jù)中存在句子或者摘要,并且是連貫且并列的方式組織起來(lái)的。
Skip-thoughts vectors 模型就是一個(gè)典型的基于非監(jiān)督學(xué)習(xí)的句嵌入模型。它可以與另一種模型等價(jià),那就是基于skip-gram 模型的句嵌入模型。這種模型的原型其實(shí)是基于 skip-gram 詞嵌入。它的的特點(diǎn)就是:與其預(yù)測(cè)某個(gè)具體單詞 的上下文可能出現(xiàn)的單詞,不如預(yù)測(cè)某個(gè)給定的句子的上下文可能出現(xiàn)的句子。這個(gè)模型包含一個(gè) 基于 RNN 的編碼-解碼器,而這個(gè)編碼-解碼器就是被訓(xùn)練用來(lái)重構(gòu)上下文句子的,前提是一個(gè)具體的句子已經(jīng)給定。
Skip-Thought 這篇文章有一個(gè)很有趣的結(jié)論,那就是詞匯擴(kuò)展方案。Kiros 小組處理未出現(xiàn)生詞的方法,尤其是在模型訓(xùn)練階段,就是 從 RNN 詞嵌入空間和另外一個(gè)大型的詞嵌入模型(比如 word2vec)之間的線性轉(zhuǎn)換當(dāng)中學(xué)習(xí)到生詞的向量。
......
想要繼續(xù)閱讀,請(qǐng)移步至我們的AI研習(xí)社社區(qū):https://club.leiphone.com/page/TextTranslation/708
更多精彩內(nèi)容盡在 AI 研習(xí)社。
不同領(lǐng)域包括計(jì)算機(jī)視覺,語(yǔ)音語(yǔ)義,區(qū)塊鏈,自動(dòng)駕駛,數(shù)據(jù)挖掘,智能控制,編程語(yǔ)言等每日更新。
手機(jī)端可以掃描二維碼訪問
雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。