keras中预训练的单词嵌入和训练单词嵌入之间的区别

时间:2017-02-28 07:26:00

标签: python python-2.7 nlp deep-learning

我是深度学习的新手,我想探索NLP的深度学习。我经历了单词嵌入并在gensim word2vec中测试它们。我也听说过预训练的模型。我对预训练模型与自己训练模型之间的区别以及如何使用结果感到困惑。

我想在keras中应用它,因为我不想在Theano或Tensorflow中编写公式和所有公式。

1 个答案:

答案 0 :(得分:1)

使用gensim训练word2vec时,您获得的结果是将词汇表中的单词表示为向量。这些向量的维数是神经网络的大小。

预训练的word2vec模型只包含在大型语料库中预训练的那些矢量的列表。你会发现各种尺寸的预训练矢量。

如何使用这些矢量表示?这取决于你想做什么。已经为这些向量展示了一些有趣的属性:已经表明,'man'+'king' - 'woman'的向量通常会导致与向量'woman'最接近的匹配。您也可以考虑使用单词向量作为另一个神经网络/计算模型的输入。

Gensim是一个非常优化的库,用于执行CBOW和skip-gram算法,但如果您真的想自己设置神经网络,首先必须了解CBOW和skip-gram的结构并学习如何例如,在keras中编码。这应该不是特别复杂,谷歌搜索这些主题应该为您提供许多结果,以帮助您。