我需要用已经计算的TFIDF分数计算文档之间的余弦相似度。在
通常我会使用TFIDFVectorizer来创建文档/术语的矩阵,计算TFIDF的分数。我不能应用它,因为它将重新计算TFIDF分数。这是不正确的,因为文档已经进行了大量的预处理,包括单词包和IDF过滤(我不解释原因,时间太长)。在
说明性输入CSV文件:
Doc, Term, TFIDF score
1, apples, 0.3
1, bananas, 0.7
2, apples, 0.1
2, pears, 0.9
3, apples, 0.6
3, bananas, 0.2
3, pears, 0.2
我需要生成通常由TFIDFVectorizer生成的矩阵,例如:
^{pr2}$。。。这样我就可以计算文档之间的余弦相似度。在
我使用的是Python2.7,但欢迎提供其他解决方案或工具的建议。我很难切换到python3。在
编辑:
这不是真的要转移numpy数组。它涉及到将TFIDF分数映射到文档/术语矩阵,使用标记化的术语,缺少的值填充为0。在
如果您可以使用pandas先在一个数据帧中读取整个csv文件,它会变得更容易。在
一定要仔细阅读评论,如果不理解任何东西。在
一个低效的黑客,我会离开这里,以防它帮助别人。欢迎提出其他建议。在
我建议使用
scipy.sparse
中的稀疏矩阵输出:
^{pr2}$相关问题 更多 >
编程相关推荐