繁体   English   中英

将Python字符串传递给Mallet以进行主题建模

[英]Passing Python strings to Mallet for topic modelling

我正在使用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知识的情况下进行操作。

对不起,这是我的第一个牛仔竞技表演。

如果您仍在寻找解决方案:Gensim(一个Python主题建模/机器学习包)有一个Mallet的包装器,它易于使用且记录良好。 以下是一些Gensim教程和Mallet包装器的特定教程 您可能还需要阅读一些安装说明(主要是关于设置Java内存的部分) 在这里 ,然后你会准备好去。

我曾尝试用NLTK项目实现Mallet ,并且在死胡同之后我也陷入了死胡同。 我认为要保留的主要内容是Mallet是基于Java的,而NLTK是用Python编写的。

你已经知道了,但我个人认为我在努力混合技术,因为我没有扎实的Java背景。 我从同事那里收到了关于使用Python的Mallet的相同反馈,“准备花很多时间调试。”

从那时起,我一直在使用sklearn库进行Python。 它更普遍地针对机器学习,而不是直接针对NLP,但可以很好地用于它。 它配备了大量的建模工具,大部分都依赖于NumPy所以它应该非常快。 我已经使用了很多,可以说它写得很好并且有文档记录。

我不想阻止你使用Mallet,特别是因为我这么说。 但是如果您对替代方案持开放态度,我认为您会发现在使用NLTK构建项目时,使用Python模块要容易得多,因为它本身是用Python编写的。 我希望这有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM