Источники знаний, как правило, состоят из двух компонент: предусловия и действия. Предусловием называется такое состояние информационной доски, которое представляет "интерес" для конкретного источника знаний (потенциально способно его активизировать). Например, в распознавании образов предусловием может быть наличие прямой линии (которая может означать дорогу). Выполнение предусловий заставляет источник знаний сфокусировать внимание на конкретном участке информационной доски, а затем привести в действие соответствующие правила или процедурные знания.
В этих условиях очередность активизации не имеет значения: если источник знаний обнаруживает данные, полезные для решения задачи, он сигнализирует об этом контроллеру доски, фигурально выражаясь, он как бы поднимает руку, показывая, что желает сделать что-то полезное. Из нескольких источников, делающих такой жест, контроллер вызывает того, кто ему представляется наиболее перспективным.
Анализ источников знаний
Вернемся теперь к поставленной задаче и рассмотрим источники знаний, полезные для ее решения. При построении большинства приложений, основанных на знаниях, лучше всего сесть рядом с экспертом в предметной области и фиксировать те эвристики, которые он использует. В нашем случае придется попытаться расшифровать некоторое количество криптограмм и отметить особенности процесса поиска решений.
Действуя таким образом мы выявили тринадцать источников знаний, относящихся к нашей проблеме:
• Префиксы | Наиболее часто используемые начала слов (например, re, anti, un). |
• Суффиксы | Наиболее часто используемые окончания слов (ly, ing, es, ed). |
• Согласные | Буквы, не являющиеся гласными. |
• Непосредственно известные подстановки | Подстановки, известные нам априори, до решения задачи. |
• Двойные буквы | Наиболее часто сдваиваемые буквы (tt, ll, ss). |
• Частота букв | Вероятность появления букв в тексте. |
• Правильные строки | Допустимые и недопустимые сочетания букв (например, qu
и zg). |
• Сравнение с шаблоном | Слова, соответствующие шаблону. |
• Структура фраз | Грамматика, включая знания об именных и глагольных оборотах. |
• Короткие слова | Одно-, двух-, трех- и четырехбуквенные слова. |
• Решение | Найдено ли решение или мы зашли в тупик. |
• Гласные | Буквы, не являющиеся согласными. |
• Структура слова | Расположение гласных и типичная структура существительных, глаголов, прилагательных, наречий, предлогов, союзов и т.д. |
Исходя из объектно-ориентированного подхода, все эти источники знаний являются потенциальными кандидатами на роль классов, на основе которых создаются объекты, обладающие состоянием (знания), поведением (источник знаний о суффиксах может среагировать на слово с характерным окончанием) и индивидуальностью (знания о коротких словах не зависят от умения сравнивать с шаблоном).
Перечисленные источники знаний можно организовать в иерархию. В частности, существуют группы источников знаний о предложениях, о словах, о группах букв и об отдельных буквах. Такая иерархия соответствует объектам на информационной доске: предложениям, словам, частям слов и буквам.
11.2. Проектирование