利用fasttext進行文本情感判別
05-02
最近利用到fasttext這個庫,然後就去網上查查模型的數學原理,結果相關的文獻不多,畢竟fasttext是facebook2016年才發布的開源工具。自己看了下論文和相關文檔,自己想用自己的話總結下fasttext做文本情感分類的流程。
首先這個一個有監督學習,就每條新聞後都有一個label用來做判別。
首先我們要產生一個向量X,用來表示一篇文章,設其對應的label為y。
其網路大致結構如下,有N個詞+片語(因為採用了n-gram模型,所以有一些短片語),在隱含層處理後進入輸出層。
輸出層:
根據標籤(label)和頻率建立霍夫曼樹(很多文章都說是根據詞頻簡歷霍夫曼樹,其實那個是之前產生詞向量,例如cbow,skip-gram)所以這裡其實運動於多分類的意義比較大,因為縮小時間複雜度。
Huffman樹中每一葉子結點代表一個label,在每一個非葉子節點處都需要作一次二分類,走左邊的概率和走右邊的概率,這裡用邏輯回歸的公式表示
最後利用梯度上升法,不斷調整參數,使目標函數達到最大值。這個和cbow模型做法一致,這裡我就不多敘述了,大家可以參考我之前的文章。
推薦閱讀:
※推薦系統日常與工作-PPT
※用戶畫像——搜狗用戶挖掘:文本分類
※「Python」用Cosine Similarity實現相關文章推薦
※2017年歷史文章匯總|機器學習
※「七步走戰略」輕鬆搞定數據分析