天天看點

sklearn 文本處理

from sklearn.feature_extraction.text import **           

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

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

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 的值:

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

繼續閱讀