【发布时间】:2019-03-12 02:46:00
【问题描述】:
【问题讨论】:
标签: nlp tf-idf stop-words
【问题讨论】:
标签: nlp tf-idf stop-words
TFIDF 例如:
doc1 = "This is doc1"
doc2 = "This is a different document"
corpus = [doc1, doc2]
from sklearn.feature_extraction.text import TfidfVectorizer
vec = TfidfVectorizer()
X = vec.fit_transform(corpus)
X.toarray()
return: array([[0. , 0.70490949, 0. , 0.50154891, 0.50154891],
[0.57615236, 0. , 0.57615236, 0.40993715, 0.40993715]])
vec.get_feature_names()
因此,对于语料库中的每个文档,您都有一个 line/1d 数组,并且该数组在您的语料库中具有 len = total vocab(可以变得非常稀疏)。您关注的分数取决于您在做什么,即在文档中查找最重要的词您可以在该文档中查找最高的 TF-idf。在语料库中最重要的是,查看整个数组。如果您尝试识别停用词,您可以考虑找到具有最低 TF-IDF 分数的 X 个词的集合。但是,我真的不建议首先使用 TF-IDF 来查找停用词,它降低了停用词的权重,但它们仍然经常出现,可以抵消重量损失。您最好找到最常用的单词,然后将它们过滤掉。不过,您可能希望查看手动生成的任一集合。
【讨论】: