Рамка (искусственный интеллект)
Фреймы — это искусственного интеллекта структура данных , используемая для разделения знаний на подструктуры путем представления « стереотипных ситуаций». Они были предложены Марвином Мински в его статье 1974 года «Структура представления знаний». Фреймы — это основная структура данных, используемая в языках фреймов искусственного интеллекта; хранятся как онтологии наборов они .
Фреймы также являются обширной частью схем представления знаний и рассуждений . Первоначально они были получены из семантических сетей и, следовательно, являются частью структурированных представлений знаний. Согласно Рассела и Норвига книге «Искусственный интеллект: современный подход », структурные представления собирают «[...]факты о конкретных объектах и типах событий и упорядочивают типы в большую таксономическую иерархию, аналогичную биологической таксономии ».
Каркасная конструкция
[ редактировать ]Фрейм содержит информацию о том, как его использовать, чего ожидать дальше и что делать, если эти ожидания не оправдались. Некоторая информация в кадре обычно не меняется, тогда как другая информация, хранящаяся в «терминалах», обычно меняется. Терминалы можно рассматривать как переменные. Кадры верхнего уровня несут информацию, которая всегда верна относительно рассматриваемой проблемы, однако терминалы не обязательно должны быть правдивыми. Их значение может измениться с появлением новой информации. Разные кадры могут использовать одни и те же терминалы.
Каждая часть информации о конкретном кадре хранится в слоте. Информация может содержать:
- Факты или данные
- Значения (называемые фасетами)
- Процедуры (также называемые процедурными приложениями)
- ЕСЛИ НЕОБХОДИМО: отложенная оценка
- ЕСЛИ-ДОБАВЛЕНО: обновляет связанную информацию.
- Значения по умолчанию
- Для данных
- Для процедур
- Другие рамы или подрамники
Особенности и преимущества
[ редактировать ]Терминалы фрейма уже заполнены значениями по умолчанию, которые основаны на том, как работает человеческий разум. Например, когда человеку говорят: «Мальчик пинает мяч», большинство людей визуализируют конкретный мяч (например, знакомый футбольный мяч ), а не какой-то абстрактный мяч без атрибутов.
Одной из сильных сторон представлений знаний на основе фреймов является то, что, в отличие от семантических сетей, они допускают, в частности, исключения.экземпляры. Это придает фреймам определенную гибкость, которая позволяет представлениям более точно отражать явления реального мира.
Как и семантические сети , кадры можно запрашивать с помощью активации распространения. Следуя правилам наследования, любое значение, присвоенное слоту, который наследуется подкадрами, будет обновлено (IF-ADDED) до соответствующих слотов в подкадрах, и любые новые экземпляры определенного кадра будут содержать это новое значение как значение по умолчанию.
Поскольку фреймы основаны на структурах, можно создать семантическую сеть с учетом набора фреймов, даже если в ней отсутствуют явные дуги. Ссылки на Ноама Хомского и его порождающую грамматику 1950 года обычно отсутствуют в работах Мински .
Упрощенная структура фреймов позволяет легко рассуждать по аналогии, что является очень ценной особенностью любого интеллектуального агента. Процедурные дополнения, обеспечиваемые фреймами, также обеспечивают определенную степень гибкости, которая обеспечивает более реалистичное представление и дает естественные возможности для программирования приложений.
Пример
[ редактировать ]Здесь стоит отметить простое рассуждение по аналогии (сравнение), которое можно провести между мальчиком и обезьяной, просто имея слоты с одинаковыми названиями.
Также обратите внимание, что Алекс, экземпляр мальчика, наследует значения по умолчанию, такие как «Секс», от более общего родительского объекта Boy,но у мальчика также могут быть другие значения экземпляра в виде исключений, таких как количество ног.
Слот | Ценить | Тип |
---|---|---|
АЛЕКС | _ | (Этот кадр) |
ИМЯ | Алекс | (ключевое значение) |
ОДИН | Мальчик | (родительский фрейм) |
СЕКС | Мужской | (стоимость наследства) |
ВОЗРАСТ | ЕСЛИ НЕОБХОДИМО: Вычесть(текущий,ДАТА РОЖДЕНИЯ); | (процессуальное приложение) |
ДОМ | 100 Главная ул. | (значение экземпляра) |
ДАТА РОЖДЕНИЯ | 8/4/2000 | (значение экземпляра) |
ЛЮБИМАЯ_ЕДА | Спагетти | (значение экземпляра) |
ПОДЪЕМКИ | Деревья | (значение экземпляра) |
BODY_TYPE | Жилистый | (значение экземпляра) |
NUM_LEGS | 1 | (исключение) |
Слот | Ценить | Тип |
---|---|---|
МАЛЬЧИК | _ | (Этот кадр) |
ОДИН | Человек | (родительский фрейм) |
СЕКС | Мужской | (значение экземпляра) |
ВОЗРАСТ | До 12 лет. | (процедурное вложение — устанавливает ограничение) |
ДОМ | Место | (рамка) |
NUM_LEGS | По умолчанию = 2 | (по умолчанию, наследуется от кадра Person) |
Слот | Ценить | Тип |
---|---|---|
ОБЕЗЬЯНА | _ | (Этот кадр) |
ОДИН | Предстоятель | (родительский фрейм) |
СЕКС | OneOf(Мужской,Женский) | (процессуальное приложение) |
ВОЗРАСТ | целое число | (процедурное вложение — устанавливает ограничение) |
СРЕДА ОБИТАНИЯ | По умолчанию = Джунгли | (по умолчанию) |
ЛЮБИМАЯ_ЕДА | По умолчанию = Бананы | (по умолчанию) |
ПОДЪЕМКИ | Деревья | _ |
BODY_TYPE | По умолчанию = Жилистый | (по умолчанию) |
NUM_LEGS | По умолчанию = 2 | (по умолчанию) |
Язык фреймов
[ редактировать ]Язык фреймов — это технология, используемая для представления знаний в искусственном интеллекте . Они похожи на иерархии классов в объектно-ориентированных языках, хотя их фундаментальные цели проектирования различны. Фреймы ориентированы на явное и интуитивное представление знаний, тогда как объекты ориентированы на инкапсуляцию и сокрытие информации . Фреймы возникли в результате исследований искусственного интеллекта, а объекты — в первую очередь в области разработки программного обеспечения . Однако на практике методы и возможности фреймовых и объектно-ориентированных языков существенно совпадают.
Пример
[ редактировать ]Простым примером концепций, смоделированных на языке фреймов, является онтология «Друг друга» (FOAF), определенная как часть семантической сети в качестве основы для социальных сетей и календарных систем. Основной фрейм в этом простом примере — Person . человека Примерами слотов являются электронная почта , домашняя страница, телефон и т. д. Интересы каждого человека могут быть представлены дополнительными фреймами, описывающими пространство доменов бизнеса и развлечений. Слот знает, что связывает каждого человека с другими людьми. Значения по умолчанию для интересов человека можно определить по сети людей, с которыми он дружит. [1]
Реализации
[ редактировать ]Самые ранние языки на основе фреймов были специально разработаны для конкретных исследовательских проектов и не были упакованы в качестве инструментов для повторного использования другими исследователями. Как и в случае с экспертных систем механизмами вывода , исследователи вскоре осознали преимущества извлечения части базовой инфраструктуры и разработки языков фреймов общего назначения, не связанных с конкретными приложениями. Одним из первых языков фреймов общего назначения был KRL. [2] Одним из самых влиятельных ранних языков фреймов был KL-ONE . [3] KL-ONE породил несколько последующих языков фреймов. Одним из наиболее широко используемых преемников KL-ONE стал язык Loom, разработанный Робертом МакГрегором в Институте информационных наук . [4]
В 1980-е годы искусственный интеллект вызвал большой интерес в деловом мире, подогреваемый экспертными системами. Это привело к разработке множества коммерческих продуктов для разработки систем, основанных на знаниях. Эти ранние продукты обычно разрабатывались на Lisp и включали интегрированные конструкции, такие как правила IF-THEN для логических рассуждений с иерархиями фреймов для представления данных. Одним из наиболее известных из этих ранних инструментов базы знаний Lisp была среда разработки знаний (KEE) от Intellicorp . KEE предоставил полный язык Frame с множественным наследованием, слотами, триггерами, значениями по умолчанию и механизмом правил, который поддерживал обратную и прямую цепочку. Как и большинство ранних коммерческих версий программного обеспечения для искусственного интеллекта, KEE изначально был развернут на Lisp на машинных платформах Lisp, но в конечном итоге был перенесен на ПК и рабочие станции Unix. [5]
Программа исследований семантической сети породила новый интерес к автоматической классификации и языкам фреймов. Примером может служить стандарт Web Ontology Language (OWL) для описания информации в Интернете. OWL — это стандарт, обеспечивающий семантический слой поверх Интернета. Цель состоит в том, чтобы вместо организации сети с использованием ключевых слов, как это делает сегодня большинство приложений (например, Google), сеть можно было организовать с помощью концепций, организованных в онтологии.
Само название языка OWL представляет собой хороший пример ценности семантической сети. Если бы кто-то сегодня искал «OWL» в Интернете, большинство найденных страниц было бы на Bird Owl, а не на стандартном OWL . С помощью семантической сети можно было бы указать понятие «язык веб-онтологии», и пользователю не нужно было бы беспокоиться о различных возможных акронимах или синонимах в рамках поиска. Аналогично, пользователю не нужно будет беспокоиться о том, что омонимы переполняют результаты поиска нерелевантными данными, такими как информация о хищных птицах, как в этом простом примере.
Помимо OWL, различные стандарты и технологии, имеющие отношение к семантической сети и на которые повлияли языки Frame, включают OIL и DAML . Программный инструмент Protege с открытым исходным кодом от Стэнфордского университета предоставляет возможности редактирования онтологий, построенные на OWL и обладающие всеми возможностями классификатора. Однако он перестал явно поддерживать фреймы начиная с версии 3.5 (которая поддерживается для тех, кто предпочитает фреймовую ориентацию), а текущая версия на 2017 год — 5. Оправданием перехода от явных фреймов является то, что OWL DL более выразительный и «отраслевой стандарт». [6]
Сравнение кадров и объектов
[ редактировать ]Фреймовые языки во многом совпадают с объектно-ориентированными языками. Терминология и цели двух сообществ были разными, но по мере перехода от академического мира и лабораторий к коммерческому миру разработчики, как правило, не заботились о философских проблемах и сосредотачивались в первую очередь на конкретных возможностях, взяв лучшее от любого лагеря, независимо от того, где возникла идея. началось. Общим для обеих парадигм является желание сократить расстояние между концепциями в реальном мире и их реализацией в программном обеспечении. Таким образом, обе парадигмы пришли к идее представления основных объектов программного обеспечения в таксономиях, начиная с очень общих типов и заканчивая более конкретными типами.
Следующая таблица иллюстрирует корреляцию между стандартной терминологией сообществ объектно-ориентированного и фреймового языков:
Терминология фреймов | ОО-терминология |
---|---|
Рамка | Класс объекта |
Слот | Свойство или атрибут объекта |
Курок | аксессора и мутатора Методы |
Метод (например, ткацкий станок, KEE) | Метод |
Основное различие между двумя парадигмами заключалось в степени, в которой инкапсуляция считалась основным требованием. Для объектно-ориентированной парадигмы инкапсуляция была одним из, если не самым важным требованием. Желание уменьшить потенциальное взаимодействие между программными компонентами и, следовательно, управлять большими сложными системами было ключевым фактором объектно-ориентированной технологии. Для лагеря фреймового языка это требование было менее важным, чем желание предоставить широкий набор возможных инструментов для представления правил, ограничений и логики программирования. В объектно-ориентированном мире все контролируется методами и видимостью методов. Так, например, доступ к значению данных свойства объекта должен осуществляться с помощью метода доступа. Этот метод управляет такими вещами, как проверка типа данных и ограничения на извлекаемое или устанавливаемое для свойства значение. В языках фреймов те же типы ограничений могут обрабатываться несколькими способами. Триггеры могут быть определены для срабатывания до или после установки или получения значения. Могут быть определены правила, управляющие теми же типами ограничений. Сами слоты могут быть дополнены дополнительной информацией (на некоторых языках называемой «фасетами»), снова содержащей информацию об ограничениях того же типа.
Другим основным отличием фреймовых и объектно-ориентированных языков было множественное наследование (позволяющее фрейму или классу иметь два или более суперкласса). Для языков фреймов требовалось множественное наследование. Это следует из стремления моделировать мир так, как это делают люди: человеческие концептуализации мира редко попадают в жестко определенные непересекающиеся таксономии. Для многих объектно-ориентированных языков, особенно в последние годы объектно-ориентированного подхода, единое наследование было либо крайне желательным, либо обязательным. Множественное наследование рассматривалось как возможный шаг на этапе анализа для моделирования предметной области, но от него следует отказаться на этапах проектирования и реализации во имя сохранения инкапсуляции и модульности . [7]
Хотя ранние языки фреймов, такие как KRL, не включали передачу сообщений , что было обусловлено требованиями разработчиков, большинство более поздних языков фреймов (например, Loom, KEE) включали возможность определять сообщения в фреймах. [8]
Что касается объектно-ориентированной стороны, также появились стандарты, которые обеспечивают, по сути, ту же функциональность, что и языки фреймов, хотя и в другом формате, и все они стандартизированы в объектных библиотеках. Например, группа управления объектами имеет стандартизированные спецификации для таких возможностей, как связывание тестовых данных и ограничений с объектами (аналогично обычному использованию фасетов в Frames и ограничениям в языках Frame, таких как Loom) и для интеграции механизмов правил. [9] [10]
История
[ редактировать ]Ранняя работа над «Фреймами» была вдохновлена психологическими исследованиями, проводившимися еще в 1930-х годах, которые показали, что люди используют накопленные стереотипные знания для интерпретации и действий в новых когнитивных ситуациях. [11] Термин «Фрейм» впервые был использован Марвином Мински в качестве парадигмы для понимания визуального мышления и обработки естественного языка. [12] В этих и многих других типах проблем потенциальное пространство решения даже самой маленькой проблемы огромно. Например, извлечение фонем из необработанного аудиопотока или обнаружение краев объекта. Вещи, которые кажутся людям тривиальными, на самом деле довольно сложны. На самом деле, насколько сложными они были на самом деле, вероятно, не было до конца понятно, пока исследователи ИИ не начали исследовать сложность того, как заставить компьютеры их решать.
Первоначальное понятие фреймов или сценариев, как их еще называли, заключалось в том, что они устанавливают контекст проблемы и тем самым автоматически значительно сокращают возможное пространство поиска. Эту идею также подхватили Шанк и Абельсон, которые использовали ее, чтобы проиллюстрировать, как система искусственного интеллекта может обрабатывать обычные человеческие взаимодействия, например заказ еды в ресторане. [13] Эти взаимодействия были стандартизированы как фреймы со слотами, в которых хранилась соответствующая информация о каждом фрейме. Слоты аналогичны свойствам объекта в объектно-ориентированном моделировании и отношениям в моделях сущностей-отношений. Слоты часто имели значения по умолчанию, но также требовали дальнейшей доработки в рамках выполнения каждого экземпляра сценария. То есть выполнение такой задачи, как заказ в ресторане, контролировалось, начиная с базового экземпляра Frame, а затем создавая экземпляры и уточняя различные значения по мере необходимости. По сути, абстрактный фрейм представляет собой класс объекта, а экземпляр фрейма — экземпляр объекта. В этой ранней работе основное внимание уделялось статическим описаниям данных Фрейма. Были разработаны различные механизмы для определения диапазона слота, значений по умолчанию и т. д. Однако даже в этих ранних системах были процедурные возможности. Одним из распространенных методов было использование «триггеров» (аналогично концепции триггеров в базе данных ), прикрепленных к слотам. Триггер — это просто процедурный код, прикрепленный к слоту. Триггер может сработать до и/или после доступа к значению слота или его изменения.
Как и классы объектов, фреймы были организованы в иерархические структуры . Например, базовой рамкой может быть заказ в ресторане. Примером этого может быть Джо, идущий в Dairy Queen. Специализацией (по сути, подклассом ) фрейма ресторана будет фрейм для заказа в модном ресторане. Фрейм необычного ресторана унаследует все значения по умолчанию из фрейма ресторана, но также либо добавит больше слотов, либо изменит одно или несколько значений по умолчанию (например, ожидаемый диапазон цен) для специализированного фрейма. [14] [15]
Языки
[ редактировать ]Большая часть ранних исследований языка фреймов (например, Шанк и Абельсон) была основана на результатах экспериментальной психологии и попытках разработать инструменты представления знаний, которые соответствовали бы шаблонам, которые, как считалось, люди использовали для выполнения повседневных задач. Этих исследователей меньше интересовала математическая формальность, поскольку они считали, что такие формализмы не обязательно являются хорошими моделями того, как средний человек концептуализирует мир. Например, то, как люди используют язык, часто далеко не логично.
Точно так же в лингвистике Чарльз Дж. Филлмор в середине 1970-х годов начал работать над своей теорией семантики фреймов , которая позже привела к созданию таких вычислительных ресурсов, как FrameNet . [16] Семантика фреймов была мотивирована размышлениями о человеческом языке и человеческом познании.
С другой стороны, такие исследователи, как Рон Брахман, хотели дать исследователям ИИ математический формализм и вычислительную мощность, которые были связаны с логикой. Их целью было отобразить классы, слоты, ограничения и правила Frame на языке Frame, чтобы установить теорию и логику. Одним из преимуществ этого подхода является то, что проверку и даже создание моделей можно автоматизировать с помощью средств доказательства теорем и других возможностей автоматического рассуждения. Недостаток заключался в том, что изначально было бы сложнее определить модель на языке с формальной семантикой.
Эта эволюция также иллюстрирует классическое разделение в исследованиях ИИ, известное как « чистоплотные и неряшливые ». «Акуратными» были исследователи, которые больше всего ценили математическую точность и формализм, которых можно было достичь с помощью логики первого порядка и теории множеств . «Неряшлив» больше интересовались моделированием знаний в представлениях, которые были интуитивными и психологически значимыми для людей. [17]
Наиболее заметным из более формальных подходов был язык KL-ONE . [18] Позже KL-ONE породил несколько последующих языков фреймов. Формальная семантика таких языков, как KL-ONE, дала этим фреймовым языкам новый тип возможностей автоматического рассуждения, известный как классификатор . Классификатор — это механизм, который анализирует различные объявления на языке фреймов: определения множеств, подмножеств, отношений и т. д. Затем классификатор может автоматически выводить различные дополнительные отношения и обнаруживать, когда некоторые части модели несовместимы друг с другом. Таким образом, многие задачи, которые обычно выполняются с помощью прямой или обратной цепочки в машине вывода, вместо этого могут выполняться классификатором. [19]
Эта технология особенно ценна при работе с Интернетом. Интересный результат: формализм таких языков, как KL-ONE, может быть наиболее полезен при работе с весьма неформальными и неструктурированными данными, найденными в Интернете. В Интернете просто невозможно требовать, чтобы все системы стандартизировались на основе одной модели данных. Неизбежно, что терминология будет использоваться во многих противоречивых формах. Возможность автоматической классификации механизма классификатора предоставляет разработчикам ИИ мощный набор инструментов, помогающий навести порядок и согласованность в очень противоречивом наборе данных (например, в Интернете). Идея усовершенствованного Интернета, в котором страницы упорядочиваются не только по ключевым словам, но и по классификации понятий, известна как Семантическая сеть . Технология классификации, первоначально разработанная для языков фреймов, является ключевым фактором семантической сети. [20] [21] Разделение на «аккуратность и неряшливость» также возникло в исследованиях семантической сети, кульминацией которых стало создание сообщества Linking Open Data — их внимание было сосредоточено на представлении данных в Интернете, а не на моделировании.
См. также
[ редактировать ]- Проблема с рамой
- Дедуктивный классификатор
- Логика описания
- Логика первого порядка
- База знаний
- Система, основанная на знаниях
- Язык онтологий
- Предикат
- Семантическая сеть
- Ситуационный расчет
Ссылки
[ редактировать ]- ^ «ФОАФ» . semanticweb.org . Архивировано из оригинала 10 февраля 2013 года . Проверено 7 июня 2014 г.
- ^ Бобров, Д.Г.; Терри Виноград (1977). «Обзор KRL: язык представления знаний» . Когнитивная наука . 1 :3–46. дои : 10.1207/s15516709cog0101_2 .
- ^ Брахман, Рон (1978). «Структурная парадигма представления знаний». Технический отчет Болта, Беранека и Неймана (3605). }
- ^ МакГрегор, Роберт (июнь 1991 г.). «Использование классификатора описания для улучшения представления знаний». Эксперт IEEE . 6 (3): 41–46. дои : 10.1109/64.87683 . S2CID 29575443 .
- ^ Меттри, Уильям (1987). «Оценка инструментов для построения больших систем, основанных на знаниях» . Журнал ИИ . 8 (4). Архивировано из оригинала 10 ноября 2013 г. Проверено 9 декабря 2013 г.
- ^ Хорридж, Мэтью. «Учебное пособие по Protégé OWL. Пошаговое руководство по моделированию в OWL с использованием популярных инструментов Protégé OWL» . Манчестерский университет . Манчестерский университет. Архивировано из оригинала 13 декабря 2013 года . Проверено 9 декабря 2013 г.
- ^ «Единый язык моделирования» . Essentialstrategies.com . Essential Strategies Inc., 1999 год . Проверено 10 декабря 2013 г.
По опыту вашего автора, почти все примеры, требующие множественного наследования или иерархий нескольких типов, можно решить, атакуя модель с другого направления.
- ^ Меттри, Уильям (1987). «Оценка инструментов для построения больших систем, основанных на знаниях» . Журнал ИИ . 8 (4). Архивировано из оригинала 10 ноября 2013 г. Проверено 9 декабря 2013 г.
- ^ Макгрегор, Роберт (13 августа 1999 г.). «Ретроспектива на ткацком станке» . isi.edu . Институт информационных наук. Архивировано из оригинала 25 октября 2013 года . Проверено 10 декабря 2013 г.
- ^ «Официальные спецификации OMG» . омг.орг . Группа управления объектами . Проверено 10 декабря 2013 г.
- ^ Бартлетт, ФК (1932). Вспоминая: исследование экспериментальной и социальной психологии . Кембридж, Англия: Издательство Кембриджского университета. дои : 10.1086/399084 . S2CID 7992164 .
- ^ Мински, Марвин (1975). «Структура представления знаний» (PDF) . В Пэт Уинстон (ред.). Психология компьютерного зрения . Нью-Йорк: МакГроу Хилл. стр. 211–277.
- ^ Шанк, Роджер; Р.П. Абельсон (1977). Сценарии, планы, цели и понимание . Хиллсдейл, Нью-Джерси: Лоуренс Эрлбаум. дои : 10.4324/9780203781036 . ISBN 9781134919666 .
- ^ Фейгенбаум, Эдвард; Аврон Барр (1 сентября 1986 г.). Справочник по искусственному интеллекту, том III . Аддисон-Уэсли. стр. 216–222. ISBN 978-0201118117 .
- ^ Бобров, Д.Г.; Терри Виноград (1977). «Обзор KRL: язык представления знаний» . Когнитивная наука . 1 :3–46. дои : 10.1207/s15516709cog0101_2 .
- ^ Лакофф, Джордж (18 февраля 2014 г.). «Чарльз Филлмор, первооткрыватель семантики фреймов, умер в Сан-Франциско в возрасте 84 лет: он понял, как работает фрейм» . Хаффингтон Пост . Проверено 7 марта 2014 г.
- ^ Кревье, Дэниел (1993). ИИ: бурные поиски искусственного интеллекта . Нью-Йорк: Основные книги. п. 168. ИСБН 978-0-465-02997-6 .
- ^ Брахман, Рон (1978). «Структурная парадигма представления знаний» . Технический отчет Болта, Беранека и Неймана (3605). [ мертвая ссылка ]
- ^ МакГрегор, Роберт (июнь 1991 г.). «Использование классификатора описания для улучшения представления знаний». Эксперт IEEE . 6 (3): 41–46. дои : 10.1109/64.87683 . S2CID 29575443 .
- ^ Бернерс-Ли, Тим; Джеймс Хендлер; Ора Лассила (17 мая 2001 г.). «Семантическая сеть. Новая форма веб-контента, имеющая смысл для компьютеров, откроет революцию новых возможностей» . Научный американец . 284 (5): 34–43. doi : 10.1038/scientificamerican0501-34 . Архивировано из оригинала 24 апреля 2013 г.
- ^ Хорридж, Мэтью. «Учебное пособие по Protégé OWL. Пошаговое руководство по моделированию в OWL с использованием популярных инструментов Protégé OWL» . Манчестерский университет . Манчестерский университет. Архивировано из оригинала 13 декабря 2013 года . Проверено 9 декабря 2013 г.
Библиография
[ редактировать ]- Рассел, Стюарт Дж.; Норвиг, Питер (2010), Искусственный интеллект: современный подход (2-е изд.), Аппер-Сэдл-Ривер, Нью-Джерси: Прентис-Холл, ISBN 0-13-604259-7 , гл. 1.
- Марвин Мински, Структура представления знаний , Записка лаборатории MIT-AI 306, июнь 1974 г.
- Дэниел Г. Боброу, Терри Виноград, Обзор KRL, языка представления знаний
- Р. Брюс Робертс и Ира П. Гольдштейн, The FRL Primer , 1977 г.
- Р. Брюс Робертс и Ира П. Гольдштейн, Руководство FRL , 1977 г.
- Брахман, Р.; Шмольце, Дж. (1985). «Обзор системы представления знаний KL-ONE» . Когнитивная наука . 9 (2): 171–216. дои : 10.1016/s0364-0213(85)80014-8 .
- Файкс, Р.Э.; Келер, Т. (1985). «Роль представления на основе фреймов в представлении знаний и рассуждениях» . Коммуникации АКМ . 28 (9): 904–920. дои : 10.1145/4284.4285 . S2CID 9868560 .
- Питер Кларк и Брюс Портер: KM — Машина знаний 2.0: Руководство пользователя, http://www.cs.utexas.edu/users/mfkb/RKF/km.html .
- Питер Д. Карп, Пространство проектирования систем представления знаний о фреймах , Техническое примечание 520. Центр искусственного интеллекта , SRI International , 1992.