Представление знаний — вопрос, возникающий в когнитологии (науке о мышлении) и информатике, а также в исследовании вопросов, связанных с искусственным интеллектом. В когнитологии он связан с тем, как люди хранят и обрабатывают информацию. В информатике — с подбором представления конкретных и обобщённых знаний, сведений и фактов для накопления и обработки информации в ЭВМ. Главная задача в искусственном интеллекте (ИИ) — научиться хранить знания таким образом, чтобы программы могли осмысленно обрабатывать их и достигнуть тем подобия человеческого интеллекта.

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

Представление знаний в ИИ править

Исследователи ИИ используют теории представления знаний из когнитологии. Такие методы, как фреймы, правила вывода и семантические сети пришли в ИИ из теорий обработки информации человеком. Поскольку знание используется для достижения разумного поведения, фундаментальной целью дисциплины представления знаний является поиск таких способов представления, которые делают возможным процесс логического вывода, то есть создание знания из знаний.

Некоторые вопросы, которые возникают в представлении знаний с точки зрения ИИ:

  • Как люди представляют знания?
  • Какова природа знаний и как мы их представляем?
  • Должна ли схема представления связываться с частной областью знаний, или она должна быть общецелевой?
  • Насколько выразительна данная схема представления?
  • Должна ли быть схема декларативной или процедурной?

Было очень немного скрупулёзного, нисходящего обсуждения вопросов представления знаний, и исследования в данной области так по сути и не продвинулись за последние годы. Есть хорошо известные проблемы, такие как «spreading activation» (задача навигации в сети узлов), категоризация (это связано с выборочным наследованием; например, вездеход можно считать специализацией (особым случаем) автомобиля, но он наследует только некоторые характеристики) и классификация. Например, помидор можно считать как ягодой, так и овощем.

Решение сложных задач часто может быть упрощено правильным выбором метода представления знаний. Определённый метод может сделать какую-либо область знаний легко представимой. Например, диагностическая экспертная система MYCIN использовала схему представления знаний, основанную на правилах. Неправильный выбор метода представления затрудняет обработку. В качестве аналогии можно взять вычисления в индо-арабской или римской записи. Деление в столбик проще в первом случае и сложнее во втором. Аналогично, не существует такого способа представления, который можно было бы использовать во всех задачах, или сделать все задачи одинаково простыми.

История править

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

В 1960-х и начале 1980-х были предложены, и с переменным успехом опробованы многочисленные методы представления знаний, например эвристические вопросно-ответные системы, нейросети, доказательство теорем и экспертные системы. Главными областями их применения в то время были медицинская диагностика (MYCIN) и игры (например, шахматы).

В 1980-х годах появились формальные компьютерные языки представления знаний. Основные проекты того времени пытались закодировать (занести в свои базы знаний) огромные массивы общечеловеческого знания. Например, в проекте «Cyc» была обработана большая энциклопедия, и кодировалась не сама хранящаяся в ней информация, а знания, которые потребуются читателю, чтобы понять эту энциклопедию: наивная физика, понятия времени, причинности и мотивации, типичные объекты и их классы. Проект Cyc развивается компанией Cycorp, Inc.; большая часть (но не вся) их базы свободно доступна.

Данная работа привела к более точной оценке сложности задачи представления знаний. Одновременно в математической лингвистике были созданы гораздо более объёмные базы языковой информации, и они, вместе с огромным приростом скорости и объёмов памяти компьютеров, сделали более глубокое представление знаний более реальным.

Было также разработано несколько языков программирования, ориентированных на представление знаний. Пролог (разработанный в 1972 году,[1] но получивший популярность значительно позже) описывает высказывания и основную логику, и может производить выводы из известных посылок. Ещё больше нацелен на представление знаний язык KL-ONE (1980-е).

В области электронных документов были разработаны языки, явно выражающие структуру хранимых документов, такие как SGML (а впоследствии — XML). Они облегчили задачи поиска и извлечения информации, которые в последнее время всё больше связаны с задачей представления знаний. Большой интерес проявляется к технологии семантической паутины, в которой основанные на XML языки представления знаний, такие как RDF, Карта тем и другие используются для увеличения доступности компьютерным системам информации, хранящейся в сети.

