【问题标题】:Adding words to gensim word2vec model, but it's not shown in model.wv将单词添加到 gensim word2vec 模型中,但未在 model.wv 中显示
【发布时间】:2021-07-30 00:50:15
【问题描述】:

我有一个预训练的模型,但我需要在其中添加一些新词。

我试过了:

model.build_vocab([[new_word1, new_word2]], update=True)
model.train([[new_word1, new_word2]], total_examples=model.corpus_count, epochs=model.epochs)

但是当我检查时:

model.wv[new_word1]
model.wv[new_word2]

我明白了

KeyError: "Key {new_word1} not present"

与 new_word2 相同

我已经检查过了 How to add words and vectors manually to Word2vec gensim?

我该如何解决? 谢谢

【问题讨论】:

    标签: gensim word2vec


    【解决方案1】:

    如果您在 INFO 级别启用日志记录,您可能会看到更多提示,说明哪些地方可能没有达到预期效果。

    特别是,Word2Vec 使用的默认min_count 值为5,这意味着在提供给.build_vocab() 的语料库中出现少于5 次的任何单词都将被忽略。 (忽略这些稀有词几乎总是使用 word2vec 算法的正确做法,该算法只有在一个词的用法有很多不同示例时才能学习有用的词向量。)

    如果您测试的确实只是 2 个新词,每个词只有一次使用,具有合理默认值的模型将忽略这两个单次出现的词。

    另外:扩展现有模型的词汇是一个棘手且容易出错的过程。大多数即兴/幼稚的方法不太可能可靠地产生良好的结果。在大多数情况下,更安全、更稳健的过程是使用所有新旧文本重新训练,而不是微小的新增量。

    【讨论】:

      猜你喜欢
      • 2017-09-21
      • 2016-12-04
      • 1970-01-01
      • 2018-07-19
      • 1970-01-01
      • 1970-01-01
      • 2019-05-26
      • 2019-01-07
      • 2019-05-17
      相关资源
      最近更新 更多