Интеллектуальная система пополнения семантических словарей

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

Применение методов адаптивного планирования позволит также осуществить переход к спиральной модели ЖЦ, позволяя экономить время и ресурсы на каждом новом витке развития ИЭС, разрабатываемых в среде комплекса АТ-ТЕХНО-ЛОГИЯ, за счет применения готовых планов уже не разработки, а доработки системы, тоже хранящихся в едином репозитории.

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

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

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

1. Рыбина Г.В. Интегрированные экспертные системы: современное состояние, проблемы и тенденции// Изв. РАН: Теория и системы управления. - 2002. - №5. - С. 111-126.

2. Рыбина Г.В. Инструментальные средства нового поколения для построения прикладных интеллектуальных систем// Авиакосмическое приборостроение. - 2004.

3. Рыбина Г.В. Инструментарий нового поколения для построения интегрированных экспертных систем// Девятая на-цион. конф. по искусствен. интеллекту с междунар. участ. КИИ-2004. / Тр. конф. В 3-х т.- М.: Физматлит, 2004. - Т.2. -С.621-629.

4. Рыбина Г.В. Задачно-ориентированная методология автоматизированного построения интегрированных экспертных систем для статических проблемных областей// Изв. РАН. Теория и системы управления. - 1997. - №5. - С.129-137.

5. Рыбина Г.В. Автоматизированное построение баз знаний для интегрированных экспертных систем. //Изв. РАН: Теория и системы управления. - 1998. - № 5. - С.152-166.

6. Пышагин С.В., Рыбина Г.В.. Интеллектуальная поддержка разработки интегрированных экспертных систем// На-цион. конф. по искусствен. интеллекту с междунар. участ. КИИ-98. / Сб. науч. тр.- Пущино: РАИИ, 1998. - Т. 2. - С.419-432.

7. Левин Д.Е., Пышагин С.В., Рыбина Г.В., Смирнов В.В. Новые возможности инструментального комплекса АТ-ТЕХНОЛОГИЯ, предназначенного для поддержки построения интегрированных экспертных систем// Седьмая науч. конф. по искусствен. интеллекту с междунар. участ. / Тр. конф. - М.: Физматлит, 2000. - Т.2. - С.749-757.

8. Рыбина Г.В., Пышагин С.В., Смирнов В.В., Левин Д.Е., Душкин Р.В. Инструментальный комплекс АТ-ТЕХНОЛОГИЯ для поддержки разработки интегрированных экспертных систем: Учеб. пособие. - М.: МИФИ, 2004. - 96 с.

ИНТЕЛЛЕКТУАЛЬНАЯ СИСТЕМА ПОПОЛНЕНИЯ СЕМАНТИЧЕСКИХ СЛОВАРЕЙ

В.К. Финн, Д.В. Виноградов, О.С. Кожунова

Автоматическая обработка и анализ текстов естественного языка оформились как самостоятельное научное направление в России к середине 50-х годов прошлого века. Проблемы, связанные с исследованием семантической стороны языка, заинтересовали лингвистов несколько позже, и к 70-м годам накопилась неудовлетворенность длительной ориентацией исследований в русле дескриптивной и генеративной лингвистики на описание языка. Стало утверждаться мнение, что лингвистическая семантика не сводится только к лексической семантике и что ее объектом должно также быть значение предложения (и текста).

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

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

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

Семантический (концептуальный) словарь [1] предназначен для использования в информацион-

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

В данной работе представлены результаты разработки и программной реализации интеллектуальной системы пополнения семантических словарей, построенной на основе универсального ДСМ-ядра. Пополнение производится при помощи обучения на примерах - основной процедуре ДСМ-метода [2]. Кроме того, разработанная система проводит верификацию и фальсификацию модели, что позволяет с наибольшей точностью выдавать результат - словарь, пополненный или не пополненный новым примером понятия. Необходимо отметить также, что система позволяет применять разработанную модель для произвольных текстовых данных, что обеспечивает ее динамичность и масштабируемость. Наконец, участие пользователя в пополнении словаря минимально: всю работу проводит система. От пользователя требуется лишь выбирать понятия, примеры понятий, активировать соответствующие кнопки и следить за сообщениями программы.

Интеллектуальные системы типа ДСМ основаны на инструментальных средствах, которые могут применяться в тех областях науки, где знания слабо формализованы, данные хорошо структурированы, а в базах данных (БД) содержатся как положительные, так и отрицательные примеры некоторых эффектов.

