Что означает вывод для анализа зависимостей TurboParser?

#nlp #parse-tree

#nlp #синтаксический анализ-дерево

Вопрос:

Я пытался использовать деревья анализа зависимостей, созданные TurboParser CMU. Это работает безупречно. Проблема, однако, в том, что документации очень мало. Мне нужно точно понять вывод их анализатора. Например, предложение «Я решил проблему с помощью статистики». генерирует следующий вывод:

 1   I           _   PRP PRP _   2   SUB
2   solved      _   VBD VBD _   0   ROOT
3   the         _   DT  DT  _   4   NMOD
4   problem     _   NN  NN  _   2   OBJ
5   with        _   IN  IN  _   2   VMOD
6   statistics  _   NNS NNS _   5   PMOD
7   .           _   .   .   _   2   P
  

Я не нашел никакой документации, которая могла бы помочь понять, что означают различные столбцы и как индексы во предпоследнем столбце (2, 0, 4, 2, … ) создаются. Кроме того, я понятия не имею, почему два столбца посвящены тегам части речи. Любая помощь (или ссылка на внешнюю документацию) окажет большую помощь.

PS Если вы хотите попробовать их анализатор, вот их онлайн-демонстрация.

P.P.S. Пожалуйста, не предлагайте использовать вывод анализа зависимостей Стэнфорда. Меня интересуют алгоритмы линейного программирования, а это не то, что делает система NLP в Стэнфорде.

Ответ №1:

Вот значение каждого из столбцов, которые выводит TurboParser:

  1. идентификатор токена, то есть его индекс на основе одного в предложении
  2. исходный токен, как это было в исходном тексте
  3. лемма, лемматизированная форма токена (здесь пусто, потому что лемматизатор не установлен)
  4. тег (тег с грубой частью речи)
  5. тег (мелкозернистый тег части речи, который совпадает с 4. с TurboParser)
  6. морфологические признаки (здесь пусто)
  7. заголовок токена, представленный его индексом (корневой токен имеет значение head 0 )
  8. связь текущего токена с его заголовком

Сгенерированный вами вывод может быть представлен в виде дерева синтаксического анализа на основе зависимостей:

представление дерева синтаксического анализа на основе зависимостей

Для получения дополнительной информации о формате CoNLL-X:

Ответ №2:

Я не знаю TurboParser, но я предполагаю, что первое число указывает идентификатор токена, а второе число указывает идентификатор его регулятора. То есть для вашего примера:

 solved(
 I,
 problem(the),
 with(statistics),
 .
)
  

На самом деле, это формат CoNLL-X. Вы можете получить более подробную информацию здесь: http://ilk.uvt.nl/conll/#dataformat