首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Gensim 4.0微调预训练的Word2Vec模型

用Gensim 4.0微调预训练的Word2Vec模型
EN

Data Science用户
提问于 2021-07-07 12:34:09
回答 1查看 1.9K关注 0票数 2

使用Gensim < 4.0,我们可以使用以下代码重新训练word2vec模型:

代码语言:javascript
复制
model = Word2Vec.load_word2vec_format("GoogleNews-vectors-negative300.bin", binary=True)
model.train(my_corpus, total_examples=len(my_corpus), epochs=model.epochs)

然而,我理解的是Gensim 4.0不再支持Word2Vec.load_word2vec_format。相反,我只能加载keyedVectors。

如何用我的领域专用语料库微调一个预先训练过的word2vec模型(例如GoogleNews训练的模型)?

EN

回答 1

Data Science用户

发布于 2022-03-06 19:30:22

您可以使用Gensim 4.0尝试以下步骤对特定域的语料库进行微调:

  1. 创建一个向量大小与预训练模型Word2Vec =Word2Vec(vector_size=.,min_count=.,.)相同的Word2Vec模型
  2. 为新语料库w2vModel.build_vocab(my_corpus)构建词汇表
  3. 创建一个向量,以确定预训练向量的可变性。在以前的Gensim版本中,这曾经是intersect_word2vec_format函数的一个锁参数。使用1的向量确保在微调w2vModel.wv.vectors_lockf = np.ones(len(w2vModel.wv))期间更新词汇表中的所有单词。
  4. 使用intersect_word2vec_format函数执行词汇表交叉,为预培训词汇表中的单词初始化新的嵌入。我引用正式的Gensim文档如下: intersect_word2vec_format 1

合并为从原始Cword2vec工具格式加载的输入隐藏权重矩阵,其中它与当前词汇表相交。现有词汇表中没有添加任何单词,但相交的单词采用文件的权重,而不相交的单词则单独使用。

代码语言:javascript
复制
w2vModel.wv.intersect_word2vec_format('pretrained.bin', binary=True)
  1. 现在,您可以在新的语料库w2vModel.train(my_corpus,total_examples=len(my_corpus),epochs=.
票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/97568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档