У NLTK есть инструмент для анализа зависимостей?

Я создаю приложение NLP и использую Stanford Parser для большей части моей работы синтаксического анализа, но я бы хотел начать использовать Python.

Пока что NLTK кажется лучшим, но я не могу понять, как анализировать грамматические зависимости. То есть это пример из Стэнфордского Парсера. Я хочу, чтобы иметь возможность создавать это в NTLK, используя Python из исходного предложения "Я переключаюсь на Python".:

nsubj(switching-3, I-1)
aux(switching-3, am-2)
prep_to(switching-3, Python-5)

Может ли кто-нибудь дать мне толчок в правильном направлении для разбора грамматических зависимостей?

Ответы

Ответ 1

NLTK включает поддержку использования MaltParser, см. nltk.parse.malt.MaltParser.

Предварительно подготовленная английская модель для MaltParser, доступная здесь, анализирует базовое представление зависимости Stanford. Тем не менее, вам все равно нужно вызвать Stanford JavaNLP-код, чтобы преобразовать базовые зависимости в обработанное CC представление, приведенное выше в вашем примере синтаксического анализа.