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

标签 word2vec pre-trained-model

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

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

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

最佳答案

如果您有足够的数据,您可以训练我们自己的词向量。这可以使用 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 .. ]

请注意,您的系统在加载如此庞大的模型时可能会死机。

关于word2vec - skip-gram 和 skip-n-gram 的预训练向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46857251/

相关文章:

machine-learning - 如何使用经过训练的模型创建模型?

machine-learning - Word2Vec - 具有高交叉验证分数的模型对于测试数据的表现非常糟糕

python - 在不使用嵌套循环的情况下查找所有 word2vec 编码对的余弦距离

python - ValueError : `decode_predictions` expects a batch of predictions (i. e。形状的二维数组(样本,1000))。找到形状为 : (1, 的数组 7)

tensorflow - 将预训练模型生成的预测输出解码为人类可读的标签

python - 如何在 python 中使用 gensim 和 word2vec 查找语义相似性

python - Gensim 短语用于过滤 n 元语法

python - 在 PyTorch 中使用 strict=False 加载修改后的预训练模型

apex - 为什么 huggingface bert pooler hack 可以使混合精度训练稳定?

python - 如何使用预训练模型的模型架构但没有权重