<p>据我所知,Gensim可以加载两种二进制格式,word2vec和fastText,以及一种通用的纯文本格式,大多数嵌入工具都可以创建这种格式。一般的纯文本格式如下(在本例中,20000是词汇表的大小,100是向量的长度)</p>
<pre><code>20000 100
the 0.476841 -0.620207 -0.002157 0.359706 -0.591816 [98 more numbers...]
and 0.223408 0.231993 -0.231131 -0.900311 -0.225111 [98 more numbers..]
[19998 more lines...]
</code></pre>
<p>Chaitanya Shivade在他的回答中解释了如何使用Gensim提供的脚本将手套格式(每行:word+vector)转换为通用格式。</p>
<p>加载不同格式很容易,但也很容易混淆:</p>
<pre><code>import gensim
model_file = path/to/model/file
</code></pre>
<p>1)加载二进制word2vec</p>
<pre><code>model = gensim.models.word2vec.Word2Vec.load_word2vec_format(model_file)
</code></pre>
<p>2)加载二进制快速文本</p>
<pre><code>model = gensim.models.fasttext.FastText.load_fasttext_format(model_file)
</code></pre>
<p>3)加载通用纯文本格式(由word2vec引入)</p>
<pre><code>model = gensim.models.keyedvectors.Word2VecKeyedVectors.load_word2vec_format(model_file)
</code></pre>
<p>如果您只打算使用单词embeddings,而不打算继续在Gensim中训练它们,那么您可能需要使用keyedvvector类。这将大大减少加载向量所需的内存量(<a href="https://radimrehurek.com/gensim/models/keyedvectors.html#why-use-keyedvectors-instead-of-a-full-model" rel="nofollow noreferrer">detailed explanation</a>)。</p>
<p>下面将把二进制word2vec格式作为keyedvorters加载:</p>
<pre><code>model = gensim.models.keyedvectors.Word2VecKeyedVectors.load_word2vec_format(model_file, binary=True)
</code></pre>