1. 程式人生 > >文字資料探勘-----詞向量

文字資料探勘-----詞向量

中文資料探勘的難點在於如何把文字變成計算機處理的向量,一個好的詞向量方法可以提升分類或者其他應用效果。我把自己接觸的詞向量技術總結一下,方便自己複習和其他感興趣的小夥伴交流學習。

使用結巴或者其他中文分詞工具分完詞後就需要生成詞向量了,方便後期的資料探勘工作的展開。

        詞向量技術:我接觸的大致可以分成(1)基於統計的方法(2)基於圖的方法(3)基於主題模型的方法(4)基於深度學習的方法

(1)基於統計的方法:

  相似度,卡方,互資訊(優點:可以得到對結果影響大的詞;缺點:計算量比較大,需要先驗知識,比如類別)

          tf-idf (優點:簡單、效果不錯,可以得到每個詞的權重;缺點:沒考慮詞的順序,需要多篇語料才能得到比較好的詞)

           n-gram (優點:2-gram以上考慮了詞順序,提升了效果;缺點:隨著n的增大,字典迅速擴大,而且訓練用的向量特別稀疏)

          bag of words (one hot編碼,優點:簡單;缺點:沒有對詞進行過濾,導致詞比較多,進而影響字典的數量,而且沒有考慮詞頻,以及詞的順序)

         (2)基於圖的方法:

 textrank(優點:把網頁排名的演算法pagerrank進行變化,得到每個詞的重要性,可以針對一篇文章得到重要的詞語;缺點:計算複雜度比較高)

          (3)基於主題模型的方法

         LDA (使用了共現矩陣;缺點:沒有考慮詞序)

PLSA

SVD 

(4)基於深度學習的方法:

word2vec(優點:考慮了詞的上下文資訊,通過神經網路的投影層得到詞向量,屬於有監督的學習方法,這裡的有監督的意思是把中間詞one-hot的編碼看成已知的向量進行訓練模型,如果考慮是否使用了文章的類別,是無監督的方法;缺點:計算量比較大,訓練時間比較久)

doc2vec()

fasttext(優點:優化了word2vec,使速度大範圍提升,不用生成詞向量了,直接用於分類等其他任務,屬於有監督的學習方法

)


實際應用中,可能是多種方法聯合使用,比如先用tf-idf進行一遍過濾,然後再使用其他方法處理。

先總結這麼多,後面有新的東西再加