跳过克和跳过克拉克的预训练矢量

跳过克和跳过克拉克的预训练矢量

问题描述:

我正在做一个项目,我需要跳过克模型的预先训练好的矢量。我听说还有一个名为skip-n-gram模型的变体,它提供了更好的结果。跳过克和跳过克拉克的预训练矢量

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

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

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

但是,如果您想使用已经训练过的word2vec模型,则可以使用Google发布的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 .. ] 

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

+0

谢谢哈门... !!!但是你有关于skip-n-gram的想法吗? –

+0

不@MSaifulBari我没有太多想法。但我建议你看看[fasttext](https://fasttext.cc)一次。我认为他们已经实施了n-gram模型。 – Harman