Разработка морфосинтаксического анализатора на основании морфемного словаря и построения деревьев зависимости

Написание программы морфосинтаксического анализатора, способной проводить морфологический и синтаксический анализ текстов на естественном языке (русском). Разработка метода морфологического и синтаксического разбора, структуры программного обеспечения.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.12.2019
Размер файла 45,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

3.2 Апробация

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

Для апробации морфологического анализатора, реализующего метод работы без лемматического словаря, были проведены модельные эксперименты. Тексты, выбранные для тестирования, были разделены на 3 класса:

* искусственные - короткие предложения с простой структурой;

* естественные простые - тексты, взятые из открытых источников, но очищенные от заведомо некорректной с точки зрения программы пунктуации и слов, которые программа заведомо не распознает в соответствии с функциональными требованиями;

* естественные усложненные - фрагмент текста, использованного в соревновании Dialogue Evaluation 2010, с сохранением пунктуации и всех слов.

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

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

Количество верно проанализированных слов по группе «искусственные тексты» составила 65-100% для частей речи и 0-50% для параметра «род/лицо».

Количество верно проанализированных слов по группе «естественные простые тексты» 61-84% для частей речи и 34-36% для параметра «род/лицо».

Количество верно проанализированных слов по группе «естественные сложные тексты» 61% для частей речи и 40% для параметра «род/лицо».

Для апробации синтаксического анализатора также были проведены модельные эксперименты. Тексты (предложения) были разделены на две группы:

* Упрощенные - тексты, не имеющие или почти не имеющие заведомо исключительных случаев для данного ПО.

* Реалистичные - тексты, взятые из литературных источников и не проходившие процедуру упрощения.

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

Во время тестов программа оценивалась по двум критериям - полнота дерева зависимостей и корректность зависимостей. Критерии являются независимыми и позволяют оценить реализованный алгоритм с различных точек зрения. Результаты апробации приведены в таблице 3.

Таблица 3. Результаты апробации синтаксического модуля

Упрощенные

Реалистичные

Полнота

67%

34%

Корректность

90%

50%

3.3 Выводы

По итогам работы были сделаны следующие выводы:

Предложенные реализации морфологического и синтаксического анализаторов соответствуют поставленным в первой главе дипломной работы задачам.

Точность работы анализаторов на данном этапе может считаться достаточной, но в дальнейшем требует улучшения.

Желательна доработка связующего модуля для отсева большего количества заведомо неверных гипотез.

Заключение

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

Список использованных источников

[1] Ермоленко Т.В. и Гайдамака А.С. Синтаксическая модель предложения русского языка на основе предикатных структур // Искусственный интеллект, 2012, № 3. -- С. 126-136.

[2] Зимовец Н.В. и Санивская Е.А. Синтаксические модели предложения: подходы к выделению

[3] Соревнование Dialogue Evaluation 2010. Официальный сайт конференции Диалог, 2010. URL: http://www.dialog-21.ru/dialogue2010/results/ (дата обращения 29.01.2019)

[4] Гашков А.В. Повышение точности определения морфологических признаков неизвестных слов методом аналогий с помощью нечетких множеств. // Вестник Челябинского государственного университета, 2014, № 7 (336). Филология. Искусствоведение. Вып. 89. -- С. 20-23.

[5] Официальный сайт библиотеки Pymorphy. URL: https://pythonhosted.org/pymorphy (дата обращения 17.03.2019)

[6] Официальный сайт ABBYY Compreno. URL: https://www.abbyy.com/ru-ru/infoextractor/compreno/?utm_source=google&utm_medium=cpc&utm_campaign=ga-sdk&utm_content={source_type}+t:{position_type}+a:{addphrases}+p:{position}&utm_term=%2Babbyy%20%2Bcompreno&gclid=CjwKEAjwutXIBRDV7-SDvdiNsUoSJACIlTqlMx6N1kkC5QNCupeyJRKNEahct2USuxbcIrgIUAX6sxoCOujw_wcB (дата обращения 18.03.2019)

[7] Диалог синтаксис 2012. URL: http://www.dialog-21.ru/media/1385/toldova.pdf (дата обращения 16.04.2019)

[8]SEMSIN на конференции dialog. URL: http://www.dialog-21.ru/media/1394/kanevsky.pdf (дата обращения 21.04.2019)

[9]ABBYY на конференции dialog. URL: http://www.dialog-21.ru/media/1386/anisimovich.pdf (дата обращения 21.04.2019)

Размещено на Allbest.ru

...

