我目前正在使用以下代码。我已经存储了所有文档的 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])
最佳答案
您可以使用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]
关于python-2.7 - 如何找到单个文档的 tfidf 矩阵中哪个单词具有最大 tfidf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44450510/