我有一组文档(存储为.txt
文件)。我还有一个包含一些选定单词的python字典。我只想将 tf-idf 分数分配给文档集中的这些单词,而不是所有单词。如何使用scikit-learn
或任何其他库来完成此操作?
我已经参考了这篇博文,但它提供了完整的词汇。
CountVectorizer
来执行此操作,它将文档扫描为文本并转换为术语文档矩阵,并在矩阵上使用TfidfTrasnformer
。
这两个步骤也可以与TfidfVectorizer
组合并一起完成。
这些位于sklearn.feature_extraction.text
模块 [链接] 中。
这两个过程都将返回相同的稀疏矩阵表示,我认为您可能会通过TruncatedSVD
进行 SVD 变换以获得更小的密集矩阵。
当然,您也可以自己动手,这需要保留两张地图,每张文档一张,一张整体,用于计算术语。这就是他们在引擎盖下运作的方式。
这个页面有一些很好的例子。