2014-01-20 2 views
0

Я использую charniak parser - bllip-parser для вывода канала. Иногда синтаксический анализатор не может разобрать предложение. Как README, существует один аргумент '-S', который говорит синтаксическому анализатору сохранять молчание, когда он не может разобрать какое-либо предложение, и он просто переходит к следующему предложению. Но используя этот аргумент, синтаксический анализатор не переходит к следующему предложению. Он по-прежнему вызывает исключение.Silent Charniak Parse, когда он не может разобрать предложение - он не работает

Мой вход парсера:

./parseIt, -l400, -K, -t4, -S, -EInputTagFile.txt, ../DATA/EN/, InputTextFile.txt 

Вывод этой команды (ошибка):

Warning [parseIt.C:266] Sentence 4: Parse failed from 0, inf or nan probabililty -- reparsing without POS constraints 
Warning [ChartBase.C:172] Sentence 4: estimating the counts on a zero-probability sentence 
parseIt: MeChart.C:105: Bst& MeChart::findMapParse(): Assertion `s' failed. 
Aborted (core dumped) 

Что случилось с аргументом "-ную? Какие-либо предложения ?

ответ

2

Предупреждения были вызваны ошибкой и должны быть исправлены. См. GitHub ticket.

Парсер не должен запускаться в многопоточном режиме (это не потокобезопасно), который, как я подозреваю, является источником ошибки утверждения и последующим abort().

+0

После применения исправления и удаления аргумента - '-l400' - он отлично работает. Предложение было около 400 символов. Вот почему я использовал '-l400'. Но если я использую '-l400' или более 400, он будет вызывать одно и то же исключение. Я думаю, что нить в моем случае не имеет значения. Я изменил максимальную длину предложения до 999 в «Feature.h». Спасибо, Дэвид. – unknown

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