背景
arxivのサイトに掲載される論文に対して何か特徴量を抽出し、トレンドなどを得られればと考えた際に特徴語を抽出するTF-IDFを発見しました。
TF-IDF
TF-IDFとはTFとIDFから成り立ちます。
TF(Term Frequency)は各文書における単語の頻出頻度を表しています。
IDF(Inverse Document Frequency)は逆文書頻度という希少価値の高い単語に高い値を付与します。
よってTF-IDFとは単語の頻度かつその単語の頻度を考慮した指標であるというこ
とです。
例
sample.py
from sklearn.feature_extraction.text import TfidfVectorizer
sentence = ["I'm gonna make a change.For once I'm my life It's gonna feel real good,Gonna make a difference Gonna make it right"]
vec = TfidfVectorizer(max_df=10)
docs = sentence
term_doc = vec.fit_transform(docs)
vocabulary_ = vec.vocabulary_
term_doc_array = term_doc.toarray()
print(term_doc_array)
結果は
[[0. 0. 0. ... 0. 23. 0.
0. 0. 0.57 ... 0.023. 0.
...
0. 0. 0.64 ... 0.13 0. 0.]]
以下のような1次元配列が出力され、TF-IDFの値が高いものが重要度が高い単語となります。