在计算词之间的相似度时,cosine
相似度或距离是在词向量上计算的。为什么其他距离度量(例如欧几里得距离)不适合此任务。
让我们考虑 2 个向量a
和b
。其中,a = [-1,2,-3]
和b = [-3,6,-9]
, 这里b = 3*a
, 即两个向量具有相同的方向但大小不同。a
和之间的余弦相似度b
为 1,表明它们是相同的。a
而和之间的欧几里得距离b
是7.48。
这是否意味着向量的大小与计算词向量的相似度无关?
在计算词之间的相似度时,cosine
相似度或距离是在词向量上计算的。为什么其他距离度量(例如欧几里得距离)不适合此任务。
让我们考虑 2 个向量a
和b
。其中,a = [-1,2,-3]
和b = [-3,6,-9]
, 这里b = 3*a
, 即两个向量具有相同的方向但大小不同。a
和之间的余弦相似度b
为 1,表明它们是相同的。a
而和之间的欧几里得距离b
是7.48。
这是否意味着向量的大小与计算词向量的相似度无关?
你在这里问两个问题。
是的。余弦距离为,这只是来自内积的定义, .
在词嵌入中,我们选择一个维度 用于嵌入。这是我们嵌入空间中的组件数量。组件(或组件的线性组合)旨在编码某种语义含义。经典示例就像“女王”的向量加上“男人”的向量应该靠近“国王”的向量。之类的东西。有一个方向大致对应于“版税”和一个性别方向。
看看你的例子,在哪里,. 这完美地说明了我们为什么使用余弦相似度。它们具有非常不同的大小,但指向相同的方向。它们的余弦距离为 1,我们希望这样做,因为这意味着它们在每个分量中具有相同的相对比例。
如果我们使用欧式距离, 和 是 单位分开。很容易找到另一个向量 那是大约相同的距离 作为 是,在一个完全不同的方向。如果我们的空间学习得当, 应该具有完全不同的语义含义 ,但它们的距离相同 . 欧几里得距离并不能很好地衡量我们想要的相似度。