Инженерия знаний ( КЗ ) охватывает все аспекты, связанные с системами, основанными на знаниях .
Одним из первых примеров экспертной системы был MYCIN , приложение для выполнения медицинской диагностики. В примере MYCIN экспертами в предметной области были врачи, а представленные знания были их экспертизой в диагностике.
Экспертные системы были впервые разработаны в лабораториях искусственного интеллекта как попытка понять сложный процесс принятия решений человеком. Основываясь на положительных результатах этих первоначальных прототипов, технология была принята бизнес-сообществом США (а затем и во всем мире) в 1980-х годах. Проект эвристического программирования Стэнфорда под руководством Эдварда Фейгенбаума был одним из лидеров в определении и разработке первых экспертных систем.
На заре существования экспертных систем формального процесса создания программного обеспечения было мало или вообще не было. Исследователи просто садились с экспертами в предметной области и начинали программировать, часто разрабатывая необходимые инструменты (например, механизмы вывода ) одновременно с самими приложениями. По мере того, как экспертные системы переходили от академических прототипов к развернутым бизнес-системам, становилось ясно, что требуется методология для придания предсказуемости и контроля процессу создания программного обеспечения. По сути, были предприняты два подхода:
Многие из ранних экспертных систем были разработаны крупными консалтинговыми и системными интеграционными фирмами, такими как Andersen Consulting . Эти фирмы уже имели хорошо проверенные традиционные каскадные методологии (например, Method/1 для Andersen), которым они обучили весь свой персонал и которые практически всегда использовались для разработки программного обеспечения для их клиентов. Одной из тенденций в ранней разработке экспертных систем было простое применение этих каскадных методов к разработке экспертных систем.
Другая проблема с использованием традиционных методов разработки экспертных систем заключалась в том, что из-за беспрецедентной природы экспертных систем они были одними из первых приложений, принявших методы быстрой разработки приложений , которые включают итерацию и прототипирование, а также или вместо детального анализа и проектирования. В 1980-х годах лишь немногие традиционные методы программного обеспечения поддерживали этот тип подхода.
Последней проблемой использования традиционных методов разработки экспертных систем была необходимость в приобретении знаний . Приобретение знаний относится к процессу сбора экспертных знаний и фиксации их в форме правил и онтологий. Приобретение знаний имеет особые требования, выходящие за рамки традиционного процесса спецификации, используемого для фиксации большинства бизнес-требований.
Эти проблемы привели ко второму подходу к инженерии знаний: разработке индивидуальных методологий, специально разработанных для создания экспертных систем. [1] Одной из первых и самых популярных таких методологий, специально разработанных для экспертных систем, была методология получения знаний и структурирования документации (KADS), разработанная в Европе. KADS имела большой успех в Европе и также использовалась в Соединенных Штатах. [2]