База знаний

База знаний (БЗ; англ. knowledge base, KB) — база данных, содержащая правила вывода и информацию о человеческом опыте и знаниях в некоторой предметной области (ISO/IEC/IEEE 24765-2010, ISO/IEC 2382-1:1993). В самообучающихся системах база знаний также содержит информацию, являющуюся результатом решения предыдущих задач.

Современные базы знаний работают совместно с системами поиска и извлечения информации. Для этого требуется некоторая модель классификации понятий и определённый формат представления знаний. Иерархический способ представления в базе знаний набора понятий и их отношений называется онтологией.

Онтологию некоторой области знаний вместе со сведениями о свойствах конкретных объектов часто называют «базой знаний». Вместе с тем, полноценные базы знаний (в отличие от обычной базы данных) содержат в себе не только фактическую информацию, но и правила вывода, позволяющие делать автоматические умозаключения об уже имеющихся или вновь вводимых фактах и тем самым производить семантическую (осмысленную) обработку информации.

Область наук, изучающая базы знаний и методы работы со знаниями, называется инженерией знаний.

Требования к информации

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

  • Достоверность конкретных и обобщённых сведений, имеющихся в базе данных;
  • Релевантность информации, получаемой с помощью правил вывода базы знаний.

Некоторые из особенностей, которые могут (но не обязаны) быть у системы, оперирующей базами знаний:

  • Автоматическое доказательство (вывод). Способность системы выводить новые знания из старых, находить закономерности в БЗ. Часто принимается, что база знаний отличается от базы данных именно наличием механизма вывода.
  • Доказательство заключения. Способность системы после выдачи ответа «объяснить» ход её рассуждений, причем «по первому требованию».
  • Интроспекция. Нахождение противоречий, нестыковок в БЗ, контроль правильной организации БЗ.
  • Машинное обучение. Превращение БЗ в гибкую систему, адаптация к проблемной области. Аналогична человеческой способности «набирать опыт».

Для систем управления знаниями барьером к внедрению часто выступают:

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

Свойства базы знаний

Термин "база знаний" был придуман для того, чтобы отличить эту форму хранения знаний от более распространенного и широко используемого термина "база данных". В 1970-х годах практически все крупные информационные системы управления хранили свои данные в иерархических или реляционных базах данных. На этом этапе истории информационных технологий различие между базой данных и базой знаний было четким и однозначным. База данных обладала следующими свойствами:

  • Табличное представление данных.
  • Многопользовательский доступ.
  • ACID: Атомарность, Согласованность, Изолированность и Надежность.

Первые системы, основанные на знаниях ([Экспертная система|экспертные системы]), имели потребности в данных, которые были противоположны этим требованиям к базам данных:

  • Экспертная система требует структурированных данных. Не просто таблицы с числами и строками, а указатели на другие объекты, которые в свою очередь имеют дополнительные указатели. Идеальным представлением для базы знаний является объектная модель (онтология) с классами, подклассами и экземплярами.
  • Экспертные системы не нуждались в многочисленных пользователях или в сложности, которая возникает при требовании ACID-свойств данных. К тому же эти требования не возможно было реализовать на доступных на тот момент технологиях.

По мере того, как экспертные системы переходили от прототипов к системам, развернутым в корпоративной среде, требования к хранению их данных быстро начали пересекаться со стандартными требованиями к базам данных для множества распределенных пользователей с поддержкой транзакций. Первоначально спрос можно было наблюдать на двух разных, но конкурирующих рынках. Из сообществ искусственного интеллекта и объектно-ориентированных технологий появились объектно-ориентированные базы данных, такие как Versant. С другой стороны, крупные поставщики баз данных, такие как Oracle, добавили в свои продукты возможности, обеспечивающие поддержку требований баз знаний, таких как отношения между классами и подклассами и правила.