Эталонные семантические структуры в смысловой обработке естественно-языковых запросов

Напомним, что согласно работе [42J первый уровень машинного понимания предполагает использование при ответе на вопросы содержания, отражаемого текстом. Модели, с помощью которых воссоздаются знания специалистов-экспертов в интеллектуальных компьютерных системах, характеризуются различным уровнем синтаксичности. Этот уровень зависит от количества синтаксических правил, находящихся вне модели, однако которые следует знать, чтобы правильно понять назначение каждого из элементов модели. Высокий уровень синтаксичности приводит к ошибочной автоматической внутренней или внешней интерпретации модели. Например, невозможно восстановить содержание фрагмента семантической сети, заданного в виде такого отношения: поставил (продукция, мариуполь, пластик). Далее везде, где будет использоваться специальный синтаксис, например синтаксис записи предикатов, названия городов и имена собственные будут писаться со строчной буквы.

Синтаксичность приведенного фрагмента настолько высока, что невозможно установить, поставил ли «Пластик» продукцию, находясь в Мариуполе, или «Пластик» поставил продукцию, производимую в Мариуполе. Если в процессе использования моделей человеком в случае необходимости для выяснения их содержания можно привлечь их авторов или соответствующие письменные комментарии, то компьютерные системы такими возможностями не обладают. Все это требует максимального снижения уровня синтаксичности моделей представления знаний за счет их насыщения семантическими маркерами (падежами). Некоторые подходы к решению данной проблемы рассмотрены в работе [2J.

Понимание излагаемого далее материала предполагает знание методов создания баз знаний на основе семантических сетей и представление последних в виде набора предикатов первого порядка. Со всем этим можно ознакомиться в работе [22J.

Одним из способов «борьбы» с синтаксичностью моделей представления знаний является явное указывание роли, выполняемой тем или иным элементом модели. Роли, или семантические отношения, — это соотношение между обобщенными категориальными значениями связанных слов, отражающее объективно действующее соотношение между денотатами [24, с. 9].

В основу распознавания смысла запроса (фразы) будет положена идея существования типовых семантических структур, отражающих реальные ситуации. Эта идея восходит к Ф. Барлетту [86], который утверждал, что человек организует свои знания в форме многоуровневых типовых структур.

Затем идея была развита М. Минским [87], предложившим для распознавания ситуации использовать шаблоны — фреймы (frame). Шаблон, отражающий лишь связи между понятиями, не содержит реальных данных об объектах или процессах.

Эта же идея содержится в теории прототипов [88], в которой предполагается, что в памяти человека хранятся не конкретные образы, а некоторое их абстрактное преставление (прототипы). Прототип отражает часто встречающиеся признаки объектов, совместно появляющихся в ситуации. В работе [20] рассматриваются результаты экспериментов по формированию у человека прототипов, важными среди которых, с точки зрения рассматриваемых проблем, являются следующие:

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

Приведенные положения из работ [20, 86, 87, 88] можно рассматривать в качестве теоретической основы для следующего утверждения: к запросу пользователя можно подобрать некоторый фрейм (прототип), отражающий его смысл, если таковой имеется в распознающей системе (поисковой машине). В противном случае обработка запроса рассматривается как неудавшаяся.

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

Дальнейшее изложение процесса обработки запросов будет базироваться на следующем определении: эталонная семантическая структура — это множество семантических отношений, обнаруженных в некотором классе запросов, рассматриваемое в качестве их прототипа. Эталонная семантическая структура, в отличие от текущих семантических структур, отражает смысл класса запросов.

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

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

В запросе всегда присутствует предикат — слово или словосочетание, отражающее характер отношений между понятиями. Например, в высказывании «Предприятие «Азовсталь» находится в городе Мариуполе» предикатом служит слово «находится», ибо оно связывает понятия «предприятие» и «город» в единое, имеющее смысл целое.

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

В отличие от семантических сетей, отражающих семантические отношения между элементами модели с помощью /7-арных предикатов, семантические структуры запросов всегда указывают на роль каждого элемента модели. Поэтому логичным является синтез семантических сетей и семантических структур, что, с одной стороны, обеспечит снижение синтаксичности модели, а с другой — применение для обработки формальных языков. А это значит, что будет обеспечено распознавание ролей каждого элемента модели запроса пользователя, сформулированного на языке деловой прозы, и сопоставление их с ролями модели базы знаний. Кроме того, можно воспользоваться стандартными средствами для обработки запроса путем его трансляции на любой из формальных языков. В семантической сети базы фактов отсутствуют роли, исполняемые каждым из ее элементов. Однако можно составить перечень семантических структур, охватывающих факты, и хранить его в качестве справочного материала. Тогда при появлении запроса с его фактической семантической структурой и удачной идентификации эталонной семантической структуры возникает возможность выделения в базе документов тех, что соответствуют эталонной семантической структуре запроса.

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

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

Семантическая структура состоит из базовых семантических отношений. На рис. 3.6 приведены текущие семантические структуры следующих высказываний: «Предприятие «Восход» находится в городе Москве. «Восход» имеет трансформаторы. «Восход» входит в ЦАО». Для их представления в виде семантической сети и семантических структур использованы такие обозначения базовых семантических отношений: Obj — семантическое отношение

Использование семантических структур для машинного распознания смысла запроса объекта, Loc — семантическое отношение места, Zn — семантическое отношение значения

Рис. 3.6. Использование семантических структур для машинного распознания смысла запроса объекта, Loc — семантическое отношение места, Zn — семантическое отношение значения.

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

Поскольку, как правило, обращение к системе оформляется с помощью вопросительных предложений, то необходимо знать, какое базовое семантическое отношение отражает вопросительное слово. Наиболее употребляемые вопросительные слова и соответствующие им базовые семантические отношения приведены в табл. 3.1.

Таблица 3.1

Соответствие вопросительных слов семантическим отношениям

Вопросительное слово

Семантическое отношение

Какого

Zn

Какой

Zn

Каким

Zn

Какому

Zn

Что

Obj (Zn)

Чего

Obj (Zn)

На какое время

Time (Zn)

Когда

Time (Zn)

Где

Loc (Zn)

Кем

Obj (Zn)

Чем

Obj (Zn)

Как (каким образом)

Instr (Zn)

Для чего

Gol (Zn)

Куда

BF (Zn)

Откуда

Pass (Zn)

С помощью чего

Instr (Zn)

В чем

To (Zn ), Loc (Zn )

К чему

BF (Zn)

От кого

Pass (Zn)

За что

Obj (Zn)

Кому

Obj (Zn)

За какой период

Time (Zn)

С какой целью

Gol (Zn)

Сколько (какое количество)

Obj (Zn)

Очень часто в запросах пропускаются имена объектов (предметов, процессов, состояний), значения которых интересуют пользователя. Например, в запросе «Где находится...» явным образом не указывается объект поиска, а лишь его значение. Более полно этот запрос должен был бы звучать так: «В каком городе находится...». Если же запрос появился в сокращенной форме, то вопросительное слово «Где» трансформируется в структуру Loc(Zn), что означает: Loc — отношение местонахождения (например, город), a Zn — отношение значения (например, Москва). Поэтому здесь и далее будут анализироваться запросы без вопросительных слов, тем более, что пользователь довольно редко их применяет. Но если они все-таки присутствуют, то можно воспользоваться соответствующими семантическими отношениями, представленными в табл. 3.1.

Рассмотрим, каким образом семантическая структура фраз из документов и запроса используется для ответа. Описание предметной области может вначале представляться в виде семантической сети, а затем в предикатной форме:

находится {предприятие, восход, город, москва)', имеет {предприятие, прокат)', состоит {прокат, балка)', входит {город, район).

Эталонная семантическая структура этих фактов такая: находится {Obj{Zn), Loc{Zn))', имеет {Obj{Zn), Obj{Zn)) входит {Obj, Obj); состоит {Obj, Obj).

Если имеется запрос подтверждающего характера, например «Находится ли предприятие «Восход» в городе Москве?», то его текущая семантическая структура будет такой: находится {Objпредприятие {Zn_eocxod),

Ьос_город {Zn_MOCKea)).

Если же запрос содержит неизвестное, например: «Где находится предприятие Восход?», то структура его такова:

находится {Objпредприятие {Znjeocxod), Loc_X{Zn_Y)).

Неизвестные Хи Yпоявились в результате обработки вопросительного слова «Где», которому соответствует семантическое отношение Loc{Zn).

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

Рассмотрим некоторые дополнительные определения, которые понадобятся в дальнейшем.

Согласно работе [16, с. 53] понятие — это элемент системы знаний, представляющий собой обобщенную модель некоторого класса элементов мира. С ее помощью реализуются процессы распознавания и генерации моделей конкретных элементов мира. Понятия, отражая обобщенное представление о предметах различных классов, дают возможность установить смысловую связь между конкретными элементами этих классов. Например, понятия «город» и «предприятие» совершенно необходимы для распознавания смысловой связи между элементами этих классов, а именно «Москва» и «Восход». Понятия явно или неявно, но всегда принимают участие в процессе выявления смысла высказывания или запроса.

Совокупность понятий, отражающих связь между классами объектов, классами и элементами этих классов, а также между элементами различных классов, называется высказыванием (суждением, фактом). Запрос, в отличие от высказывания, указывает на то, что следует выяснить. Предметом выяснения может быть:

  • • объект по заданной характеристике;
  • • характеристика по заданному объекту.

Высказывание и запрос всегда можно представить в виде дерева в силу иерархичности понятий. Иерархичность является следствием разницы в объемах понятий. Объем понятия — это количество признаков, характеризирующих класс объектов, а объем высказывания — сумма признаков, характеризирующих каждое из понятий высказывания. Например, понятие «перевозки» имеет три признака, согласно которым можно выделить три класса: вид используемых путей (воздушные, водные, наземные), характер перевозимых грузов (перевозка людей, материальных средств, негабаритных грузов) и военные перевозки (эвакуационные, мобилизационные, оперативные).

Высказывания могут быть простыми или сложными. Сложные состоят из простых и связываются либо союзами и/или, либо предикатами нижних уровней высказывания.

Понятия в высказывании или запросе связаны иерархическими отношениями, что и предопределяет их семантическую структуру. Семантическая структура запроса — это дерево, в узлах которого находятся понятия или элементы классов, образующих эти понятия, а дуги отражают семантические отношения между ними.

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

где SF — семантическая структура факта; RF — предикат факта; SO — семантическое отношение между /-м возможным понятием и предикатом.

Для трех- и четырехуровневых деревьев структура представляется следующим образом (обозначения прежние):

Поиск факта, который соответствует содержанию запроса, заключается в соотнесении соответствующих семантических структур. При этом возможно несколько случаев:

  • • полное совпадение структуры факта и запроса;
  • • структура факта включает в себя структуру запроса;
  • • структура запроса включает в себя структуру факта;
  • • частичное совпадение структур;
  • • полное несовпадение структур.

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

При этом должно выполняться:

Второе условие, являясь избыточным при раскрытии сущности операции, оказывается весьма полезным при практических расчетах. В процессе выполнения данной операции структура SZ очищается от понятий, что позволяет соотнести ее со структурами SF. Последовательность размещения элементов структур (семантических отношений) не имеет значения, поскольку данная операция предназначена лишь для сравнения элементов множеств.

Корректная реализация операции эквивалентности предполагает задание синтаксически грамотных и осмысленных запросов. В противном случае система не распознает запроса.

Примером выполнения операции эквивалентности могут служить следующие структуры:

SF= находится (Obj(Zn), Loc(Zn))

SZ= находится (Loc_eopod(Znмариуполь), Obj^предприятие (Zn_a3oecmaAb)).

Структура запроса после очистки примет такую форму:

SZ= находится (Loc(Zn), Obj(Zn)), что, согласно введенной операции, позволяет считать их эквивалентными. Содержательно операцию эквивалентности можно продемонстрировать такими фактом и запросом:

Предприятие Азовсталь находится в городе Мариуполе и

В городе Мариуполе находится предприятие Азовсталь ?

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

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

При этом должно выполняться:

где SF= находится (Obj(Zn), Loc(Zn)),

SZ= находится (Objпредприятие, Ьос^п_мариуполь)).

После очистки SZ примет вид

SZ= находится (Obj, Loc(Zn)).

Содержательно представление структур можно объяснить на таких примерах:

SF: Предприятие Азовсталь находится в городе Мариуполе.

SZ: В городе Мариуполе находятся предприятия?

Здесь понятие «предприятие» включает в себя элемент «Азовсталь».

Третий случай определяет ситуацию, при которой структура запроса включает в себя структуру факта, что реализуется операцией вида

при этом должно выполняться:

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

Четвертый случай имеет место тогда, когда часть семантических отношений не совпадает в структуре факта и запроса, т.е.

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

Азовсталь находится в городе Мариуполе и

Находится ли Азовсталь в платежеспособном состоянии ?

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

Последний вариант (пятый) указывает на полное несовпадение знаний, известных системе, с запросом, сформулированным пользователем. Приведем примеры запросов и формы их представления: графическое представление семантической структуры (СЕМС) и предикатное (в синтаксисе языка ПРОЛОГ).

Естественно-языковые запросы могут приобретать различную форму. Рассмотрим две формы:

  • • простой запрос;
  • • составной запрос.

Простой запрос, в свою очередь, может также иметь две разновидности. Первая предполагает простое подтверждение того или иного факта. Например, «Находится ли предприятие Азовсталь в городе Мариуполе?» Семантическая структура его следующая:

Данная семантическая структура должна иметь свой эквивалент для того, чтобы получить ответ «да/нет»:

СЕМС: находится (Obj^предприятие {Хп_азовсталь),

1ос_город (.Zn_MapuynoAb)),

находится {предприятие, азовсталъ, город, мариуполь).

Вторая разновидность простого запроса содержит неизвестные, которые следует отыскать. Например, «Где находится предприятие Азовсталь?» Его семантическая структура будет такая:

Предикатная форма семантической структуры, соответствующая запросу, будет следующая:

СЕМС: находится {Loc_X{Zn_Y), Obj предприятие (Zn_a3oe- сталь)),

находится (X, Y, предприятие, азовсталь).

Особенность составных запросов состоит в том, что они содержат две части:

  • • запросную (собственно запрос);
  • • условную (правило поиска).

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

Примером первой является следующий запрос: «Выполнит ли предприятие Азовсталь план по продукции швеллер-2 в 3-м квартале?» Графическое представление его семантической структуры такое:

Для обработки такого запроса необходимо, чтобы в базе знаний существовала информация о том, что является условием выполнения плана. Иными словами, в запросе должна быть условная часть вида: ЕСЛИ предприятие Азовсталь имеет материал сталь-5 на дату 31.06 и материал сталь-5 используется для изготовления продукции швеллер-2, что и служит основой для выдачи ответа. Таким образом, графическое представление запроса примет форму:

Его предикатная форма будет следующей:

СЕМС: выполнять (Subj^предприятие ^п_азовсталь),

Obj_man (<ОЪ]_продукция (.Zn_meemep-2)), Тте_квартал (Zn_3)) использовать {ОЬ]_материал (Zп_сталь-5),

