gpt4 book ai didi

lda - gensim lda 模型 - 用看不见的单词调用语料库的更新

转载 作者:行者123 更新时间:2023-12-03 18:38:36 28 4
gpt4 key购买 nike

我正在尝试使用 gensim's lda模型。如果我用给定的语料库创建 lda 模型,然后我想用一个新的语料库更新它,其中包含在第一个语料库中看不到的单词,我该怎么做?当我尝试调用 lda_model.update(new_corpus) ,我收到以下错误:

/Library/Python/2.7/site-packages/gensim/models/ldamodel.pyc in inference(self, chunk, collect_sstats)
361 Elogthetad = Elogtheta[d, :]
362 expElogthetad = expElogtheta[d, :]
-->363 expElogbetad = self.expElogbeta[:, ids]
364
365 # The optimal phi_{dwk} is proportional to expElogthetad_k * expElogbetad_w.
IndexError: index 57 is out of bounds for axis 1 with size 57

我用一个只包含 57 个单词的语料库初始化了 lda_model,所以这就是我们看到大小 57 的原因。边界。然后我想用更多单词的语料库对其进行更新,但失败了。

我该如何解决这个问题?我希望能够用带有新词的新语料库更新我的 lda 模型,这可能吗?

最佳答案

不,您必须使用相同的字典(单词与其整数 id 之间的映射)进行训练、更新和推理。

这意味着您可以使用新文档更新模型,但不能使用新的单词类型。

查看 HashDictionary使用“散列技巧”来解决此限制的类(但散列技巧有其自身的警告)。

关于lda - gensim lda 模型 - 用看不见的单词调用语料库的更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22196248/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com