在模型中找不到gensim中的新词

时间:2019-04-16 14:48:12

标签: python nlp gensim

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

我一直在阅读文档,找不到gensim对未找到的单词所做的操作。

我希望gensim不将那些计入平均值。因此,在distances()的情况下,在我使用numpy计算均值之前,它不应简单地不返回任何内容或可以轻易删除的内容。在n_similarity的情况下,gensim当然必须自己完成。...

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

2 个答案:

答案 0 :(得分:0)

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

根据代码,仍然有可能使新单词影响结果。出于节省的考虑,我建议您在一个小文本(带有和不带有一堆新单词)上测试您的特定模型和/或指标。

答案 1 :(得分:0)

根据上下文,Gensim通常会忽略未知单词,或者在精确单词查找失败时抛出KeyError之类的错误。 (此外,某些词向量模型,例如FastText,可以根据训练期间观察到的词碎片,为未知词综合胜于虚无的猜测向量。)

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

如果引发操作中断错误并给您的代码带来问题,则可以预先过滤单词列表以删除模型中不存在的单词。