2016-04-23 141 views
0

我準備好去我已經訓練過的word2vec模型。我已經連載它作爲一個CSV文件:如何在gensim中加載預先訓練好的模型並使用它訓練doc2vec?

word, v0,  v1,  ..., vN 
house, 0.1234, 0.4567, ..., 0.3461 
car, 0.456, 0.677, ..., 0.3461 

我想知道什麼是我可以加載這個詞向量模型gensim並用它來訓練一個段落或doc2vec模型。

Doc2Vec tutorial說我可以加載一個「# C text format」形式的模型,但我不知道這實際上是什麼意思。什麼是「C文本格式」在第一位,但更重要的是:

  • 我怎樣才能加載我的word2vec模型,並將其用於doc2vec培訓?

如何從word2vec模型創建詞彙?

回答

1

Doc2Vec不需要單詞向量作爲輸入:它會創建自己訓練期間需要的任何單詞向量。 (以及一些模式,如純粹的DBOW - dm=0, dbow_words=0 - 根本不使用或訓練單詞向量。)

爲單詞向量播種Doc2Vec模型可能有所幫助或傷害;沒有太多的理論或公佈的結果來提供指導。有一個關於Word2Vec,intersect_word2vec_format()的實驗方法,可以合併word2vec-C格式的矢量與現有的詞彙的模型,但你需要查看源代碼,以真正瞭解它的假設:

https://github.com/RaRe-Technologies/gensim/blob/51753b95415bbc344ea6af671818277464905ea2/gensim/models/word2vec.py#L1140

+0

我無法證明這一說法,但我認爲如果提供預先訓練的單詞向量,文檔向量會更好地工作。我只通過評論相交部分並比較結果來測試這一點。但謝謝你提供了一個答案:) – displayname

+0

什麼任務,與多少數據,哪些預先訓練的向量更好地工作? – gojomo

-1

有一個郵件列表answer可能揭示這一點。這是一個從二進制文件轉換爲文本文件格式的C程序,但你可以看到它的期望。

+0

它看起來,這個「C」文件就像一個csv文件,除了第一行是'#vocabSize#vectorSize'並且所有後面的行都是用空白分隔的行'float1 float2 ... floatN' - 更有趣的部分是實際上是如何爲我的詞彙提供doc2vec並訓練段落向量。 – displayname

相關問題