如何在单个文档的tfidf矩阵中找到哪个单词具有最大tfidf?

时间:2017-06-09 06:13:17

标签: python-2.7 pandas tf-idf

我正在使用以下代码。我已经存储了所有文档的tfidf矩阵,现在我需要特定文档的前n个单词? 我很困惑如何得到它?

这是我到目前为止使用的代码。我需要从每个文档中找到最高tfidf

的单词
import glob
import pandas as pd
import math
filenames=[]
corpus = []
df=pd.DataFrame(columns=['article','similar','score'])
for file in glob.glob("*.txt"):
    with open(file, "r") as paper:
    corpus.append((file, paper.read()))
    filenames.append(file)
from sklearn.feature_extraction.text import TfidfVectorizer

tf = TfidfVectorizer(analyzer='word', ngram_range=(1,1), min_df = 0, stop_words = 'english')
tfidf_matrix =  tf.fit_transform([content for file, content in corpus])

1 个答案:

答案 0 :(得分:2)

您可以使用np.argmax获取索引,然后使用此选项查找TfidfVectorizer._vocabulary中的相应字词,如下:

vocab_lookup = {v:k for k,v in tf.vocabulary_.items()}
[vocab_lookup[np.argmax(v)] for v in tfidf_matrix]