在 NLP 中,人们倾向于使用余弦相似度来衡量文档/文本的距离。我想听听人们对以下两种情况有何看法,选择余弦相似度还是欧几里得?
任务集概述:任务是计算多词表达的上下文相似度。例如,假设我们的 MWE 为put up
,上下文指的是put up
在一个文本中的左侧的单词和右侧的单词。从数学上讲,这个任务中的相似度是关于计算
sim(context_of_using_"put_up", context_of_using_"in_short")
请注意,上下文是建立在词嵌入之上的特征,让我们假设每个词的嵌入维度为200
:
表示的两种情况context_of_an_expression
。
连接左右上下文词,
200*4=800
如果在每一边选择两个词,则产生一个维度的嵌入向量。换句话说,[lc1, lc2, rc1, rc2] 的特征向量是为上下文构建的,其中lc=left_context
和rc=right_context
。得到左右上下文词之和的平均值,产生一个
200
维度向量。换句话说,[mean(lc1+lc2+rc1+rc2)] 的特征向量是为上下文构建的。
[编辑] 对于这两种情况,我认为欧几里得距离更合适。由于归一化,余弦相似性以处理比例/长度效应而闻名。但我认为没有太多需要标准化的地方。