当 word2vec 本身被称为“预训练”时,为什么我们需要“训练 word2vec”?

数据挖掘 nlp 词嵌入 word2vec
2022-02-28 20:25:39

当 word2vec 本身被称为“预训练”时,我对为什么我们需要“训练 word2vec”感到非常困惑?我搜索了 word2vec 预训练嵌入,认为我可以得到一个映射表,直接将我的数据集上的词汇映射到预训练嵌入,但无济于事。相反,我只发现我们是如何训练自己的:

Word2Vec(sentences=common_texts, vector_size=100, window=5, min_count=1, workers=4)

但我很困惑:word2vec 不是已经预训练了吗?为什么我们需要再次“训练”它?如果它是预训练的,那么我们用我们的新“训练”在模型中修改什么(或者具体来说,哪个部分)?我们现在的“训练”与“预训练”有何不同?TIA。

哪种类型的词嵌入是真正“预训练的”,我们可以只使用模型['word'] 并获得其对应的嵌入?

1个回答

word2vec 是一种训练词嵌入的算法:给定一个原始文本,它为词汇表中的每个词计算一个词向量。这些向量可以在其他应用中使用,因此它们形成了一个预训练模型。

重要的是要了解模型(嵌入)在很大程度上取决于他们训练的数据。一些简单的应用程序可以简单地使用通用的预训练模型,但一些特定的应用程序(例如特定于技术领域)需要在一些自定义数据上训练嵌入。