У Stanford NLP POS Tagger есть проблемы с очень простыми фразами?

Я нашел примеры непоследовательного поведения в своем приложении с использованием Stanford NLP Parser / POS Tagger, и я смог воспроизвести его в Интернете http://nlp.stanford.edu:8080/corenlp/process. Я использую версию 3.60:

Вот 3 проблемы, которые я обнаружил на данный момент:

  • Точка с проблемой несоответствия или без нее:

NLP Stanford POS Tagger с точкой и без нее

  • Глаголы в виде существительных  введите описание изображения здесь

  • Глаголы, помеченные как прилагательные  введите описание изображения здесь

Я знаю, что этот язык довольно неоднозначен, но я хотел бы знать, могу ли я доверять этой библиотеке даже для этих простых фраз. Хотелось бы также знать, делаю ли я что-то не так. Я пробовал проблемные случаи каждого примера отдельно или, другими словами, в отдельных предложениях, и проблема не исчезла.

Это ожидаемое поведение:

введите описание изображения здесь

Любая помощь приветствуется! Спасибо


person Michail Michailidis    schedule 20.03.2016    source источник
comment
Поставить пробел перед точкой?   -  person alvas    schedule 20.03.2016
comment
@alvas Я только что попробовал, и это не меняет поведения ни одной из проблем, связанных с полной остановкой   -  person Michail Michailidis    schedule 20.03.2016


Ответы (2)


Вы не делаете ничего плохого. Вы, конечно, можете сами решить, насколько доверять любому инструменту, но я подозреваю, что вы столкнетесь с аналогичными проблемами с любым парсером, обученным эмпирически / статистически. Что касается ваших проблем:

  • Периоды обрабатываются так же, как и любой другой токен при построении модели, поэтому да, они могут влиять на выбранный синтаксический анализ.
  • В английском языке действительно много двусмысленностей (как и во всех других человеческих языках), и вопрос о том, следует ли интерпретировать формы, оканчивающиеся на ing, как глаголы, существительные (глагольные существительные или герундий) или прилагательные - обычное дело. Парсер не всегда понимает это правильно.
  • Что касается конкретных плохих выборов, которые он сделал, часто они отражают несоответствие использования / домена между данными обучения синтаксического анализатора и предложениями, которые вы пытаетесь. Данные по обучению - это преимущественно новостные статьи - статьи из новостей последнего тысячелетия, если на то пошло - хотя мы действительно смешиваем некоторые другие данные и иногда добавляем к ним. Так:

    • The use of flagging as a verb, common in modern internet developer use, doesn't occur at all in the training data, so it not surprisingly tends to choose JJ for flagging, since that's the analysis of the only cases in the training data.
    • В новостных статьях пьянство - это просто существительное, с обсуждением употребления алкоголя несовершеннолетними, употребления кофе, вождения в нетрезвом виде и т. д.
person Christopher Manning    schedule 20.03.2016
comment
Спасибо за хорошо объясненный ответ, профессор Мэннинг :) - Я предполагал, что результаты с более короткими фразами будут более предсказуемыми, но похоже, что данные обучения не соответствуют моим собственным данным. Я исследую, как я могу обучить парсер сам. Когда я читаю, это процесс, требующий больших усилий? - person Michail Michailidis; 21.03.2016

Различные результаты POS-тегеров сводили меня с ума, поэтому для проверки работоспособности я наконец написал что-то, чтобы быстро сравнить результаты с тремя обычно используемыми (Stanford NLP, NLTK 3.2.1 и Senna). определенный текст. https://github.com/StealthyK/TaggerTimer

person stealthyK    schedule 28.07.2017