Извините, если мой вопрос является базовым, но я довольно новичок в НЛП и все еще пытаюсь понять некоторые концепции.
Я хотел обучить синтаксический анализатор деревьев с помощью банка деревьев UPenn, используя реализацию алгоритма Витерби в библиотеке NLTK. Однако я хочу, чтобы мой синтаксический анализатор принимал в качестве входных данных уже предложения с тегами POS. Другими словами, Я хочу, чтобы он идентифицировал только мелкие нетерминальные производства .
С помощью оболочки NLTK для уже обученного анализатора Stanford это просто достигается с помощью полезного модуля tagged_parse
:
from nltk.parser import stanford
stanford_parser = stanford.StanfordParser()
parsed_sentence = stanford_parser.tagged_parse(tagged_sentence)
где tagged_sentence
- список кортежей, содержащих токенизированное предложение и соответствующий POS-тег. Например:
tagged_sentence = [('hello', 'VB'), ('stack', 'NN'), ('exchange', 'NN')]
Мой вопрос: как реализовать эквивалент tagged_parse
в синтаксическом анализаторе Витерби NLTK?
Примечание: для обучения парсера Витерби я следую Разделу 3 этих раздаточных решений . Также будут приветствоваться другие ссылки на учебные ресурсы на Python.