Вычислительные технологии
Том 15, № 3, 2010
Проблема извлечения знаний в условиях динамически изменяющейся внешней среды на примере модели логического анализа текстов на естественном языке
В. А. Крайванова, E.H. Крючкова Алтайский государственный технический университет, Барнаул, Россия
e-mail: [email protected]
Рассматривается математическая модель логического анализа фраз на естественном языке. Предлагаются механизмы адаптации и извлечения знаний для этой модели. Представлены результаты вычислительного эксперимента, демонстрирующие эффективность предложенных механизмов.
Ключевые слова: искусственный интеллект, естественный язык, извлечение знаний.
Введение
Взаимодействие е компьютером на естественном языке (ЕЯ) не является универсальным, однако существует достаточно широкий круг задач, в которых пользователю проще сформулировать информацию в виде фразы на ЕЯ, чем в терминах формальных человеко-машинных интерфейсов. Примеры таких задач — интерфейсы к базам данных и системы управления так называемыми умными домами. Отметим, что эти задачи не требуют полноценного семантического анализа всех нюансов речи и зачастую достаточно буквального понимания фраз [1].
Наиболее распространенные подходы к анализу естественного языка основаны на синтаксическом и семантическом анализах и шаблонах [2]. Первый подход наиболее трудный, так как синтаксическое представление в очень малой степени отражает смысл запроса. Подход, основанный на семантике, кроме синтаксической информации, использует семантические словари. Применение этого подхода в связи с многозначностью ЕЯ приводит к комбинаторному взрыву. Кроме того, необходимые семантические словари — очень трудоемкая составляющая. Третий подход к анализу естественно-языковых запросов основан на шаблонах и наиболее прост с точки зрения программной реализации. Основной его недостаток состоит в необходимости предусмотреть все возможные способы выражений на естественном языке [2].
В настоящей работе рассматриваемый подход к пониманию ЕЯ основан на комбинации трех указанных подходов и заключается в следующем:
— все знания, используемые моделью, могут быть извлечены из синтаксической информации о фразе на ЕЯ;
— описание предметной области представляет собой семантический словарь упрощенной структуры;
© ИВТ СО РАН, 2010.
— описание логических знаний системы основано на шаблонах и является множеством правил контекстной замены.
Как будет показано, данный подход позволяет значительно снизить трудоемкость составления базы знаний интеллектуальной системы, что дает возможность эффективно применять предлагаемую модель в человеко-машинных интерфейсах,
1. Модель логического анализа
Для моделирования понимания естественного языка необходимо задать следующие элементы:
— лексикон как множество известных в модели слов;
— формальное представление фразы ЕЯ на основе ее синтаксической структуры;
— представление команд системы управления;
— механизм анализа фраз,
В качестве элемента лексикона примем семантически неделимую единицу — слово. Пусть W — конечное множество слов предметной области, которые известны модели. Из множества W выделим множество N понятий естественного языка. Нечеткое отношение обобщения Gen : W х N — [0..1] определяет степень уверенности модели в том, что некоторое понятие p £ N обобщает слово w £ W. Нечеткое отношение синонимичности Syn : W х W — [0..1] определяет степень уверенности системы в том, что некоторое слово wa £ W является синонимом к слову wB £ W.
Формально фразу на естественном языке определим как функциональную форму,
W
честве типов аргументов — подчинительные синтаксические отношения. Пусть Rel — конечное множество типов аргументов модели. Функциональную форму ф некоторой ЕЯ-фразы можно также представлять в виде дерева, вершины которого помечены словами w £ W, а ребра — типами аргументов r £ Rel, Корень дерева фразы ф будем обозначать как Root^). Пуст ь u — узел помеченного дерева фразы. Тогда W or diu) — пометка узла u, Relation(u) — пометка ребра, соединяющего узел u с родительским, Args(u) — множество дочерних узлов узла u, Negation(u) — признак отрицания уз-
u
Получить такое помеченное дерево фразы из предложения на ЕЯ можно, например, с помощью библиотек Dialing [3].
Команда системы управления представляется парой e = (и, Parameters), где v — функциональная форма, задающая определение команды на ЕЯ, Некоторые функцио-
vW ства Parameters. Parameters = {p|p = (namei,Ni), Ni С N} — множество параметров команды, где namei — имя параметра, Ni — множество понятий, обобщающих допустимые значения параметра,
v namei
дерево ф,1 такое, что 3n : GeniW ordiRootiфi)) ,n) > 0,n £ N^ Обозпач им Value (pi) = ф^
Проверка наличия в некоторой фразе ф команды e и вычисление параметров команды производятся с помощью операции унификации
(Y,Values) = Unificationiф,e), (1)
результатом которой являются:
— уровень релевантности 7, определяющий степень уверенности системы в наличии команды;
— множество Values = {(рг,фг)}-, где p — параметры команды e, ф — значения параметров, причем для каждого p должно существовать единетвенное значение ф^.
Задача логического анализа заключается в том, чтобы свести некоторую начальную
ф
Механизм преобразования фраз описывается конечным множеством правил контекстной замены Rules. В общем случае правило задается в виде r = (v ^ a, Parameters), где v и a — соответственно гипотеза и следствие правила, представленные двумя суперпозициями, функциональные символы которых помечены как словами ЕЯ, так и па-
Parameters Parameters аналогичное множеству параметров команды. Команда в этом случае является част-
a
дерево,
ф
довательноеть функциональных форм < ф0,ф1, ...,фп > таких, что ф0 = ф, форма фг+i непосредственно выводима из ф^ для 0 < i < n — 1с помощью некоторого правила Г £ Rules, форма фп получена из формы фп-1 с помощью заключительного правила rn-1 £ Rules.
На основе введенных определений задачу логического анализа функциональной формы ф можно сформулировать следующим образом: найти множество Еф всех заключи-
ф
помощыо цепочек вывода длиной не более Lenght. Очевидно, что при такой постановке
Еф
Если рассматривать данную модель с точки зрения практической применимости, возникает проблема, типичная для интеллектуальных систем: высокая трудоемкость построения базы знаний. Далее предложены механизмы пополнения логических знаний модели и оценка их эффективности,
2. Механизмы пополнения знаний
Важным свойством интеллектуальных моделей является адаптивность — способность сохранять свою адекватность в изменяющихся внешних условиях [4]. В современных условиях развития информационных технологий это особенно актуально, так как усложнение технических систем требует от субъекта управления все больших усилий [5].
Рассмотрим внешние для модели факторы, изменение которых ведет к снижению ее адекватности:
— функциональность объекта управления может активно изменяться и усложняться; это не должен приводить к усложнению модели управления;
— объектом управления могут пользоваться несколько субъектов управления, кроме того, язык каждого субъекта изменяется со временем.
Чтобы адаптироваться под изменившиеся внешние условия, модель должна быть дополнена механизмом получения информации об изменении и модификации имеющихся знаний. Возможными источниками информации об изменениях внешних условий для модели являются:
— модификация знаний экспертом по знаниям;
— фразы на ЕЯ, поступающие в модель для анализа.
В рассматриваемом контексте можно сформулировать следующие задачи:
— пополнение лексикона новыми словами и достраивание отношений обобщения и синонимичности в процессе логического анализа;
— достраивание множества правил при пополнении лексикона;
— формирование принципиально новых логических правил,
2.1. Расширение множества правил при пополнении лексикона
Лексикон модели является более простым и прозрачным уровнем знаний модели. Построение множества W и отношений Syn и Gen вручную — менее трудоемкая задача, чем построение множества правил Rules. Рассмотрим возможности модификации множества правил на основе изменений, внесенных в лексикон экспертом по знаниям.
Логические знания близких предметных областей имеют схожее внутреннее строение, Правила имеют ту же структуру, отличаясь лишь на лексическом уровне. Таким
W
лексиконом Wnew новой предметной области можно расширить множество правил на новую предметную область [6],
Тема T С W — это поименованное подмножество слов лексикона, принадлежащих к одной предметной области. Обозначим как Name(T) — название темы, представляющее собой некоторое словосочетание, В отличие от отношения обобщения, которое определяет для данного слова понятие на более высоком уровне абстракции, принадлежность к теме фиксирует раздел предметной области, к которой относится слово. Так, понятие ЖИВОТНОЕ обобщает слова КОРОВА и СОБАКА, однако слово СОБАКА относится к теме КИНОЛОГИЯ, а слово КОРОВА - к теме РАЗВЕДЕНИЕ КРУПНОГО РОГАТОГО СКОТА.
Слово может принадлежать к нескольким темам или не принадлежать ни к одной из них. Рассмотрим механизм перестройки базы правил при пополнении лексикона новой темой.
Для решения поставленной задачи введем на лексиконе системы отношение ассоциации, Пусть T и G — некоторые темы. Два слова t £ T и g £ G связаны отношением ассоциации t = Association(g), если ело во t относится к словосочетанию nameT так же, как слово g относится к nameG. Отношение ассоциации симметрично. На множествах слов AT С T и AG С G установлено отношение ассоциации AT ~ AG, если
— Vt £ AT3g £ Ag : t = Association(g);
— при замене в произвольной фразе ф всех слов t £ AT па соответствующие им слова g £ Ag получаемая при этом фраза ф' остается осмысленной при условии, что Vw £ T : 3u £ ф : Word(u) = w — w £ AT.
Отношение ассоциации строится экспертом в процессе описания лексикона предметной области. На рис, 1 приведен пример построения такого отношения. Отношением аналогии могут быть связаны только слова, отнесенные к некоторым темам.
Состояние знаний модели описывается парой (W, Rules), где W — лексикон модели, Rules — множество правил модели. Пусть (W0, Rules0) — начальное состояние знаний модели. Рассмотрим изменение множества правил при добавлении в лексикон новой темы TN, связанной отношениями ассоциации с уже имеющимися в лексиконе темами. Для этого введем обозначения: AN С TN — множество слов и понятий новой темы, связанных отношением ассоциации с другими словами; AssThemes(AN) = {T|3A С T : A ~ An} — множество тем, со словами из которых множество AN связа-
( Крольчонок У
( Кролик")-
("Крольчиха}-
Г Заболевание кролика У
( Ринит ) ( Лишай )
С Еда для кролика У
(Морковь) (Капуста)
Ежиха^>
-^Заболевание ежа/>
Т
<Т1невмония^> -<( Еда для Ежа
<^Мясо^>
<Я
асекомые
С Комбикорм для кролика <(Комбикорм для ежаЪ>
Кормиться
Клетка
Болеть -г
Питаться
Кормить
2а.
Заболеть
Клетка
слова, не отнесенные к темам
(Овощи) слова, отнесенные к теме "Кролики" <^МяссГ> слова, отнесенные к теме "Ежи"
- - >• отношение синонимии —> отношение обобщения
— ассоциации
Рис. 1. Отношение ассоциации
но отношениями ассоциации; NodesT (r) — множество узлов правила r, помеченных словами из темы X. Тогда (Wnew, Rulesnew) — новое состояние знаний модели, где Wnew = W0 U XNl Rulesnew = Rules0 U Rules a- Rules a — множество всех новых правил rA = (vA ^ aA, ParametersA). Эти правила получены из уже имеющихся правил r = (v ^ a, Parameters) £ Rules0 таких, что ЭХ £ AssXhemes(AN) : NodesA(r) = 0 и NodesA(r) = NodesT(r). Преобразование осуществляется следующим образом:
— деревья vA и aA получены из деревьев v и a соответственно заменой пометок узлов u £ Nodesa (r) та ассоциированные с ним и слова Association(W or d(u)) из тем ы XN;
— параметр pAi £ ParametersA совпадает с p £ Parameters, если p^ = (name, N) и iw £ N : w £ A;
— если для некоторого параметра p^ = (name, N) £ Parameters 3w £ N : w £ A, то параметр pAi = (name, NA) £ ParametersA получен из p^ следующей заменой множества допустимых значений: NA = N\A U {wA\wA = Association(w), w £ N П A}.
Предложенный механизм дает возможность автоматизировать рутинные операции пополнения знаний в пределах одной предметной области, однако не позволяет получать концептуально новые правила.
2.2. Достраивание лексикона
Достраивание отношений Gen и Syn основано на анализе позиции в дереве фразы, на которой встретилось незнакомое слово. Введем обозначения:
— AssGen0 — начальный уровень достоверности предположения о существовании отношения обобщения между словами;
— AssGen — уровень подтверждения достоверности предположения о существовании отношения обобщения;
— AssSyn0 — начальный уровень достоверности предположения о существовании отношения синонимичности между словами;
AssSyn
нии отношения синонимичности.
Gen
слово, подставляемое в параметр, соответствует данному параметру. Например, модель знает, что завявшие растения нужно поливать, а также, что растения — это фиалки и герань. Модель получает от пользователя фразу "Фикус в спальне совсем завял". Слово ФИКУС встретилось на месте переменной, описываемой понятием РАСТЕНИЕ, поэтому можно предположить, что ФИКУС обобщается понятием РАСТЕНИЕ (рис. 2). Предположение будет подтверждаться, если слово ФИКУС снова встретится на месте понятия РАСТЕНИЕ, т. е. уверенность модели в наличии отношения обобщения между словами РАСТЕНИЕ и ФИКУС будет расти. Если, несмотря на сделанное предположение, в результате дальнейшего вывода не будет получено ни одной заключительной функциональной формы, то предположение считается неверным и уровень уверенности модели в наличии отношения снижается.
Пусть (y, Values) = Unification(ф, r) — результат унификации гипотезы некоторого правила r и функциональной формы ф, и : т(pi) < 1, где т(pi) — уровень достоверности унификации параметра. Тогда, если уровень релевантности результата y больше некоторого порогового значения Yo? т0 отношение Gen изменяется следующим образом:
Genoid — Gennew :
Gennew(w, n) = Genoid(w, n),w = w{ или n / N;
Gen (w n)=i AssGen0, Genoid(wi, n) = °, n £ N
newK u } \ min(Genoid(w{,n)+ AssGen, 1), Genoid(w{,n) > 0, ^
где wi = Word(Root(Value(pi)).
Отношение синонимичности достраивается на основе предположения, что два унифицируемых узла помечены синонимами. В примере на рис. 3 слово НАБРАТЬ встретилось на месте слова НАПЕЧАТАТЬ, и поэтому модель предполагает, что НАБРАТЬ —
Правило Завянуть($У) —> Полить($У) $У={Растение}
+
Фраза
Завянуть (Спальня. Совсем. Фикус)
Лексикон ( Фиалка ) ( Герань )
Q Растение ) С Фикус
5Z=—
Рис. 2. Достраивание отношения Gen
Правило Напечатать($У)—
Запустить (Программа(WORD)) $Y= {Текст}
Q Набрать )
Лексикон
С Написать }
( Напечатать }
( Объявление ) (Список )
( Текст )
Рис. 3. Достраивание отношения Syn
синоним к НАПЕЧАТАТЬ. Рассмотрим унификацию узлов u £ ф и ur £ v. Здесь ф анализируемая фраза, v — гипотеза правила r. Введем обозначения:
w = Word(u); wr = Word(ur);
(7, Values) = Unification^, r). Тогда, если y > 70, то отношение Syn изменяется следующим образом: Synoid ^ Syn new •
Synnew(wi, w2) = Synoid(wi, w2), wi = w или w2 = wr;
AssSyno, Synoid(w, wr) = 0,
min(Synoid(w, wr) + AssSyn, 1), Synoid(w, wr) > 0.
SyUnew (w,Wr ) =
Уверенность модели в сделанном предположении накапливается в процессе логического анализа. Если из результата фпет применения правила г к функциональной форме ф не было получено ни одной заключительной функциональной формы, то все предположения, сделанные при формировании фпеп^ считаются неподтвержденными и отношения на лексиконе возвращаются в состояния Оеп^ж Бупм.
Построение многочисленных предположений может привести, во-первых, к ошибочным результатам, во-вторых, к неоправданному разрастанию графа вывода и комбинаторному взрыву. Поэтому ограничим минимальную степень достоверности результата унификации некоторым значением 70 и минимальную степень достоверности цепочки вывода некоторым значением 7^0.
2.3. Извлечение правил
Правило контекстной замены может быть описано фразой на естественном языке. Рассмотрим в качестве объекта управления саму модель. Множество параметров для заключительных правил в данном случае состоит из двух элементов: ЗНУРОТНЕЭК (гипотеза найденного правила) и ЗССЖЭЕС^иЕМСЕ (следствие найденного правила). В указанные параметры могут быть подставлены любые функциональные формы. Результатом логического анализа в этом случае являются пары пропозициональных (т. е. не содержащих параметров) функциональных форм (фьУР,фс0п)•
Рассмотрим механизм выделения параметров. Пусть по завершении вывода в параметры подставлены функциональные формы
Values = {($HYPOTHESIS^hyp), ($CONSEQUENCE^cm)}-
Тогда новое правило будет иметь вид
r = (Ф^УР ^ ФСоп, Parameters),
где ф^Ури ФСоп получены из ф^р и фсоп заменой некоторых слов на параметры. Множество параметров строится следующим образом:
Parameters = {pi\pi = (namei, Ni) :
Bu E ф^р : Bw E W : Gen(w, Word(u)) > 0, Ni = {Word(u)}, Ni = Nj при i = j}.
Узел u из ф^р или из фСоп помечается параметром pi = (namei, N), если Word(u) E Ni.
Описанный механизм позволяет пополнять знания модели как на начальном этапе построения базы знаний, так и в процессе эксплуатации. Поскольку извлечение знаний для модели требует более глубокого анализа текста, чем просто буквальное понимание, рассмотренный механизм имеет ограничения:
— правило должно описываться одним предложением;
— при формировании параметров не учитываются синонимы и местоимения, 3. Вычислительный эксперимент
В данном разделе представлена оценка эффективности предложенного механизма для извлечения знаний из необработанного текста (самостоятельная автономная работа) и адаптированного текста (гибридная человеко-машинная система).
Эффективность модели извлечения знаний проанализирована в серии вычислительных экспериментов. Исходные данные для экспериментов — тексты советов по различным тематикам, взятые из сети Интернет, Рассмотрим три предметные области:
1 — советы по ведению домашнего хозяйства;
2 — советы по уходу за комнатными растениями;
3 — советы начинающим программистам.
Тексты для каждой из предметной области составлены на основе нескольких сайтов, В первой предметной области правила сформулированы наиболее четко, в третьей — четко сформулированные правила фактически отсутствуют,
В связи с особенностями представления информации в Интернет исходные тексты прошли предварительную техническую подготовку (удаление нетекстовых объектов (рисунков, таблиц) и исправление орфографических и синтаксических ошибок), которая позволяет избежать ошибок на этапе синтаксического анализа. Авторские формулировки полностью сохранены. Далее под необработанным текстом подразумевается текст, прошедший предварительную техническую подготовку.
Роль человека в гибридной человеко-машинной системе извлечения знаний для предложенной модели логического анализа заключается в адаптации необработанного текста (устранение местоимений, упрощение формулировок, выделение неявных определений в отдельные предложения). При адаптации фразы, не содержащие правил, сохраняются в тексте, чтобы смоделировать поведение модели в процессе эксплуатации. Для оценки результатов извлечения знаний введем следующие обозначения: Кехрегг — количество правил, обнаруженных экспертом. Учитываются только правила, полностью содержащиеся в одном предложении, например, "Чтобы сервировочные ножи блестели, их нужно почистить" — это правило, а конструкция "Для той же цели подойдет разбавленный настой чая" — нет;
&аЫо — количество правил, извлеченных автоматической системой;
&ге1еуапг — количество релевантных правил, извлеченных автоматической системой.
Рис. 4. Точность (а) и полнота (б) результатов анализа
■ Необработанные ■ Адаптированные
Домашнее Растения Компьютеры
хозяйство
Рис. 5. Количество извлеченных правил
Качество извлеченных знаний оценивалось по двум параметрам:
— Precision = Rrelevant/Rauto ~ ТОЧНОСТЬ;
— Recall = Rrelevant/Rexpert ~ ПОЛНОТа,
Как видно из рис, 4, поведение модели на необработанных текстах существенно зависит от типа текста, в то время как полнота результатов анализа адаптированных текстов от типа текста зависит незначительно и в среднем составляет 0.77, что намного выше аналогичного показателя для необработанных текстов. Точность анализа адаптированных текстов зависит от сложности текста, но при этом заметно выше точности для необработанных текстов,
Rrelevant
полученных релевантных правил. Использование гибридного подхода, т, е, предварительной адаптации текста, в сравнении с необработанными текстами позволяет извлечь примерно в 2.6 раза больше правил (рис, 5),
Таким образом, вычислительный эксперимент демонстрирует адекватность построенной модели. Использованные механизмы извлечения знаний позволяют модели адаптироваться к изменяющимся внешним условиям. Поскольку модель рассчитана на буквальное понимание отдельных фраз, самоприменение модели при извлечении правил из текста требует участия эксперта.
Предложенная математическая модель реализована в виде ядра программной архитектуры AL System [7].
Список литературы
[1] Крайванова В.А., Крючкова E.H. Технология AL SYSTEM в человеко-машинных интерфейсах на естественных языках // Сб. тр. VII Всерос. научно-практ. конф. студентов, аспирантов и молодых ученых "Молодежь и современные информационные технологии". Ч. 1. Томск, 2009. С. 289-290.
[2] Найханова Л.В., Евдокимова И.С. Методы и алгоритмы трансляции естественно-языковых запросов к базе данных в SQL-запросы. Улан-Удэ: Изд-во ВСГТУ, 2004. 248 с.
[3] Сайт рабочей группы "Автоматическая обработка текстов" [Электронный ресурс] / Режим доступа: http://aot.ru/
[4] Венда В.Ф. Системы гибридного интеллекта: эволюция, психология, информатика. М.: Машиностроение, 1990. 448 с.
[5] Want R., Peking Т., Tennenhouse D. Comparing autonomic and proactive computing // IBM Systems J. 2003. Vol. 42, No. 1. P. 129^135.
[6] Крайванова В.А., Крючкова E.H. Методы организации базы знаний системы логического анализа текстов на естественном языке // Перспективные технологии искусственного интеллекта: Сб. тр. научно-практ. конф. Пенза, 2008. С. 202-207.
[7] Крайванова В.А. Разработка адаптивных логических приложений AL System. Свидетельство о государственной регистрации программы для ЭВМ № 2009610579.
Поступила в редакцию 13 мая 2009 г.