Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: XXXIII Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 16 ноября 2017 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Ларькин П.В. ПРИМЕНЕНИЕ СИНТАКСИЧЕСКИХ АНАЛИЗАТОРОВ В СИСТЕМАХ ПРОВЕРКИ СВОБОДНЫХ ОТВЕТОВ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ // Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ: сб. ст. по мат. XXXIII междунар. студ. науч.-практ. конф. № 22(33). URL: https://sibac.info/archive/meghdis/22(33).pdf (дата обращения: 24.12.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

ПРИМЕНЕНИЕ СИНТАКСИЧЕСКИХ АНАЛИЗАТОРОВ В СИСТЕМАХ ПРОВЕРКИ СВОБОДНЫХ ОТВЕТОВ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ

Ларькин Павел Викторович

студент магистратуры, кафедра вычислительной математики и программирования МАИ,

РФ, г. Москва

Чернышов Лев Николаевич

научный руководитель,

канд. физ.-мат. наук, доц. МАИ,

РФ, г. Москва

Стремительный процесс развития информационных технологий диктует потребность в совершенствовании процесса обучения и тестирования знаний учащихся. Для достижения высокой эффективности дистанционного образования необходимо организовывать качественную обратную связь с обучаемым. Последнее обеспечивается в интеллектуальных обучающих системах контролем знаний обучаемого, осуществляемого автоматическими тестирующими подсистемами. Целью таких систем, анализирующих ответ студента на естественном языке, является выявление смысла, заложенного в ответе, и последующее сравнение со смыслом эталонного ответа, заданного преподавателем. В данной статье рассмотрена пригодность использования синтаксических анализаторов в качестве вспомогательных инструментов для оценки свободных ответов.

На текущий момент существует более двух десятков инструментов для синтаксического и семантического анализа [1], но выбор необходимо сузить с учетом следующих требований – инструмент должен быть бесплатным и поддерживать русский язык. Далее будут рассмотренные инструменты, удовлетворяющие установленным требованиям.

Томита Парсер.

Томита-парсер [2] – разработка Яндекса для извлечения структурированных данных из текста на естественном языке. Для вычленения фактов используются свободно-контекстные грамматики и словари. Грамматики описываются на формальном языке «Томита». Язык описания грамматик позволяет очень гибко описывать правила извлечения фактов и является идеальным решением для случаев, когда мы заранее знаем класс фактов, которые мы хотим извлечь – например, даты рождения, адреса, родственные связи и роли в кино.

Ниже приведен листинг с описанием грамматических правил для поиска в тексте названий улиц, шоссе, проездов.

#encoding "utf-8"

StreetW -> 'проспект' | 'проезд' | 'улица' | 'шоссе';

StreetSocr -> 'пр' | 'просп' | 'пр-д' | 'ул' | 'ш';

StreetDescr -> StreetW | StreetSocr;

StreetNameNoun -> (Adj<gnc-agr[1]>) Word<gnc-agr[1],rt> (Word<gram="род">);

NumberW_1 -> AnyWord<wff=/[1-9]?[0-9]-?((ый)|(ий)|(ой)|й)/> {outgram="муж,ед,им"};

NumberW_2 -> AnyWord<wff=/[1-9]?[0-9]-?((ая)|(яя)|(ья)|я)/> {outgram="жен,ед,им"};

NumberW_3 -> AnyWord<wff=/[1-9]?[0-9]-?((ее)|(ье)|(ое)|е)/> {outgram="сред,ед,им"};

NumberW -> NumberW_1 | NumberW_2 | NumberW_3;

StreetNameAdj -> Adj<h-reg1> Adj*;

StreetNameAdj -> NumberW<gnc-agr[1]> Adj<gnc-agr[1]>;

Street -> StreetDescr interp (Address.Descr) StreetNameNoun<gram="род", h-reg1> interp (Address.StreetName::not_norm);

Street -> StreetDescr interp (Address.Descr) StreetNameNoun<gram="им", h-reg1> interp (Address.StreetName::not_norm);

Street -> StreetNameAdj<gnc-agr[1]> interp (Address.StreetName) StreetW<gnc-agr[1]> interp (Address.Descr);

Street -> StreetNameAdj interp (Address.StreetName) StreetSocr interp (Address.Descr);

