词嵌入关系
Word Embedding Relations
我想详细了解我可以对词嵌入向量执行的代数函数。我知道通过余弦相似度我可以获得最相似的词。但是我需要再做一层推理,得到下面的关系:
X1 和 X2 的关系就像 X3 和 X4 的关系。
举个例子,我可以说公主与王子的关系就像女人与男人一样。我有 X1 到 X3,我的问题是我如何有效地计算出 X4 可以是什么。我尝试对向量的绝对差进行余弦运算,但它不起作用。
您可以查看原始 Google 发布的 word2vec
代码如何解决其 word-analogy.c
代码中的类比问题:
https://github.com/tmikolov/word2vec/blob/master/word-analogy.c
如果您更熟悉 Python,您可以通过阅读来自 questions-words.txt
文件(在原始 Google word2vec 包中提供),然后使用 b
和 c
作为正(添加)示例,并使用 a
作为反示例(减去),然后在结果向量附近找到单词:
使用的 most_similar()
函数的操作,在返回最接近的向量列表之前接受多个 positive
和 negative
示例,见:
我想详细了解我可以对词嵌入向量执行的代数函数。我知道通过余弦相似度我可以获得最相似的词。但是我需要再做一层推理,得到下面的关系:
X1 和 X2 的关系就像 X3 和 X4 的关系。
举个例子,我可以说公主与王子的关系就像女人与男人一样。我有 X1 到 X3,我的问题是我如何有效地计算出 X4 可以是什么。我尝试对向量的绝对差进行余弦运算,但它不起作用。
您可以查看原始 Google 发布的 word2vec
代码如何解决其 word-analogy.c
代码中的类比问题:
https://github.com/tmikolov/word2vec/blob/master/word-analogy.c
如果您更熟悉 Python,您可以通过阅读来自 questions-words.txt
文件(在原始 Google word2vec 包中提供),然后使用 b
和 c
作为正(添加)示例,并使用 a
作为反示例(减去),然后在结果向量附近找到单词:
使用的 most_similar()
函数的操作,在返回最接近的向量列表之前接受多个 positive
和 negative
示例,见: