Система , основанная на знаниях ( KBS ), — это компьютерная программа , которая рассуждает и использует базу знаний для решения сложных проблем . Этот термин широк и относится к множеству различных типов систем. Одна общая тема, которая объединяет все системы, основанные на знаниях, — это попытка явного представления знаний и система рассуждений , которая позволяет извлекать новые знания. Таким образом, система, основанная на знаниях, имеет две отличительные особенности: базу знаний и механизм вывода .
Первая часть, база знаний, содержит специфичные для предметной области факты и правила [1] о проблемной области (а не знания, неявно встроенные в процедурный код, как в обычной компьютерной программе). Кроме того, знания могут быть структурированы посредством онтологии включения , фреймов , концептуального графа или логических утверждений. [2]
Вторая часть, механизм вывода, использует методы рассуждения общего назначения для вывода новых знаний и решения проблем в проблемной области. Чаще всего он использует прямую цепочку или обратную цепочку . Другие подходы включают использование автоматического доказательства теорем , логического программирования , систем классной доски и систем переписывания терминов , таких как правила обработки ограничений (CHR). Эти более формальные подходы подробно описаны в статье Википедии о представлении знаний и рассуждениях .
Системы, основанные на знаниях, были впервые разработаны исследователями искусственного интеллекта . Эти ранние системы, основанные на знаниях, были в первую очередь экспертными системами – фактически, этот термин часто используется как синоним экспертных систем, хотя разница есть. Разница заключается в взгляде на описание системы :
Хотя самые ранние системы, основанные на знаниях, почти все были экспертными системами, те же инструменты и архитектуры могут и с тех пор использовались для целого ряда других типов систем. Практически все экспертные системы являются системами, основанными на знаниях, но многие системы, основанные на знаниях, не являются экспертными системами.
Первыми системами, основанными на знаниях, были экспертные системы, основанные на правилах. Одной из самых известных была Mycin — программа для медицинской диагностики. Эти ранние экспертные системы представляли факты о мире в виде простых утверждений в плоской базе данных и использовали правила для обоснования (и, как следствие, дополнения) этих утверждений. Представление знаний в явном виде с помощью правил имело несколько преимуществ:
Более поздние архитектуры рассуждений, основанных на знаниях, такие как архитектура доски BB1 ( система доски ) [4] , позволили влиять на сам процесс рассуждения новыми выводами, обеспечивая рассуждения на метауровне. BB1 позволял контролировать сам процесс решения проблем. Различные виды решения проблем (например, нисходящее, восходящее и оппортунистическое решение проблем) можно выборочно смешивать в зависимости от текущего состояния решения проблем. По сути, решатель проблем использовался как для решения проблемы уровня предметной области, так и для решения собственной проблемы управления, которая могла зависеть от первой. Другими примерами системных архитектур, основанных на знаниях, поддерживающих рассуждения на метауровне, являются MRS [5] и SOAR .
Помимо экспертных систем, другие применения систем, основанных на знаниях, включают управление процессами в реальном времени, [6] интеллектуальные системы обучения, [7] и средства решения проблем в конкретных областях, таких как анализ структуры белка, [8] планировка строительной площадки. , [9] и диагностика неисправностей компьютерной системы. [10]
По мере усложнения систем, основанных на знаниях, методы, используемые для представления базы знаний, стали более сложными и включали логику, системы переписывания терминов, концептуальные графики и фреймы . Рассмотрим фреймы в качестве примера. Вместо того чтобы представлять факты как утверждения о данных, база знаний стала более структурированной. Фреймы можно рассматривать как представление мировых знаний с использованием методов, аналогичных объектно-ориентированному программированию , в частности, использования иерархий классов и подклассов, отношений между классами и поведения объектов. Поскольку база знаний стала более структурированной, рассуждения могли происходить как с помощью независимых правил, логических выводов, так и посредством взаимодействия внутри самой базы знаний. Например, процедуры, хранящиеся в объектах как демоны , могут запускаться и воспроизводить цепочку правил. [11]
Еще одним достижением стала разработка специальных автоматизированных систем рассуждения, называемых классификаторами . Вместо того, чтобы статически объявлять отношения включения в базе знаний, классификатор позволяет разработчику просто объявлять факты о мире, а классификатор выводит отношения. Таким образом, классификатор также может играть роль механизма вывода. [12]
Самым последним достижением систем, основанных на знаниях, стало внедрение технологий, особенно логики, называемой логикой описания , для разработки систем, использующих Интернет. Интернету часто приходится иметь дело со сложными, неструктурированными данными , на которые нельзя положиться, чтобы они соответствовали конкретной модели данных. Технология систем, основанных на знаниях, и особенно способность классифицировать объекты по требованию идеально подходят для таких систем. Модель такого рода интернет-систем, основанных на знаниях, известна как семантическая паутина . [13]
{{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite book}}
: |first=
имеет общее имя ( справка )CS1 maint: несколько имен: список авторов ( ссылка )