在word2vec模型中,有兩個線性轉換將詞彙空間中的一個詞帶到一個隱藏層(「in」向量),然後返回vocab空間(「out 「矢量)。通常在訓練後丟棄這個向量。我想知道在gensim python中訪問out矢量有沒有簡單的方法?等同地,我如何訪問out矩陣?gensim word2vec存取/導出向量
動機:我想實現這個最近的一篇文章中提出的觀點:A Dual Embedding Space Model for Document Ranking
這裏有更多的細節。從參考上面我們有以下word2vec模型:
這裏,輸入層是尺寸$ V $,詞彙大小,隱藏層是尺寸$ d $的,和一個輸出層大小爲$ V $。這兩個矩陣是W_ {IN}和W_ {OUT}。 通常,word2vec模型只保留W_IN矩陣。這就是,在gensim訓練word2vec模式後,你會得到什麼返回東西,如:
模型[ '土豆'] = [ - 0.2,0.5,2,...]
如何訪問或保留W_ {OUT}?這可能相當昂貴,我真的希望gensim中的一些內置方法能夠做到這一點,因爲我害怕如果我從頭開始編寫代碼,它不會提供良好的性能。
到目前爲止您是否有任何代碼? – rebeling