我正在使用以下代码。我已经存储了所有文档的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])
答案 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]