【问题标题】:Passing Python strings to Mallet for topic modelling将 Python 字符串传递给 Mallet 以进行主题建模
【发布时间】:2014-03-18 13:37:13
【问题描述】:

我正在使用 BeautifulSoup 构建一个文本语料库,该语料库与一些 HTML 元数据一起收集。如果我可以从 Python 中调用 Mallet,并让它从 Python 字符串而不是目录中的文本文件中建模主题,那将非常有帮助。这样我就可以将 Mallet 定位的 n 个关键字放入每个文件中。

我收到一条消息说,当我运行时,Mallet 已被识别:

from nltk.classify import mallet
from subprocess import call
mallet.config_mallet("malletdir/mallet-2.0.7/bin")

但是我在接下来的步骤中没有任何运气,甚至不确定 Mallet 是否接受除了保存的文件之外的任何内容。

我无法找到任何我能真正理解的文档。有人看过可消化的文档吗? (NLTK 书没有进入 Mallet)。我也很乐意了解 Python 中的任何其他主题建模方法,我可以在没有真正深入的 Python 知识的情况下操作这些方法。

抱歉,这是我的第一个牛仔竞技表演。

【问题讨论】:

    标签: python nlp nltk topic-modeling mallet


    【解决方案1】:

    如果您仍在寻找解决方案:Gensim(一个 Python 主题建模/机器学习包)有一个用于 Mallet 的包装器,它易于使用且有据可查。 Here 是一些 Gensim 教程和特定的 tutorial 用于 Mallet 包装器。您可能还想阅读一些安装说明(主要是关于设置 Java 内存的部分)here,然后您就可以开始了。

    【讨论】:

      【解决方案2】:

      我曾经尝试在一个 NLTK 项目中实现Mallet,但我也陷入了一个又一个死胡同。我认为要保留的主要内容是 Mallet 是基于 Java 的,而 NLTK 是用 Python 编写的。

      您已经知道这一点,但我的观点是就我个人而言,我在混合这些技术方面遇到了困难,因为我没有很强的 Java 背景。我从同事那里收到了关于 Mallet 和 Python 的相同反馈,“准备好花大量时间调试。”

      从那时起,我一直在使用 Python 的 sklearn 库。它更广泛地针对机器学习,不直接用于 NLP,但可以很好地用于它。它提供了非常多的建模工具选择,其中大部分似乎都依赖于NumPy,所以它应该很快。我已经用过很多次了,可以说它写得很好,文档也很好。

      我不想阻止您使用 Mallet,尤其是因为我这么说。但是,如果您愿意接受替代方案,我想您会发现在使用 NLTK 构建项目时,使用 Python 模块要容易得多,因为它本身是用 Python 编写的。我希望这会有所帮助!

      【讨论】:

      • 是的,我在 sklearn 上阅读了一些内容,但是目前让事情正常运行同样糟糕——我在 OSX Lion 上,我无法安装 Scipy 或 matplotlib适当地!假设我可以,这种方法对您来说是否合适:scikit-learn.org/stable/auto_examples/applications/…?很抱歉打扰你——总的来说,这是一篇论文的一个相当小的组成部分,我不想走太多的死胡同。
      • 是的,这是一个很好的例子。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-27
      相关资源
      最近更新 更多