预训练的skip-gram和skip-n-gram向量

时间:2017-10-20 20:58:37

标签: word2vec pre-trained-model

我正在做一个项目,我需要一个预训练的skip-gram模型向量。我听说还有一个名为skip-n-gram模型的变体可以提供更好的结果。

我想知道我自己需要训练什么模型?因为我只需要它们来为我的模型初始化嵌入层。

我搜索得足够多但没有得到很好的例子。我需要你的建议。我在哪里可以获得这种预先训练过的模型,或者没有预先训练好的模型。

1 个答案:

答案 0 :(得分:6)

如果你有足够的数据,你可以训练我们自己的单词向量。这可以使用gensim完成。它们为主题建模提供了非常简单但功能强大的API。

但是如果你想使用已经训练过的word2vec模型,你可以使用谷歌发布的word2vec model。它的容量为1.5GB,包括300万字的词汇和短语,他们使用Google新闻数据集对大约1000亿个单词进行训练。

您可以使用gensim加载此模型。下载经过培训的word2vec模型并使用以下代码开始。

import math
import sys
import gensim
import warnings
warnings.filterwarnings(action='ignore', category=UserWarning, module='gensim') 

from gensim.models.keyedvectors import KeyedVectors

words = ['access', 'aeroway', 'airport']

# load the model
model = KeyedVectors.load_word2vec_format(path_to_model, binary=True)

# to extract word vector
print(model[words[0]])  # vector representing access

结果向量:

[ -8.74023438e-02  -1.86523438e-01 .. ]

请注意,加载这样巨大的型号时,您的系统可能会冻结。