然而,這還不夠,像a is this這類的助詞、介詞等,詞頻將非常高(在NLP中又叫停止詞 stop word),所以需要減小他們的權(quán)重。一種做法是,不再簡單統(tǒng)計該詞在文檔中出現(xiàn)的詞頻,而且還要統(tǒng)計 出現(xiàn)該詞的文檔的占比,這在NLP中叫tfidf。說的有點繞,具體到我們的例子中可以寫成如下表達式:
某單詞x的tfidf = x在一個樣本中出現(xiàn)的次數(shù)/出現(xiàn)x的文檔占比
分子即tf,分母即1/idf,有時需要用log sqrt之類的函數(shù)作用在tf或者 1/idf上,以減弱某項的影響。同樣,我們可以:
from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer3 = TfidfVectorizer(ngram_range=(1, 2))
temp3 = vectorizer3.fit_transform(corpus)
print vectorizer3.get_feature_names()