StanfordCoreNLP: Почему у SemanticGraph несколько корней (например, синтаксический анализ зависимостей)

В определении класса SemanticGraph, который используется для анализа зависимостей.

Вот определение переменной "корни" как совокупности вершин:

private final Collection<IndexedWord> roots;

У меня вопрос: почему коллекция? В каких случаях нам понадобится более одной вершины в качестве корня?

https://github.com/stanfordnlp/CoreNLP/blob/master/src/edu/stanford/nlp/semgraph/SemanticGraph.java


person Daniel    schedule 30.01.2015    source источник


Ответы (1)


Честно говоря, SemanticGraph имеет много исторического кода, который был мотивирован его первоначальным использованием в системе RTE (распознавание текстового ввода), а не для синтаксического анализа зависимостей, поэтому не вдавайтесь в подробности. Но, тем не менее, существуют различные довольно естественные варианты использования (например, синтаксический анализ фрагмента или вывод операций семантического преобразования графа), которые могут привести к отключенным графам и, следовательно, к множественным корням.

person Christopher Manning    schedule 31.01.2015
comment
Спасибо Крису за разъяснения. Не могли бы вы привести пример предложения, для которого анализ зависимостей возвращает фрагментированные графики (только для одного предложения)? - person Daniel; 31.01.2015
comment
Этого не происходит ... или не должно. Наши синтаксические анализы зависимостей всегда должны быть подключены. - person Christopher Manning; 02.02.2015
comment
Понятно. Спасибо за объяснение. - person Daniel; 02.02.2015