为什么相似的词在word2vec模型下会很接近?

Why similar words will be close to each other under a word2vec model?

可以使用 word2vec 模型完成的任务之一是使用余弦相似度为给定的词找到最相似的词。为什么一个好的word2vec模型下的相似词会在space中彼此靠近的直观解释是什么?

模型本质上是在执行压缩。

它必须将大量不同的单词(例如 100,000 或数百万)强制转换为维数小得多的向量(例如 100 或 300)。

那么,一个简单的“单热”编码是不可能的,其中每个词都完全点亮一个维度 (1.0),而其他词根本不点亮 (0.0)。单词 必须 在少量维度上混合使用值。

为了让这样的模型更好地完成其训练任务 - 预测附近的词 - 通常具有相似邻居的词将增长到具有相似的坐标。这允许坐标 space 的 'neighborhood' 生成类似的预测。

而且,这些词应预测不同 邻居的其余方式也往往会反映在渐进的坐标变化(方向或邻域)中。

例如,考虑多义词的情况。 'vault' 和 'bank' 这两个词都将出现在 'money' 周围(及相关概念)——但 'bank' 在另一种意义上也将出现在 'river' 和 [=38 周围=](及相关概念)。因此,在许多情况下进行训练会使 'bank' 和 'vault' 变得更相似(以生成与 'money' 相关的共享预测)。但是随后其他交错的示例使用上下文将 'bank' 微调到 wards 'river'/'water'.

这些不同的拔河-war反向传播更新的净效应,在充分和参数化良好的训练结束时,倾向于以有趣的方式排列单词 - 相似的单词更接近,并且甚至某些 directions/neighborhoods 都与人类可描述的概念隐约相关。 (例如,“那个方向”可能会模糊地将概念转移到 wards 金钱,就性别概念而言,“另一个方向”,就颜色而言,“第三个方向”等等——尽管这些方向必然是模糊,受训练数据中模式的影响,可以从 运行 到 运行 不等,并且不会与每个维度的垂直轴完全对齐。)

最普遍的是:出于模型优化的目的,必须预测相同相邻词的词往往会获得相似的坐标。他们剩余的差异与他们需要不同地预测哪些相邻词相关。