Такие правила бы пришлось писать для каждой новой предметной области и типа вопроса. В рамках задачи тестирования с ответами на контекстно-свободных языках Томита-парсер является отличным решением для системы тестирования знания фактов, так как позволяет прозрачно описать, в отличие от нейронной сети, правила извлечения. Но для обслуживания такой системы потребуется группа специалистов, которая будет заниматься поддержкой и разработкой новых правил.

Проект АОТ

Проект АОТ[3] – один из самых распространенных инструментов для анализов текстов на русском языке. Синтаксический анализ построен на методе «Head-Driven Phrase Structure Grammar» - формальной грамматике, являющейся надстройкой над грамматикой составляющих, которая включает в себя лексическую информацию. Метод заключается в поиске главной синтаксической подгруппы,  и является набором правил для рекурсивного построения дерева из групп [4]. В результате получается дерево синтаксических фрагментов и групп. Пример разбор простого приложения приведен ниже:

 

Рисунок 1. Пример синтаксического разбора средствами АОТ

 

При оценке ответа на свободном языке возможно выделять пары или деревья синтаксических связей для последующего сравнения с заданным эталонным ответом, с заранее выделенными синтаксическими связями. При этом возникает дополнительная задача интерпретации синтаксического дерева в набор семантических отношений между словами.

MaltParser

MaltParser - инструмент для работы с деревьями зависимостей, написанный на Java. Позволяет построить модель по размеченному корпусу и строить деревья для новых данных основываясь на ней. Для обучения модели для работы с русским языком обычно используется корпус СинТагРус. Инструмент прост в обращении, так как распространяется в виде jar-приложения и имеет набор заранее обученных моделей. Слабым местом инструмента является производительность – синтаксический разбор предложения «Дом, который построил Джек» занял 13 секунд.

SyntaxNet

SyntaxNet - это основанный на TensorFlow фреймворк определения синтаксических связей, использует нейронную сеть. В настоящий момент поддерживается 40 языков, в том числе и Русский. Более того, для TensorFlow опубликован исходный код уже натренированной модели нейронной сети "Parsey McParseface", пригодная для разбора текста. Система была разработана в рамках проекта, основными задачами которого является придание компьютерным системам возможности читать и понимать человеческий язык. Точность модели обученной на корпусе СинТагРус оценивается в 87.44% по метрике LAS (Label Attachment Score – точность предсказания главного слова и отношений зависимостей к главному слову); 91.68% по метрике UAS (Ulabled Attachment Score – точность предсказания только главного слова) и с точностью в 98.27% определт часть речи и грамматические характеристики слов [5].

Инструмент «MaltParser» и фреймворк «SyntaxNet» похожи в методах определения синтаксических отношений, они оба обучаются на размеченных корпусах  и строят деревья зависимостей. Недостатком «MaltParser» является то, что при обучении на одинаковом корпусе, скорость парсинга и анализа одного запроса у него на порядок ниже, чем у SyntaxNet (13 секунд против 0.5 секунд для предложения «Дом, который построил Джек»).

Приведем пример разбора предложения данным фреймворком:

 

Рисунок 2. Пример синтаксического разбора средствами SyntaxNet

 

Как и в случае разбора средствами АОТ, где мы получили дерево отношений, из результата анализа предложения SyntaxNet можно извлечь связи между словами для последующего сравнения со связями эталонного ответа, но в данном случае результат описывается грамматикой зависимостей, а не грамматикой составляющих.

В случае SyntaxNet можно предполагать, что  с растущей популярностью использования нейронных сетей в компьютерной лингвистике, качество моделей со временем будет улучшаться, а размер размеченных корпусов расти, тем самым повышая качество проводимого синтаксического анализа и расширяя сферу его применения.

 

Список литературы:

  1. Обработка текста – NLPub.ru [Электронный ресурс] – Режим доступа. – URL: https://nlpub.ru/Обработка_текста (дата обращения 11.11.2017)
  2. Томита-парсер – технологии Яндекса [Электронный ресурс] – Режим доступа. – URL: https://tech.yandex.ru/tomita/ (дата обращения 11.11.2017)
  3. Проект АОТ [Электронный ресурс] – Режим доступа. – URL: http://aot.ru/index.html (дата обращения 11.11.2017)
  4. Ножов И.М. Морфологическая и синтаксическая обработка текста (модели и программы), диссертационная работа, 2000, Москва
  5. Sboev A.G., Gudovskikh D.V., Ivanov I., Moloshnikov I.A., Rybka R.B., Voronina I. Research of a Deep Learning Neural Network Effectiveness for a Morphological Parser of Russian Language, 2017.
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий