如何解决预测新的bow_corpus LDA Mallet Python
我正在使用文档样本运行LDA Mallet。我建立bow_corpus并运行算法。一切正常。然后,我尝试在不同的集合上运行算法以获得预测。我执行相同的步骤来构建new_bow_corpus(从上面复制/粘贴),但是出现以下错误: 你碰巧知道发生了什么吗?
解决方法
免责声明:没有您的代码,很难重现您的确切问题。
KeyError表示您的id2token映射不包含键625
。
这意味着第二个语料库中至少有一个令牌不包含用于训练的第一个语料库。
可能是您提到的那样
从上方复制/粘贴[您的代码]
您使用不同的Dictionary
创建了第二个单词袋(BOW)语料库。当您尝试在该语料库上进行预测时,您的token-> id映射(或分别为id-> token映射)与用于学习LDA模型的映射不匹配。
换句话说,您的主题模型不知道测试BOW语料库中使用的术语。
您需要使用同一词典进行培训和测试,才能成功创建预测。
from gensim.corpora.dictionary import Dictionary
dictionary = Dictionary(training_texts)
train_corpus = [dictionary.doc2bow(text) for text in training_texts]
test_corpus = [dictionary.doc2bow(text) for text in test_texts]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。