wordvector算法如何找到单词之间的相似度?
How wordvector algorithm find similarity between words?
背后的直觉是什么?有人可以简单解释一下为什么我们在wordvector网络架构中提取隐藏层的输出吗?
通常使用的word-vectors实际上来自neural-network的"projection layer"。
projection-layer 本质上是将单个单词索引("one-hot" 表示,从 0 到 V-1 的单个整数,其中 V 是已知唯一单词的计数)转换为 输入 向量(密集嵌入,具有 N non-zero 个连续维度,其中 N 远小于 V)。
这些输入向量被馈送到浅层neural-network,试图预测单词的相邻单词。
事实证明,当你强迫那些 dense-embeddings(和内部 neural-network 权重)在预测它们的邻居方面变得越来越好时,word-vectors 相关词会更接近每个其他,一般来说它们是如何相关的。
此外,同时交错尝试对所有单词和训练示例执行此操作往往也会在最终排列中创建有意义的 "neighborhoods" 和 "directions" – 允许有趣的 "meaning arithmetic"这使得 word-vector 操作通常可以解决类似 man : king :: woman : __?__
的类比问题。
背后的直觉是什么?有人可以简单解释一下为什么我们在wordvector网络架构中提取隐藏层的输出吗?
通常使用的word-vectors实际上来自neural-network的"projection layer"。
projection-layer 本质上是将单个单词索引("one-hot" 表示,从 0 到 V-1 的单个整数,其中 V 是已知唯一单词的计数)转换为 输入 向量(密集嵌入,具有 N non-zero 个连续维度,其中 N 远小于 V)。
这些输入向量被馈送到浅层neural-network,试图预测单词的相邻单词。
事实证明,当你强迫那些 dense-embeddings(和内部 neural-network 权重)在预测它们的邻居方面变得越来越好时,word-vectors 相关词会更接近每个其他,一般来说它们是如何相关的。
此外,同时交错尝试对所有单词和训练示例执行此操作往往也会在最终排列中创建有意义的 "neighborhoods" 和 "directions" – 允许有趣的 "meaning arithmetic"这使得 word-vector 操作通常可以解决类似 man : king :: woman : __?__
的类比问题。