ВУЗ:
Составители:
Рубрика:
39
Слово = идет Часть_речи = глагол
Элемент сильный не определен
Слово = дождь Часть_речи = существительное
Знак препинания = . Наименование = точка
Для поиска подстрок и отдельных символов используются
предикаты
searchstring(SourceStr,SearchStr,Position) и
seachchar(SourceString,Char,FoundPos)
соответственно. Они возвращают позиции начала подстроки и
символа.
Для выбора подстроки используется предикат
sub-
string(STRING,Pos,Len,SubStr),
для выбора символа – предикат
subchar(String,Position,RetChar).
Длина строки определяется предикатом
str_len.
40
4. Простенькая экспертная система
Задача этого раздела заключается в том, чтобы проиллюст-
рировать использование Пролога для создания игрушечной экс-
пертной системы (ЭС).
Игрушечная ЭС «Кто чем увлекается?»
Мы хотим создать систему, которая отвечала бы на вопросы,
сформулированные на русском языке, на тему увлечений (hobby)
действующих лиц.
Начнем с простейшего варианта.
В простейшем варианте нам следует создать элементарную
базу фактов типа увлечение (Кто,Что). Все вербальные варианты
запросов система проинтерпретирует так:
1) если в тексте вопроса присутствует значение "Кто" (Пет-
ров, Сидоров, ...), следует выдать все значения "Что";
2) если в тексте вопроса присутствует значение "Что", сле-
дует выдать все значения "Кто";
3) если в тексте запроса присутствуют "Что" и "Кто", то сис-
тема интерпретирует запрос, как "Увлекается ли Кто Что?".
Ответ: "Да" или "Нет" в зависимости от содержания элемен-
тарной базы знаний
.
В таком простейшем варианте ЭС (с единственным видом
отношения между субъектом и объектом) можно не утруждать
пользователя формулированием запроса в полном виде, играя в
понимание, а предоставить ему возможность выбрать тип запроса
и заполнить соответствующие поля.
Алгоритм обработки запросов очень прост. В самом слож-
ном случае, когда их типы заранее
не определены (через меню вы-
бора типа), каждое слово запроса проверяется на принадлежность
типам "Кто" или "Что", и, в зависимости от результата, формули-
руется ответ. "Закодируем" алгоритм обработки строки-запроса
Запрос, полагая, что база знаний содержится в файле
"hobbyNew.dbs".
Программа завершает работу, если в ответ на ее вопрос
write("Есть вопросы? (Д
|Н|д|н)") пользователь ответит 'Н' или 'н'.
Слово = идет Часть_речи = глагол 4. Простенькая экспертная система
Элемент сильный не определен
Слово = дождь Часть_речи = существительное Задача этого раздела заключается в том, чтобы проиллюст-
Знак препинания = . Наименование = точка рировать использование Пролога для создания игрушечной экс-
пертной системы (ЭС).
Для поиска подстрок и отдельных символов используются
предикаты Игрушечная ЭС «Кто чем увлекается?»
searchstring(SourceStr,SearchStr,Position) и Мы хотим создать систему, которая отвечала бы на вопросы,
seachchar(SourceString,Char,FoundPos) сформулированные на русском языке, на тему увлечений (hobby)
соответственно. Они возвращают позиции начала подстроки и действующих лиц.
символа. Начнем с простейшего варианта.
Для выбора подстроки используется предикат sub- В простейшем варианте нам следует создать элементарную
string(STRING,Pos,Len,SubStr), базу фактов типа увлечение (Кто,Что). Все вербальные варианты
для выбора символа – предикат запросов система проинтерпретирует так:
subchar(String,Position,RetChar). 1) если в тексте вопроса присутствует значение "Кто" (Пет-
Длина строки определяется предикатом str_len. ров, Сидоров, ...), следует выдать все значения "Что";
2) если в тексте вопроса присутствует значение "Что", сле-
дует выдать все значения "Кто";
3) если в тексте запроса присутствуют "Что" и "Кто", то сис-
тема интерпретирует запрос, как "Увлекается ли Кто Что?".
Ответ: "Да" или "Нет" в зависимости от содержания элемен-
тарной базы знаний.
В таком простейшем варианте ЭС (с единственным видом
отношения между субъектом и объектом) можно не утруждать
пользователя формулированием запроса в полном виде, играя в
понимание, а предоставить ему возможность выбрать тип запроса
и заполнить соответствующие поля.
Алгоритм обработки запросов очень прост. В самом слож-
ном случае, когда их типы заранее не определены (через меню вы-
бора типа), каждое слово запроса проверяется на принадлежность
типам "Кто" или "Что", и, в зависимости от результата, формули-
руется ответ. "Закодируем" алгоритм обработки строки-запроса
Запрос, полагая, что база знаний содержится в файле
"hobbyNew.dbs".
Программа завершает работу, если в ответ на ее вопрос
write("Есть вопросы? (Д|Н|д|н)") пользователь ответит 'Н' или 'н'.
39 40
Страницы
- « первая
- ‹ предыдущая
- …
- 18
- 19
- 20
- 21
- 22
- …
- следующая ›
- последняя »
