en ru

Open Semantic Technology for Intelligent Systems (OSTIS)

На форуме gamedev.ru обнаружил ссылку на очень интересный проект.
Идеи, которые лежат в основе этого проекта мне очень близки и я их полностью разделяю.
Рекомендую всем посмотреть подробнее на этот проект и почитать описание.

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

Цели проекта OSTIS

- Создать массовую, комплексную и активно развивающуюся технологию проектирования интеллектуальных систем, включающую в себя теоретические и практические, программные и аппаратные аспекты
- Создать инфраструктуру, обеспечивающую сочетание научной и учебной, инженерной и коммерческой деятельности в области искусственного интеллекта

Особенности проекта OSTIS

- Является открытым комплексным проектом, состоит из большого числа частных проектов и предоставляет полный пакет документации по всем компонентам предлагаемой технологии (включая исходные тексты соответствующих программных средств)
- Ориентирован на широкий контенгент разработчиков прикладных интеллектуальных систем (на массовое распространение предлагаемой технологии)
- Ориентирован на существенное сокращение сроков проектирования интеллектуальных систем

Модель интеллектуального решателя задач

В предлагаемом подходе к преодолению приведенных проблем решатель задач рассматривается в неклассическом варианте. В данном случае решатель задач представляет собой графодинамическую sc-машину (память в качестве модели представления знаний использует семантическую сеть), состоящую из двух частей:

- графодинамической sc-памяти;
- систему sc-операций.

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

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

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

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

Основной сайт проекта: ostis.net
Страничка проекта на сайте AiKernel.org

Подробное описание + видео

Хочу отметить так же следующие ссылки:
Документация
Алгоритм операции обработки знаний (на языке SCP)

Интересные материалы конференции OSTIS-2012:
Разработка экспертных систем в среде Multi Studio
Онтологическая парадигма программирования
Языки и технологии программирования, ориентированные на обработку семантически сетей
Гранулярные, нечеткие и лингвистические онтологии для обеспечения взаимопонимания между когнитивными агентами
Семантическая технология компонентного проектирования интеллектуальных решателей задач
Использование онтологий при построении систем распознавания образов

Заметки

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

1. В монографии говорится о системе из БЗ и интерпретаторов (движков логического вывода).

2. Знания могут быть представлены в разных видах: формальные, семиотические, графодинамические.
Если по русски, то или последовательные (строки) или в виде графов (онтология на сколько я понимаю).

3. Сущности (знаки, денотаты) могут быть представлены в виде фреймов.
Цитата: Очевидно, что сетевые модели представления знаний, в которых знания представляются в виде семантических сетей, устроенных тем или иным способом, имеют к графодинамическим моделям переработки знаний самое непосредственное отношение, ибо семантическая сеть есть частный вид графовой конструкции.

4. Говорится о графах, семантических сетях, сетях "знаков" и пр. Кроме этого, говорится что сети - это частный случай фреймого вида. Т.к. сеть можно записать в виде фреймов.
Я предпочитаю называть все эти варианты сетей одним словом (понятием) - "онтология". То есть, по сути, знания они и есть знания (онтология). В каком бы виде из не записал - все равно суть остается. В общем-то об этом так или иначе в монографии говорится. Например на стр.43-44.

5. Говорится об одновременно переработке общих знаний. Я так понимаю обрабатывают знания агенты. Получается модель с "микроагентами", когда обработка онтологии происходит одновременно несколькими подпроцессами параллельно.
Как это реализовывается на практике - не понятно, но приводятся математические выкладки с множествами и пр, которые я не понимаю.

6. Базовая семантическая информационная конструкция - это базовая онтология. В ней записаны некоторые общие сущности (знаки) на основе которых создаются другие онтологии (знания).
Есть несколько универсальных базовых онтологий. Самая известная и простая, на сколько мне известно, это SUMO.

7. Говорится о том, что есть несколько вариантов сущностей (знаков): объекты, экземпляры, свойства.
Хотя я считаю, что типов сущностей может быть намного больше. Но не все сущности могут учавствовать в логическом выводе. Хотя, например, такие сущности как изображение или видеозапись может выступать в роли экземпляра (Individual) и учавствовать как единица семантической сети.

8. Далее описываются языки представления онтологий (семантические и не семантические). Рассматриваются разные признаки классификации языков. Есть даже такой признак, как "мощность языка". :)
Но ясно, что рассматривать стоит только универсальные "мощные" языки в которых информация и метаинформация записывается вместе, в едином виде.

9. Предлагаются языки SC (Semantic Code) (раздел 4) и SCL (Semantic Code Logic) (раздел 5).

Семантические сети (онтологии) - это самый молодой и самый перспективный вид представления знаний.

В монографии используются понятия "знак", "фрейм" и пр. На мой взгляд правильнее эти единицы знаний называть "сущность".

Обсуждение: project-ai.org/forum/viewtopic.php?t=757












© AiKernel 2010-2013
14.04.2012 - 02.01.2013