Со1_продукция {Zп_швеллер-2)), иметь {Subjпредприятие (Zn_a3oecmcuib),

ОЦ_материал (Zn_cmcuib-5),

Timejdama {Zn_31.06).

Эта форма без труда трансформируется в предикатную форму: выполнять {предприятие, азовсталь, план, продукция, швеллер-2, квартал, 3)

использовать {материал, сталь-5, продукция, швеллер-2), иметь {предприятие, азовсталь, материал, сталь-5, дата, 31.06).

Теперь рассмотрим составной запрос, содержащий характеристики объектов, значения которых нужно определить. Например: «По какой продукции предприятие Азовсталь выполнит план в 3-м квартале?» Прямым путем, как это было в предыдущем запросе, ответ получить нельзя, ибо он предполагает процедуры поиска иного характера. Запросная часть примет такую форму:

Предикатное представление запроса будет таким:

СЕМС: выполнять {Subjпредприятие {Zп_азовсталь),

Obj_man {ОЩ_продукция {Zn_X)), Тте_квартал {Zn_3)).

Предикатное представление условной части аналогично предыдущему.

Кроме предикатного представления базы знаний (а точнее, базы фактов), для трансляции запроса должны использоваться следующие таблицы:

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

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

Пользователь может применять различные глаголы (деепри- частия)-синонимы, например:

Наряд N2 выписан работнику Иваненко.

Наряд N2 оформлен работнику Иваненко.

Поэтому в графе 1 табл. 3.2 указан один обобщенный глагол, к которому будут сведены все известные системе глаголы с одним

Таблица 3.2

Таблица семантических структур базы фактов

Обобщенный

глагол

Базовая семантическая структура

Имя

предиката

Шаблон предиката базы фактов

выписывать

Obj(Zn),Gol(Zn)

Z1

Z1(Obj,Obj(Zn),Loc,Loc(Zn)

Obj(Zn),Gol(Zn),Time(Zn)

Z2

Z2(Obj,Obj(Zn),Gol,Gol(Zn),Tlme,

Time(Zn))

Obj(Zn),Gol(Obj(Zn))

Z3

Z3(Obj,Obj(Zn),Gol,Gol(Obj),

Gol(Obj(Zn))

использовать

Obj(Zn),Gol(Obj(Zn),Time(Zn)

VI

V1(Obj,Obj(Zn),Gol,Obj(Zn),Time,

Time(Zn))

Obj(Zn),Gol(Obj(Gol(Zn),

Time(Zn)

V2

V2(Obj,Obj(Zn),Gol,

Gol(Obj),Gol(Obj(Gol)),Time,

Time(Zn)

находится

Obj(Zn),Loc(Zn)

Zn1

Zn 1 (Obj, Obj(Zn), Loc, Loc(Zn)

содержанием. Однако их семантика может быть различной, например:

Наряд N2 выписан работнику Иваненко.

Наряд N2 выписан на дату 01.09.95 для бригадира Василенко.

Наряд N2 выписан для расчета заработной платы бригаде N8.

Отсюда в графе 2 табл. 3.2 приведены все семантические структуры, известные системе, а в графе 3 — имена предикатов базы фактов, соответствующие семантической сети.

Для поиска обобщенного глагола используется табл. 3.3.

Таблица 3.3

Справочник глаголов-синонимов

Глагол (деепричастие)

Обобщенный глагол

выписывать

выписывать

оформлять

выписывать

писать

выписывать

Аналогично разрабатывается справочник обобщенных и детализированных понятий (табл. 3.4).

Таблица 3.4

Справочник обобщенных и детализированных понятий

Обобщенное понятие

Детализированное понятие

сотрудник

работник

служащий

инженер

предприятие

завод

фабрика

производственное объединение

филиал

В качестве значений в запросах могут употребляться имена собственные без указания понятия, к которому это значение относится. В этом случае следует применять таблицу с именами собственными (табл. 3.5).

Теперь более подробно рассмотрим трансформацию естественно-языкового запроса в предикатную форму. Допустим, в базе фактов имеется отношение со следующим содержанием (см. рис. 3.3):

находится (предприятие, азовсталь, город, мариуполь), которому соответствует своя семантическая структура (см. табл. 3.2):

находится (Obj(Zn),Loc(Zn)).

В действительности этот факт будет записан в базу с другим именем предиката (см. табл. 3.2), а синтаксис записи семантической структуры несколько иной, а именно:

znl(Obj,Obj(Zn),Loc,Loc(Zn)).

Это сделано с целью большего охвата различных вариантов формулирования запроса и удобства перевода его в предикатную форму. Допустим, появился запрос:

Азовсталь находится в Мариуполе?

Как видим, в нем не указано ни то, что Азовсталь — это предприятие, ни то, что Мариуполь — город. Вначале запрос трансформируется в семантическую структуру:

находится (ОЬ]_^п_азовсталь),Ьос_^п_мариуполь)).

С помощью табл. 3.2 определяют наименование соответствующего предиката из базы фактов (допустим, znl). Тогда получим: zn l(Obj_(Zn_a3oecm аль), Loc_(Zn_Mapuyn оль)).

Отбросим имена аргументов: znl{Obj{Zn),Loc{Zn)).

Сравнив полученный результат с существующим в системе шаблоном, а именно:

zn l(Obj, Obj(Zn), Loc,Loc(Zn)),

и заменив недостающее анонимной переменной, получаем zn l(_,Obj(Zn) ,_,Loc(Zn)).

Таблица 3.5

Справочник имен собственных

Понятие

Имя собственное

Работник

Иваненко

Петренко

Завод

Восход

Маяк

Рассвет

Город

Киев

Мариуполь

Кременчуг

Теперь остается лишь заменить семантические отношения аргументами предиката:

zn 1(_,азовсталь,мариуполь), что и является запросом на языке ПРОЛОГ.

Один и тот же запрос может быть представлен в различной формулировке. Однако его содержание (смысл) всегда остается одним и тем же, что отражается в семантической структуре. Поэтому, каким бы образом пользователь ни формулировал свой запрос (синтаксически правильный), ответ будет один и тот же. Рассмотрим все тот же факт:

Предприятие Азовсталь находится в городе Мариуполе. Семантическая сеть, отражающая его содержание, представлена на рис. 3.7.

Семантическая сеть запроса или факта

Рис. 3.7. Семантическая сеть запроса или факта

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

Для рассматриваемого факта в таблице семантических структур он (факт) представляется в двух записях:

находится ((Obj(Zn),Loc(Zn)) семантическая структура факта;

zn l(Obj,Obj(Zn),Loc,Loc(Zn)).

По поводу данного факта пользователь может задать вопросы в следующих формах:

  • 1. Где находится предприятие Азовсталь?
  • 2. Где находится Азовсталь?
  • 3. Предприятие Азовсталь находится в Мариуполе?
  • 4. Азовсталь находится в Мариуполе?
  • 5. Кто (что) находится в Мариуполе?
  • 6. Какие предприятия находятся в Мариуполе?
  • 7. В Мариуполе находятся предприятия?
  • 8. В Мариуполе находится Лзовсталь?
  • 9. В Мариуполе находится предприятие Лзовсталь?
  • 10. Предприятие Лзовсталь находится в городе Мариуполе? Графическое представление семантической структуры каждого

из перечисленных запросов показано на рис. 3.8. Предикатное их представление следующее:

  • 1. находится (Obj^предприятие {Zn_a3oecmanb),Loc{Zn_X)).
  • 2. находится {Obj{Znазовсталь),Loc{Zn_Х)).
  • 3. находится {Objпредприятие (Zп_азовсталь),Ьос^п_мариу-

ПОЛЬ)).

  • 4. находится (Obj{Zn_a3oecmanb),Loc{Zn_Mapuynonb)).
  • 5. находится (Obj(Zn_X),Loc{Zn_Mapuyno3b)).
  • 6. находится {Objпредприятие {Zn_X),Loc{Zn_Mapuynonbj).
  • 7. находится {Objпредприятие, Loc{Zn_Mapuynonb)).

Варианты семантических структур запросов по поводу одного и того же факта

Рис. 3.8. Варианты семантических структур запросов по поводу одного и того же факта

  • 8. находится (ОЬ}(Хп_азовсталь),1ос(Хп_мариуполъ)).
  • 9. находится (Obj^предприятие (Хп_азовсталь),Loc(Zn_Mapuy- поль)).
  • 10. находится {Objпредприятие (Zn_a3oecmcuib), Loc_eopod (Znjwa- риуполъ)).

Трансформация перечисленных предварительных форм в синтаксис языка, например ПРОЛОГ, предусматривает выполнение ряда шагов (см. выше):

  • 1- й шаг
  • 1. znl(Obj,Obj{Zn),Loc(Zn)).
  • 2. znl(Obj{Zn),Loc{Zn)).
  • 3. znl(Obj,Obj(Zn),Loc(Zn)).
  • 4. znl(Obj(Zn),Loc(Zn)).
  • 5. znl(Obj(Zn),Loc(Zn)).
  • 6. znl(Obj,Obj{Zn),Loc{Zn)).
  • 7. znl(Obj,Loc(Zn)).
  • 8. znl(Obj(Zn),Loc(Zn)).
  • 9. znl{Obj,Obj(Zn),Loc(Zn)).
  • 10. znl{Obj,Obj(Zn),Loc,Loc(Zn)).
  • 2- й шаг
  • 1. znl(Obj,Obj(Zn), _ ,Loc(Zn)).
  • 2. z«7( _ ,Obj(Zn), _ ,Loc(Zn)).
  • 3. znl(Obj,Obj(Zn), _ ,Loc(Zn)).
  • 4. ?/*7( _ ,Obj(Zn), _ ,Loc(Zn)).
  • 5. ?/*7( _ ,Obj(Zn), _ ,Loc(Zn)).
  • 6. znl(Obj,Obj(Zn), _ ,Loc{Znj).
  • 7. znl(Obj, _ , _ ,Loc{Zri)).
  • 8. ?я7( _ ,Obj(Zn), _ ,Loc(Zn)).
  • 9. znl(Obj,Obj{Zn), _ ,Loc(Zn)).
  • 10. znl(Obj,Obj(Zn),Loc,Loc(Zn)).
  • 3- й шаг
  • 1. znl(предприятие,азовсталь,_,Х).
  • 2. znl(aзoвcmaль,_,X).
  • 3. zn 1 (предприятие, азовсталь,_,мариуполь).
  • 4. znl(_,aзoвcmaлb,_,.мариуполь).
  • 5. nl(_,X,_,мариуполь).
  • 6. п 1 (предприятие,Х,_,мариуполь).
  • 1. п 1 (предприятие,__,_,мариуполь).
  • 8. п1(_,азовсталь,_,мариуполь).
  • 9. п1 (предприятие,азовсталь,_,мариуполь).
  • 10. (предприятие,азовсталь,город,мариуполь).
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >