Основная перспектива развития механизмов поиска информации в 525x2316f Интернет и баз данных на ЭВМ - создание более универсальных языков запросов, все более приближающихся к обычным естественным языкам по выразительным возможностям. Эта идея лежала в основе японского проекта ЭВМ пятого поколения.
Одним из основных в японском проекте ЭВМ являлось понятие баз знаний, принятых в языке Пролог, а также экспертных систем, моделирующих поведение экспертов в некоторой предметной области знаний или профессиональной деятельности.
База знаний в ЭВМ - это совокупность фактов и правил вывода, хранящихся в памяти ЭВМ. С математической точки зрения базы знаний могут описываться в форме наборов предикатов и правил логического вывода.
Содержание баз знаний составляют конкретные и обобщенные факты и сведения об определенной предметной области или сфере деятельности. Примеры предметных областей - семья, школа, вуз, магазин, рынок, ферма, фирма, завод, офис, банк и т. п.
Любая база данных в ЭВМ может быть описана набором предикатов, описывающих имеющиеся в ней сведения. Примеры записи конкретных фактов в форме предикатов:
мама (Люба, Оля) - Люба - мама Оли
папа (Вова, Лена) - Вова - папа Лены
оценка (Вова, физика, 5) - Вова имеет 5 по физике
оценка (Лена, русский, 5) - У Лены 5 по русскому языку
любит (Лена, музыка) - Лена любит музыку
Перечисленные предикаты в языке Пролог называются фактами. Факты в Прологе - это конкретные предикаты с конкретными значениями. В качестве значений предикатов могут выступать слова, числа и словосочетания, в которых слова соединяются знаком подчеркивания.
Вопросы в языке Пролог - это запросы к базам данных и базам знаний в ЭВМ. С точки зрения математики любой вопрос на Прологе - это некоторое суждение об объектах, хранящихся в базе знаний.
Эти суждения могут быть истинными или ложными. Задача системы Пролог состоит в том, чтобы найти такие конкретные значения, которые дают положительные ответы на указанные вопросы.
Примеры простых вопросов на языке Пролог и ответов на них ЭВМ, в памяти которой содержится указанная выше группа фактов (предикатов):
? папа (х, Лена) - Кто папа Лены ?
х = Вова
? мама (х, Лена) - Кто мама Лены?
нет
? мама (х, у) - Кто у кого - мама ?
х = Люба
у = Оля
? оценка (х, _ , 5) - Кто имеет оценки 5?
х = Лена
х = Вова
Здесь буквы х, у - обозначения переменных, а числа и слова - конкретные значения аргументов в соответствующих предикатах. Знак подчеркивания «_» представляет неопределенное значение, которое несущественно для ответа на вопросы.
Запись вопросов в языке Пролог начинается со знака ?, за которым записывается предикат либо группа предикатов, разделяемых запятыми. Запятая в сложносоставных вопросах на языке Пролог играет роль логической связки «И» («AND»).
Примеры сложносоставных вопросов на языке Пролог:
? мама (х,у), мама (у, Оля) - Кто мама у мамы Оли?
х = Зина
у = Люба
? мама (х,у), папа (у, Оля) - Кто мама у папы Оли?
НЕТ
Правила в Прологе - это правила логического вывода. Слева в правилах записывается следствие, а справа - предусловие. Предусловие может состоять из одного или нескольких предикатов, разделяемых запятыми. Примеры записи правил вывода на Прологе:
студент(х) <- занятие(х,учеба) - студент - тот, кто занят учебой;
нумизмат(х) <- собирает(х,монеты) - нумизмат - тот, кто собирает монеты.
Примеры вопросов на использование этих правил:
? студент(х) - Кто - студент?
х = Алеша
х = Лена
? нумизмат(у) - Кто - нумизмат?
у = Алеша
В правилах со сложносоставными определениями запятая также играет роль логической связки и объединяет условия, образующие определение. Такого рода правила позволяют создавать сложные базы знаний по различным предметным областям и применениям.
Базы знаний на ЭВМ могут содержать правила вывода следующих видов:
- правила определения понятий;
- правила принятия решений;
- способы решения задач;
- правила поведения и т. п.
Обобщенные сведения в базах знаний записываются в форме правил вывода, выражающих определения понятий. Примеры обобщенных сведений:
бабушка (x,z) <- мама(х,у), мама(у,z) - бабушка - это мама мамы;
двоечник(х) <- оценка(х,_ ,2) - двоечник - тот, у кого есть двойки.
Используя совокупность конкретных и обобщенных фактов и правил, компьютеры могут давать ответы на широкий круг осмысленных вопросов. Для этого соответствующая база знаний с соответствующей системой понятий и правил вывода должна храниться в памяти ЭВМ.
При определении новых понятий необходимо различать их объем и содержание. Объем понятия - это совокупность вещей или явлений, отвечающих данному понятию. Объем понятий соотносит словам и терминам соответствующие объекты предметной области.
Содержание понятия - это совокупность логических признаков, выделяющих объекты, отвечающие данному понятию, среди других объектов. С логической точки зрения определение понятия представляет описание совокупности признаков, характеризующих его содержание.
Приведем примеры определения понятий.
1. Понятие «мама». Объем понятия - совокупность всех мам. Содержание понятия - женщина, имеющая детей. Формализация понятия на Прологе может выражаться конкретными фактами. Примеры:
мама (Люба, Оля) - Люба - мама Оли;
мама (Зина, Люба) - Зина - мама Любы.
2. Понятие - «бабушка». Объем понятия - совокупность всех бабушек. Содержание понятия - «бабушка - это мама мамы или папы». Формализация этого понятия на Прологе:
бабушка(х,z) <- мама(х,у), мама(у,z) - бабушка - это мама мамы;
бабушка(х,z) <- мама(х,у), nana(y,z) - бабушка - это мама папы.
3. Понятие «музыкант». Объем понятия - совокупность людей, занимающихся музыкой. Содержание понятия - «музыкант - человек, который любит музыку и занимается музыкой». Это понятие на языке Пролог можно записать в виде правила:
музыкант (х) <- любит (х, музыка), занятие (х, музыка)
4. Понятие «студент». Объем и содержание понятия - учащиеся в вузах, университетах и колледжах. Определение этого понятия на Прологе можно записать в виде набора правил:
студент (х) <- занятие (х, учеба), место (х, университет);
студент (х) <- занятие (х, учеба), место (х, институт);
студент (х) <- занятие (х, учеба), место (х, колледж);
Для создания сложных баз знаний может понадобиться целая система понятий, характеризующих объекты в заданной предметной области. Эта система определений базируется на наборе признаков, где каждый признак является характеристикой некоторого объекта.
д) спортсмен;
б) филателист; е) бизнесмен;
ж) музыкант;
г) программист; з) мусорщик.
г) физкультура;
б) математика; д) информатика;
е) история.
д) физик;
е) лирик;
ж) троечник.
|