【NLP論文筆記】Enriching word vectors with subword information(FastText詞向量)

本文主要用于記錄臉書AI研究院發(fā)表于2016年的一篇論文(引用量接近破千)。該論文提出的基于word2vec與字符級向量融合的詞向量構(gòu)建在保證效果的同時涂臣,大大提升了訓(xùn)練及預(yù)測效率惨险。本筆記主要為方便初學(xué)者快速入門羹幸,以及自我回顧。

論文鏈接:https://arxiv.org/abs/1607.04606
Github: https://github.com/facebookresearch/fastText

基本目錄如下:

  1. 摘要
  2. 核心思想
  3. 總結(jié)

------------------第一菇 - 摘要------------------

1.1 論文摘要

在自然語言處理任務(wù)中辫愉,以word2vec為代表的詞向量已經(jīng)被證實是有效的栅受,但這種將每一個詞都賦以一個單獨的詞向量的做法,卻忽視了詞本身形態(tài)學(xué)的差異(舉個最簡單的例子就是恭朗,對于英語中的復(fù)數(shù)問題屏镊,僅僅是多了個s或es,但卻是倆個詞向量的表達(dá))痰腮。這是一個很大的缺陷而芥,尤其是對于那種大語料的數(shù)據(jù),常常有很多偏僻詞的詞向量是無法學(xué)習(xí)得到的(因為會有一個voc size的上限)膀值。在本篇論文中棍丐,作者提出了一種基于skipgram的模型,唯一的區(qū)別是每一個詞匯均由n-gram構(gòu)成(其實就是簡單的相加求平均每一個字符級向量)沧踏。作者提出的模型有一個最大的優(yōu)勢就是效率高歌逢,且對生僻詞也有詞向量表達(dá)。并且在后續(xù)的實驗中證實悦冀,該模型的有效性趋翻。

------------------第二菇 - 核心思想------------------

2.1 論文模型預(yù)備知識 - 層次Softmax

簡單來說,Softmax回歸其實就是邏輯回歸在多類別分類上的推廣,而層次Softmax就是一種加速計算的方法踏烙。我們一步步拆解來看师骗,方便大家理解。

對于邏輯回歸的損失函數(shù)讨惩,想必但凡有一定ml基礎(chǔ)的都知道辟癌,

J(\theta) = -[\sum_{i=1}^my^{(i)}logh_{\theta}(x^{(i)}) + (1- y^{(i)})log(1 - h_{\theta}(x^{(i)}))]

而其推廣到多分類問題就是(簡略推導(dǎo)見下圖手稿,詳細(xì)推導(dǎo)看這篇)荐捻,

Softmax推導(dǎo)理解.jpeg

熟悉了softmax求解的過程的讀者們黍少,想必也發(fā)現(xiàn)了在標(biāo)準(zhǔn)的求解過程中,要計算y=j時的歸一化概率处面,需要遍歷計算所有分類的概率厂置,這在|y|很大的時候,相當(dāng)耗時~于是魂角,這才有了分層softmax的概念昵济,其基本思想就是用樹的層級結(jié)構(gòu)(熟悉word2vec的同學(xué)應(yīng)該還能想起來那個霍夫曼樹吧~嘻嘻)來替代扁平化的softmax。使得在計算相應(yīng)類別概率時野揪,只需計算一條路徑上的節(jié)點概率值访忿,而不需要計算其他路徑。貼一張網(wǎng)上盜的圖斯稳,方便大家理解海铆,具體的計算推導(dǎo)可以參見該文章,本文就不在展開挣惰。直接擺出的一個結(jié)論就是卧斟,通過分層的softmax,計算復(fù)雜度從|K|降低到log|K|通熄。

層級softmax示意圖.png
2.2 論文模型預(yù)備知識 - N-gram 特征

