論文閱讀Bag of Tricks for Efficient Text Classification

這篇文章提出的fastText既是一種詞向量訓(xùn)練工具又是一種文本分類工具坯钦。它同時具備這兩項功能是因為它在訓(xùn)練分類器的同時也訓(xùn)練了詞向量求妹。我們知道韭脊,詞向量訓(xùn)練的思路無非就是讓模型在做有監(jiān)督的任務(wù)過程中痊土,學(xué)習(xí)得到詞向量的表達(dá)把篓。即使Word2Vec號稱是利用無標(biāo)簽文本做無監(jiān)督學(xué)習(xí)纫溃,其實在訓(xùn)練的時候也是在無標(biāo)簽文本上面構(gòu)建了有監(jiān)督學(xué)習(xí)的任務(wù)——利用上下文單詞預(yù)測中間單詞(CBOW)。fastText訓(xùn)練詞向量也是這個思路韧掩,讓模型在做有監(jiān)督的文本分類任務(wù)過程中學(xué)習(xí)詞向量紊浩。

fastText模型結(jié)構(gòu)

相比于其它深度的分類模型,fastText模型結(jié)構(gòu)非常淺疗锐,非常簡單坊谁,如下圖所示。

可以看到滑臊,fastText模型只包含輸入層口芍、一層隱含層、輸出層雇卷,總共三層鬓椭。輸入層就是某條文本中的單詞序列w1,w2,...wn-1,wn颠猴。當(dāng)然這里不是單詞的符號,而是單詞的詞向量小染,其實前面還有一層embedding層翘瓮,可以看做詞向量的lookup table,輸入單詞符號或索引就可以找到對應(yīng)的詞向量裤翩。當(dāng)然訓(xùn)練開始前资盅,lookup table 里面的詞向量是隨機初始化的。中間的隱層也很簡單踊赠,并沒有多余的參數(shù)呵扛,就是把所有單詞的詞向量相加,得到的向量可以看做是這個文本的embedding臼疫,然后加一個softmax激活函數(shù)择份。輸出層就是文本屬于每個類別的概率,這里的類別是事先定義好的烫堤,訓(xùn)練文本也是有類別標(biāo)簽的荣赶。

N-gram feature

fastText值得一說的一個改進(jìn)在于N-gram 特征。fastText采用字符級別的N-gram鸽斟。以trigram為例拔创,單詞<apple>就可以分為<ap,app富蓄,ppl剩燥,ple,le>立倍。那么在輸入層就要做修改灭红,lookup table 里隨機初始化的是trigram的向量,由于字符的個數(shù)很有限(26個字母加幾個特殊字符)口注,所以其實trigram總的數(shù)量并不會很多变擒。以單詞apple為例,有了trigram向量寝志,就可以將拆分的所有trigram向量SUM起來就得到了apple詞向量娇斑。用N-gram feature的好處是能讓詞向量能學(xué)習(xí)到單詞的morphology(詞形)信息。比如change和changed其實是一個意思材部,如果用word2vec訓(xùn)練毫缆,它兩的詞向量可能很不一樣,但是用fastText訓(xùn)練它兩的詞向量就很接近乐导。另外的好處就是有了N-gram向量也能生成未登錄詞(out-of-vocabulary)的詞向量苦丁。

層次化softmax

層次化softmax是fastText從Word2Vec借鑒過來的,主要作用是降低softmax的復(fù)雜度兽叮。如果用一般的softmax芬骄,由于類別太多猾愿,每個類別都要計算概率。采用層次化softmax時账阻,由于Hoffman樹特有的性質(zhì)蒂秘,只要計算幾次可能就能分到正確的類別。

fastText淘太、Word2Vec姻僧、Glove對比

fastText的模型結(jié)構(gòu)跟Word2Vec中的CBOW模型非常像。如下圖所示蒲牧,唯一的差別是CBOW是利用上下文單詞預(yù)測中間單詞撇贺,而fastText是根據(jù)文本中全部單詞預(yù)測它的分類。另外就是CBOW沒有引入N-gram特征冰抢。fastText的訓(xùn)練同時得到了一個文本分類器松嘶。

還有一個比較常用的詞向量訓(xùn)練工具是Glove。相比于Word2Vec挎扰,Glove更加簡潔翠订。GLove主要利用單詞在文本中的“co-occurance”信息來構(gòu)建一個加權(quán)最小二乘回歸模型,通過最優(yōu)化這個最小二乘回歸模型遵倦,就得到了每個單詞的詞向量尽超。構(gòu)建的最小二乘回歸模型如下:

其中f(Xij)是權(quán)重函數(shù),V是詞匯集梧躺,wi是單詞i的詞向量似谁,Xij是單詞i和單詞j的共現(xiàn)概率。

所以掠哥,可以把Word2Vec和fastText是“predictive”模型巩踏,而Glove是“count-based”模型。

顯然在訓(xùn)練速度上续搀,GLove比Word2Vec和fastText都更快蛀缝。

一般認(rèn)為在詞向量的性能上CBOW < skip-Gram == Glove < fastText。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末目代,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子嗤练,更是在濱河造成了極大的恐慌榛了,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件煞抬,死亡現(xiàn)場離奇詭異霜大,居然都是意外死亡,警方通過查閱死者的電腦和手機革答,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門战坤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來曙强,“玉大人,你說我怎么就攤上這事途茫〉欤” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵囊卜,是天一觀的道長娜扇。 經(jīng)常有香客問我,道長栅组,這世上最難降的妖魔是什么雀瓢? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮玉掸,結(jié)果婚禮上刃麸,老公的妹妹穿的比我還像新娘。我一直安慰自己司浪,他們只是感情好泊业,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著断傲,像睡著了一般脱吱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上认罩,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天箱蝠,我揣著相機與錄音,去河邊找鬼垦垂。 笑死宦搬,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的劫拗。 我是一名探鬼主播间校,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼页慷!你這毒婦竟也來了憔足?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤酒繁,失蹤者是張志新(化名)和其女友劉穎滓彰,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體州袒,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡揭绑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了郎哭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片他匪。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡菇存,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出邦蜜,到底是詐尸還是另有隱情依鸥,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布畦徘,位于F島的核電站毕籽,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏井辆。R本人自食惡果不足惜关筒,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望杯缺。 院中可真熱鬧蒸播,春花似錦、人聲如沸萍肆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽塘揣。三九已至包雀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間亲铡,已是汗流浹背才写。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留奖蔓,地道東北人赞草。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像吆鹤,于是被迫代替她去往敵國和親厨疙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348