假设我正在尝试使用 distances() 计算单词和文档之间的平均距离,或者使用 n_similarity() 计算两个文档之间的余弦相似度。但是,假设这些新文档包含原始模型没有的单词。gensim 如何处理这个问题?我一直在阅读文档,找不到 gensim 对未找到的单词做了什么。我宁愿 gensim 不计入平均值。因此,在 distances() 的情况下,它不应该返回任何东西,或者在我使用 numpy. 在 n_similarity 的情况下,gensim 当然必须自己做......我之所以问,是因为我的程序必须分类的文档和单词在某些情况下会包含我不想在分类过程中考虑的未知单词、名称、品牌等。所以,我想知道我是否必须对我试图分类的每个文档进行预处理。
2 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
根据上下文,Gensim 通常要么忽略未知单词,要么抛出一个错误,比如KeyError
精确单词查找失败。(此外,一些词向量模型,例如FastText
,可以根据训练期间观察到的词片段为未知词合成优于无的猜测向量。)
您应该使用感兴趣的特定模型/方法尝试所需的操作以观察结果。
如果抛出了操作中断错误并且您的代码出现问题,您可以预先过滤您的单词列表以删除模型中不存在的那些。
慕标琳琳
TA贡献1830条经验 获得超9个赞
这些模型是在向量上定义的,默认情况下,向量只依赖于旧词,所以我不希望它们依赖于新词。
根据代码,新词仍然可能影响结果。为了安全起见,我建议在小文本上测试您的特定模型和/或指标(有和没有一堆新词)。
添加回答
举报
0/150
提交
取消