Разница между парсером и парсером зависимостей

В чем разница между парсером и парсером зависимостей? Каковы различные способы использования этих двух?

Ответ 1

Дерево синтаксического анализа разбивает текст на подфразы. Нетерминалы в дереве - это типы фраз, терминалы - это слова в предложении, а ребра - без метки. Для простого предложения "Джон видит Билл", синтаксический анализ будет:

                  Sentence
                     |
       +-------------+------------+
       |                          |
  Noun Phrase                Verb Phrase
       |                          |
     John                 +-------+--------+
                          |                |
                        Verb          Noun Phrase
                          |                |
                        sees              Bill

Анализ зависимостей связывает слова в соответствии с их отношениями. Каждая вершина в дереве представляет собой слово, дочерние узлы - это слова, которые зависят от родителя, а ребра обозначаются отношением. Анализ зависимости "Джон видит Билл":

              sees
                |
        +--------------+
subject |              | object
        |              |
      John            Bill

Вы должны использовать тип парсера, который приближает вас к цели. Если вас интересуют подфразы в предложении, вы, вероятно, хотите, чтобы синтаксический анализ проводился. Если вас интересуют отношения зависимостей между словами, тогда вы, вероятно, захотите проанализировать зависимость.

Анализатор Stanford может дать вам (онлайн-демонстрацию). Фактически, способ, которым он действительно работает, состоит в том, чтобы всегда анализировать предложение с помощью анализатора избирательности, а затем, при необходимости, он выполняет детерминированное (основанное на правилах) преобразование в дереве разбора окружения, чтобы преобразовать его в дерево зависимостей.

Подробнее можно найти здесь:

http://en.wikipedia.org/wiki/Phrase_structure_grammar

http://en.wikipedia.org/wiki/Dependency_grammar