使用scikit-learn找出一组文档中仅选定单词的Tf-Idf分数

3
我有一组文档(以.txt文件的形式存储)。我还有一个Python字典,其中包含一些选定的单词。我想仅为这些单词分配tf-idf分数,而不是从文档集中的所有单词。如何使用scikit-learn或任何其他库来完成此操作?
我已经参考了这篇博客文章,但它给出了整个词汇表的分数。
1个回答

1
你可以使用CountVectorizer,将文本扫描并转换为术语-文档矩阵,并在该矩阵上使用TfidfTrasnformer。这两个步骤也可以合并在一起,使用TfidfVectorizer完成。
这些都在sklearn.feature_extraction.text模块中[link]。
这两个过程都会返回相同的稀疏矩阵表示形式,我假设您可能会通过TruncatedSVD进行SVD变换,以获得较小的密集矩阵。
当然,您也可以自己完成它,这需要保留两个映射,一个用于每个文档,另一个总体上,您在其中计算术语计数。这就是它们在幕后运行的方式。 这个页面有一些不错的例子。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接