- •Глава 8. Представление знаний в виде фреймов
- •8.1. Логики знания и фреймы
- •Эпистемическая модальность
- •Деонтическая модальность суждений
- •Алетические модальности
- •Вывод с умолчаниями в немонотонных логиках
- •Α(х):Мβ1(х),...,βm(х) γ(х)
- •Ограничение — форма немонотонного вывода
- •Структура знания и структуры крипке
- •Байесовский подход
- •Извлечение знаний из текстов
Извлечение знаний из текстов
Проблема извлечения знаний из текстов на естественном языке и из интервью инженера по знаниям с экспертами предметной области усложняется из-за ситуационной обусловленности содержания текстов, анафорических (межфазовых) связей, явлений эллипсиса (сокращений, пропуска некоторых элементов словосочетаний и фраз), омонимии и других. В связи с этим ведется разработка методов извлечения знаний из текстов с использованием синтаксического анализа и смысловой обработки на основе моделей: семантических сетей, концептуальных сетей, фреймов.
Семантическая сеть (СС) представляет собою теоретико-графовую структуру с помеченными вершинами и дугами. Вершинами могут быть понятия (предметы), события (действия), свойства (места), а дугами отношения, которые делятся на лингвистические, логические, теоретико-множественные, квантификационные. В свою очередь, лингвистические отношения делятся на глагольные (время, вид, род, число, залог, наклонение) и атрибутивные (цвет, размер, форма, модификация); логические — на дизъюнкцию, конъюнкцию, отрицание, импликацию; теоретико-множественные — на подмножества, а квалифицированные отношения делятся на логические кванторы общности и существования, нелогические кванторы («много», «несколько») и числовые характеристики. Семантическая сеть может быть также представлена в виде сети фреймов. Фрейм содержит информационно-процедурные элементы, обеспечивающие преобразование информации. Обычно кодируют знания либо как факты (специфическое знание) и правила (общие знания), либо как фрейм (структуры знания).
Во втором случае модель фреймов и их слотов используется как модель объектов или действий и их свойств. Возможность вывода с использованием фреймов включает демоны, т.е. процедуры, сцепленные со слотами, которые динамически вычисляют производные данные из данных значений слотов и, следовательно, реализуют некоторую последовательность выводов, либо применяется автоматическое порождение атрибутов и свойств из общих категорий применительно к специфическим примерам. Инстанциация фреймов и сравнение фреймов являются наиболее общими эксштицитными методами, используемыми с фреймами.
В структуре фреймов имеются слоты, то есть незаполненные участки, которые заполняются в процессе активации, функционирование фрейма в соответствии с определенными условиями или предписаниями, которыми они сопровождаются. Фреймы либо представляют некоторые области знания, которыми можно манипулировать, как целыми блоками, либо представляют некоторые структуры для определения составных, структурных типов. Соответственно этому фреймы делятся на функциональные и структурные. Фрейм является простым, если он не содержит в себе других фреймов.
Простой функциональный фрейм содержит единственное понятие, выражающее функцию или отношение (центральная вершина фрейма). Из центральной вершины простого функционального фрейма к его периферическим вершинам ведут помеченные дуги. Центральная вершина помечена именем функции, а периферические — именами переменных и констант.
Простой структурный фрейм рассматривается как произвольный ориентированный граф, вершины которого помечены именами переменных или констант. Структурные фреймы можно использовать для рекурсивного задания типов. Типы (сорта, семантические категории) представляют неформальные, общие, родовые свойства физических или абстрактных объектов, которые мы выделяем в окружении. Примеры типов: ПОСТАВЩИК, ПРЕДПРИЯТИЕ. Из данных типов мы можем образовывать новые, более сложные типы. Термин «фрейм» в традиционном понимании равнозначен термину «объект» в терминологии объектно-ориентированного программирования.
Фреймы являются эффективной средой для представления коллекции объектов, отношений и демонов (процедуры, сцепленные со слотами). В фрейме атрибуты объекта представлены в виде слотов. Например, если мы имеем фрейм «сотрудник», тогда он включает слоты биография, образование, знание языков и др. Слот «образование», в свою очередь, может включать наименование вуза, специальность, квалификацию.
В качестве множественных значений слота на более низком уровне могут быть определены фасеты. Фреймы могут быть организованы в иерархическую структуру. Иерархические отношения являются эффективным способом представления способа связи фреймов нижнего уровня с фреймами более высокого уровня. Суммированием сверху вниз и усреднением можно управлять, используя иерархию. Процедуры, сцепленные со слотами, называются демонами. Типичные роли демонов попадают в три категории:
IF — ADDED: исполнительная процедура, когда значения добавляются к слоту,
IF — REMOVED: исполнительная процедура, когда значения удаляются из слота,
IF — NEEDED: исполнительная процедура, когда значения слота запрашиваются.
Поскольку фреймы являются просто другим способом организации данных, база данных фреймов называется объектно-ориентированной базой данных. Следовательно, база фактов системы основана на правилах, может воспринимать представление, основанное на фреймах.
Одна из первых концепций семантической сети для описания структуры знаний, содержащихся в естественном языке, предложена Квилианом. Каждый узел сети представляет одно понятие, смысловое содержание которого определяется совокупностью его связей с другими понятиями. Квилиан различает три основных типа связей между узлами:
родовидовую связь (связь определенного понятия с более широким по объему понятием);
определительную связь (содержание понятия конкретизируется с помощью прилагательного или наречия);
предикативную или любую другую синтаксическую связь, выражаемую с помощью глагола или предлога.
Более дифференцированная система описания семантико-синтаксической структуры естественного языка была предложена Филмором.
По Филмору каждое высказывание содержит в своем составе сведения о его модальности (время, залог, наличие или отсутствие отрицания и т.п.) и собственно суждение.
Суждение состоит из глагола и его дополнений, называемых также актантами или аргументами. Актанты в соответствии с их функциональной ролью в предложении могут иметь следующие шесть глубинных (семантических) падежей:
Агентивный падеж: (агентив) — одушевленный субъект действия, выраженного предикатом.
Инструментальный падеж (инструмент) — неодушевленная сила или предмет, с помощью которых совершается действие, выраженное предикатом.
Дательный падеж (датив) — функциональная роль одушевленного существа, на которое оказывает влияние действие.
Фактивный падеж: (фактив) — одушевленное существо или предмет, которые изменяются в результате действия или состояния.
Локативный падеж — местоположение или пространственные размеры действия или состояния, выраженные предикатом.
Объектный падеж: — функциональная роль его определяется предикатом.
Семантическая сеть, предложенная Симонсом, предусматривает, что предикат и его актанты образуют первую группу связей, кроме того, при анализе высказывания выделяются актанты: агент, инструмент, тема, источник, цель, место.
С помощью второй группы связей актанты соединяются с атрибутами: определительная связь, часть — целое, обладание, ассоциативная, форма, размер.
Третья группа связей: нечисловые квантификаторы («некоторые»), количество, исчисляемость, подчиненное понятие, тождество, часть целого.
Узел в семантической сети Симонса помечается индексом и связями. Каждая связь состоит из двух компонент: тип связи и индекс узла, к которому она идет.
Шенк различает в семантическом представлении (описании) текста:
действие (оператор);
источник описания (в сознании) - физический объект;
модификатор описания - прилагательное;
модификатор действия («кредитование» как вид финансирования и перемещения денежных средств).
В основе описания лежит взаимодействие актора, причем в действии выделяются падежи: объектный, реципиентный и директивный.
Все действия могут быть представлены как примитивные действия (модификаторы отношения):
передача владения («поставлять», «покупать», «дарить», «продавать»);
движение объекта от одного места к другому («доставлять», «везти», «отправлять»);
прикладывание силы («толкать», «запускать», «двигать»);
самодвижение;
захват;
помещение внутрь («вводить (данные)», «приходовать»);
выделять из себя («выводить (данные)», «выпускать (продукцию)»);
обмен идеями;
порождение умозаключений;
коммуникативный акт;
воздействие на объект.
В основе понятия семантической сети лежит граф. Вершины графа представляют, с одной стороны, некоторые сущности (объекты, события, процессы, явления), а с другой — отношения между сущностями, которые они связывают. Наложив ограничения на описания вершин, можно получить сети различного вида. Если вершины не имеют собственной внутренней структуры, такие сети называются иерархическими. Каждый узел сети представляет некоторое понятие, а дуга — отношение между парами понятий. Дуги помечаются именем соответствующего отношения. В общем случае семантическая сеть определяется как кортеж
где А — множество вершин, В — множество имен вершин, Р — множество промежуточных дуг, Рх — множество помеченных входных и выходных дуг, инцедентных вершинам — источникам и вершинам — срокам, С — множество имен дуг. Объекты (сущности) отображаются вершинами семантической сети, а отношения (взаимосвязи) — дугами. Имена, приписываемые вершинам и дугам семантической сети, отвечают именам соответствующих объектов отношений, используемых в естественном языке. Выделяют два класса семантических сетей. Интенсиональные (абстрактные) и экстенсиональные (конкретные). Интенсиональная семантическая сеть, отображающая абстрактное знание предметной области. Такие знания оперируют не конкретными фактами, а общими высказываниями, содержащими переменные, которые «означиваются» в конкретных ситуациях и превращаются в константные факты. Экстенсиональная семантическая сеть, в которой вершины соответствуют конкретным объектам, операциям, субъектам и ситуациям, а дуги — конкретным взаимосвязям между ними.
Рассмотрим формальное определение СС. Дано конечное множество символов:называемых атрибутами. Схемой или интенсионалом некоторого отношения Ri в атрибутивном формате называют набор пар
где Ri — имя отношения;—
атрибуты отношения Ri; m — целое положительное число, его местность (-арность); Dom(Aj) — множество значений атрибута А,- отношения Ri, т.е. домен Aj.
Домен — это совокупность значений некоторой информационной единицы, помещенная в БД и маркируемая своим атрибутом. Объединение всех доменов W — базовое множество модели — набор объектов, на которых задаются отношения Ri; т — число различных отношений.
Экстенсионалом отношения Rt называют множество
где pi — кординальность множества— факты отношения Ri, записываемые в виде:
Vijn — значение j-ro атрибута k-го факта экстенсионала отношения Ri. Последовательность из двух элементов вида «атрибут-значение» называют атрибутивной парой. Порядок записи атрибутивных пар и фактов не играет роли. Все факты и атрибутивные пары внутри каждого факта попарно различны. Тогда семантическая связь — это совокупность
записываемая в виде ассоциативной структуры данных.
В семантических сетях используют различные типы структур, но требование ассоциативности, т.е. группирования информации вокруг фактов, атрибутов и/или объектов является обязательным. Экстенсиональные семантические сети соответствуют базе данных, интенсиональные — базе знаний. Их объединение образует систему представления данных и знаний в интеллектуальной информационной системе. Частным случаем семантических сетей являются сценарии или однородные семантические сети. В однородных семантических сетях вершины, отображающие объекты, связаны между собой однонаправленными дугами, которые отображают отношение строгого или частичного порядка с различной семантикой. Если, например, объектами-понятиями будут виды заданий, а единственным отношением строгого порядка будет отношение следования, то получают сетевой график комплекса работ.
На примере семантической сети общего вида можно установить различие между базой данных и базой знаний. Предметная область есть множество допустимых состояний своих компонентов. Это множество, представленное через общие понятия и предложения между ними, образует базу знаний в виде интенсиональной семантической сети. В зависимости от ситуации, компоненты предметной области будут иметь конкретные значения, свойства, характеристики. Все эти конкретные данные предметной области будут отображаться в экстенсиональной семантической сети БД сетевой структуры.
При построении семантической сети для представления знаний важны классификации типов объектов и некоторых фундаментальных видов связей между объектами. Независимо от особенностей предметной области можно предполагать, что семантическая сеть содержит обобщенные, конкретные или агрегатные информационные объекты.
Обобщенный объект — это некоторое известное и хорошо используемое в данной предметной области понятие, например «межбанковский кредит», «опцион». Обобщенный объект фактически представляет определенным образом класс объектов предметной области. Конкретный или индивидуальный объект — это некоторым образом выделенная единичная (индивидуальная) сущность, например, банк «ОВК», магазин «Седьмой Континент».
Агрегатом называют объект предметной области, тем или иным образом составленный из других объектов, являющихся его частями.
В соответствии с классификацией типов объектов предметной области при построении семантических сетей используют следующие типы семантических отношений: синтаксические и парадигматические.
Синтаксические отношения далее подразделяют на субъектные и объектные, а также пространственные, временные и др.
Парадигматические отношения отражают постоянно существующие связи между понятиями. Среди парадигматических выделяют отношения подчинения и ассоциативности. Отношение подчинения чаще всего соответствует связям типа «род—вид», «класс—подкласс», «целое—часть». Между двумя обобщенными объектами предметной области может существовать родовая связь. Например, наличие ее между обобщенными объектами А и В означает, что любой объект, отображаемый понятием В, отображается и понятием А и что существует такой объект, который отображается понятием А, но не отображается В. Иными словами, понятие А является более общим, чем В.
Видовая связь обратна родовой. Если объект А является родом В, то говорят, что В — вид А, и наоборот. Из приведенных примеров видно, что родовое понятие не охватывает всех свойств видового, так как видовое понятие богаче содержанием. Все свойства родового понятия, как правило, присущи и видовому (наследование свойств). Это позволяет более компактно представить систему знаний семантической сети.
Между обобщенным и конкретным объектами может существовать связь «является представителем», экземпляром отношения is-a, instance-of. Она имеет место в том случае, когда конкретный объект принадлежит классу, отображаемому соответствующим обобщенным объектом. Важно отметить, что один и тот же конкретный объект может рассматриваться как представитель нескольких обобщенных объектов в одной и той же предметной области. Между агрегатным объектом и каким-либо другим объектом предметной среды может существовать отношение «является частью».
Ассоциативные отношения, отображающие любые устойчивые взаимосвязи между объектами, подразделяют на следующие виды: причинно-следственные (каузальные), пространственные, временные, отношения действия.
Причинно-следственные отношения описывают различные виды причинно-следственных связей между объектами. Причинно-следственные отношения являются нерефлексивными, антисимметричными и транзитивными. Пространственные отношения описывают пространственные связи между объектами (например, «вблизи», «в центре города», «далеко»). Временные отношения описывают связи объектов, фактов, событий и явлений во времени (например, «двигаться к», «приближаться», «взаимодействовать»).
Процедурой поиска знаний в семантической сети является поиск по образцу. Он может представлять собой либо полностью определенный фрагмент знаний, либо содержать свободные переменные. Информационная потребность, определяющее содержание и цель запроса и БЗ описывается автономной базой знаний — сетью запроса, построенной по тем же правилам и отображающей те же объекты и отношения, которые представлены в системе знаний. Поиск ответа на запрос реализуется сопоставлением сети запроса с фрагментами семантической сети, представляющей систему знаний. Положительный результат сопоставления позволяет получить один из ответов на запрос. Все ответы можно получить путем обнаружения всех сопоставляемых с сетью запроса фрагментов. Операция сопоставления в основе опирается на установление изоморфизма графов и сводится к следующему. Для семантической сети, представляющей систему знаний, задается набор допустимых преобразований, переводящих исходную семантическую сеть или ее фрагменты в логически эквивалентную ей. Операция сопоставления выявляет все фрагменты исходной или эквивалентных сетей, изоморфные сети запроса. Набор допустимых преобразований для семантических сетей дополняет сети новыми связями, полученными из транзитивности фундаментальных отношений и наследования свойств. В зависимости от специфики решаемых задач набор эквивалентных преобразований может существенно расширяться.
Теория и технология семантических сетей позднее получила развитие в виде диаграмм «сущность—связь», диаграммы потоков данных в рамках CASE-технологии проектирования баз данных.
Понятие фрейма предложено М. Минским. По Минскому, фрейм — структура данных для некоторой стандартной ситуации. С каждым фреймом ассоциируется разнообразная информация (в т.ч. и процедуры, например информация о том, как пользоваться данным фреймом, каковы ожидаемые результаты выполнения фрейма, что делать, если ожидания не оправдались, и т.п.). Фрейм можно представить в виде сети, состоящей из вершин и отношений (дуг). Верхние уровни фрейма фиксированы и представляют сущности, всегда истинные в ситуации, описываемой данным фреймом. Нижние уровни заканчиваются слотами, которые заполняются конкретной информацией при вызове фрейма.
Можно провести аналогию между фреймами и описанием процедур в языках программирования. Фрейм соответствует описанию процедуры, а означенный фрейм (фрейм-пример) соответствует вызову процедуры. С каждым слотом фрейма связаны описания условий, которые должны быть соблюдены, чтобы могло произойти означивание слота. В простейших случаях эти условия могут сводиться к указанию семантических категорий, которым должны удовлетворять значения слота. В качестве значений слотов могут выступить имена других фреймов, что обеспечивает связь между фреймами. Родственные фреймы связываются в систему фреймов. Система содержит описания зависимостей (причинных, временных и т.п.) между входящими в нее фреймами. В современной терминологии понятию фрейма и фреймовому подходу в целом более всего соответствует концепция объектно-ориентированного программирования и проектирования базы данных. Фреймы классифицируют по познавательному и функциональному назначению. По познавательному назначению выделяют фреймы-прототипы (Fr) и фреймы-примеры.
По функциональному назначению, отображающему различные виды стереотипных понятий, выделяют фреймы-объекты, фреймы-субъекты, фреймы-операции и фреймы-ситуации.
Фреймы-прототипы или фреймы-шаблоны отображают знания об абстрактных стереотипных понятиях (концептах или терминах) предметной области. Понятие — это имя, присвоенное классу обобщенных сущностей и явлений окружающего мира или предметной области, объединяемых общностью их структур и свойств.
Фреймы-примеры или фреймы-экземпляры отображают знания о конкретных (индивидуальных) сущностях и явлениях (объектах, субъектах, ситуациях) окружающего мира или предметной области, объективных и научных фактах. Фреймы-прототипы разрабатывают для формирования общих понятий предметной области при постановке исходной задачи, а фреймы-примеры используют для конкретных экземпляров из генерации семантических описаний. Формально каждый фрейм-прототип можно представить в виде нотации Бэкуса:
где ::= читая: « определяется как» или «может быть переписан как».
Имя фрейма — это слово, обозначающее некоторое понятие. Атрибут фрейма — это одно из ключевых признанных свойств, выбранных для формулирования или описания смысла понятия, которое пытается сформулировать ЛПР при концептуальном или таксономическом анализе предметной области. Характеристика фрейма — это одна из форм или один из признаков проявления некоторого свойства. Пару (атрибуту, характеристика) называют слотом фрейма. Составными частями слота являются фасеты или ячейки. Концептуальный анализ — это выделения основных видов понятий предметной области (видов объектов, операций, ситуаций и т.д.).
Таксономический анализ — это классификация и систематизация сложноорганизованных предметных областей, имеющих обычно иерархическую структуру. В результате таксономического анализа выделяют соподчиненные группы объектов предметной области, называемые таксонами.
Фреймы можно представить в виде вложенных списков:
(понятие = имя)
(является экземпляром класса)
(атрибут 1, характеристика 11)
(атрибут 2, характеристика21, ..., характеристика 2п)
(атрибут 3 (атрибут 31, характеристика 311)
(атрибут 32, характеристика 321)))
Неполнота или нечеткость может быть устранена путем уточнения или добавления новых характеристик атрибутов на этапе накопления знаний.
При переходе от фрейма-прототипа (отображающего абстрактное понятие для класса сущностей или явлений) к фрейму-примеру (отображающему объективные или научные факты, происходит означивание характеристики, т.е. присвоение каждой характеристике одного конкретного значения. Значение характеристики фрейма — это конкретная величина или фактографическая информация, которая может быть присвоена некоторому признаку, т.е. характеристике атрибута.
В процессе генерации семантических решений задачи после «означивания» фреймы-прототипы превращаются во фреймы-примеры; образуется взаимосвязанная совокупность родственных фреймов, называемая сетью фреймов или системой фреймов. Каждый фрейм и система фреймов комплексно отображают как декларативные, так и процедурные знания о предметной области.
Абстрактное понятие «означивается» или получает конкретный смысл в процессе генерации решения, т.е. становится конкретным значением или фактом, который отображается фреймом-примером. На первом этапе построения фреймов-прототипов проводят концептуальный анализ предметной области, в результате которого выделяют виды объектов предметной области, виды отношений и процессов.
Вторым этапом построения фреймов-прототипов является таксономические схемы (иерархические структуры) понятий объектов.
Основной особенностью фреймов является их иерархическая структура. Фреймы обычно соответствуют представлению общего понятия в виде таксономической (классификационной) иерархической структуры. Особенность такой иерархической структуры состоит в том, что информация об атрибутах, которую содержит фрейм верхнего уровня, совместно используется всеми фреймами нижних уровней, связанными с ними. Такая структура позволяет систематизировать и запомнить схожие понятия предметной области, избегая лишних сложностей, касающихся информации об атрибутах и добавляя новые понятия или знания в соответствующей позиции в этой иерархии при обучении. При этом упрощается обнаружение противоречий в знаниях и управление последовательностью знаний.
Иерархию, в ходе которой при генерации семантического решения задачи проверяется правильность выбора фрейма, называют операцией сопоставления. Обычно эта операция осуществляется в соответствии с текущей целью и информацией (значениями), содержащимися в данном фрейме. Иными словами, фрейм содержит условия, ограничивающие значения слота, а цель используется для определения того, какое из этих условий, имея отношения к данной ситуации, является релевантным.
Процесс сопоставления фрейма осуществляется следующим образом.
Сначала, исходя из предположения и интуиции, выбирают некоторый фрейм-прототип (образец), и с помощью знаний, основанных на выявленных особенностях релевантности, или с помощью под фреймов, предполагаемых наиболее релевантными, данный фрейм сам подтверждает или не подтверждает свою релевантность. При этом в соответствии с текущей целью определяется, какое ограничение слота следует использовать при сопоставлении. В случае подтверждения процесс сопоставления завершается. В противном случае, необходимо выполнить следующее.
Если в данном фрейме имеется слот, в котором возникла ошибка, касающаяся, например, условия согласованности с информацией, заданной по умолчанию, то необходима информация, обеспечивающая присвоение дан ному слоту надлежащего значения.
В качестве последнего шага управление передается другому надлежащему фрейму из этой системы. Если и этот фрейм не подходит, то управление передается соответствующему фрейму из другой системы. Запоминание знаний о концептуальном объекте, имеющем иерархическую структуру, легко поясняется одним фреймом, однако если операция сопоставления заканчивается неудачно, возникает необходимость поиска фрейма, подобного предыдущему. Такой канал, осуществляемый с использованием указателей различия, возможен благодаря сети фреймов, которые описывают объекты, имеющие небольшие различия с данными указателями, а также благодаря образованию сети подобных фреймов.
В процессе анализа предметной области происходит распределение конкретных значений между терминальными слотами фрейма. В таких случаях предполагаемое значение называют значением по умолчанию. Подобные значения по умолчанию далее постепенно заменяются достоверной информацией. Полученные при этом выводы называются выводами по умолчанию.
Как правило, построение иерархической структуры фрейма основывается на отношениях «абстрактное - конкретное» («является», «есть», отношение IS-A, является разновидностью отношения «АКО»-а kind of). Используют также отношение «часть-целое» является частью — «PART-OF», имеет часть — отношение «HAS PART» при описании структуры объектов предметной области или структуры решаемой задачи.
Практическое применение в фрейм - системах получили лишь отношения «абстрактное—конкретное». Тем не менее, иногда требуется описывать структурированные объекты и управлять ими, в таких случаях не обойтись без использования отношений «целое-часть». При этом составляющие отношения описываются отношениями «IS-A», а структура — отношениями «PART-OF».
Для генерации семантических решений задач программная реализация иерархической структуры фрейма в виде структуры данных включает присоединенные процедуры. Присоединенная процедура — это автоматически вызываемая и выполняемая при определенных операциях или условиях вычислительная процедура, на которую возможна ссылка по имени используемому в слоте фрейма.
Демон — это автоматически запускаемая и выполняемая при некоторых условиях процедура преобразования смысловой информации, содержащейся в слотах фрейма. Демоны запускаются при обращении к соответствующему слоту. Демонами являются следующие процедуры: «IF-NEEDED» («если необходимо»), («IF REMOVED» — «если удалено»).
Процедура IF NEEDED вызывается, когда требуется значение слота, но в данный момент оно не было установлено. Процедура «IF-ADDED» запускается при подстановке в слот значения, процедура «IF REMOVED» — при стирании значения слота.
Фрейм можно использовать для отображения правил продукции. Если каждое правило продукции представлено в виде фрейма, то все множество правил продукции может быть декомпозировано на различные классы, а описания правил продукции могут включать произвольные атрибуты правил. Затем, с использованием свойств наследования фрейма, можно применить все виды принятых по умолчанию рассуждений для этих правил продукции.
В организации процедуры вывода в системах фреймов используются три основных подходах, описанных ниже.
Организация вывода возлагается на ЛПР. Для этого используют некоторый универсальный язык функционального программирования (например, ЛИСП), расширенный аппаратом присоединенных процедур. Такой подход принят в языке KRL.
Для системы фреймов определенной конструкции вводится вычисли тельный процесс, в основе которого лежит выбор фрейма, управляющего затем дальнейшими вычислениями. В языке KRL в основе такого процесса лежит сопоставление с образцом для выбора фрейма и дальнейшее сопоставление выбранных фреймов с исходными данными и уже построенными фрейм-примерами, в ходе которого осуществляется достраивание модели конкретной ситуации. Задача сопоставления в процессе вычислений разбивается на подзадачи в соответствии со структурой фреймов, участвующих в сопоставлении, осуществляется иерархическое планирование решения этих подзадач с использованием критерия ограниченности ресурсов, расширяемых пользователями сигнальных таблиц и вывода процедур, присоединенных к слотам фрейма. Основные операции такого процесса — копирование фрейма и отождествление переменных и объектов. При выполнении этих операций в соответствии со структурой участвующих в ней фреймов может потребоваться выполнение новых операций копирования и отождествления.
3. Выделяют подклассы системы фреймов — более узкие, чем весь класс систем, охватываемых некоторой формализацией. Для этих узких подклассов разрабатывают специфические для них процедуры решения основной вычислительной задачи, существенно использующие свойства систем этих подклассов. Для математической формализации фреймов используют два подхода. Первый основан на применении λ-исчисления. Каждому фрейму соответствует свое Х-определение, задающее процесс построения фрагмента фрейма-примера по данному фрейму и набору вариантов. Этот процесс запускается применением ^.-определения к этому набору. Второй подход основан на разработке специфического описания языка фрейма, являющегося расширением языка исчисления предикатов.
Указанные выше подходы, в основном, применимы для представления семантики одного высказывания. Для того чтобы представить семантику связного диалога (дискурса), необходимо ввести понятие типа сценария, где выполняются определенные последовательности взаимосвязанных действий. Тогда между семантическими описаниями отдельных высказываний должны быть установлены определенные отношения. С этой целью необходимо, прежде всего, произвести классификацию способов выражения элементарных семантических понятий при помощи средств, используемых в естественном языке.
Понятия выражаются при помощи большой группы смысловых единиц языка, которая используется для обозначения однородных групп, фактов, событий, явлений и других элементов в реальном мире.
Примерами могут служить предприятие, отрасль, регион. Понятиям соответствует определенная структура, набор обязательных характеристик, с помощью которых одни понятия отделяются от других, причем конкретные элементы действительности называются этими словами и словосочетаниями.
При анализе смысловых связей между понятиями необходимо выделить различные категории объектов. Прежде всего, это имена, которые могут быть именами отдельных объектов и именами классов. Понятием будем называть некоторый набор определенных атрибутов.
Объекты связаны между собой отношениями. Отношения подразделяются на качественные и количественные. В состав качественных отношений, прежде всего, входят отношения между классами, в число этих отношений — включение частичного пересечения, различие, а также отношение между элементом и классом — «принадлежать к классу», «не принадлежать к классу». Другими видами качественных отношений являются отношения «иметь имя», отношения род — вид, нижестоящее понятие — вышестоящее понятие, часть - целое.
Количественные отношения в отличие от качественных выражают количественные характеристики понятий. Количественные отношения можно свести к композиции двух отношений: «иметь меру» и «иметь значение меры». В число количественных отношений входят отношения сравнения, отношения принадлежности, когда ситуативно связаны два элемента, временные отношения, пространственные отношения, визуальные отношения, инструментальные отношения.
Несколько особо стоят информационные отношения (дать указание, просить) и порядковые (следующий, ближайший). Вышеперечисленные отношения образуют группу статических отношений.
Вся динамика внешнего мира выражается словами и словосочетаниями, описывающими действия. Эти действия бывают различных типов, и для нас важно выделить из них основные. Действия определяются местом и временем их реализации. Действия можно классифицировать следующим образом:
императивы «включить», «выполнить», «снизить»;
процессы «кредитование», «оплата»;
состояния «перегруженный план», «свободный исполнитель»;
относительные — «повышаться», «опускаться», «приближаться», «нагружать», «оплачивать»;
квантификаторы — «весь», «каждый», «часто», «много», «через», «вскоре», «большой», «промежуток времени», «только», «дата»;
модификаторы — «быстро», «осторожно»;
модальность — «необходимо», «вредно»;
оценки — «хорошо», «целесообразно», «вредно». Использование указан ных отношений может быть осуществлено в рамках дискретной ситуационной сети как ролевой фрейм.
В качестве средства пополнения описания ситуаций могут использоваться сценарии. Сценарий представляется некоторой сетью, вершинам которой соответствуют факты, а дугам — связи, описывающие отношения специального типа. Для представления связного диалога необходимо вводить описания отношений между семантическими структурами отдельных фраз.
На рис. 8\2 приведен пример ролевого фрейма «Выдача кредита». Одна из гипотез, используемых при анализе связного диалога, заключается в том, что он составлен из последовательности ситуаций, связанных одним из 7 бинарных отношений. С каждым отношением связано множество ограничений, которым должны удовлетворять его аргументы. Эти ограничения, по сути, определяют типы данных.
Например, формат структуры для понятия, подобного «тратить», может включать семантические падежи «агент», «объект» и «инструмент». Эти семантические падежи подразумевают, что понятие «тратить» включает «агент, который производит действие», «объект, который является деньгами», иногда — инструмент, который используется для оплаты (чек). Сравните: «У Иванова были деньги. Он потратил деньги, оплатив счет». «У Иванова была кредитная карта. Он потратил деньги, оплатив счет». Нельзя сказать «потратил кредитную карту», т.к. кредитная карта не является предметом класса «деньги», т.е. не может быть тем типом данных, который допустим для домена «объект» отношения «тратить».
Рис. 8.2. Ролевой фрейм «Выдача кредита»
Структура понятия формируется в виде тройки.
(Шаблон (имя события—состояние) (список условий)), например: (Шаблон = тратить (объект = деньги) (инструмент = чек) (агент = живое существо)).
В основу описания связного диалога положено событие как изменение структурных свойств, окружения или связи. Отношения между понятиями, входящими в описание семантической сети отдельных предложений, фиксируются в словаре и определяются как отношение когеренции. Все знания относительно взаимосвязей между понятиями в словаре запоминаются в реляционной форме. Отношения между вершинами в сети хранятся в виде кортежей:
((Имя отношения (событие / состояние 1) (событие / состояние 2)
(ограничения)).
Так, отношения между глаголами «иметь» и «тратить» есть отношение типа антецедент/консеквент.
Пусть имя отношения = АНТЕ ( событие / состояние 1 = «ЕСТЬ», «событие / состояние 2 = «ИМЕТЬ» 1», ограничение = совпадение агентов первого и второго действий, совпадение их объектов). Тогда отношение запишется в виде:
(АНТЕ «ТРАТИТЬ», «ИМЕТЬ 1» (СОВП АГЕНТ, АГЕНТ) (СОВП ОБ, ОБ)). Будем различать следующие временные отношения когеренции: антецедент (АНТЕ), прецедент (ПРЕЦ), консеквент (КОНСЕК) и сукцедент {СУКЦ). Антецедент и прецедент происходят до события; консеквент и сукцедент — после события. Темпоральные (временные) отношения могут быть разделены на логические и ассоциативные группы отношений. Антецедент и консеквент связаны логически; прецедент и сукцедент — ассоциативно. Если одно событие необходимо появляется до другого события, то отношение между ними — антецедент.
Например, антецедентом понятия «поставлять» является понятие «производить». Если одно событие с некоторой регулярностью появляется до другого события, то отношение между ними — прецедент. Прецедент «оплачивать» есть «выписывать счет». Если одно отношение следует за другим с некоторой регулярностью, то отношение между ними — сукцедент.
Пример записи связи между предложениями: «ОАО «Аргон» получило заявленные изделия на оптовом складе». «Оно рассчиталось с поставщиком на месте».
(КОНСЕК (получать, рассчитываться) (СОВП (АГ, АГ)) (СОВП- 01
(поставщик = рец) {СОВП— 02 (мест = оптовый склад)) (реципиент (рассчитываться - 2 = поставщик), (мест = оптовый склад)).
Отношения между понятиями в ситуациях могут быть следующих видов:
таксономические;
(класс-подкласс: (поставлять-снабжатыгтродавать));
партономические; (последовательность / подпоследовательность);
координации.
Если одно событие в словаре представляет часть другого и встречается в подынтервале времени, тогда соответствующие понятия находятся в отношении последовательность - подпоследовательность. Например, «поставлять» имеет три подпоследовательности: «отправлять», «перевозить» и «прибывать». Если событие имеет части, которые появляются в течение одного и того же временного интервала, тогда соответствующее понятие о событиях находится в отношении координации, например, «приносить товар и выписывать чек».
Существуют два способа выражения временных отношений: антецедент и прецедент идут до события, а консеквент и сукцедент — после события. Антецедент и консеквент — логически связанные понятия. Прецедент и сукцедент связаны отношением следования во времени, т.е. упорядочены.
Антецедент: тратить деньги - получать деньги. Пример: «Петров получил деньги и все их потратил».
Консеквент: расходовать-уменьшаться. Пример: «Предприятие потратило деньги, и их количество на счете предприятия уменьшилось».
Сукцедент: производить — продавать.
В данной модели описание оператора действия включает в себя: начальное состояние, конечное состояние, средства (инструмент), место, время, реципиент, тему (КОНТЕКСТ), изменяемую сущность, сопродуцент. В описании ситуации существенную роль играют аксиомы вывода и семантические ограничения вида: агент есть живое существо, инструмент есть контейнер, объект есть деньги.
Возможными приложениями ИИС, которая анализирует семантическое содержание текстов документов и в состоянии вести связный диалог с пользователем при подготовке пользователем экономических решений на основе фактов и знаний, являются:
отыскание данных, имеющих отношение к набору фактов, описывающих рассматриваемую проблемную ситуацию;
обеспечение аргументации, объяснение или разбор хода рассуждений, составляющих обоснование решения,
определение применимости нормативных актов к конкретной проблем ной ситуации.
Для иллюстрации некоторых приемов и алгоритма манипулирования с данными и знаниями в ИИС, рассмотрим пример системы, реализованной средствами логического языка программирования ПРОЛОГ. Пример включает базу данных, содержащую условную информацию, которая призвана обеспечить возможность демонстрации основных механизмов и приемов обработки и использования знаний, содержащихся в текстах. База данных состоит из основных предикатов и совокупности правильно построенных формул (ППФ), которые могут быть получены из них в силу описанных правил. Пусть используемыми в примере типами переменных (доменами) будут:
наименование предприятия-поставщика (КР);
наименование изделия (KI);
наименование стройки (KS);
местонахождение поставщика (МР);
вышестоящая организация поставщика (VP);
стоимость изделия (Ш);
управление Мосстройкомитета, ведущее стройку (VS);
строительно-монтажная организация, ведущая строительство, монтаж оборудования (SP);
район местонахождения стройки (MS);
дата (DТ);
сумма штрафа за единицу времени (IN);
размер штрафа за единицу времени (SV);
отрезок времени задержки поставки (ТТ);
наименование ассоциации, объединения, куда входит предприятие-поставщик (ОВ).
Предположим, что семантика базы данных заключается в том, чтобы определить, кто должен поставлять данный тип изделия для данной стройки и какова сумма штрафа, ожидаемого с поставщика в случае несвоевременной поставки изделия.
Система с подобным набором предикатов представляет упрощенную модель, способную хранить и выдавать информацию относительно правовых вопросов, связанных с договором по поставкам оборудования, ведению работ по реконструкции и строительству предприятий и санкциями за нарушение сроков.
Экстенсионал предиката Pi «поставляет (X,Y,Z)» образует множество кортежей X,Y,Z, таких, что Х/КР поставляет изделие Y/K1 для стройки Z/KS. Предикат Р2 содержит информацию о местонахождении предприятия-поставщика и его вышестоящей организации, предикат Рз определяет местонахождение и принадлежность стройки, предикат Р4 стоимость каждого изделия; предикат Р5 — наличие договора о поставках между стройкой и объединением, куда входит предприятие, выпускающее изделие К1; Ре — размер штрафа; Р7 — размер компенсации за задержку ввода в эксплуатацию или простой; P8 содержит сведения об интервале времени задержки поставки; Р8 содержит сведения об интервале времени задержки поставки; Р9 определяет, что предприятие Х/КР входит в состав объединения Y/OB.
Предикат Р10 устанавливает тот факт, что предприятие изготавливает данное изделие. Рn определяет продолжительность задержки монтажа. P12 отмечает факт использования изделия Y/KI на стройке Z/KS. Рассмотрим проблемы автоматического преобразования запросов на естественном языке в запросы на формализованном языке.
В формализованием языке запросов, основанном на исчислении предикатов, целесообразно различать связанные переменные или переменные, определяющие условия поиска, и свободные переменные, или целевые переменные, определяющие условия выдачи.
Будем использовать для записи типичного запроса на ЯЗОД (формализованном языке запросов, ориентированном на домены) форму
или
где ti, θi — типы переменных; q, — кванторы; х — свободные переменные, входящие в условия выдачи; у — связанные переменные, входящие в условия поиска.
Множество ответов на вопросы есть подмножество записей базы данных, выражение справа от знака («выводимо») для которых истинно.
Запрос 1 на естественном языке: «Кто поставляет <наименование изделия> для строительства Наименование стройки> в <местонахождение стройки>Формализованная запись этого запроса на языке запросов, ориентированном на домены (ЯЗОД), приводится ниже:
поставляет (Х/КР, «Наименование изделия>« I KI «<наименование стройки>« I KS)a(3V / VS) местонахождение стройки {«Наименование стройки>« IKS, «<местонахождение стройки>« I MS, V/VS)].
Запрос 2 на естественном языке: Каков размер штрафа за несвоевременную поставку Наименование изделия> для строительства Наименование стройки> в <местонахождение стройки>.
Данный запрос отличается тем, что непосредственно в базе данных отсутствуют необходимые данные, например, сведения о размере штрафа, однако они могут быть получены посредством вычислений и дедуктивного вывода из фактов, хранящихся в базе данных. В данном случае может быть использована продукция, входящая в состав базы данных модели, которая объединяет заголовок правила «размер-штрафа» (_,_,_) с предикатами «договор о поставках»(_,_,_), «задержка-монтажа» (_,_,_), «поставляет» (_,_,_), «тариф» (_,_,), «входит в объединение» (_,_,), составляющими тело правила.
Запрос 3 на естественном языке: Выдать наименование и местонахождение поставщиков, каждый из которых поставляет для стройки, расположенной в ^местонахождение стройки>, по крайней мере, одно из каждого изделия стоимостью свыше 1000 р.
местонахождение стройки (Z/KS, «местонахождение стройки>« / MS, U/VS)a(3V/KI) поставляет (Х/КР, V/KI, Z/KS)
(VW/IM) стоимость изделия местонахождение поставщика
Запрос 4 на естественном языке: Выдать наименование предприятия, находящегося в <местонахождение поставщика> и поставляющего строительству Наименование стройки> в <местонахождение стройки> <наименование изделия>.
«Наименование изделия>» / KI, (.«наименование стройки>» / KS)a ( 3Y/VP), местонахождение поставщика (Х/КР, «^местонахождение поставщика>» IMP, Y/VP)a(3Z/VS) местонахождение стройки {«Наименование стройки>» /KS, <«местонахождение стройки>» /MS, Z/VS).
В словаре для каждого слова имеются необходимые для синтаксического и семантического анализа предложения информации: данные о части речи, роде, числе, падеже, времени и т.п. Кроме того, указываются смысловые значения (связь с предикатами базы данных).
Слово может иметь несколько форм, эквивалентность которых выявляется либо в результате морфологического анализа, либо перечислением словоформ и явным указанием отношения их эквивалентности.
Синтаксическая структура предложений запроса основана на синтаксисе русского языка, причем объекты выражены как именные группы, свойства — как предикатные группы. Внутренняя структура свойств выражается в виде придаточного определительного предложения.
Указанные свойства относятся к отношениям в базе данных и типам. В русском языке множеству типов переменных соответствует множество их наименований, в том числе синонимичных. Совокупностью отношений языка являются имена предикатов базы данных и имена бинарных предикатов («равно», «больше», «меньше» и т.п.). В русском языке свойства выражаются при помощи различного вида квалификаторов (определений) к существительному. Например, определение, выраженное прилагательным, наречием, причастием: «срочные платежи», «непоставленные трубы», «досрочно построенный».
Квалификатор может иметь вид косвенного дополнения: «предприятие РАО ЕЭС», «цех завода», «стоимость изделия»; а также может быть сочетанием отглагольного существительного и существительного в родительном падеже: «поставки продукции», «монтаж оборудования», либо в виде собственного имени: предприятие «Юпитер». Во всех этих случаях квалификатор может быть выражен как обособленное определение либо как придаточное определительное.
В случае сложноподчиненного предложения с придаточными, выражающими атрибутивно-выделительные отношения, придаточная часть распространяет сочетание существительного с указательным местоимением «тот» и присоединяется относительными местоимениями «который», «какой», «чей», «что». Придаточное может распространять сочетание существительного с указательным местоимением «такой» и присоединяется относительным местоимением «какой», «который». Указательное местоимение может быть опущено.
База знаний модели включает продукции, позволяющие определить данные о предприятии-поставщике, ответственном за поставку изделий, а в случае задержки монтажа оборудования из-за несвоевременной поставки определить размер компенсации, исходя из времени задержки и тарифа.
Для реализации системы естественно-языкового интерфейса и самой модели экспертной системы выбран язык ПРОЛОГ. Этот язык реализует метод резолюций и алгоритмы доказательства теорем для получения выводов из совокупности правил и фактов. Программа на языке ПРОЛОГ состоит из разделов. Имеются разделы доменов, предикатов, клозов (правил), базы данных. Раздел доменов содержит определение типов переменных, раздел предикатов — перечень используемых предикатов. Раздел клозов содержит безусловные клозы (факты статической базы данных) и условные, связанные оператором «:-» (читается «если»); последние образуют базу знаний. Для создания динамической, т.е. изменяемой базы данных, используется ключевое слово «база данных». ПРОЛОГ имеет значительное количество встроенных предикатов, а также модули интерфейса с языком СИ, СУБД, пакетами обмена данных по каналам связи, использующими стандартные сетевые протоколы.
Обращение к ПРОЛОГУ с вопросом инициирует процедуру поиска в базе данных, ранее введенных в систему. Пролог ищет факты, сопоставимые с фактами, содержащимися в клозе. Два факта сопоставимы, если их предикаты одинаковы (буквенное совпадение), и их соответствующие аргументы попарно совпадают. Если ПРОЛОГ находит факт, сопоставимый с вопросом, то он ответит «true», в противном случае — «false». В ПРОЛОГЕ можно не только присваивать имена конкретным объектам, но и использовать имена вида X для обозначения объектов, которые должны быть определены ПРОЛОГ- системой. Имена такого рода называются переменными. ПРОЛОГ просматривает базу данных в поисках факта, сопоставимого с вопросом. Найдя такой факт, с помощью специального маркера отмечает место, где произошло совпадение.
Правило в ПРОЛОГЕ — это некоторое общее утверждение об объектах и отношения между ними. Правило состоит из заголовка и тела правила, которые соединяются символом «:-». Тело правила обычно описывает конъюнкцию целей, которые должны быть последовательно согласованы с базой данных, чтобы заголовок правила был истинным. Когда задаем вопрос, переменная, входящая в правило, должна быть конкретизирована некоторым значением. Таким образом, доказательство или вывод вопроса считается законченным только тогда, когда он сопоставим с фактами, хранящимися в базе данных. Если целевое утверждение не доказано, то возбуждается процесс возврата или бэктрекинга с целью поиска альтернативных путей вывода.
Программный комплекс информационно-справочной интеллектуальной системы включает в себя следующие функции:
формирования входных экранов и сценария диалога, позволяющего осуществлять выбор режимов работы пользователем;
считывания вопроса, выделения отдельных слов из его текста, флективного анализа слов, снятия синонимии терминов;
сравнения слов со словарем и считывания синтаксической и семантической информации;
распознавания наименований отношений (предикатов) и доменов реляционной базы данных;
реализации логического вывода из фактов, извлеченных из базы данных;
формирования синтаксически правильно построенного запроса на языке ПРОЛОГ;
синтеза ответа по значениям атрибутов, полученных в результате поиска в базе данных;
обнаружения неизвестных системе слов в тексте запроса и выдачи соответствующего сообщения пользователю;
формирования экрана ввода разъяснения пользователем значения неизвестного системе символа;
включения нового термина и(или) понятия в состав словаря системы после разъяснения его пользователем;
получения справочной информации по системе.
Предполагается, что множество запросов на естественном языке укладывается в рамки некоторой формализованной грамматики, которая схематично, но формально описывает синтаксическую структуру предложения запроса. При анализе предложения естественного языка предложение рассматривается как цепочка, образуемая операцией конкатенации двух других цепочек.
Контекстно-свободная грамматика записывается в виде системы продукций, в качестве обозначения операции конкатенации в ней принят знак «+».
Бесконтекстная грамматика ФАЕЯЗ формальной аппроксимации естественно-языковых запросов
Работу модели поясним на следующей совокупности продукций. Головная продукция модели записывается в следующем виде:
Здесь предикат sent (W,H1,V4,D5) содержит параметр W, который хранит текст запроса пользователя, переданный предикату из функции формирования входного экрана и считывания вопроса. Внутренние параметры HI, V4, D5 необходимы для того, чтобы передать значения атрибутов базы данных предикатам соответствующих отношений. Предикат senr_who_send() будет согласован в том случае, если будет успешно завершен синтаксический анализ текста вопроса совокупностью продукций, открываемых головным предикатом sent(). Предикат snd(D5) реализует распознавание семантического типа предложения путем сравнения со списком допустимых глаголов, выражающих понятие «поставщик». Предикат osnova() реализует упрощенный вариант морфологического анализа, приводя значение переменной реляционной базы данных к тому виду, в каком это значение записано в базе данных. Предикат ent_synonym() устанавливает синонимичность понятий, выраженных различными лексическими единицами. Предикат qumark() удаляет знак вопроса из анализируемого предложения. Наконец предикат write() обеспечивает выдачу ответа в тех же терминах, в которых был сформулирован запрос, плюс значение переменной, считанное из базы данных.
Правила синтаксического анализа записаны в виде продукций языка ПРОЛОГ с использованием встроенных предикатов concat() — сцепление и member()— элемент множества. Приведем некоторые из этих правил:
Предложение в данном случае определяется через частный случай предложения, в котором подлежащее выражено существительным в единственном числе.
Предложение определяется как цепочка, полученная в результате конкатенации именной и предикативной групп, слияние которых образует исходное предложение, содержащееся в переменной. Таким образом, W = (Y2 + Y1).
3. Распознавание семантического типа осуществляется сравнением со списком семантически сходных глаголов, которыми может быть выражено отношение «поставщик». Соответствующие правила на языке ПРОЛОГ:
Принадлежность к списку [] с именем TQ устанавливается при помощи встроенного предиката member(), устанавливающего принадлежность элемента множеству терминов данного семантического типа.
4.Синонимичность терминов устанавливается следующими правилами:
5. Предикат send (Z, TT, EL) — заголовок правила, включающего в качестве конъюнкции ряд предикатов. Причем send() соответствует отношению «поставляет (КР, KI, KS)»; предикат IN () — отношению: «используется (KS, KI)»; предикат PR () — отношению «изготавливает (КР, KI)», предикат BL— отношению «входит в объединение (ОВ, КР)», DS — отношению «задержкамонтажа (KS, KP, KI)».
6. Предикаты osnova (TT, HI) и osnova (ET, V4) осуществляют нормализацию терминов, входящих в запрос путем выделения основы с тем, чтобы слова в нормализованном виде передать в виде параметров ТТ и V4 предикату send (), осуществляющему поиск в базе данных:
7. Предикат write (V4,F1,XX,Z) печатает ответ из слов, входящих в запрос, и значение переменной Z, найденное в базе данных.
Демонстрация возможностей информационно-поисковой экспертной системы на контрольном примере показывает эффективность и естественность использования для этих целей языка ПРОЛОГ.