Разработка синтаксического анализатора для русского языка с помощью категориальной грамматики в NLTK и синтаксических правил АОТ
Анна Денисовна Москвина
Докладчик
аспирант
Санкт-Петербургский государственный университет
Санкт-Петербургский государственный университет
Дарья Орлова
Докладчик
магистрант 1 курса
Санкт-Петербургский государственный университет
Санкт-Петербургский государственный университет
129
2016-04-19
12:40 -
13:00
Ключевые слова, аннотация
Данная
работа посвящена разработке синтаксического анализатора русского языка для
работы в NLTK. Этот анализатор использует данные разметки морфоанализатора
PyMorphy2; на основе правил, описанных в проекте АОТ, строит и анализирует синтаксические
группы в терминах категориальной грамматики. В докладе будет описано имеющееся
программное обеспечение, алгоритм работы программы и проведен анализ проблем и
дальнейших перспектив.
Тезисы
Синтаксический анализ (или парсинг) — это процесс сопоставления линейной последовательности
лексем языка с его формальной грамматикой. Парсинг является неотъемлемой частью
современной компьютерной лингвистики и широко применяется в таких сферах как
машинный перевод и автоматическая генерация текста.
На данный
момент существует множество парсеров для английского языка, однако для русского
языка эта сфера по-прежнему остаётся малоизученной. Существующие парсеры чаще
всего оказываются коммерческими или узкоспециализированными.
Целью нашей
работы является создание работающего прототипа программы, которая будет
производить синтаксический анализ предложения.
Наш парсер
основан на синтаксических правилах (группах) проекта АОТ, которые мы адаптируем
для среды NLTK. NLTK — специализированная среда для
автоматической обработки текстов, позволяющая работать с различными ресурсами и
инструментами.
Работа производится на языке Python. Инструменты NLTK позволяют осуществлять полный цикл автоматической обработки текста, в том числе синтаксический анализ. В качестве входных данных для синтаксического анализа нам нужен морфологически размеченный текст. Для этого мы используем морфологический анализатор PyMorphy2, который умеет возвращать грамматическую информацию о слове и ставить слово в начальную форму. Для выделения синтаксических групп в русском языке важным оказывается явление согласования, поэтому мы решили создать категориальную грамматику (feature based grammar), работа с которой также предусмотрена в среде NLTK. Эта грамматика позволяет удобно описывать синтаксические ограничения на согласование при помощи введения категорий частей речи, не прописывая конкретные значения этих категорий. На данный момент наша программа умеет обрабатывать все части речи и составлять из них синтаксические группы. В будущем мы планируем расширить функционал парсера так, чтобы он мог анализировать любые грамматически верные предложения русского языка.
Работа производится на языке Python. Инструменты NLTK позволяют осуществлять полный цикл автоматической обработки текста, в том числе синтаксический анализ. В качестве входных данных для синтаксического анализа нам нужен морфологически размеченный текст. Для этого мы используем морфологический анализатор PyMorphy2, который умеет возвращать грамматическую информацию о слове и ставить слово в начальную форму. Для выделения синтаксических групп в русском языке важным оказывается явление согласования, поэтому мы решили создать категориальную грамматику (feature based grammar), работа с которой также предусмотрена в среде NLTK. Эта грамматика позволяет удобно описывать синтаксические ограничения на согласование при помощи введения категорий частей речи, не прописывая конкретные значения этих категорий. На данный момент наша программа умеет обрабатывать все части речи и составлять из них синтаксические группы. В будущем мы планируем расширить функционал парсера так, чтобы он мог анализировать любые грамматически верные предложения русского языка.