您的工作目录设置不正确。 Log4j 是 Malt Parser 使用的包(参见:maltparser-1.7.2/lib/log4j.jar)。用于逻辑记录。
为了在 NLTK 中运行 maltparser,工作目录应设置为此文件夹(在您的情况下:/home/abc/maltparser-1.7.2)。
因此,第一步是从 git 获取最新的 NLTK:
克隆https://github.com/nltk/nltk.git https://github.com/nltk/nltk.git
安装NLTK:
sudo python setup.py 安装
要使用 NLTK 运行 Malt Parser,请尝试以下代码示例:
import os
import nltk
os.environ['MALTPARSERHOME']="/home/abc/maltparser-1.7.2"
verbose = False
maltParser = nltk.parse.malt.MaltParser(working_dir="/home/abc/maltparser-1.7.2",
mco="engmalt.linear-1.7",
additional_java_args=['-Xmx512m'])
print(maltParser.raw_parse('This is a test sentence', verbose=verbose).tree().pprint())
您可能会注意到,我正在使用预先学习的 mco 文件 (engmalt.linear-1.7),可以从此处下载:http://www.maltparser.org/mco/english_parser/engmalt.html http://www.maltparser.org/mco/english_parser/engmalt.html
将此 mco 文件移动到:/home/abc/maltparser-1.7.2 目录。
最后,NLTK 除外,malt.jar 除外。因此创建一个副本(或重命名):
cp maltparser-1.7.2.jar malt.jar
它仍然可以位于您的 /home/abc/maltparser-1.7.2.jar 目录中。
希望你能让它运行起来!