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 内部會做一些去停用詞、平滑、正則化等的操作,