В информатике база знаний ( КБ ) представляет собой набор предложений, каждое из которых представлено на языке представления знаний , с интерфейсами для сообщения новых предложений и для задания вопросов о том, что известно, где любой из этих интерфейсов может использовать вывод . [1] Это технология, используемая для хранения сложных структурированных данных , используемых компьютерной системой . Первоначально этот термин использовался в связи с экспертными системами , которые были первыми системами, основанными на знаниях .
Первоначально термин «база знаний» использовался для описания одной из двух подсистем экспертной системы . Система , основанная на знаниях, состоит из базы знаний, представляющей факты о мире и способы рассуждения об этих фактах для вывода новых фактов или выявления несоответствий. [2]
Термин «база знаний» был придуман, чтобы отличить эту форму хранилища знаний от более распространенного и широко используемого термина « база данных» . В 1970-е годы практически все крупные управленческие информационные системы хранили свои данные в иерархических или реляционных базах данных того или иного типа . На этом этапе истории информационных технологий различие между базой данных и базой знаний было ясным и недвусмысленным.
База данных имела следующие свойства:
Первые системы, основанные на знаниях, имели потребности в данных, противоположные этим требованиям к базам данных. Экспертная система требует структурированных данных . Не просто таблицы с числами и строками, а указатели на другие объекты, которые, в свою очередь, имеют дополнительные указатели. Идеальным представлением базы знаний является объектная модель (часто называемая онтологией в литературе по искусственному интеллекту ) с классами, подклассами и экземплярами.
Ранние экспертные системы также не нуждались в нескольких пользователях или сложности, связанной с требованием транзакционных свойств данных. Данные первых экспертных систем использовались для получения конкретного ответа, такого как медицинский диагноз, конструкция молекулы или реакция на чрезвычайную ситуацию. [2] Как только решение проблемы стало известно, критической необходимости хранить большие объемы данных обратно в постоянную память не возникло. Более точным утверждением было бы то, что, учитывая доступные технологии, исследователи пошли на компромисс и обходились без этих возможностей, потому что они осознавали, что они выходят за рамки того, что можно было ожидать, и они могли бы разработать полезные решения нетривиальных проблем без них. Даже с самого начала наиболее проницательные исследователи осознавали потенциальные преимущества возможности хранить, анализировать и повторно использовать знания. Например, см. обсуждение корпоративной памяти в самой ранней работе Корделла Грина и др. по программе Knowledge-Based Software Assistant . [3]
Требования к объему базы знаний также различаются по сравнению с обычной базой данных. База знаний должна была знать факты о мире. Например, чтобы представить утверждение о том, что «Все люди смертны», база данных обычно не может отражать эти общие знания, а вместо этого должна хранить информацию о тысячах таблиц, которые представляют информацию о конкретных людях. Представление о том, что все люди смертны, и возможность рассуждать о каждом конкретном человеке как о том, что он смертен, — это работа базы знаний. Представление того, что Джордж, Мэри, Сэм, Дженна, Майк... и сотни тысяч других клиентов являются людьми определенного возраста, пола, адреса и т. д., — это работа для базы данных. [4] [5]
По мере того как экспертные системы переходили от прототипов к системам, развернутым в корпоративных средах, требования к хранению их данных быстро начали пересекаться со стандартными требованиями к базам данных для нескольких распределенных пользователей с поддержкой транзакций. Первоначально спрос можно было наблюдать на двух разных, но конкурентных рынках. Из сообществ искусственного интеллекта и объектно-ориентированного программирования возникли объектно-ориентированные базы данных , такие как Versant . Это были системы, разработанные с нуля для поддержки объектно-ориентированных возможностей, а также для поддержки стандартных служб баз данных. С другой стороны, крупные поставщики баз данных, такие как Oracle, добавили в свои продукты возможности, обеспечивающие поддержку требований базы знаний, таких как отношения и правила классов-подклассов.
Следующей эволюцией термина «база знаний» стал Интернет . С появлением Интернета поддержка документов, гипертекста и мультимедиа стала критически важной для любой корпоративной базы данных. Уже было недостаточно поддерживать большие таблицы данных или относительно небольшие объекты, которые находились в основном в памяти компьютера. Поддержка корпоративных веб-сайтов требовала сохранения и транзакций для документов. Это создало совершенно новую дисциплину, известную как Управление веб-контентом .
Другим стимулом для поддержки документов стал рост числа поставщиков средств управления знаниями , таких как HCL Notes (ранее Lotus Notes). Управление знаниями фактически предшествовало Интернету, но с появлением Интернета между этими двумя областями возникла большая синергия. Продукты управления знаниями использовали термин «база знаний» для описания своих хранилищ , но значение имело большую разницу. В случае предыдущих систем, основанных на знаниях, знания предназначались в первую очередь для использования автоматизированной системы, чтобы рассуждать и делать выводы о мире. В продуктах управления знаниями знания в первую очередь предназначались для людей, например, чтобы служить хранилищем руководств, процедур, политик, лучших практик, повторно используемых проектов и кода и т. д. В обоих случаях различия между использованием и типами систем были незначительными. неопределенный. По мере расширения технологии стало редко можно найти систему, которую действительно можно было бы четко классифицировать как основанную на знаниях в смысле экспертной системы, выполняющей автоматизированные рассуждения, и основанную на знаниях в смысле управления знаниями, которая предоставляла знания в форме документы и носители, которые могут быть использованы людьми. [6]
Ваша база данных — это история пациента, включая историю... жизненные показатели, назначенные лекарства... База знаний... это то, чему вы научились в медицинской школе... она состоит из фактов, предикатов и убеждений...