文本分類中,CHI演算法、TFIDF演算法、TextRank演算法都應該對應哪個環節?如何選擇?
01-02
最近在做一個文本分類的項目,分類演算法上打算採用SVM演算法並用Libsvm(看情況採用Liblinear)實現。
在提取特徵詞的這個階段,看到很多論文和博客都說採用CHI演算法。我嘗試了一下,可能由於是短文本範疇,而且數據量略大(百萬條),計算速度慢而且效果一般。在計算特徵詞權重的階段,大部分資料都說採用TFIDF演算法,但根據TFIDF的公式,當輸入一個待分類文本的時候,計算每個特徵詞的TFIDF也要計算這個詞在我的原語料庫中的出現次數,這樣難道不會大幅度降低分類效率么?最近發現了TextRank演算法,嘗試了一下提取特徵詞,效果還不錯。那我可不可以將TextRank演算法分別應用於提取特徵詞和計算權重呢?
謝謝!
CHI、TFIDF既可以作為特徵選取也可以作為權重計算的方法,不同之處在於TFIDF可以用於任意文本集合,而CHI則需要文本有分類標籤的標記才能計算。TextRank最初是作為關鍵詞抽取方法提出來的,後來也有人嘗試作為權重計算方法,但需要注意的是TextRank的計算複雜度很高,所以不建議實用中採用該演算法。
謝邀,CHI和TextRank不了解。不敢瞎說。」詞在我的原語料庫中的出現次數「這個統計量是可以提前算好的,使用時直接查表即可,不會存在效率問題。
首先回答題主的話,textrank 本身是基於pagerank 演算法而來的,詞作為頂點,可以用有向圖也可以無向圖,最開始textrank是就是作為關鍵詞抽取和相關權重計算而出生的。你完全可以用textrank做。
tfidf作為統計學上的方法對於短文本的應用不是太好。進階考慮可以試試lda(也是基於統計)提取特徵。
希望對你有幫助。
利用TextRank做了個文本摘要提取,效果還行,複雜度主要在句子相似性的計算
你好 我也在做這方面的工作,想問你 chi 的實現你是用什麼包的嗎,想問一下,我一直找不到卡方的特徵值提取實現好的,看到的大神們知道的也回答我下,很想了解
sing1ee/textrank-java · GitHub 來個簡單的textrank實現,textrank足夠簡單,一定程度上有效。
text rank從本篇文檔中提取關鍵詞,可以離線算出來,迭代次數100應該就差不多
推薦閱讀:
※AlphaGo 的學習決策模型是否能用於股票市場的交易?
※用python處理一個1G左右的數據集,運行速度非常慢,怎樣優化?
※數據挖掘與機器學習是什麼關係?
※機器學習中隨機梯度演算法要用到負黎曼梯度,如何理解黎曼流形,黎曼梯度?