Парсер stanford (http://nlp.stanford.edu/software/lex-parser.html), версия 3.6.0, поставляется с обученными грамматиками для английского, немецкого и других языков. Чтобы разобрать текст на немецком языке анализатор Стэнфорд предоставляет инструмент lexparser-lang.shstanford parser не может читать немецкий умляут
./lexparser-lang.sh
Usage: lexparser-lang.sh lang len grammar out_file FILE...
lang : Language to parse (Arabic, English, Chinese, German, French)
len : Maximum length of the sentences to parse
grammar : Serialized grammar file (look in the models jar)
out_file : Prefix for the output filename
FILE : List of files to parse
Так я называю его с этими параметрами:
[email protected]:stanford-parser-full-2015-12-09$ ./lexparser-lang.sh German 500 edu/stanford/nlp/models/lexparser/germanFactored.ser.gz factored german_test.txt
Входной файл german_test.txt содержит один немецкий фразу:
Fußball findet um 8 Uhr in der Halle statt.
Но «ß» приводит к предупреждению и неправильному результату. То же самое с «ä», «ö» и «ü». Теперь предполагается, что lexparser-lang.sh предназначен для обработки немецкого текста в качестве входных данных. Есть ли какой-либо вариант, который мне не хватает?
Как это:
[main] INFO edu.stanford.nlp.parser.lexparser.LexicalizedParser - Loading parser from serialized file edu/stanford/nlp/models/lexparser/germanFactored.ser.gz ...
done [3.8 sec].
Parsing file: german_test.txt
Apr 01, 2016 12:48:45 AM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: (U+9F, decimal: 159)
Parsing [sent. 1 len. 11]: Fuà ball findet um 8 Uhr in der Halle statt .
Parsed file: german_test.txt [1 sentences].
Parsed 11 words in 1 sentences (32.07 wds/sec; 2.92 sents/sec).
С синтаксическое дерево, которое выглядит как дерьмо:
(S (ADV FuÃ) (ADV ball) (VVFIN findet)
(PP (APPR um) (CARD 8) (NN Uhr))
(PP (APPR in) (ART der) (NN Halle))
(PTKVZ statt) ($. .))
Как это должно быть
Когда написано "Fussball", там не является проблемой (за исключением неправильной орфографии)
[main] INFO edu.stanford.nlp.parser.lexparser.LexicalizedParser - Loading parser from serialized file edu/stanford/nlp/models/lexparser/germanFactored.ser.gz ...
done [3.5 sec].
Parsing file: german_test.txt
Parsing [sent. 1 len. 10]: Fussball findet um 8 Uhr in der Halle statt .
Parsed file: german_test.txt [1 sentences].
Parsed 10 words in 1 sentences (40.98 wds/sec; 4.10 sents/sec).
Правильное дерево:
(S (NN Fussball) (VVFIN findet)
(PP (APPR um) (CARD 8) (NN Uhr))
(PP (APPR in) (ART der) (NN Halle))
(PTKVZ statt) ($. .))
интересно видеть, что результат не очень хороший. На самом деле это неправильно. Последнее слово должно быть (PTKVZ statt). – Sadik
Я допустил ошибку. См. Обновленный ответ. – StanfordNLPHelp
спасибо. Я с нетерпением жду следующего обновления! – Sadik