Содержание к диссертации
Введение
Глава 1. Вопросно-ответные системы: принципы построения, проблемы реализации 13
1.1. Обзор существующих разработок вопросно-ответных систем 13
1.2. Семантический анализ текста 27
1.3. Выводы 39
Глава 2. Математическая модель семантического анализатора русскоязычного текста, основанная на онтосемантических правилах 41
2.1. Семантическое отношение 43
2.2. Семантический граф 44
2.3. Математическая модель семантического анализатора 45
2.4. Алгоритм работы семантического анализатора 53
2.5. Выводы 56
Глава 3. Разработка алгоритмов работы вопросно-ответных систем, основанных на использовании семантического анализатора 58
3.1. Классификация вопросительных предложений 58
3.2. Сравнение семантических структур текстов 62
3.3. Вопросно-ответная система, основанная на прямом сравнении семантических графов 64
3.4. Вопросно-ответная система, основанная на нечетком сравнении онтосемантических графов 69
3.5. Выводы 87
Глава 4. Программная реализация семантического анализатора и ее применение в вопросно-ответных системах 88
4.1. Программная реализация семантического анализатора
4.2. Применение программной реализации семантического анализатора в вопросно-ответных системах 101
4.3. Выводы 105
Заключение 107
Литература
- Семантический анализ текста
- Семантический граф
- Сравнение семантических структур текстов
- Применение программной реализации семантического анализатора в вопросно-ответных системах
Введение к работе
Актуальность темы.
В современном обществе люди все больше времени расходуют на анализ текстов, предположительно содержащих интересующие их факты. С целью сократить время поиска необходимой информации, разрабатываются программные системы, призванные упростить поиск требуемой информации в большом объеме текста. Наиболее предпочтительным способом извлечения требуемой информации из большого объема естественно-языковых текстов для многих пользователей является диалог конечного пользователя с вопросно-ответной системой, которая допускает вопросы на естественном языке без каких-либо специальных ограничений, и получение ответов в такой же естественно-языковой форме.
Создание качественной вопросно-ответной системы и обеспечение свободного доступа к ней позволит значительно сократить время, затрачиваемое на поиск нужной информации в больших объемах текста.
Большинство разработанных в настоящее время реализаций вопросно-ответных систем ориентировано на один из самых распространенных языков мира — английский. Самая известная из них — это система Watson. В настоящее время с ней не может конкурировать ни одна русскоязычная вопросно-ответная система. В первую очередь это обусловлено отставанием российских разработок в области автоматической обработки русскоязычных текстов по сравнению с их аналогами, ориентированными на английский язык, а также с отставанием в развитии больших открытых русскоязычных онтологий, сравнимых по полноте с лексической базой данных WordNet.
В основе любой вопросно-ответной системы лежит машинный анализ текстов. При этом задача разработки семантического анализатора (одна из основополагающих задач автоматической обработки текста), решаемая для русского языка, является как наиболее сложной, так и наименее проработанной задачей из данной области.
Цель диссертационной работы заключается в разработке и программной реализации семантического анализатора русскоязычного текста для вопросно-ответной системы.
Достижение поставленной цели требует решения следующих задач:
-
Разработка математической модели и алгоритма работы семантического анализатора русскоязычного текста;
-
Разработка алгоритмов работы вопросно-ответной системы, использующей результаты работы семантического анализатора;
3. Программная реализация алгоритмов семантического анализатора текста и вопросно-ответной системы, использующей данные такого анализатора.
Методы исследования. В диссертационной работе используются методы математического моделирования, математической логики и искусственного интеллекта. В программной реализации разработанных алгоритмов применяются численные методы и современные технологии программирования.
Научная новизна. Разработана новая математическая модель семантического анализатора естественно-языкового текста, позволяющая находить семантические отношения в анализируемом тексте с помощью использования онтосемантических правил.
Особенность предлагаемой модели семантического анализа заключается в том, что анализируемый текст, поступающий на вход семантическому анализатору, постепенно сокращается: некоторые части текста, в соответствии с онтосемантическими правилами, добавляются в очередь с приоритетом на удаление; последовательно из анализируемого текста удаляются части текста, соответствующие элементу очереди с наивысшим приоритетом, этот же элемент удаляется и из очереди. В процессе работы анализатора после изменений текста срабатывают новые правила, которые приводят к обновлению очереди с приоритетом.
Разработанная математическая модель семантического анализатора позволяет в качестве основы реализации использовать основанные на правилах экспертные системы, осуществляющие выполнение онтосемантических правил. Так, например, использование экспертной системы Drools 6.5 позволило использовать широкие возможности языка описания правил экспертной системы, а также использовать алгоритм быстрого сопоставления с шаблонами PHREAK и блок логического вывода экспертной системы, что обеспечило повышение функциональных возможностей семантического анализатора и увеличило скорость его работы.
Разработан алгоритм работы вопросно-ответной системы, основанный на результатах работы семантического анализатора, математическая модель которого предлагается в работе. Работа такой системы базируется на нечетком сравнении онтосемантических графов. Результат сравнения онтосеман-тических графов предлагается представлять в виде величины, называемой коэффициентом схожести этих графов. Алгоритм вычисления этого коэффициента предлагается в диссертационной работе. Предложенный алгоритм работы вопросно-ответной системы позволяет находить ответы в предложениях анализируемого текста, имеющих с вопросительным предложением разную
семантическую структуру. При поиске ответа на вопрос учитывается информация из онтологии, что позволяет улучшить качество работы системы.
Теоретическая и практическая значимость. Предложенная в работе модель семантического анализатора русскоязычного текста может использоваться в системах автоматической обработки текстов. Программная реализация вопросно-ответной системы может использоваться как в качестве самостоятельного программного продукта, позволяющего облегчить поиск нужной информации в больших объемах текстовых данных, так и в качестве основы для разработки узкоспециализированной вопросно-ответной системы.
Поддержка научными фондами. Часть результатов диссертационной работы была получена в рамках выполнения исследований при финансовой поддержке РГНФ (проект №15-04-12029 «Программная разработка электронного ресурса с онлайн-версией русскоязычной вопросно-ответной системы»).
Основные положения, выносимые на защиту:
-
Разработана новая математическая модель семантического анализатора, основанная на онтосемантических правилах.
-
Создана база онтосемантических правил, применяемая в работе семантического анализатора, основанного на разработанной модели.
-
Разработан новый алгоритм работы вопросно-ответной системы, основанный на нечетком сравнении онтосемантических графов.
-
Разработаны и реализованы программные комплексы, обеспечивающие работу семантического анализатора и вопросно-ответной системы, использующей результаты работы данного анализатора.
Апробация работы. Основные результаты работы были представлены и обсуждены на следующих научных мероприятиях:
-
Международный конгресс по интеллектуальным системам и информационным технологиям «AIS-IT». Дивноморское, 2012, 2013 гг.
-
Всероссийский конгресс молодых ученых. Санкт-Петербург, ИТМО, 2014, 2015 гг.
-
Международная Поспеловская летняя школа-семинар для студентов, магистрантов и аспирантов «Методы и технологии гибридного и синерге-тического искусственного интеллекта». Светлогорск, 2014 г.
-
VI Международная конференция «Системный анализ и информационные технологии». Светлогорск, 2015 г.
-
International Conference on Knowledge Engineering and Semantic Web (KESW), Москва, 2015 г.
-
V Всероссийский симпозиум «Инфраструктура научных информационных ресурсов и систем». Санкт-Петербург, 2015 г.
-
Artificial Intelligence and Natural Language & Information Extraction, Social Media and Web Search Finnish-Russian University Cooperation in Telecommunications Conference (AINL-ISMW FRUCT), Санкт-Петербург, 2015 г.
-
18th International Conference on Advanced Communication Technology (ICACT). Republic of Korea, Phoenix Park, 2016 г.
-
Межрегиональная конференция «Теория и практика современных гуманитарных и естественных наук». Петропавловск-Камчатский, 2016 г.
-
15-th Mexican International Conference on Artificial Intelligence (MICAI), Mexico, Cancun, 2016 г.
-
VIII Международная научная конференция «Прикладная лингвистика в науке и образовании. ALPAC REPORT — полвека после разгрома», Санкт-Петербург, 2016 г.
-
VI Всероссийская конференция «ЗНАНИЯ — ОНТОЛОГИИ — ТЕОРИИ», Новосибирск, 2017 г.
-
Вторая Российско-Тихоокеанская Конференция по Компьютерным Технологиям и Приложениям, Владивосток, 2017 г.
Публикации. Материалы диссертационной работы опубликованы в 21 печатной работе, из них 3 статьи в рецензируемых журналах, рекомендованных ВАК [1–3], 4 статьи в изданиях, индексируемом в библиографической базе Scopus [4–7], три статьи в изданиях, индексируемых в базе Web of Science [5–7], 9 статей проиндексировано в РИНЦ [1–6,17, 20, 21], 3 тезиса конференций [8–10], 2 брошюры [11,12]. Получено 2 свидетельства о государственной регистрации программы для ЭВМ [22,23].
Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, библиографического списка использованной литературы (135 наименований) и приложений. Имеет общий объем 128 страниц, содержит 22 рисунка и 7 таблиц.
Семантический анализ текста
Модуль обработки вопроса также определяет ключевые слова запроса, которые должны быть переданы модулю индексации данных (см. Рис. 1.2.)
Для индексации документов в Lasso используется поисковая система Zprise IR System. Также модуль индексации абзацев производит оценку качества найденных абзацев. В случае признания качества удовлетворительным, производится их упорядочивание в соответствии со степенью правдоподобия содержания ответа, в противном случае происходит добавление или удаление некоторых ключевых слов поиска, после чего поиск по обновленному списку ключевых слов возобновляется и система повторно оценивает качество найденных абзацев. Модуль проверки качества абзацев позволяет разумно уменьшить количество текста, передаваемого модулю ответа на вопрос.
С помощью «лексико-семантического анализатора», использующего при анализе словари Gazetteer и WordNet, в системе происходит определение типов Рис. 1.2. Архитектура вопросно-ответной системы LASSO [110]. сущностей слов анализируемого текста. Ранжирование найденных ответов по релевантности происходит с помощью оценочной функции, которая учитывает такие параметры, как пунктуационные особенности, количество найденных слов и др.
Не менее известна система WolframAlpha [132], созданная английским математиком Стивеном Вольфрамом — вопросно-ответная англоязычная система, основная отличительная особенность которой заключается в том, что ответы она не ищет, а вычисляет. Ответы на вопросы пользователей в этой системе формируются посредством обработки уникальной базы данных. Система имеет две версии — бесплатную и платную, которая позволяет конкретизировать ответы.
Также среди современных вопросно-ответных систем стоит отметить систему Qa-Lasie [123], которая была разработана в Шеффилдском университете для участия в конференции TREC QA Track9. Характерной особенностью этой системы является то, что результатом ответа на вопрос, заданный системе на естественном языке, является не набор документов или абзацев, а точный ответ на вопрос, хотя в системе и присутствует возможность просмотреть документ или набор документов, на базе анализа которых был сформирован точный ответ. Работа QA-LaSIE происходит в следующем порядке (см. рис. 1.3): вопросительное предложение, поступившее на вход программе, направляется поисковой системе OKAPI, которая среди имеющейся у нее проиндексированной коллекций документов выбирает 20 наиболее релевантных запросу.
Эти документы проходят обработку текстовым фильтром, работа которого нацелена на удаление форматирования текстов передаваемых ему документов таким образом, чтобы устранить возможные проблемы с его пониманием на последующих уровнях обработки документов. Обработанный таким образом набор из 20 документов передается для анализа самой системе QA-LaSIE, в работе которой можно выделить следующие основные этапы: 1. Токенизация — определяет границы различных разделов текста (заголовки, тело текста, разделы, которые не будут учитываться при анализе и т. п.); 2. Определение понятий, состоящих из нескольких слов (на базе словаря Gazetteer): географические названия, названия организаций, имена людей и т. п.; 3. Выделение границ предложений; 4. Определение частей речи (на базе Penn Tree Bank); 5. Морфологический анализ (определяет начальную форму и флексив-ный суффикс для существительных и глаголов); 6. Синтаксический анализатор; 7. Построение единой семантической сети по текстам документов, поданных на вход системе. Единая семантическая сеть призвана дать возможность системе анализировать на релевантность запросу не отдельные предложения текстовых документов, а цельные сущности такой сети.
Проанализировав все сущности каждого предложения из текстов входных документов, система вычисляет степень соответствия запросу для каждой такой сущности. При вычислении степени соответствия сущности запросу, учитывается такие параметры, как удаленность запрашиваемой сущности от предполагаемого ответа в семантической сети, наличие одинаковых сущностей в вопросе и ответе, также учитывается соответствие семантических единиц, связанных в сети с запрашиваемой сущностью и с ответом.
Пять наилучших сущностей, выбранных таким образом, также выводятся при ответе системы на поставленный вопрос.
Еще одна вопросно-ответная система, принявшая участие в TREC QA Track 10 — система TEQUESTA, архитектура которой представлена на рисунке 1.4 [112].
Как и большинство других вопросно-ответных систем, эта система создана на базе поисковой системы (в данном случае использовалась поисковая система FlexIR), но в отличие от QA-LaSIE, система TEQUESTA получает для после-дующиего анализа не 20 документов, наиболее релевантных запросу, а 100. Далее система производит частичный синтаксический анализ текстов найденных документов, в результате чего выделяются группы существительных, прилагательных и глаголов, а для каждой группы выделяется главное слово. Найденные группы формируют основные синтаксические зависимости. Затем система выделяет в анализируемых текстах именованные сущности, для каждой из которых определяется ее семантический тип (список семантических типов для системы TEQUESTA приведен в Таблице 1.1).
Семантический граф
В этой главе предлагается математическая модель семантического анализатора естественно-языкового текста и описывается алгоритм работы анализатора, составленный в соответствии с этой моделью. Разработанная в соответствии с описанным алгоритмом программная реализация семантического анализатора подробно описывается в главе 4.
Особенность предлагаемой модели семантического анализа заключается в том, что анализируемый текст, поступающий на вход семантическому анализатору, постепенно сокращается: некоторые части текста в соответствии с онтосе-мантическими правилами, добавляются в очередь с приоритетом на удаление; последовательно из анализируемого текста удаляются части текста, соответствующие элементу очереди с наивысшим приоритетом, этот же элемент удаляется и из очереди. В процессе работы анализатора после изменений текста срабатывают новые правила, которые приводят к обновлению очереди с приоритетом.
Таким образом, описываемая в этой главе модель подразумевает использование правил (назовем их онтосемантическими правилами) вида «Если А, то В», где А — некоторые условия, выполнение которых проверяется для анализируемого текста, а В — набор действий, которые должен выполнить семантический анализатор в случае, если проверяемые условия А выполняются.
Следует отметить, что одним из самых распространенных способов автоматической обработки текста является его сопоставление различным шаблонам. Например, в работе [66] автором описывается метод автоматического построения онтологий на основе лексико-синтаксических шаблонов. Метод синтаксических шаблонов, основанный на концепции падежной грамматики Ч. Филлмора, описанный в работах [82,83], используется для автоматического преобразования структур знаний, хранимых в базе данных (БД), в тексты естественного языка. Шаблоны также используются для формализации текстовой информации, что описано автором работы [85]. В этой же работе предлагается метод автоматического формирования шаблонов для идентификации сущностей и событий, а также алгоритмы формирования графа синтаксико-семантических отношений с помощью синтаксико-семантических шаблонов, создание которых предлагается автоматизировать. Синтаксические шаблоны сборки именных групп применяются для извлечения терминов словосочетаний [7,17]. Одним из эффективных методов извлечения семантических отношений является метод лексических шаблонов [30,100]. Marti Hearst [100] показал, что данный метод показывает «достаточно адекватный» результат для идентификации родо-видовых отношений. Шаблоны являются неотъемлемой частью машинного поиска в коллекции документов, а также во многих других областях автоматического анализа текста. Все вышеупомянутые шаблоны хотя и отличаются друг от друга, как отличаются и цели их составления, однако имеют одну общую характеристику: они сопоставляются с естественно-языковым текстом, который на протяжении всей операции сопоставления со всеми шаблонами остается неизменным. В данной работе предлагается метод сопоставления текста с базовыми семантическими шаблонами, в результате чего формируются семантические зависимости, связывающие части анализируемого предложения. Особенность этого алгоритма и отличие от вышеупомянутых способов сопоставления текста с шаблонами заключается в том, что анализируемое предложение, поступающее на вход семантическому анализатору, в ходе анализа постепенно сокращается: некоторые части предложения удаляются из последующего анализа при выполнении определенных условий, описанных в базовых онтосемантических шаблонах. В качестве семантических узлов, являющихся аргументами семантического отношения, будем рассматривать синтаксемы (под синтаксемой понимается минимальная, далее неделимая семантико-синтаксическая единица русского языка, выступающая одновременно как носитель элементарного (категориально-семантического) смысла и как конструктивный элемент более сложных синтаксических построений [22]).
Будем говорить, что два различных семантических узла и из одного предложения, связывает семантическая зависимость с именем (обозначим (,)), если между и существует некая универсальная бинарная связь [73]. Для конкретных семантических узлов , и зависимости направление выбирается таким образом, чтобы формула (,) была эквивалентна одному из двух следующих утверждений:
Сравнение семантических структур текстов
Каждый предполагаемый ответ может иметь одну или несколько неопределенных синтаксем, о которых известны лишь некоторые характеристики (например, морфологические или онтологические). Например, для вопросительного предложения «Когда впервые европейские мореходы обнаружили Новую Зеландию?» будет построено множество предполагаемых ответов, среди которых будут «X:время впервые европейские мореплаватели обнаружили Новую Зеландию?», «X:время впервые европейскими мореплавателями была обнаружена Новая Зеландия.» и др., где «X:время» — неопределенная синтаксема, о которой известна только онтологическая информация, свидетельствующая о том, что она обозначает время. Шаг 3. В каждом предполагаемом ответе QAi и каждом предложении текста выделяются синтаксемы. Таким образом, каждый предполагаемый ответ QAi и каждое предложение Tj текста Т представляется в виде кортежа (упорядоченного набора фиксированной длины) синтаксем: QAi = [qa,jyi, qaj -, , qdj,n]i Tj = [Т}д,Т};2, ...,Tj;Tn]. Шаг 4. В анализируемом тексте Т выбирается множество предложений ТА = Ti,T2,...,Tr (здесь введена новая нумерация для Tj) с максимальным значением величины Z(Tj), значение которого для каждого предложения Tj Є TQ рассчитывается по формуле: м Z{Tj) = ew ZjjW, ( ) w=l где ZjiW — количество синтаксем из некоторого предполагаемого ответа QAi, которые по определенным признакам совпадают с некоторыми синтаксема-ми из Tj, М — количество таких признаков, а ew — коэффициенты, которые определяют значимость признака из ZjiW для расчета коэффициента схожести онтосемантических графов. Например, для расчета Z(Tj) может быть применена следующая формула, являющаяся частным видом формулы ( ): Z(Tj) = Zj i + Zj + 0, 9 Zj + 0,8 Zj + 0,5- Zj , ( ) где Zj i — количество синтаксем из некоторого предполагаемого ответа QAi, побуквенно совпадающих с некоторыми синтаксемами из 7}; Zj — количество неопределенных синтаксем из некоторого QAi, характеристики которых полностью содержатся в характеристиках некоторых синтаксем из 7}; Zj — количество синтаксем из некоторого , которые с некоторыми синтаксемами из являются словоформами одной лексемы, но побуквенного совпадения при этом нет; ,4 — количество синтаксем из некоторого , которые с некоторыми синтаксемами из являются синонимами; ,5 = 1 + 22 + 33 + 44 + ..., где — количество синтаксем из некоторого , которые с некоторыми синтаксема-ми из являются гипонимами или гиперонимами -ого уровня в онтологии, которая используется при реализации алгоритма (например, в соответствии с онтологией РуТез [35], «чашка» является гипонимом 1-ого уровня для «посуда», гипонимом 2-го уровня для «кухонная утварь»).
Для примера рассмотрим предполагаемый ответ = «X:время впервые европейские мореплаватели обнаружили Новую Зеландию?» и некоторое предложение анализируемого текста = «Известный голландский мореплаватель и исследователь Тихого океана Абель Тасман открыл Новую Зеландию, острова Тонга и Фиджи». Для таких и по формуле ( ) вычислим (): 1. «обнаруживать» является синонимом для «открывать» ,4 := 1; 2. «Новая Зеландия» посимвольно совпадает с «Новая Зеландия» ,1 := 1; 3. «X: время» имеет онтологическую характеристику «время», которая содержится среди характеристик «1642 г.» ,2 := 1; 4. «мореход» является синонимом для «мореплаватель» ,4 := ,4 + 1 = 2; 5. «европейский» согласно онтологии РуТез [35], является гиперонимом 2-го уровня для «голландский» ,5 := 22 := 12; Таким образом, Z(Tj) = Zhi + Zh2 + 0,9 Zj$ + 0, 8 ZjA + 0, 5 Zjj5 = = 1 + 1 +0,9-0 +0,8-2 +0, 5-- = 3,85. Шаг 5. Для всех предполагаемых ответов QAj и каждого предложения Tj Є TQ с помощью онтосемантического анализатора, описанного в Главе 2, строятся онтосемантические графы G(QAi) и G(Tj) соответственно. Неопределенным синтаксемам из G(QAi) будут соответствовать неопределенные вершины. Например, для QAi и Tj из примера, приведенного в конце описания Шага 4, будут построены онтосемантические графы, представленные на риcунке 3.5. Шаг 6. Для каждой возможной пары онтосемантических графов (G(Tj),G(QAi)) по алгоритму из п. 3.4.4 этой работы вычисляется коэффициент схожести этих графов Des(G(Tj), G(QAi)). Шаг 7. Создать множество MD = {(Ті, MaxDesi), (Т2, MaxDes2),..., (Tr, MaxDesr)} из г элементов, каждый из которых представляет собой пару (Tj,MaxDeSj), где MaxDeSj — максимальное значение коэффициента схожести, рассчитанного для всех возможных пар (G(Tj), G(QAi)), где і Є [l../г]. Шаг 8. Значения множества MD отсортировать по убыванию MaxDeSj. Шаг 9. В качестве ответа пользователю выдать те предложения из Тд, которые являются первыми аргументами в элементах MD, а вторыми аргументами в этих элементах являются значения, превышающие некоторый порог L. При этом предложения, выдаваемые пользователю в качестве ответа должны быть отсортированы по убыванию значения второго аргумента в соответствующей паре из MD.
Применение программной реализации семантического анализатора в вопросно-ответных системах
На рисунке 4.5 приводится обобщенная архитектура вопросно-ответной системы [103], основанная на использовании семантического анализатора, построенного по математической модели, описанной в главе 2 (программная реализация анализатора на базе использования экспертной системы Drools 6.5 описывается в разделе 4.1). На вход вопросно-ответной системе подается вопрос на естественном языке и пользовательский текст , выбранный пользователем для поиска ответа на вопрос . Текст и вопрос поступают на вход модуля начальной обработки текста, в котором происходит выполнение следующих шагов: предварительная обработка, токенизация, морфологический анализ, выделение неделимых смысловых единиц. Результаты начальной обработки и записываются в () и () соответственно, после чего () и () поступают на вход онтологически-семантическому анализатору, который на основе использования программного кода, экспертной системы, онтологической базы знаний выполняет следующие действия: сопоставление синтаксем с узлами структурированной онтологии; построение онтосемантических графов () и (), узлы которого ссылаются на элементы структурированной онтологии. Структурированная онтология формируется на базе загружаемых в систему онтологий и семантических словарей с помощью модуля пополнения онтологии. Далее к онтологии, которые отправляются модулю взаимодействия с онтологией и формирования общего ответа. Этот модуль выполняет запросы к онтологической базе знаний и на базе полученных ответов формирует общий ответ .
Пунктирной рамкой на рисунке 4.5 обведены названия языка программирования (Java), экспертной системы (Drools [94]) онтологии (РуТез [35]), семантической платформы (Apache Jena [88]) и языка запросов (SPARQL [124]), с помощью которых был программно реализован прототип такой системы.
Ниже приведен пример SPARQL-запроса, который формируется вопросно-ответной системой, программно-реализованной в ходе диссертационной работы, для семантического графа, соответствующего вопросу «Какие существуют виды спорта?»: Приведенному SPARQL-запросу, адресованный онтологии РуТез, представленной в формате RDF, будет соответствовать ответ, состоящий из 133 элементов онтологии РуТез. Далее перечислены первые 10 из них: бег на длинную дистанцию, скелетон, прыжки в высоту, бобслейный спорт, баскетбол, легкоатлетический марафон, стендовая стрельба, горнолыжный супергигант, метание молота, хафпайп.
Идея использования SPARQL-запросов при разработке вопросно-ответных систем не нова: пример такой системы описывается в работе [6].
Разработанный и реализованный семантический анализатор используется в качестве программного модуля русскоязычной вопросно-ответной системы, основанной на прямом сравнении семантических графов. Алгоритмы работы системы предлагается в третьей главе диссертации в разделе 3.3. При разработке системы использовались словари синонимов [2] и антонимов [38]. В таблице 4.3 приведен пример работы такой вопросно-ответной системы, отвечающей на вопросы, заданные по тексту сказки Шарля Перро «Кот в сапогах». Таблица 4.3. Пример работы вопросно-ответной системы
Вопрос Ответ вопросно-ответной системы
Сколько детей было у мельника? Было у мельника три сына, и оставил он им, умирая, всего только мельницу, осла и кота. Кто попал в ловушку к коту? На этот раз к нему в ловушку попались две куропатки. Кому подал руку Маркиз? Маркиз подал руку прекрасной принцессе и повёл её вслед за королём, который, как полагается, шёл впереди. Кем стал кот? А кот стал знатным вельможей и с тех пор охотился на мышей только изредка — для собственного удовольствия. Когда маркиз женился? Маркиз почтительным поклоном поблагодарил короля за честь, оказанную ему, и в тот же день женился на принцессе. Что давал кот правителю? Кот то и дело приносил королю дичь, будто бы убитую на охоте его хозяином, маркизом де Карабасом.
Кто прыгнул в сумку коту? Долго ждать ему не пришлось: какой-то молоденький доверчивый простачок кролик сразу же прыгнул к нему в мешок. У кота была шляпа? Ответ не найден. Что было в мешке? А в мешке у него были отруби и заячья капуста. Сколько сыновей было у маркиза? Ответ не найден. 105 Птицы попались в капкан? Да. На этот раз к нему в ловушку попались две куропатки. Все словари, используемые в программной реализации семантического анализатора и вопросно-ответной системы, представлены в виде MySQL таблиц. Основные результаты, полученные в этой главе, опубликованы в работах [45,103, 109,135].
В четвертой главе диссертации описываются особенности программной реализации предложенных в работе алгоритмов, а именно: алгоритма работы семантического анализатора, реализованного в соответствии с математической моделью, предложенной в главе 2 и алгоритма работы вопросно-ответной системы, предложенного в разделе 3.3.
В ходе анализа результатов работы реализованных программ были сделаны следующие выводы:
1. Использование математической модели, описанной во второй главе диссертации, позволило создать на ее основе программу семантического анализа русскоязычного текста, интегрированную с онтологией. В качестве основы реализации семантического анализатора использовалась основанная на правилах экспертная система, осуществляющая выполнение онтосеманти-ческих правил.
2. Использование в программной реализации семантического анализатора экспертной системы Drools, осуществляющей поиск в тексте базовых он-тосемантических шаблонов в соответствии с алгоритмом PHREAK, осуществляющим быстрое сопоставление с шаблонами, позволило увеличить скорость работы семантического анализатора в 6-8 раз.