自然語言處理的入門基礎(chǔ)唆涝,也是最簡單的一種文本特征提取方式。其最基本的思想就是將文本內(nèi)容按照字節(jié)順序進(jìn)行大小為N的滑動窗口操作唇辨,形成了長度是N的字節(jié)片段序列。根據(jù)窗口N的大小不同能耻,也可分為unigram赏枚,bi-gram等。提取出了這些最基本的特征之后晓猛,才會有后續(xù)各種各樣的處理饿幅,比如tf-idf之類的,進(jìn)一步提升特征的質(zhì)量戒职。關(guān)于該項技術(shù)的應(yīng)用栗恩,本文也無需多言,想必大家是非常熟悉的洪燥。

2.3 論文模型預(yù)備知識 - CBOW模型理解

在深入FastText之前磕秤,大家還是先在回顧一下word2vec的基本原理乳乌。畢竟兩者有著很大的關(guān)聯(lián)啊~這里先介紹一下CBOW模型的基本思路,最基本的框架圖如下市咆,

CBOW模型框架.png

輸入詞由目標(biāo)詞匯y的上下文組成汉操,通過V*N維的向量映射到隱含層,再通過N*V維的向量映射到輸出層蒙兰。其中V就是詞匯量的大小磷瘤,N就是詞向量的緯度,輸出層就是被one-hot編碼的目標(biāo)詞(層級softmax派上用場了)搜变。具體的理解采缚,可以參見如下我讀研期間的手稿,

CBOW模型理解.jpeg
2.3 論文模型架構(gòu)

經(jīng)過上述的知識點回顧挠他,想必接下來對新的詞向量的理解就很簡單了“獬椋現(xiàn)在讓我們回到論文本身。

根據(jù)論文結(jié)構(gòu)绩社,我們也先來聊一聊摔蓝,論文的基礎(chǔ)模型。論文的第三章先介紹了一下加了負(fù)采樣處理的skipgram模型(關(guān)于負(fù)采樣的理解參見附件1)愉耙,其引出了損失函數(shù)如下圖贮尉,

Objective.png

其中的s是一個計分函數(shù),其是由w_t, w_c的詞向量計算得到朴沿,如下猜谚,

s(w_t, w_c) = u_{wt}^Tv_{wc}

到目前為止,其實還都是word2vec的東西赌渣,接下來的一章魏铅,作者展現(xiàn)了其創(chuàng)新的點。論文作者認(rèn)為坚芜,僅僅通過一個獨立的詞向量來表達(dá)一個詞览芳,會造成很大問題,比如忽視了詞的形態(tài)學(xué)信息鸿竖,因此作者提出來一個新的計分函數(shù)沧竟。

作者認(rèn)為每一個詞,都可以由n-gram的詞袋特征來表示缚忧,具體的表示見下面這個例子悟泵,假設(shè)n取3,對于單詞where闪水,其可以表示為糕非,

<wh, whe, her, ere, re> + <where>

因此,此時模型要去學(xué)的就是wh, whe...等的向量表征,再通過求和得到where的詞向量表征朽肥,如下禁筏,

scoring_function.png

至此,本文的模型結(jié)構(gòu)部分就介紹完了鞠呈。簡單總結(jié)一下就是word2vec和字符級向量表達(dá)的結(jié)合版哈哈~

2.4 論文模型分析

在模型的實施細(xì)節(jié)里融师,我注意到,對于英文數(shù)據(jù)的訓(xùn)練蚁吝,本模型要比相對應(yīng)的skipgram基線模型慢1.5倍旱爆。。窘茁。(說話的很快呢怀伦。。山林。其實也可以理解房待,畢竟是n_gram的)。粗粗看了一下模型實驗分析驼抹,大概能得出幾個比較重要的結(jié)論如下桑孩,

1)對于不同的語言,采用n-gram的字符級向量信息框冀,帶來的收益并非都成正比流椒。對于類似德文這樣多復(fù)合詞的,會取得更好的效果明也,但是對英文來說宣虾,則不一定適用。