Модель системы

Можно указать следующие значимые ограничения применительно к рассматриваемой модели:

• пополняемое понятие формирует якоря, то есть априори заданные термины, соответствующие понятию;

• обучающие примеры представлены предложениями (текстами), содержащими заданные якоря («тайфун» - якорь для понятия «природные катастрофы»);

• обучающая выборка состоит из обучающих примеров;

• каждый пример оформлен в виде двух списков, соответствующих контексту слева и контексту справа от якоря;

• получаемая модель (использования якорей в контекстах) аналогична множеству гипотез 1-го рода ДСМ-метода автоматического порождения гипотез;

• индуктивное обобщение примеров производится с помощью алгоритма Норриса, в результате чего порождаются гипотезы;

• гипотезы представлены текстовыми шаблонами;

• в процессе индуктивного обобщения происходит фальсификация порожденных гипотез относительно корпуса текстов;

• на основании гипотез находятся новые якоря, встречающиеся внутри порожденных шаблонов и пополняющие объем исследуемого понятия;

• процедура абдуктивного объяснения исходных обучающих примеров является средством верификации (принятия) построенной модели;

• в данной работе сходство определяется операцией нахождения максимального общего подсписка в списках правого и левого контекстов якорей для (+)-примеров.

Использованы следующие правила пересечения текстов.

- Пересекаются слова текстов, соответствующих (+)-примерам, которые нормализуются с использованием встроенного нормализатора СОМ-объекта ОоЫтш1 [3].

Рис. 1. Схема работы системы автоматического пополнения семантических словарей

- Вхождение якоря в текст задает разделение предложения на левый и правый контексты.

- Последовательно справа налево сравниваются слова левого контекста одного текста со словами левого контекста другого текста на предмет совпадения. То же делается для правых контекстов (они пересекаются слева направо). В результате в текст гипотезы попадают совпадающие наборы слов правой и левой частей (+)-примера относительно якоря (заменяемого на спецсимвол $).

- Верна идемпотентность операции сходства (пересечение одинаковых гипотез).

Основная аксиома предметной области предлагаемой модели: один и тот же текст не может относиться к примерам разных групп (другими словами, не может быть (+)- и (-)-примером одновременно).

На рисунке 1 приведена схема работы системы автоматического пополнения семантических словарей.

Цифрами обозначены следующие действия: 1 - пользователь выбирает понятие и якоря для понятия из предложенных ему комбинированных списков интерфейса, синхронизированных между собой (данный интерфейс представлен синтезатором и является одной из составляющих ДСМ-решателя); 2, 3 - при открытии диалогового окна синтезатора все понятия из базы понятий считываются в комбинированный список для понятий. При выборе пользователем одного из понятий синтезатор обращается к базе понятий и считывает якоря выбранного понятия в другой комбинированный список данного диалогового окна для якорей понятий; 4 - при выборе пользователем одного из якорей понятий синтезатор обращается к хранилищу (корпусу текстов) и находит в нем текст, содержащий этот якорь; 5 -далее этот текст передается морфологическому нормализатору, который нормализует каждое слово данного текста последовательно и выдает текст, слова которого суть леммы (находятся в нормальной, или начальной форме). После нормализации якоря в текстах заменяются на спецсимвол $; 6-8 - все нормализованные тексты передаются в базу фактов в соответствующие папки для (+)- и (-)-примеров. Если база фактов содержит все нормализованные тексты из хранилища, то тексты последовательно передаются процедуре индуктивного обобщения (алгоритм Норриса) и записываются в соответствующие папки для (+)/(-)-гипотез, то есть передаются в базу знаний; 9 - сформированные в ходе процедуры обобщения гипотезы передаются процедуре абдукции (для верификации модели); 10, 11 - процедура абдукции запрашивает у базы фактов примеры для соответствующих гипотез. Абдукция верна, если для каждого примера найдется гипотеза, родителем которой он является; 12 - верифицированные гипотезы передаются в базу знаний; 13-16 - верифицированные гипотезы из базы знаний (сразу после абдукции) передаются процедуре аналогии и накладываются на тексты хранилища. В случае удачного наложения позиция спецсимвола в гипотезе соответствует слову, которое считается теперь примером изначально рассматриваемого понятия (или контрпонятия в случае (-)-гипотезы), и передается в базу понятий для этого понятия. Таким образом, база понятий пополняется новым примером понятия, который выделяется заглавными буквами (ПОТОП, УРАГАН).

