我正在做一个项目,我需要一个预训练的skip-gram模型向量。我听说还有一个名为 skip-n-gram 模型的变体可以提供更好的结果。
我想知道我自己训练模型需要什么?因为我只需要他们为我的模型初始化嵌入层。
我已经进行了足够的搜索,但没有得到很好的例子。我需要你的建议。我在哪里可以得到这样的预训练模型,或者没有预训练模型。
我正在做一个项目,我需要一个预训练的skip-gram模型向量。我听说还有一个名为 skip-n-gram 模型的变体可以提供更好的结果。
我想知道我自己训练模型需要什么?因为我只需要他们为我的模型初始化嵌入层。
我已经进行了足够的搜索,但没有得到很好的例子。我需要你的建议。我在哪里可以得到这样的预训练模型,或者没有预训练模型。
如果你有足够的数据,你可以训练我们自己的词向量。这可以使用gensim来完成。它们为主题建模提供了非常简单但功能强大的 API。
但是如果你想使用已经训练好的word2vec模型,你可以使用谷歌发布的word2vec模型 。它有 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 .. ]
请注意,加载如此庞大的模型时,您的系统可能会冻结。