2013-11-20 4 views
1

Я пытаюсь разобрать предложение солодовым анализатором в NLTK. Когда я сделал raw_parse(sent), он дал ошибку с кодом выхода 1. Я выполнил команду java на терминале и он дает исключение класса Not Found, я не понимаю, что сейчас не так?Солодовый класс метания не найденного исключения

java -Xmx1024m -jar /usr/local/bin/malt.jar -w /home/abc/maltparser-1.7.2 -c engmalt.linear-1.7 -i /home/abc/maltparser-1.7.2/malt_input.conllrPZgwc -o /home/abc/maltparser-1.7.2/malt_output.conllDMSKpg -m parse Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Layout

+0

Обратите внимание, что в последней версии NLTK этот модуль исправлен красиво, см. Http://stackoverflow.com/questions/33015326/maltparser-giving-error-in-nltk – alvas

ответ

1

Ваш рабочий каталог настроен некорректно. Log4j - это пакет, используемый Malt Parser (см.: Maltparser-1.7.2/lib/log4j.jar). Используется для логического ведения журнала.

Для запуска maltparser в NLTK рабочий каталог должен быть установлен в эту папку (в вашем случае: /home/abc/maltparser-1.7.2).

Итак, первый шаг получает последнюю NLTK от мерзавца:

git clone https://github.com/nltk/nltk.git

Установка NLTK:

sudo python setup.py install

Чтобы запустить Солод Parser с помощью NLTK попробовать этот пример кода:

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

Переместить этот файл 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 каталоге.

Надеюсь, вы получите его!

Смежные вопросы