问题描述
我正在尝试使用 LDA MAllet 模型。但我面临“没有名为‘gensim.models.wrappers’的模块”错误。
-
我已经安装了 gensim 并且“gensim.models.Ldamulticore”工作正常。
-
Java 开发人员工具包已安装
-
我已经下载了 mallet-2.0.8.zip 并将其解压到 c:\ 驱动器上。
-
这是我要使用的代码:
import os from gensim.models.wrappers import Ldamallet os.environ.update({'MALLET_HOME':r'C:/mallet-2.0.8/'}) mallet_path = r'C:/mallet-2.0.8/bin/mallet'
有谁知道这里出了什么问题?非常感谢!
解决方法
如果您安装了最新的 Gensim 4.0.0(截至 2021 年 3 月下旬),则 LdaMallet
模型以及许多其他仅包含外部工具/API 的工具已被删除。
您可以在 Gensim 迁移指南中查看注释:
如果该工具的使用对您的项目至关重要,您可以:
-
安装旧版本的 Gensim,例如 3.8.3 - 当然,您随后会错过您正在使用的任何其他 Gensim 模型的最新修复和优化
-
提取
ldamallet.py
source code from that older version 并将其更新/移动到您自己的代码以供私人使用 - 处理出现的任何问题
我在使用 Gensim 的 MALLET 包装器时遇到了同样的问题,但不想降级。这个新包装器似乎可以很好地完成这项工作。
https://github.com/maria-antoniak/little-mallet-wrapper/blob/master/demo.ipynb