我可以使用公共预训练的 word2vec,并继续针对特定领域的文本进行训练吗?

数据挖掘 nlp word2vec gensim
2021-09-22 06:51:48

我有一组来自服装领域的评论,大约 10 万条评论(200 万字)。我想训练 word2vec 来做一些很酷的 NLP 员工。

然而,大小不足以创建足够的 word2vec 模型,它需要数十亿个单词。

所以这个想法是使用公共语料库(例如维基百科),甚至使用一些预训练模型(例如来自 gensim 酷框架)并添加我的领域特定文本。我假设该模型将了解公共单词中看不见的单词,并可以纠正常用单词的向量。

是否有意义 ?2M字会产生任何影响吗?

2个回答

fastText 预训练模型应该可以帮助您完成分类任务。

另一方面,gensim 可以加载模型并使用新文本对其进行训练,但如果您需要考虑新词,则需要使用

build_vocab(更新=真...)

因此,您可以使用 fastText 预训练嵌入到 gensim 并使用您的文本进行更新。

是的,您可以在使用预先训练的词向量时微调您的嵌入。如果您使用的是 tensorflow,请在您的tf.get_variable参数中设置trainable=True. 它会起作用的原因是,只有 2M 词将从预训练的嵌入中提取。这些嵌入已经接近局部最优,并且可以在很少的迭代中进一步优化。