结合TF-IDF(余弦相似度)和pagerank?

时间:2013-02-18 16:12:53

标签: search search-engine tf-idf cosine-similarity

给定一个查询,我有一个文档的余弦分数。我也有文件pagerank。是否有标准的好方法将两者结合起来?

我在考虑将它们相乘

 Total_Score = cosine-score * pagerank

因为如果你使用pagerank或余弦得分低,那么该文档就不那么有趣了。

或者最好是加权和?

Total_Score = weight1 * cosine-score + weight2 * pagerank

这样更好吗?然后你可能有零余弦分数,但是页面会很高,页面会显示在结果中。

4 个答案:

答案 0 :(得分:1)

加权总和可能更适合作为排名规则。

有助于将问题分解为检索/过滤步骤和排名步骤。加权和方法概述的问题不再成立。

谢尔盖·布林和劳伦斯·佩奇在this论文中概述的过程使用向量/余弦模型的变量进行检索,并且对于权重由用户活动确定的排名似乎是某种加权和(见4.5.1)。使用这种方法,具有零余弦的文档将无法通过检索/过滤步骤,因此不会考虑进行排名。

答案 1 :(得分:0)

我知道你在相对性和重要性之间进行权衡。这是 Multi-objective optimization 的问题。

我认为您的第二个解决方案可行。这就是所谓的线性标量化。您必须想知道如何优化权重。但是这样做的方法可以用不同的哲学来找到,并且主观取决于每个变量的优先级。实际上,如何在这样的问题中优化权重a research area of mathematics。因此,很难指出哪种模型或方法最适合您的情况。您可能想继续使用上面的wiki链接,并尝试找到关于此类问题的一些原则,然后按照它们来解决您自己的案例。

答案 2 :(得分:0)

您可以考虑使用harmonic mean。使用调和平均值时,2个分数基本上会被平均,但是低分会使平均值下降的幅度超过常规平均值。

您可以使用:

Total_Score = 2*(cosine-score * pagerank) / (cosine-score + pagerank)

让我们说pagerank得分为0.1和余弦为0.9,这两个数字的正常平均值为:(0.1 + 0.9)/2 = 0.5,调和平均值为:2*(0.9*0.1)/(0.9 + 0.1) = 0.18

答案 3 :(得分:-1)

我无法想象一个有用的案例。 Pagrank计算文档作为与其他重要文档的连接的“重要”程度(我假设这就是你的意思。边缘是文档来记录基于术语共同出现的链接。如果你的意思是别的,请注明)。

余弦分数是两个文档之间的相似度量。那么您的想法是将成对度量与节点度量相结合,以仅查找与其他文档类似的重要文档?为什么不在另一个文档的自我网络上运行pagerank?