【发布时间】:2018-11-27 19:24:37
【问题描述】:
我正在通过计算语料库中每个文档与集群之间的距离来进行相似度排名工作。集群也以文档列表的形式给出。我遇到的麻烦是我无法提出计算集群质心的正确方法,以便我可以计算相似度。我尝试使用集群的 tfidf 矩阵的平均值,但结果很差。
例如:我的集群是:
['Line a baking pan with a sheet of parchment paper.',
'Line the cake pan with parchment paper.',
'Line the bottom with parchment paper.',
'Line a baking pan with parchment paper.'
]
我的语料库包含以下 3 个文档:
['Add vinegar and sugar.',
'Remove pan from heat and let stand 5 minutes.',
'Line the pan with parchment paper.'
]
我想计算每个文档和集群之间的相似度,这可能会产生如下结果:
[0.1, 0.1, 0.8]
你有什么建议吗?我尝试将集群和语料库文档都表示为 tfidf 矩阵,但是通过计算两个矩阵之间的相似性似乎很难给出期望的结果。我尝试了 LSI,但正是我想要排名的语料库而不是集群文档迫使我找到代表集群的质心。
【问题讨论】:
-
查看更新后的答案。
-
哇,非常感谢。没想到cosine sim可以这样计算。
-
不客气!快乐的日子——几行代码就可以完成过去需要一段时间才能完成的事情。
标签: python pandas numpy nltk tf-idf