首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么时候我应该考虑使用列车前模型的word2vec模型权重?

什么时候我应该考虑使用列车前模型的word2vec模型权重?
EN

Stack Overflow用户
提问于 2021-04-14 22:06:59
回答 1查看 463关注 0票数 0

假设我的语料库相当大,有成千上万个独特的单词。我可以直接使用它构建一个word2vec模型(下面代码中的方法#1 ),也可以用预先训练的模型权重初始化一个新的word2vec模型,并使用我自己的语料库对其进行微调(方法2)。第二种方法值得考虑吗?如果是这样的话,我在什么时候应该考虑一个预先训练过的模型,是否有一个经验法则?

代码语言:javascript
复制
# Approach #1
from gensim.models import Word2Vec
model = Word2Vec(my_corpus, vector_size=300, min_count=1)

# Approach #2
model = Word2Vec(vector_size=300, min_count=1)
model.build_vocab(my_corpus)
model.intersect_word2vec_format("GoogleNews-vectors-negative300.bin", binary=True, lockf=1.0)
model.train(my_corpus, total_examples=len(my_corpus))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-14 22:34:28

这类问题的一般答案是:你应该同时尝试这两种方法,看看哪一种更适合你的目的。

没有你准确的数据和项目目标,没有人能确定哪一个在你的情况下会更好地工作,而且你需要同样的能力来评估互斥者的选择来做各种基本的,必要的调整你的工作。

另外:

  • 的“微调”字2vec--向量可能意味着许多事情,并且可以引入一些专家级的棘手的权衡决策--只有当您有了一种健壮的方法来测试不同的选择时,才能进行权衡。
  • 是您的代码所展示的特定的简单调优方法--它依赖于一种在最新的Gensim中可能不起作用的实验方法(intersect_word2vec_format()) --是相当有限的,而且由于它丢弃了外部向量中尚未在您自己的语料库中的所有单词,此外,人们经常想要混合旧的载体,以涵盖更多的单词,而不是在他们的训练数据中,这也是人们想要混合的一个主要原因。(我怀疑这种方法在很多情况下都是有用的,但正如上面所述,为了确保您想要在data/goals.
  • It's上尝试这种方法,将min_count=1与word2vec &类似的算法一起使用几乎总是一个坏主意。如果这些罕见的单词真的很重要,那么就找更多的训练例子,这样就可以训练出好的向量。但是如果没有足够的训练例子,它们通常更好地被忽略--保持它们甚至会使周围单词的向量变得更糟。--
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67099706

复制
相关文章

相似问题

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