CXNewDlg

Dictionary

23 I-

j^, CFileDialog

->ClistBox* 1я_файла

OnBnClickedRefreshQ

Mi

.....;

OnBnClickedStartO

->HypList* <-кол-в<

:romSelectedItemsQ

NewTermlndex

<-имя_файла

24

CTextCorpus

NormalizeO | ' >слово <-словое=--р

SaveNormalizedQ I |

О bj Array

SaveToDir

имя_каталога

имя_каталога

го

H2

HypList

HypListO

> object номер >Concept* <-CUIntArray& >номер

AbductionO

>номер

SaveToDir

>имя_каталога имя_каталога

T7 !

fP

Object

Object

17

GetRightStringQ

CStdioHelper

RemoveDromDirO I

>имя_каталога I

Concept: Object

11

24

Concept

->Object

IslncludedO

>номер

AnalogyO

<-строка

Рис. 2. Схема программной реализации системы пополнения семантических словарей

На рисунке 2 приведена схема программной реализации системы пополнения семантических словарей. Цифрами на рисунке обозначены следующие действия: 1 - активация; 2 - создание объекта Dictionary. В конструктор в качестве параметра передается ссылка на CListBox, строки берутся из класса CListBox; 3 - создание объекта CTextCorpus (чтение указанного файла по строкам, сохранение строк); 4 - нормализация корпуса текста (КТ); 5 - каждое слово из считанного предложения корпуса текста передается методу GetNormForm() объекта MORPHAN; 6 - сохранение нормализованной копии корпуса текста в указанном файле; 7 - создание массива понятий ObjArray, передача конструктору указателя на корпус текстов и список якорей (Dictionary); 8 - создание очередного понятия: передается строка из КТ и якорь; 9 - сохранение понятий в каталог (по разным файлам). Передается имя каталога (для положительных понятий - "PLUS"); 10 -функция очистки каталога от старых файлов (текстовых). Передается имя каталога, откуда удаляются файлы; 11 - чтение имен файлов, которые находятся в указанном каталоге; 12 - запись в файлы (передается имя каталога и this - указатель на массив объектов типа Object); 13 - создание гипотез (алгоритм Норриса) - передается массив понятий; 14 - создание гипотезы (Concept); 15 - конструктор-копировщик класса Object. Этот вызов нужен для процесса создания гипотезы; 16 - проверка вхождения одной гипотезы в другую (IsIncluded()). //в процессе установления вложенности вызываются служебные функции класса Object : GetRightSize(); GetRightItem(int position); GetLeftSize(); GetLeftItem(int position); 17 - Object::IsEmpty() - проверяется, пуст ли объект (он пуст, когда ни в правой, ни в левой частях предложения ничего нет) - для этого вы-

5

2

_файла

TextCorpus

9

6

->ObjArray

8

строка из КТ

4

зываются функции GetRightSize() и GetLeftSize();

18 - GetParents() - получение массива номеров родителей гипотезы (чтобы проверить на очередном этапе, входит ли в число родителей какое-либо понятие);

19 - ParentPlace() - определяется, какое место (номер) в числе родителей гипотезы занимает понятие; 20 - абдукция (оттуда тоже вызывается ParentPlace()); 21 - сохранение гипотез в каталог (имя каталога передается параметром). Происходит по такой же схеме, как сохранение в каталог понятия. Вызываются те же функции класса CStdioHelper; 22 - проведение аналогии. Передается в Dictionary (список якорей) список гипотез; 23 - выбирается файл с текстом для аналогии; 24 - для каждой гипотезы (Concept) передается в объект класса Concept этот текст (для нахождения нового якоря ищется в тексте правая и левая части гипотезы); 25 - при получении новых якорей в ходе аналогии сохраняются результаты в базу понятий (или контрпонятий).

Алгоритм Норриса. Одним из наиболее значимых компонентов реализации системы является процедура индуктивного обобщения, основанная на алгоритме Норриса. Входными параметрами алгоритма являются файлы с (+)-примерами, где лежат тексты (в каждом файле отдельный (+)-при-мер), подвергнутые процедуре нормализации (то есть тексты, чьи составляющие - не словоформы, а леммы. Например, после нормализации словоформы «жертвы» получим «жертва»).

