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