Модели представления знаний

Знания

Тема 4.3 Модели представления знаний

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

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

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

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

«Марка автомобиля — ВАЗ 21053; номер — А678ОР 77; контакт­ный телефон владельца — 345-67-34; неисправность — двигатель останавливается на холостом ходу».

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

Следующий пример относится к той же предметной области.

«ЕСЛИ двигатель останавливается на холостом ходу и зажига­ние в цилиндрах двигателя выставлено правильно, ТО возможная причина неисправности — засорены жиклеры холостого хода».

Приведенная фраза описывает определенную закономерность предметной области (т. е. относящуюся ко всем автомобилям с кар­бюраторным двигателем) и содержит в себе знание специалиста по ремонту двигателей, приобретенное им опытным путем за время работы в автосервисе либо полученное в результате обучения, т. е. от другого специалиста. Опытный мастер обладает большим набо­ром утверждений подобного рода (не только по диагностике не­исправностей, но и по их устранению), многие из которых имеют вид «ЕСЛИ — ТО», как приведенное ранее.

Следует отметить, что деление информации на классы «дан­ные» и «знания» довольно условно, часто фактические данные (или просто факты) относят к знаниям специального вида, кото­рые представляются в виде: АЛВ, где А — символьная строка, указывающие на имя конкретного объекта или ситуации, В — символьная строка или число, а знак А обозначает один из

мате­матических знаков =, >, <, <, >.

Например, «марка = ВА321053», «неисправность = двигатель останавливается на холостом ходу», «температура <37», «цвет из­делия е {черный, синий, красный}».

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

• увеличение сложности решаемых задач приводит к тому, что
программы становятся все сложнее для понимания, и поэтому
затрудняется их разработка;

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

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

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

• алгоритм решения задачи неизвестен или не может быть ис­пользован из-за ограниченности памяти и быстродействия ком­пьютера;

• задача не может быть записана в числовой форме (например, задача медицинской или технической диагностики).

Такие задачи принято называть плохо формализуемыми.

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

Наиболее значительное практическое достижение в области инженерии зна­ний представляет специальный класс интеллектуальных систем — экспертные системы, которые предназначены для решения раз­нообразных задач в конкретных областях человеческой деятельно­сти без участия квалифицированных специалистов.

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

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

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

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

· продукционная модель;

· модель семантической сети;

· модель, основанная на фреймах;

· логическая модель.

Рассмотрим основные концепции, лежащие в основе этих моделей.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: