Как сгенерировать несколько деревьев синтаксического анализа для двусмысленного предложения в NLTK?

У меня есть следующий код в Python.

sent = [("very","ADJ"),("colourful","ADJ"),("ice","NN"),("cream","NN"),("van","NN")] patterns= r""" NP:{<ADJ>*<NN>+} """ NPChunker=nltk.RegexpParser(patterns) # create chunk parser for s in NPChunker.nbest_parse(sent): print s.draw() 

Выход:

 (S (NP very/ADJ colourful/ADJ ice/NN cream/NN van/NN)) 

Но на выходе должно быть еще 2 дерева синтаксического анализа.

 (S (NP very/ADJ colourful/ADJ ice/NN) (NP cream/NN) (NP van/NN)) (S (NP very/ADJ colourful/ADJ ice/NN cream/NN) van/NN) 

Проблема в том, что только первое регулярное выражение берется RegexpParser. Как я могу генерировать все возможные деревья разбора сразу?

One Solution collect form web for “Как сгенерировать несколько деревьев синтаксического анализа для двусмысленного предложения в NLTK?”

Это невозможно в классе RegexpParser. Он наследует метод nbest_parse из интерфейса ParserI, и, глядя на исходный код ( https://github.com/nltk/nltk/blob/master/nltk/parse/api.py ), можно видеть, что он просто по умолчанию запуская метод разбора базового класса и возвращая его как итерируемый.

Поскольку кто-то пытался объяснить в Chunking с помощью nltk , классы chunking не являются инструментом для использования для этой цели (пока!), Посмотрите на http://nltk.org/book/ch08.html , есть несколько быстрых примеров , который займет у вас только половину того, чего вы хотите достичь, что требует много предварительной обработки и умного дизайна.

  • Есть ли более быстрый способ очистки управляющих символов в файле?
  • Как создать новые столбцы для хранения данных столбца дублирующегося идентификатора?
  • NLTK regexp tokenizer не играет хорошо с десятичной точкой в ​​регулярном выражении
  • Разбить XML-файл на объект Python
  • изменение оператора ** на силовую функцию с помощью синтаксического анализа?
  • Библиотека, чтобы проверить, равны / изоморфны два регулярных выражения
  • Как проверить пароль регулярного выражения в Python?
  • python - поиск и поиск regex
  • Совместимость с PHP preg_match в Python
  • IPv6 regexp python
  • Regex добавить символ к строке
  •  
    Interesting Posts for Van-Lav

    Как рассчитать cohen's d в Python?

    Доступ к элементам во вложенном списке

    Pyparsing, разбор содержимого блоков комментариев функции php с использованием вложенных парсеров

    Создание новых переменных в цикле с именами из списка в Python

    Очистка данных Python

    разбиение на страницы с помощью модуля cmd python

    Методы ускорения времени сборки в проекте с использованием битбокса?

    как я могу получить отсутствие красных пикселей и отсутствие чёрных пикселей в изображении PIL

    valueError в modelforms

    невозможно создать новый канал в javascript API канала

    Какое свойство возвращает регулярное выражение, используемое при вызове re.compile?

    Вставка нескольких строк с помощью psycopg2

    Быстрый способ получить количество NaN в столбце, отсчитываемом от последнего действительного значения в DataFrame

    Изучение python и потоков. Я думаю, что мой код работает бесконечно. Помогите мне найти ошибки?

    Django views.py обновляет разбивку на страницы из выбора категории в режиме класса

    Python - лучший язык программирования в мире.