余弦相似度,但带有向量索引的权重

数据挖掘 机器学习 nlp 排行 余弦距离
2022-03-02 13:45:46

我对 NLP 很陌生,虽然这似乎是一个基本问题,但我不知道如何在线搜索答案。

这是我的问题:我从 2 个文本源中提取和排名关键字:

在此处输入图像描述

排名为 1 表示此关键字比排名为 5 的关键字更重要。某些关键字可能不存在于一个文本中,但存在于另一个文本中。在这种情况下,如果关键字不存在,则没有排名,因此,Nan。

我需要使用什么方法来提取关键字排名之间的相似度?我想根据它包含的关键字和这些关键字的排名来找出这两个文本的相似程度。

我通过删除包含 Nan 值的行然后将 text1Rank 和 text2Rank 视为如下向量来尝试余弦相似度:

在此处输入图像描述

2 列是我传入余弦相似度公式的向量。

但是,我不认为这种方法对排名较高的关键字的权重大于排名较低的关键字。我这样想对吗?

如果是这样,我应该使用什么方法来比较两组关键字的排名?

1个回答

余弦相似度不会很好,因为它仅基于位置的排名i在向量 1 和向量 2 中是相同的。

例如,向量[3,2,4,1,5]vs[2,3,5,1,4]将具有非常低的相似性,因为 5 个位置中有 4 个位置不同,即使 (2,3) 和 (4,5) 之间只有两次交换。

衡量两个排名之间相似性的更好方法是Spearman Rank Correlation

请注意(如果我没记错的话)在这种情况下,您也可以直接使用 Pearson 相关性,因为数值已经是排名。Spearman 只是在应用 Pearson 相关之前对值进行排名。所以通常这两者会给你相同的结果。

另请注意,此方法不会赋予排名顶部比底部更多的权重。除了定义自定义加权度量之外,我不知道执行此操作的度量。