Связи и структуры править

Сегодня широко используются гиперссылки, однако близкое понятие семантической ссылки (en:semantic link) ещё не вошло в широкое употребление. Со времён Вавилона использовались математические таблицы. Позже эти таблицы использовались для представления результатов логических операций, например таблицы истинности использовались для изучения и моделирования булевой логики. Табличные процессоры также являются примером табличного представления знаний. Другим методом представления знаний являются деревья, с помощью которых можно показать связи между фундаментальными концепциями и их производными.

Относительно новый подход к управлению знаниями — визуальные способы представления, например, разработанный компанией TheBrain Technologies Corp. «плекс». Они дают пользователю способ визуализировать то, как мысль или идея связана с другими идеями, позволяя перемещаться от одной мысли к другой в поисках требующейся информации. Данный подход развивают несколько компаний. Другие визуальные инструменты поиска созданы компаниями Convera, Entopia, Inc., EPeople Inc., и Inxight Software Inc.

Хранение и обработка знаний править

Одна из проблем в представлении знаний — как хранить и обрабатывать знания в информационных системах формальным способом так, чтобы машины могли использовать их для достижения поставленных задач. Примеры применения — экспертные системы, машинный перевод, компьютеризированное техническое обслуживание и системы извлечения и поиска информации (включая пользовательские интерфейсы баз данных).

Семантические сети править

Для представления знаний можно использовать семантические сети. Каждый узел такой сети представляет концепцию, а дуги используются для определения отношений между концепциями.

Одна из самых выразительных и детально описанных парадигм представления знаний, основанных на семантических сетях — MultiNet (акроним для «многослойные расширенные семантические сети», англ. Multilayered Extended Semantic Networks).

Фреймы править

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

Использование фреймов в экспертных системах является примером объектно-ориентированного программирования с наследованием свойства, которое описывается связью «is-a» («является»). Однако в использовании связи «is-a» существовало немало противоречий: Рональд Брахман написал работу, озаглавленную «Чем является и не является IS-A», в которой были найдены 29 различных семантик связи «is-a» в проектах, чьи схемы представления знаний включали связь «is-a». Другие связи включают, например, «has-part» («имеет своей частью»).

Фреймовые структуры хорошо подходят для представления знаний, представленных в виде схем и стереотипных когнитивных паттернов. Элементы подобных паттернов обладают разными весами, причём большие веса назначаются тем элементам, которые соответствуют текущей когнитивной схеме (schema). Паттерн активизируется при определённых условиях: если человек видит большую птицу, при условии что сейчас активна его «морская схема», а «земная схема» — нет, он классифицирует её скорее как морского орлана, а не сухопутного беркута.

Фреймовые представления объектно-центрированы в том же смысле, что и семантическая сеть: все факты и свойства, связанные с одной концепцией, размещаются в одном месте, поэтому не требуется тратить ресурсы на поиск по базе данных.

Скрипт — это тип фреймов, который описывает последовательность событий во времени; типичный пример — описание похода в ресторан. События здесь включают ожидание места, прочитать меню, сделать заказ, и так далее.

Различные решения в зависимости от их семантической выразительности могут быть организованы в так называемый семантический спектр (англ. Semantic spectrum).

Язык и нотация править

Некоторые люди считают, что лучше всего будет представлять знания так же, как они представлены в человеческом разуме, который является единственным известным на сегодняшний день работающим разумом, или же представлять знания в форме естественного языка. Доктор Ричард Баллард, например, разработал «семантическую систему, базирующуюся на теории», которая не зависит от языка, которая выводит цель и рассуждает теми же концепциями и теориями, что и люди. Формула, лежащая в основе этой семантики: Знание=Теория+Информация. Большинство распространённых приложений и систем баз данных основаны на языках. К несчастью, мы не знаем, как знания представляются в человеческом разуме или как манипулировать естественными языками так же, как это делает человек. Одной из подсказок является то, что приматы знают, как использовать интерфейсы пользователя Наведи-и-кликни; таким образом интерфейс жестов, похоже, является частью нашего когнитивного аппарата, модальность, которая не привязана к устному языку и которая существует у других животных, кроме человека.