2)對于語法學(xué)(syntactic)的問題温数,本文的模型表現(xiàn)的更優(yōu)異绣硝,但是對于語意學(xué)(semantic)的問題,本文的模型則不會比基線模型表現(xiàn)的更好撑刺,有時候甚至表現(xiàn)的更糟糕鹉胖。

3)對于訓(xùn)練數(shù)據(jù)來說,作者實驗發(fā)現(xiàn)够傍,本文提出的模型次员,對于小樣本的數(shù)據(jù)量,同樣有著優(yōu)異的表現(xiàn)王带,并且對于生僻詞也有很好的表達(dá)。而且市殷,隨著數(shù)據(jù)量樣本的增多愕撰,對于本文的模型的收益的增加,是不如傳統(tǒng)的word2vec模型的。

其他的一些實驗的細(xì)節(jié)搞挣,大家可以參考原論文带迟,這里就不一一展現(xiàn)了。而且作者也一再強調(diào)了一件事囱桨,本文的模型適用于任何的語言仓犬,而且訓(xùn)練簡單,不需要任何其他的預(yù)處理舍肠,有興趣的讀者也可以去嘗試一下搀继,用來構(gòu)建中文的詞向量。

------------------第三菇 - 總結(jié)------------------

3.1 總結(jié)

到這里翠语,整篇論文的核心思想及其創(chuàng)新點已經(jīng)說清楚了叽躯。本論文主要集中在于闡述作者提出的新的詞向量的核心思想及構(gòu)建方法,并在之后進(jìn)行了一系列模型的調(diào)參實驗并且呈現(xiàn)了該詞向量模型與其他模型的效果驗證對比肌括。最終證明了該詞向量模型的廣泛適用性点骑。

簡單總結(jié)一下本文就是先羅列了一下該論文的摘要,再具體介紹了一下基于subinfo的word2vec改進(jìn)版的詞向量模型的核心思想及推導(dǎo)谍夭。希望大家讀完本文后能進(jìn)一步加深對該論文的理解黑滴。有說的不對的地方也請大家指出,多多交流紧索,大家一起進(jìn)步~??

------------------第四菇 - 附件------------------

4.1 word2vec中的負(fù)采樣理解
Negative-sampling模型.jpeg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末袁辈,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子齐板,更是在濱河造成了極大的恐慌吵瞻,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甘磨,死亡現(xiàn)場離奇詭異橡羞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)济舆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門卿泽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人滋觉,你說我怎么就攤上這事签夭。” “怎么了椎侠?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵第租,是天一觀的道長。 經(jīng)常有香客問我我纪,道長慎宾,這世上最難降的妖魔是什么丐吓? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮趟据,結(jié)果婚禮上券犁,老公的妹妹穿的比我還像新娘。我一直安慰自己汹碱,他們只是感情好粘衬,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著咳促,像睡著了一般稚新。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上等缀,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天枷莉,我揣著相機(jī)與錄音,去河邊找鬼尺迂。 笑死笤妙,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的噪裕。 我是一名探鬼主播蹲盘,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼膳音!你這毒婦竟也來了召衔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤祭陷,失蹤者是張志新(化名)和其女友劉穎苍凛,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體兵志,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡醇蝴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了想罕。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悠栓。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖按价,靈堂內(nèi)的尸體忽然破棺而出惭适,到底是詐尸還是另有隱情,我是刑警寧澤楼镐,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布癞志,位于F島的核電站,受9級特大地震影響框产,放射性物質(zhì)發(fā)生泄漏今阳。R本人自食惡果不足惜师溅,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盾舌。 院中可真熱鬧,春花似錦蘸鲸、人聲如沸妖谴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽膝舅。三九已至,卻和暖如春窑多,著一層夾襖步出監(jiān)牢的瞬間仍稀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工埂息, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留技潘,地道東北人。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓千康,卻偏偏與公主長得像享幽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子拾弃,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容