查询和文档混淆之间的余弦相似度

数据挖掘 相似 信息检索 排行 余弦距离 类似文件
2022-02-17 10:48:34

我正在阅读 Manning 的信息检索书。目前我在关于余弦相似度的部分。我不清楚一件事。

假设我有用于查询和文档的 tf idf 向量。我想计算两个向量之间的余弦相似度。

当我计算文档向量的大小时,我是对向量中所有项的平方求和还是仅对查询中的项求和?

这是一个例子:我们有用户查询“cat food beef”。
假设它的向量是 (0,1,0,1,1)。(假设向量中只有 5 个方向,一个用于查询和文档中的每个唯一单词)
我们有一个文档“牛肉好吃”
它的向量是 (1,1,1,0,0)。我们想要找到查询和文档向量之间的余弦相似度。

1个回答

您想使用向量中的所有项。

在您的示例中,您的查询向量和文档向量,余弦相似度计算为q=[0,1,0,1,1]d=[1,1,1,0,0]

相似度=qd||q||2||d||2=0×1+1×1+0×1+1×0+1×012+12+12×12+12+12=0+1+0+0+033=13