Поэтому для представления знаний были предложены различные искусственные языки и нотации. Обычно они основаны на логике и математике и имеют легко читаемую грамматику для облегчения машинной обработки. Обычно они попадают в широкую область онтологий.

Нотация править

Последней модой в языках представления знаний является использование XML в качестве низкоуровневого синтаксиса. Это приводит к тому, что машины могут легко производить синтаксический анализ и вывод этих языков представления знаний, за счёт удобочитаемости для человека.

Логика первого порядка и язык Пролог широко используется в качестве математической основы для этих систем, чтобы избежать избыточной сложности. Однако даже простые системы, основанные на этой простой логике, можно использовать для представления данных, которое значительно лучше возможностей обработки для нынешних компьютерных систем: причины раскрываются в теории вычислимости.

Примеры нотаций:

  • DATR[en] является примером представления лексических знаний
  • RDF является простой нотацией для представления отношений между и среди объектов

Языки править

Языки делятся на искусственные и естественные.

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

Искусственные языки создавались и создаются для связи человека с машинами.

Примеры искусственных языков, которые используются преимущественно для представления знаний:

Методы и формализмы править

Методы и формализмы представления знаний — название раздела I.2.4 в Компьютерной классификации ACM (англ. ACM Computing Classification System).

Данная секция расположена под:

  • Категорией самого верхнего уровня, I Вычислительные методологии, и
  • Категорией второго уровня, I.2 Искусственный интеллект.

Она включает следующие темы:

  1. фреймы и скрипты
  2. Модальная логика
  3. Логика первого порядка
  4. Реляционные системы
  5. Языки представления
  6. Представления (процедурные и основанные на правилах)
  7. Семантические сети
  8. Темпоральная логика
  9. язык Пролог
  10. Логическое программирование
  11. База знаний
  12. Экспертные системы
  13. Когнитивное моделирование
  14. Конвергентное управление

См. также править

Примечания править

  1. Brief History of Artificial Intelligence (англ.). Дата обращения: 13 апреля 2007. Архивировано из оригинала 29 января 2007 года.

Литература править

  • Джозеф Джарратано, Гари Райли. Глава 2. Представление знаний (в PDF) // Экспертные системы: принципы разработки и программирование = Expert Systems: Principles and Programming. — 4-е изд. — М.: «Вильямс», 2006. — С. 1152. — ISBN 978-5-8459-1156-8.
  • Amaravadi, C. S., "Knowledge Management for Administrative Knowledge, " Expert Systems, 25(2), pp 53-61, May 2005.
  • Ronald J. Brachman; What IS-A is and isn’t. An Analysis of Taxonomic Links in Semantic Networks; IEEE Computer, 16 (10); October 1983 [1]
  • Jean-Luc Hainaut, Jean-Marc Hick, Vincent Englebert, Jean Henrard, Didier Roland: Understanding Implementations of IS-A Relations. ER 1996: 42-57 [2]
  • Hermann Helbig: Knowledge Representation and the Semantics of Natural Language, Springer, Berlin, Heidelberg, New York 2006
  • Arthur B. Marкмan: Knowledge Representation Lawrence Erlbaum Associates, 1998
  • Michael Negnevitsky: Artificial Intelligence, A Guide to Intelligent Systems, Pearson Education Limited, 2002
  • John F. Sowa: Knowledge Representation: Logical, Philosophical, and Computational Foundations. Brooks/Cole: New York, 2000
  • Adrian Walker, Michael McCord, John F. Sowa, and Walter G. Wilson: Knowledge Systems and Prolog, Second Edition, Addison-Wesley, 1990
  • Субботін С. О. Подання й обробка знань у системах штучного інтелекту та підтримки прийняття рішень: Навчальний посібник. — Запоріжжя: ЗНТУ, 2008. — 341 с.

Ссылки править