"Информатика (базовый уровень)", Гейн А.Г., Юнерман Н.А.
Реляционная модель экспертной системы представляет знания в виде связанных таблиц. В них хранятся факты о предметной области: свойства объектов, события и отношения между ними. Столбцы задают признаки, строки описывают отдельные объекты или факты, а общие атрибуты связывают таблицы. Правила обработки позволяют системе сопоставлять записи и выводить новые сведения, поэтому ответ не всегда хранится в базе готовым.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Экспертная система — программа, которая использует знания некоторой предметной области, чтобы отвечать на вопросы и решать задачи, обычно требующие участия специалиста. Она не просто хранит сведения, а обрабатывает их по заданным правилам. Поэтому её применяют там, где нужно получить обоснованный вывод из известных фактов.
База знаний — часть экспертной системы, в которой хранятся сведения о предметной области и зависимости между ними. В ней могут находиться факты об объектах, их свойствах и связи между записями. Такая база нужна, чтобы система опиралась не на случайные данные, а на организованные знания.
Реляционная модель знаний — способ представления знаний с помощью отношений, то есть таблиц с именованными столбцами и строками. Каждый столбец задаёт некоторый признак, а строки содержат конкретные наборы значений. Табличная форма делает сведения удобными для поиска, отбора и объединения.
Кортеж — строка отношения, содержащая значения атрибутов и представляющая один факт о предметной области. Например, строка с именем животного, его классом и средой обитания описывает один объект. Понятие кортежа помогает точно понять, какие значения относятся друг к другу.
Экспертной системе нужны не только отдельные данные, но и знания о том, как они связаны. Запись «дельфин» сама по себе почти ничего не сообщает: необходимо знать его класс, среду обитания или питание. Связи и свойства позволяют системе отвечать на содержательные вопросы, а не просто находить совпадение слов.
Сначала из предметной области выбирают сведения, важные для решения задачи, и распределяют их по отношениям. Если нужно описывать животных, в таблице можно выделить имя, класс и среду обитания. Столбцы становятся атрибутами, потому что каждый из них отвечает на определённый вопрос об объекте и принимает значения одного типа.
Кортеж фиксирует конкретный факт, поскольку все его значения относятся к одному объекту или событию. В строке «дельфин, млекопитающее, море» имя, класс и среда обитания образуют единое описание именно дельфина. Если поместить туда сведения о разных животных без ясного основания, строка перестанет иметь однозначный смысл.
Одной таблицы часто недостаточно: сведения об объектах, питании и местах обитания могут храниться отдельно. Общий атрибут, например имя животного, позволяет сопоставить строки из разных отношений. Система сначала отбирает записи по условиям, а затем соединяет подходящие сведения и формирует ответ на запрос.
Логические правила нужны, чтобы переходить от известных фактов к новым заключениям. Например, правило «если животное — млекопитающее, то оно теплокровное» применяется к записи о классе животного. Полученный вывод может не быть отдельной строкой исходной таблицы, но он обоснован фактами и правилом.
| Элемент | Как представлен | Пример для предметной области «животные» |
|---|---|---|
| Отношение (таблица) | Набор строк и столбцов с однородными сведениями | Таблица «Животные» |
| Атрибут (столбец) | Именованный столбец, задающий признак | «Имя», «Класс», «Среда обитания» |
| Кортеж (строка) | Набор значений, описывающий один объект или факт | «дельфин, млекопитающее, море» |
| Значение атрибута | Конкретное значение признака в строке | «море» в столбце «Среда обитания» |
| Связь между отношениями | Сопоставление таблиц по общему атрибуту | Имя животного в таблицах «Животные» и «Питание» |
При чтении таблицы сначала смотрят на заголовки: они показывают, что означает каждое значение. Затем рассматривают строку целиком, потому что только вместе её значения образуют факт. Для запроса к нескольким таблицам находят общий атрибут и проверяют, какие строки можно сопоставить.
Дана таблица «Животные» со столбцами «Имя», «Класс», «Среда обитания». Нужно определить, какие сведения задаёт строка «дельфин, млекопитающее, море». Здесь важно не перепутать всю строку с отдельным значением.
Ответ: кортеж сообщает, что дельфин — млекопитающее, живущее в море. Каждое значение относится к своему атрибуту, но вместе они описывают один объект.
В таблицах «Животные» и «Питание» требуется найти животных, которые живут в воде и питаются рыбой. Нужно использовать оба условия, иначе в ответ попадут лишние записи. Таблицы связывают по общему атрибуту, например по имени животного.
Ответ: результатом станут имена животных, присутствующие в обеих отобранных группах. Так система одновременно проверяет среду обитания и питание.
В базе есть факт «дельфин — млекопитающее» и правило «если животное — млекопитающее, то оно теплокровное». Требуется определить, какой новый факт получит система. Нужно отличить исходную запись от вывода, полученного рассуждением.
Ответ: система получает факт «дельфин — теплокровный». В исходной таблице могло не быть такой записи, потому что она появилась после применения логического правила.
Ошибка: считать таблицу экспертной системой. Таблица хранит факты, но сама не выполняет выводы; так думают из-за того, что в ней уже видны ответы. Проверьте себя: найдите в описании системы правила и механизм обработки знаний.
Ошибка: путать атрибут и его значение. «Среда обитания» — название столбца, а «море» — значение в конкретной строке; путаница возникает, когда их называют одним словом «данные». Для проверки спросите себя, можно ли указать под этим термином много разных значений.
Ошибка: записывать в один кортеж сведения о разных объектах без общего основания. Такой кортеж появляется при попытке сэкономить строки, но становится непонятно, к кому относится каждый признак. Проверьте, описывает ли строка один объект или одно событие.
Ошибка: считать, что любой ответ уже записан в таблице. Это происходит, если не отличать исходный факт от результата правила. Проверьте ответ: найдите его строку в базе, а затем выясните, не был ли он выведен сопоставлением фактов.
Для понимания темы нужны знания о таблицах баз данных: полях, записях и значениях. Полезно различать факт и логическое правило, потому что первое хранится в базе, а второе задаёт способ вывода.
Реляционное представление связывает информатику с базами данных, запросами и формальным представлением знаний. Позже эти идеи помогают понимать, как отбирать записи и объединять сведения из разных таблиц.
Чем реляционная модель знаний отличается от обычного списка фактов?
В списке факты обычно записаны последовательно и могут быть плохо связаны между собой. Реляционная модель распределяет их по таблицам с атрибутами и позволяет отбирать, сопоставлять и объединять записи.
Почему сведения об одной предметной области могут храниться в нескольких таблицах?
Разные таблицы удобно использовать для разных типов сведений: например, одна описывает животных, а другая — их питание. Связь по общему атрибуту позволяет получить целостный ответ, не смешивая все данные в одной таблице.
Как понять, что именно означает строка таблицы?
Нужно посмотреть на названия столбцов и определить, какой объект или факт описывают значения строки. Например, строка «дельфин, млекопитающее, море» сообщает класс и среду обитания конкретного животного.
Может ли экспертная система получить факт, которого нет в таблице?
Да, если в базе есть подходящий факт и правило вывода. Например, из факта «дельфин — млекопитающее» и правила о теплокровности система получит новый вывод.
Зачем связывать таблицы общими атрибутами?
Общий атрибут показывает, каким объектам принадлежат записи в разных отношениях. Благодаря этому система может сопоставить сведения и найти, например, животных, живущих в воде и питающихся рыбой.
§ 39. Реляционная модель экспертной системы