Подобные документы

  • Проектирование программы-анализатора, состоящей из двух частей: лексического анализатора, разбивающего исходный текст программы на лексемы и заполняющего таблицу имен; синтаксического анализатора, проверяющего соответствие текста заданной грамматике.

    курсовая работа [2,0 M], добавлен 14.06.2010

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

    курсовая работа [761,5 K], добавлен 23.02.2012

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

    курсовая работа [28,5 K], добавлен 28.06.2011

  • Разработка программного приложения, производящего проверку синтаксиса простой программы: выбор метода создания синтаксического анализатора, описание требований к программному обеспечению, написание алгоритмов решения и тестирование конечного продукта.

    курсовая работа [579,7 K], добавлен 03.07.2011

  • Методы грамматического разбора при разработке учебного транслятора. Проектирование лексического анализатора и магазинного автомата. Программная реализация синтаксического анализатора текстового языка высокого уровня. Разработка модуля интерпретации.

    курсовая работа [697,2 K], добавлен 06.01.2013

  • Создание алгоритма для построения синтаксического анализатора полиномов и его реализация в среде Visual Studio 2005 на языке программирования C#. Программное решение задачи поиска максимального числа единиц в бинарном представлении простых чисел.

    курсовая работа [723,5 K], добавлен 04.10.2010

  • Место компилятора в программном обеспечении. Принципы работы и автоматизация построения синтаксического анализатора. Дерево разбора и его преобразование в дерево операций. Назначение и этапы семантического анализа. Идентификация языков программирования.

    реферат [265,1 K], добавлен 20.12.2007

  • Понятие синтаксического анализа. Программный продукт для обработки данных строкового типа. Построение сканера текстов с использованием утилиты flex, синтаксического анализатора с помощью утилиты bison. Грамматика языка программирования обработки строк.

    курсовая работа [261,7 K], добавлен 29.10.2012

  • Программная реализация синтаксического анализатора произвольного текста. Матрица и дерево переходов для программы. Код программы с построчным комментарием. Порядок запуска среды разработки Visual Studio. Интерфейс и номера Лихтенштейна, скриншот.

    контрольная работа [855,1 K], добавлен 13.02.2014

  • Синтаксический анализ простой программы на языке С. Предварительный выбор метода решения задачи. Разработка технологии обработки информации. Проектирование программных модулей. Процесс тестирования программы. Требования к программному обеспечению.

    курсовая работа [934,7 K], добавлен 01.07.2011

  • Общая характеристика и оценка возможностей языка программирования си-шарп, его сходные и отличительные черты от С++ и Java. Разработка с помощью данного языка программирования лексического и синтаксического анализатора. Составление таблиц разбора.

    курсовая работа [111,6 K], добавлен 11.06.2010

  • Синтаксически ориентированная трансляция: общие понятия; транслятор, интерпретатор, препроцессор. Программная реализация трансляции, основанной на структуре текста; идея Н. Хомского; языковые процессоры. Заголовочные файлы, алгоритмы и функции программы.

    курсовая работа [734,3 K], добавлен 04.06.2013

  • Рaзрaботка программного приложения (синтаксического aнaлизaторa), которое производит проверку синтaксисa простейшей программы на языке С++. Процедура проверки арифметических и логический выражений. Механизм удаления всех фиктивных переменных из программы.

    курсовая работа [27,2 K], добавлен 28.06.2011

  • Этапы разработки программного приложения, выполняющего синтаксический анализ программы на языке С и форматирование текста программы на языке С. Требования к программному обеспечению и интерфейсу. Конфигурация технических средств и оценка надежности.

    курсовая работа [1,6 M], добавлен 22.06.2011

  • Конструкции условных операторов if-else и простые типы языка Си. Общая схема работы компилятора. Алгоритм построения дерева разбора, строки вывода синтаксического разбора. Построение обратной польской записи как формы внутреннего представления программы.

    курсовая работа [1,3 M], добавлен 01.06.2013

  • Эксплуатация анализатора качества электроэнергии Satec PM175. Создание документов "Видение" и "Спецификация требований" для системы сбора данных с анализатора. Проектирование серверного и клиентского приложения в среде программного обеспечения LabVIEW.

    курсовая работа [830,6 K], добавлен 25.09.2013

  • Детерминированная автоматная модель синтаксического анализатора. Исследование структуры разработанной программы, требования к функциональности, Основные элементы и принципы реализации. Листинг спроектированной программы и анализ полученных результатов.

    курсовая работа [69,1 K], добавлен 11.12.2015

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

    курсовая работа [254,0 K], добавлен 02.07.2011

  • Разработка технологии обработки информации, структуры и формы представления данных. Проектирование программных модулей. Блок-схема алгоритма и исходный код программы анализа арифметического выражения, синтаксического анализа простой программы на языке С.

    курсовая работа [2,4 M], добавлен 12.12.2011

  • Структура, классификация и требования к реализации компилятора. Проектирование и реализация анализирующей части компилятора языка С++. Способы реализации лексического анализа. Алгоритм работы синтаксического анализатора. Принципы программной реализации.

    курсовая работа [774,2 K], добавлен 26.01.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.