在使用scikit's tf-idf vectorizer对多个文档进行矢量化之后,是否有方法获得每个文档最具“影响力”的术语?
不过,我只找到了获取整个语料库中最具“影响力”的术语的方法,而不是针对每个文档。

最佳答案

假设从数据集开始:

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
import numpy as np
from sklearn.datasets import fetch_20newsgroups

d = fetch_20newsgroups()

使用计数矢量器和tfidf:
count_vect = CountVectorizer()
X_train_counts = count_vect.fit_transform(d.data)
transformer = TfidfTransformer()
X_train_tfidf = transformer.fit_transform(X_train_counts)

现在可以创建反向映射:
m = {v: k for (k, v) in count_vect.vocabulary_.items()}

这给了每个医生一个有影响力的词:
[m[t] for t in np.array(np.argmax(X_train_tfidf, axis=1)).flatten()]

关于python - 获取每个文档的最高学期-scikit TF-IDF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54198093/

10-11 11:18