Введение
Достаточно объемная часть информационных ресурсов общества уровня развития, распологающихся в компьютерных сетях, представлена в виде текстов на естественно-языке (ЕЯ-текстами). Так как на сегодняшний момент можно наблюдать стремительный рост объемов информации данного типа все большую актуальность получают задачи автоматической обработки текстов (АОТ) на естественном языке, которые затрагивают обширный перечень практических приложений, которые представлены задачами получения знаний из текстов (Text Mining), задачами выполнения автоматической классификации и кластеризации текстовых документов, автоматического индексирования и реферирования, задачами семантического поиска, а также множеством задач подобного типа.
Целью данной работы является: повышение эффективности выявления противоречий в текстовых документах за счет анализа сообщений пользователя и построения семантической сети.
Чтобы достигнуть поставленную цель были решены следующие исследовательские задачи:
- Проведен анализ и исследование методов анализа сообщений пользователя с целью выявления противоречащих фактов;
- Составлено математическое описание системы анализа сообщений пользователя с целью выявления противоречащих фактов;
- Выполнена программную реализацию системы анализа сообщений пользователя с целью выявления противоречащих фактов;
- Проверена эффективность реализованных алгоритмов системы анализа сообщений пользователя с целью выявления противоречащих фактов.
Постановка задачи
В начале исследования были проанализированы следующие методы анализа текста: Интент-анализ, Контент-анализ, Фоносемантический анализ, Дискурс-анализ, Нарративный анализ, Экспертная оценка текста, Графематический анализ, Морфологический анализ, Синтаксический анализ и Семантический анализ.
Важным моментом, объединяющим все рассмотренные методики анализа текста, является тот факт, что в их основе находится представление о единице анализа. Но вне зависимости от типа методики анализа текста ко всем единицам анализа предъявляются два ключевых требования, которые обычно достаточно трудно совместить на практике: единицы контент-анализа должны быть однозначно опознаны в тексте и одновременно с этим должны быть значимы для последующей интерпретации.
Был выбран семантический анализ текста, т.к. данный метод, направлен на создание семантической структуры каждого предложения, которая состоит из семантических узлов и семантических отношений. Основой для формулирования гипотез о составе семантических узлов является информация, которая получена в результате выполнения синтаксического анализа текста. Результаты анализа обычно представлен в виде семантического графа, которой строится из ряда этапов (выполнение инициализации семантических узлов и синтаксических вариантов фрагментов текста, выполнение построения множества словарных интерпретаций узлов, выполнение построения групп времени, выполнение построения узлов в кавычках и т. д.).
Также был выполнен анализ встречающихся типов противоречий. Первый тип противоречий — противоречия в понятиях, т.е. в сообщении присутствуем само понятие и его отрицание в явной или неявной форме. Второй тип противоречий — противоречия в предикатах, т.е. формулировка названий функций, выполняемых каким-либо субъектом или объектом противоречит имеющимся законам (физическим или гражданским). В результате анализа типов противоречий было выявлена необходимость задания четких правил классификации и выявления противоречий для корректного функционирования системы.
Для выполнения сравнительного анализа программных продуктов семантического анализа текста зададим следующие критерии:
- A1 — загрузка и разбор нескольких текстовых файлов;
- A2 — поддержка загружаемых библиотек для анализа текста;
- A3– морфологический и синтаксический анализ текста;
- A4 — построение семантической сети;
- A5 — выявления противоречий в тексте.
Для определения весов критериев воспользуемся аналитической иерархической процедурой Саати.
Матрица парных сравнений, средние геометрические и веса критериев представлены в таблице 1.
A1 | A2 | A3 | A4 | A5 | Среднее геометрическое | Веса критериев | |
A1 | 1 | 1/3 | 1/5 | 1/7 | 1/7 | 0,27 | 0,037 |
A2 | 3 | 1 | 1/3 | 1/5 | 1/7 | 0,49 | 0,068 |
A3 | 5 | 3 | 1 | 1/3 | 1/3 | 1,00 | 0,139 |
A4 | 7 | 5 | 3 | 1 | 1/3 | 2,04 | 0,284 |
A5 | 7 | 7 | 3 | 3 | 1 | 3,38 | 0,471 |
Сумма | 7,17 | 1 |
Диаграмма, построенная по вычисленным значениям весовых коэффициентов для выбранных критериев представлена на рисунке 1.

