sklearn 文本處理

from sklearn.feature_extraction.text import **

1. 向量的統計、tf-idf 的計算

考慮以下預料,三行 ⇒ 三個文檔,不重複的單詞共有 8 個,html

corpus = ['I love you',
      'You love him',
      'He loves me']

from sklearn.feature_extraction.text import CountVectorizer
                            # 大寫字母開頭,顯然是一個類
vectorizer = CountVectorizer()
csr_mat = vectorizer.fit_transform(corpus)
print(type(csr_mat))
            # scipy.sparse.csr.csr_matrix
            # 稀疏矩陣,通常而言,預料信息都是十分海量的,出於節省內存的考慮,將其做爲稀疏形式存儲。
print(csr_mat)
print(csr_mat.todense())

再來計算 tf-idf 的值:python

from sklearn.feature_extraction.text import TfidfTransformer
transformer = TfidfTransformer()
tfidf = transformer.fit_transform(csr_mat)
print(type(tfidf))
print(tfidf)
print(tfidf.todense())
        # 最終算下來會與獲得的結果有必定的不一樣,
        # 這是由於在 sklearn 內部會作一些去停用詞、平滑、正則化等的操做, 

另外,須要注意的是:note that CountVectorizer discards 「words」 that contain only one character, such as 「s」。中文也是如此,I 都不會被 CountVectorizer 看成 term。大數據


教你成爲全棧工程師(Full Stack Developer) 三十三-利用scikit-learn計算tf-idf作文本詞頻分析 - SharEDITor - 關注大數據技術
TF-IDF與餘弦類似性的應用(一):自動提取關鍵詞atom

阮老師的這篇文章,計算 idf 時取的對數是以 10 爲底的對數,則蜜蜂的 tf-idf 爲 201000log10250/0.4840.0543 spa

相關文章
相關標籤/搜索