2017-08-01 49 views
0

我想了解更多關於代碼函數的信息,我可以通過嵌入向量來實現這個詞。我知道,通過餘弦相似性,我可以得到最相似的單詞。但是我需要再做一個層次的推理,得到如下關係:Word嵌入關係

X1與X2的關係就像X3與X4的關係。

作爲例子我可以說公主對王子的關係就像女人對男人。我有X1到X3,我的問題是如何有效地找出X4的可能性。我嘗試了餘弦矢量的絕對差異,但它不工作。

回答

0

你可以看一下原來的谷歌發佈word2vec代碼究竟是如何解決在其word-analogy.c代碼類比:

https://github.com/tmikolov/word2vec/blob/master/word-analogy.c

如果您更熟悉Python,你可以看看如何gensim Word2Vec實施在其accuracy()方法中,通過從questions-words.txt文件(如原始Google word2vec包中提供)中讀取類比「a:b :: c:expected」,然後使用bc作爲正(添加)示例,並且a作爲一個負面的例子(減),以th烯發現得到的載體鄰近詞:

https://github.com/RaRe-Technologies/gensim/blob/5f630816f8cde46c8408244fb9d3bdf7359ae4c2/gensim/models/keyedvectors.py#L697

用過most_similar()函數,它接受多個positivenegative實例返回最接近矢量的列表之前的動作,被認爲在:

https://github.com/RaRe-Technologies/gensim/blob/5f630816f8cde46c8408244fb9d3bdf7359ae4c2/gensim/models/keyedvectors.py#L290