Далее необходимо выполнить проверку матрицы попарных сравнений на непротиворечивость.
Вычисленные суммы столбцов матрицы парных сравнений:
R1=21; R2=16,3; R3=7.53; R4=4.68; R5=1.95.
Выполнив суммирование произведений сумм столбцов матрицы на весовые коэффициенты альтернатив рассчитывается вспомогательная величина L = 5.2. Индексом согласованности .
Величина случайной согласованности для размерности матрицы парных сравнений: S=1.12.
Отношение согласованности . не превышает 0.2, поэтому уточнение матрицы парных сравнений не требуется.
Используя полученные коэффициенты определим интегральный показатель качества для программных продуктов, выполняющих семантический анализ текста:
- Программа Concordance;
- Проект ВААЛ;
- Система LINGVO-MASTER;
- Система DictaScope Syntax;
- Разрабатываемая система.
Выберем шкалу соответствия критериям от 0 до 7 (где 0 — качество не удовлетворительно, 7 — предельно достижимый уровень качества на современном этапе) для оценки функциональных возможностей анализируемых программных продуктов.
Полученные значения весовых коэффициентов ai, которые соответствуют функциональным возможностям продуктов:
- Загрузка и разбор нескольких текстовых файлов; a1=0.037;
- Поддержка загружаемых библиотек для анализа текста a2=0.068;
- Морфологический и синтаксический анализ текста a3=0.139;
- Построение семантической сети a4=0.284;
- Выявления противоречий в тексте a5=0.471.
где .
Далее необходимо определить (по описанной выше шкале) количественные значения функциональных возможностей Xij (таблица 2). Вычислим интегральный показатель качества для каждого программного продукта.
Критерии | Весовые коэф-ты | Программные продукты | Базовые знач-я | |||
Concordance | Проект ВААЛ | Система LINGVO-MASTER | Система DictaScope Syntax | |||
a1 | 0,037 | 6 | 5 | 6 | 6 | 5,75 |
a2 | 0,068 | 4 | 4 | 5 | 5 | 4,5 |
a3 | 0,139 | 6 | 6 | 5 | 6 | 5,75 |
a4 | 0,284 | 2 | 2 | 4 | 4 | 3 |
a5 | 0,471 | 0 | 0 | 0 | 0 | 0 |
Интегр. показ-ль качества Q | 1,896 | 1,859 | 2,393 | 2,532 | 2,17 |
где интегральный показатель качества для j-го программного средства.
Построим лепестковую диаграмму интегрального показателя качества каждого программного продукта (рисунок 2).

Лепестковая диаграмма значений характеристик качества функциональных возможностей (критериев) представлена на рисунке 3.

На рисунке 4 показана диаграмма верхнего уровня процесса «Управление процессом обучения».

Входной информацией являются следующие данные: текст на естественном языке и словари, содержащие словоформы слов естественного языка (предполагается использование готовых библиотек). Данная входная информация используется на всех этапах выделения противоречий в тексте.
Выходной информацией в процессе выделения противоречий в тексте являются: результаты разбора текста (массив предложений и словосочетаний), выделенные противоречия текста.
Исполнителями процесса являются пользователь и информационная система (ИС*).
Управление процессом осуществляется на основании правил разбора текста и грамматики русского языка.
На рисунке 5 показана детализация процесса «Выделение противоречий в тексте».

При разбиении сложного процесса на составляющие его функции применяется принцип декомпозиции. Декомпозиция позволяет представить модель системы в виде иерархической структуры отдельных диаграмм, что делает ее менее перегруженной и легко усваиваемой.
Выделение противоречий в тексте осуществляется в пять этапов:
- Лингвистическая обработка текста на основании словаря устойчивых сочетаний» — на данном этапе выполняется разбор текста с выделением отдельных устойчивых выражений, замена сокращений на их аналоги;
- Синтаксическая обработка текста» — на данном этапе выполняется разбор текста, выделение отдельных предложений, разбор самих предложений с выделением частей речи, формирование структуры текста;
- Семантическая обработка текста (получение семантической сети)» — на данном этапе выполняется формирование сначала локальной вычислительной сети (для каждого приложения), далее выполняется построение глобальной семантической сети, объединяющей предложения;
- Поиск и выделение противоречий» — на данном этапе выполняется доказательство структуры предложения, заключающееся в сравнении выделенных гипотез и уже найденных однозначных конструкций;
- Отображение результатов анализа и найденных противоречий» — на данном этапе выполняется отображение выполненного разбиения текста и найденных противоречий пользователю.