2012-01-27 71 views
5

任何人都可以告诉我如何在nltk.parse.malt中使用预培训的MaltParser模型(http://maltparser.org/mco/english_parser/engmalt.html)吗?唯一的选择似乎是从文件中进行培训(如果任何人都可以将我指向一个好的公开可用的培训文件,那也会很棒)。在NLTK中使用预培训的MaltParser模型

回答

1


使用预训练模型关于 - 看来,这已经(和它似乎仍然是)在NLTK开发论坛开放的主题: https://github.com/nltk/nltk/issues/145

据我了解,你可以做它通过设置一些内部变量:

“虽然你可以手动设置对象的MCO场,这不是 API暴露, 和一个没有深入代码的用户不会知道这一点。“

然而,我无法找到具体的地方做到这一点。

关于获得预训练模型 - 我指的是你这个话题上SO:

Does NLTK have a tool for dependency parsing?

3

在旧版本NLTK的MaltParser界面中使用硬编码路径模型。这已在承诺e9e443中得到修复。现在,您可以执行以下操作:

maltparser = MaltParser(mco="/path/to/your/model.mco") 

在撰写本文时,easy_install的和PIP仍然安装版本NLTK的不包括此修复程序(2.0.1rc4)。如果你不能切换到最前沿的版本,你可以使用下面的技巧:

maltparser = MaltParser() 
maltparser.mco = "/path/to/your/model.mco" 

预先训练模型可以在MaltParser's official website找到。