处理模型中未找到的gensim中的新单词

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了处理模型中未找到的gensim中的新单词相关的知识,希望对你有一定的参考价值。

假设我试图使用distance()计算单词和文档之间的平均距离,或者使用n_similarity()计算两个文档之间的余弦相似度。但是,让我们说这些新文档包含原始模型没有的单词。 gensim如何处理这个问题?

我一直在阅读文档,无法找到gensim用不完整的单词做什么。

我更倾向于gensim不计算平均值。所以,在distance()的情况下,它应该不会返回任何我可以在使用numpy计算均值之前轻易删除的东西。在n_similarity的情况下,gensim当然必须自己做....

我问,因为我的程序必须分类的文件和文字在某些情况下会包含我在分类过程中不想考虑的未知单词,名称,品牌等。所以,我想知道我是否必须预处理我想要分类的每个文档。

答案

根据上下文,Gensim通常会忽略未知单词,或者在精确单词查找失败时抛出KeyError之类的错误。 (另外,像FastText这样的一些单词矢量模型可以根据训练过程中观察到的单词片段,合成对于未知单词更好的猜测向量。)

您应该使用感兴趣的特定模型/方法尝试所需的操作,以观察结果。

如果抛出操作中断错误并且代码出现问题,您可以预先过滤单词列表以删除模型中不存在的那些。

另一答案

模型是在向量上定义的,默认情况下,它们仅依赖于旧单词,因此我不希望它们依赖于新单词。

取决于代码,新单词仍然可能影响结果。为了保存,我建议在一个小文本上测试你的特定模型和/或指标(有和没有一堆新单词)。

以上是关于处理模型中未找到的gensim中的新单词的主要内容,如果未能解决你的问题,请参考以下文章

如何从 gensim 模型中的 Doc2Vec 相似度分数访问文档详细信息?

从 LDA 主题模型生成文档

根据Gensim模型计算余弦相似度

基于Gensim的文本相似度计算

使用 Gensim 获得 LDA 模型的最佳主题数量的最佳方法是啥?

如何从 gensim 打印 LDA 主题模型? Python