如何評價Word2Vec作者提出的fastText算法?

苟琴兒

fasTest是Facebook AI Research 在16年提出來的基於大語料庫上的快速文本多分類算法,word2vec的作者Tomas Mikolov 是文章作者之一,但不是主要提出者,fasTest主要還是借用了Tomas Mikolov的word2vec的思想,只不過模型的輸出目標由CBOW的中心詞換成了文本的類別Lable。

接下來,我簡單介紹一下論文的思想和這篇論文的價值。

論文的思想:

文本分類任務在NLP的很多任務上都有非常重要的應用,比如網頁搜索、信息檢索、排序、文本分類等。此前,基於神經網絡的模型效果雖然也很好,但是訓練的測試的時間都太慢了,這就極大地限制了神經網絡模型在大數據下的應用。

與此同時,一些基於傳統方法的文本分類模型奠定了在文本分類效果的baseline。傳統分類方法簡單,但是在小型數據集上效果也不差。文章指出傳統方法的文本分類模型由潛力擴充到大型數據集上做分類任務。

傳統方法,比如logistic regression 或者svm的侷限是,分類器沒有共享特徵或類別的參數,在類別分佈不均衡的情況下,可能會限制它的泛化能力。而fasTest主要做的工作是將文本分類的baseline擴充到了大型數據集上,而且它的Hierarchical softmax 優化方法也考慮到了類別不均衡的問題,fasTest模型設計受word2vec的啟發,在效果上,fasTest在標籤預測和情感分析上對模型做測試,跟當時的深度學習模型不相上下。

模型結構也是非常的簡單,也就是因為結構簡單才分類神速。首先文本中的詞的向量化表示,論文中主要做unigram和bigram,隱層就是將向量求和取平均得到文本的向量表示,而hidden到output其實就有很多優化方法可以去做了,文章提出的是Hierarchical softmax,把多分類的label的權重轉換成霍夫曼樹,這樣的計算複雜度就從O(kh)降低到O(hlogk)(k文本的類別,h文本的向量表示維度),輸出層就是文本的屬於各個label的概率。

我們再來看一下,fastText和其他文本分類模型在效果上的比較:

可以看到,在效果上,fastText跟當時最好的深度學習模型的效果比是不相上下的,而且文章指出,模型的效果會隨著使用更多的n-grams有輕微的提升,比如如果用trigrams在sougou上準確率會達到97.1% 。

fastText的最大貢獻,不是提升確確率,而是在同樣準確率的情況下,訓練代價大大地降低:


分享到:


相關文章: