word2vec 如何理解数字之间的关系?
通过我的个人经验以及我有机会参加的 Yoshua Bengio 和 Yann Le Cun 的一些现场演示,试图从我对 word2vec 和深度学习的理解中得到答案。
正如问题中提到的,我也认为数字被组合在一起,因为它们在找到它们的句子中具有相似的功能。
正如我在评论中所说的那样,因为它们是如何排序的:直觉上,我会说这对于小数字是正确的,而对于大数字则不太正确(7-9-8 的排序方式似乎是这样的)。当我们说话时,我们经常会说:“我吃了 1 或 2 个苹果”或“我会买 2 或 3 样东西”,但很少会说“我会买 3 或 2 样东西”。我认为这就是它最终订购数字的方式。更大的数字在语料库中出现的次数更少,因此它们很可能不会被精确排序。
在查看有关 word2vec 的教程时,经常给出的示例是,如果我们将 2 个单词之间的关系视为一个向量,则模型对单词的最终表示将给出将“man”链接到“woman”的向量与将“国王”与“女王”联系起来的那个大致相同。或者将“巴黎”链接到“法国”的向量大约等于将“罗马”链接到“意大利”的向量。这甚至允许执行以下操作:法国 + 意大利 - 巴黎 = 罗马!这些关系如何如此准确(与其他方法相比)的明确机制,到今天为止,对于科学界来说仍然是模糊的。
如果这类操作适用于国家和主要城市,那么向量“3-2”和“2-1”指向同一方向似乎是合乎逻辑的,即 1-2-3 是有序的(假设,如前所述以前,连续的数字更有可能在一个句子中一起使用)。当然,要实现这一点,数字必须经常出现在训练语料库中。
我很高兴有人用数字展示了这个结果,因为 word2vec 在大多数在线可用模型中的训练方式都不包括数字。它们被一些符号取代,即 12.34 变为 ##.##,并且无法进行此类观察。
欢迎提出任何改进此答案的建议!
