我有一组来自服装领域的评论,大约 10 万条评论(200 万字)。我想训练 word2vec 来做一些很酷的 NLP 员工。
然而,大小不足以创建足够的 word2vec 模型,它需要数十亿个单词。
所以这个想法是使用公共语料库(例如维基百科),甚至使用一些预训练模型(例如来自 gensim 酷框架)并添加我的领域特定文本。我假设该模型将了解公共单词中看不见的单词,并可以纠正常用单词的向量。
是否有意义 ?2M字会产生任何影响吗?
我有一组来自服装领域的评论,大约 10 万条评论(200 万字)。我想训练 word2vec 来做一些很酷的 NLP 员工。
然而,大小不足以创建足够的 word2vec 模型,它需要数十亿个单词。
所以这个想法是使用公共语料库(例如维基百科),甚至使用一些预训练模型(例如来自 gensim 酷框架)并添加我的领域特定文本。我假设该模型将了解公共单词中看不见的单词,并可以纠正常用单词的向量。
是否有意义 ?2M字会产生任何影响吗?
fastText 预训练模型应该可以帮助您完成分类任务。
另一方面,gensim 可以加载模型并使用新文本对其进行训练,但如果您需要考虑新词,则需要使用
build_vocab(更新=真...)
因此,您可以使用 fastText 预训练嵌入到 gensim 并使用您的文本进行更新。
是的,您可以在使用预先训练的词向量时微调您的嵌入。如果您使用的是 tensorflow,请在您的tf.get_variable参数中设置trainable=True. 它会起作用的原因是,只有 2M 词将从预训练的嵌入中提取。这些嵌入已经接近局部最优,并且可以在很少的迭代中进一步优化。