为什么词嵌入技术有效

Why word embedding technique works

我研究了一些词嵌入技术,例如

  1. CBOW:从上下文到单个单词。生成的权重矩阵用作嵌入向量
  2. Skip gram: from word to context(据我所见,实际上是word to word,assingle prediction就够了)。再次生成的权重矩阵用作嵌入

这些工具的介绍总是会引用“余弦相似度”,意思是相似的词会转换成相似的向量。

但是这些方法都是基于'context',只考虑目标词周围的词。我应该说它们是 'syntagmatic' 而不是 'paradigmatic'。那么为什么句子中距离近表示意思相近呢?我能想到很多经常出现的反例

  1. “祝你有美好的一天”。 (good 和 day 差别很大,虽然距离很近)。
  2. “toilet”“washroom”(两个意思相似的词,但一个句子包含一个不太可能包含另一个)

有什么可能的解释吗?

这种“为什么”不太适合 Whosebug,但有一些想法:

word2vec 和类似嵌入模型的本质可能是压缩:该模型被迫使用远少于内部状态 来预测邻居需要记住整个训练集。所以它不得不把相似的词强行放在一起,在参数相似的区域space,并且强行把词组变成各种有用的relative-relationships.

因此,在 'toilet' 和 'washroom' 的第二个示例中,尽管它们很少一起出现,但它们确实倾向于出现在相同的相邻单词周围。 (它们在许多用法中都是同义词。)当典型词围绕它们时,模型会尝试将它们预测到相似的水平。并且vice-versa:当它们出现时,模型通常应该预测附近相同种类的词。

为了实现这一点,它们的向量必须通过迭代训练非常接近。通过浅层 feed-forward 网络,让 'toilet' 和 'washroom' 预测相同邻居的唯一方法是将它们的 word-vectors 围栏到附近的地方。 (此外,在某种程度上,它们的含义略有不同——设备 'toilet' 多,房间 'washroom' 多——它们仍然会稍微偏向邻居 'washroom' =50=] 对比 'places'.)

类似地,形式上是反义词的词,但在相似的上下文中很容易 stand-in 用于 each-other,例如 'hot' 和 'cold',彼此之间会有些接近在训练结束时。 (而且,它们的各种 nearer-synonyms 将聚集在它们周围,因为它们往往被用来描述附近的相似 paradigmatically-warmer 或更冷的词。)

另一方面,您的示例“祝您有美好的一天”可能对 'good' 或 'day' 都没有太大影响。这两个词的更独特(因此 predictively-useful)意义与其他词的关联度更高。 'good' 这个词可以随处出现,所以到处都有弱关系,但在评价(“好或坏”、“喜欢或不喜欢”、“喜欢或不喜欢”)上与其他 synonyms/antonyms 仍然有很强的关系", 等) 规模。

所有这些 random/non-predictive 实例都倾向于 cancel-out 作为噪声;具有 一些 预测附近单词的能力的关系,即使是轻微的,最终会在 high-dimensional 中找到 一些 relative/nearby 排列space,以帮助模型进行一些训练示例。

请注意,word2vec 模型不一定是预测附近单词的有效 方法。它可能永远不会擅长这项任务。但是 尝试 擅长 neighboring-word 预测,自由参数少于 perfect-lookup 针对训练数据所允许的自由参数,迫使模型反映潜在的语义或句法数据中的模式。

(另请注意,一些研究表明,较大的 window 影响 word-vectors 以反映更多 topical/domain 相似性——“这些词用于相同的事物,在广泛的话语中关于 X”——虽然微小的 window 使 word-vectors 反映出更多 syntactic/typical 的相似性 - “这些词是 drop-in 彼此的替代,在一个句子中扮演相同的角色”。请参阅 Levy/Goldberg“Dependency-Based 词嵌入”,围绕其 Table 1.)