2016-06-12 4 views
0

word2vecでは、辞書の単語をN次元空間の座標にマッピングするのが一般的です。このプロセスを逆にして、空間内の任意の位置に与えられた単語を合成する方法はありますか?word2vecの単語に座標をマップする方法

+0

これは、クエリポイントで「最近傍探索」と呼ばれます。 – greeness

答えて

0

n次元座標を文字列としてコード化し、それらを座標列と比較することができます。

1

座標から単語に移動するときに、あなたが見ている座標にベクトルを埋め込む必要はありません。 1つの方法は、最も近いベクトルを検索し、対応する単語を返すことである。 [1,2,4]で表される「cat」、[2,1,6]で「dog」などがあるとします。

index2word = ["cat","dog","crow","owl"]  
vecArray=[[1,2,4], 
      [2,1,6], 
      [9,1,5], 
      [4,6,2]] 
query=[2,1,7]  #the vector whose word is required 
distance=dot(vecArray,query) 

距離配列の最小要素のインデックスを検索します。これを使用して、index2word配列から単語を取得します。

関連する問題