Предполагается, что в каждом тексте якорь заменен после процедуры нормализации на спецсимвол $. Алгоритм Норриса разбивает входную строку (текст (+)-примера) на левый и правый контексты относительно спецсимвола, а каждый из образовавшихся контекстов разбивается на отдельные слова, выбрасывая при этом пробелы. Делается это для того, чтобы можно было с максимальной точностью сравнивать контексты (под-процедура сходства процедуры Норриса): набор слов левого контекста 1-го текста с набором слов левого контекста 2-го текста (для случая n=2) и аналогично с правыми контекстами. Порядок слов в предложении является заведомо фиксированным, то есть при наличии в подвергаемых процедуре сходства предложениях двух одинаковых наборов слов по разные стороны от спецсимвола получается их пустое пересечение.

В результате проведения процедуры сходства в рамках алгоритма Норриса получается пересечение (+)-примеров, каждая часть контекстов которых записывается в строку (текст) (+)-гипотезы, добавляя между словами пробелы. Происходит это также при фиксированном порядке относительно спецсимвола, заданном изначально в текстах (+)-примеров. Количество файлов с положительными гипотезами варьируется в зависимости от количества пересечений исходных (+)-приме-ров. Таким образом, алгоритм Норриса, порождает максимальный набор неповторяющихся пересечений примеров по принципу «все со всеми».

На рисунке 3 приведена схема программной реализации алгоритма Норриса.

CXNewDIg CTextSel

f.................... Г"

is L 13

ReadAIIFilesFromSubdir Includes

»

j ->. <-; строи

s ->строк£ <-пересечение

On BnClicked Refresh ; -><трокг <-Воо

I 7

->Имя каталогг <-строки и: G etl n ters ectio n N oS pec Г

-> Поняти? <-гипотезы I-

->Гипотезь > -11

6

3 • SplitLeftRight 1С

ReadDir 4 S

{

; ContainsAIIWordsOf М

4 » Г

Process N orris I

Getlntersection

»

->строкг <-CtextSel  строи

>

->HOM6f <-Воо i

fi?

Islncludedlntc

» текст «-Boo

15 ;

И4

ContainsNumbei

Рис. 3. Схема программной реализации алгоритма Норриса, где CXNewDlg и CTextSet - основные классы с методами, написанными для работы алгоритма Норриса

Цифрами обозначены следующие действия: 1 - инициализация; 2 - считывание файлов с (+)-приме-рами; 3 - считывание имен файлов из заданного каталога (Plus - для (+)-примеров, Minus - для (-)-примеров); 4 - применение алгоритма Норриса к считанным (+)-примерам; 5 - включает ли текст текущей (+)-гипо-тезы тексты последовательно просматриваемых (+)-при-меров; 6 - разбивка строки на правую и левую часть относительно $ (спецсимвола, который ставится вместо якоря в предложении, подвергнутом процедуре нормализации); 7 - получение пересечений левой и правой частей (с левыми и правыми частями соответственно); 8 - для левой и правой частей по отдельности: содержит ли строка все слова из другой строки; 9 - получение пересечения строк (возможно, содержащих $); 10 - к пункту 6; 11 - к пункту 7; 12 - входит ли один текст полностью в другой (с учетом $, по словам); 13 - к пункту 5; 14 - содержится ли в (+)-гипотезе (в ее списке номеров (+)-примеров, в результате пересечения текстов которых получен текст гипотезы) указанный номер (номер текущего рассматриваемого (+)-примера); 14 -запись полученных гипотез в файлы.

Таким образом, в результате разработки построена и программно реализована в среде Microsoft Visual C++.NET 2001 интеллектуальная система с применением правдоподобных рассуждений для пополнения семантических словарей.

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

1. Рубашкин В.Ш., Лахути Д.Г. Семантический (концептуальный) словарь для информационных технологий. Ч. 1 // НТИ. Сер. 2. - 1998. - № 1.- С. 19-24.

2. Финн В.К. О базах знаний интеллектуальных систем типа ДСМ // Тр. II Всесоюз. конф. по искусствен. интеллекту: Искусственный интеллект-90. - Минск, 1990. - С.180-182.

3. Сокирко А., Панкратов Д.В. Проект ДИАЛИНГ, COM-объект Goldrml (www.aot.ru).