2016-03-08 2 views
3

У меня есть один пример, где Стэнфорд NLP выводит странное дерево разбора для предложения:Stanford NLP - VP против NP

Clean my desk 

enter image description here

(ROOT 
    (NP 
    (NP (JJ Clean)) 
    (NP (PRP$ my) (NN desk)))) 

Как вы можете видеть, обозначит слово Clean как прилагательное, зависящее от глагола desk, причем вся фраза помечена как Noun Phrase, а мое ожидание - для Clean, которое будет помечено как глагол, а фаза - Verb Phrase.

Комбинация JJ-PRP $ -NN просто не имеет смысла на английском языке для меня. Кто-нибудь сталкивался с чем-то похожим? Я знаю, что результаты Стэнфордского НЛП иногда различаются в зависимости от последовательности (?) Инструментов анализа. Как правильно сделать этот тег?

ответ

0

Как это происходит, если вы подаете предложение "Clean my desk" непосредственно анализатор (на самом деле, в «разметить», «ssplit» и «разбор» инструменты), это дает следующий результат:

(ROOT (NP (NP (NNP Clean)) (NP (PRP$ my) (NN desk)))) 

Однако , теперь "Clean" - это правильное существительное - очень умное, Стэнфорд. Таким образом, если мы кормим наказание в с первым словом в нижнем регистре - "clean my desk" - мы, наконец, получить то, что мы ищем:

(ROOT (S (VP (VB clean) (NP (PRP$ my) (NN desk))))) 

Будьте осторожны, чтобы не превратить полное предложение в нижнем регистре. Во время тестирования я заметил, что слово "I" превращено в нижний регистр "i" отмечено как FW (Foreign Word), поэтому только скрытое первое слово в нижнем регистре.

1

CoreNLP, как известно, плохо относится к этим типам императивных утверждений. Вероятно, эта ошибка связана с неправильной тегировкой тегов POS «чистое» как прилагательное, хотя, похоже, синтаксический анализатор также совершает ту же ошибку.

+0

Спасибо Габор. Я попытаюсь проверить запуск парсера, не запуская сначала теггер POS, и посмотрим, имеет ли это значение. – artooras