我有句子相似度的任务,我在计算两个句子的余弦以决定它们的相似度。似乎对于具有数字的句子,无论数字有多“远”,相似性都不会受到影响。例如:
a = generate_embedding('issue 845')
b = generate_embedding('issue 11')
cosine_sim(a,b)= 0.9307
有没有办法解决数字散列或任何其他破解问题的问题?
答案 0 :(得分:1)
如果您的句子嵌入是使用单个单词(或标记)的嵌入生成的,则可能会出现以下情况:
为单词嵌入添加尺寸。对于所有非数字标记,这些尺寸将设置为零,对于数字标记,这些尺寸将包含反映数字值大小的值。由于余弦相似度使用角度,因此会有点数学运算,因此添加到嵌入中的额外维数必须通过更大或更小的角度反映数值的大小。
一种更简单的解决方法是使用正则表达式从句子中提取数值,然后计算它们的距离,然后将该信息与相似度得分结合起来以获得新的相似度得分。