en ru Open Semantic Technology for Intelligent Systems (OSTIS)Это открытый проект, направленный на создание массовой семантической технологии компонентного проектирования интеллектуальных систем различного назначения. Цели проекта OSTIS
Особенности проекта OSTIS
Модель интеллектуального решателя задачВ предлагаемом подходе к преодолению приведенных проблем решатель задач рассматривается в неклассическом варианте. В данном случае решатель задач представляет собой графодинамическую sc-машину (память в качестве модели представления знаний использует семантическую сеть), состоящую из двух частей:
Система операций является агентно- ориентированной и представляет собой набор sc-операций, условием инициирования которых является появление в памяти системы некоторой определенной конструкции. При этом операции взаимодействуют между собой через память системы посредством генерации конструкций, являющихся условиями инициирования для другой операции. При таком подходе становится возможным обеспечить гибкость и расширяемость решателя путем добавления или удаления из его состава некоторого набора операций. Более подробно процесс проектирования операций и предъявляемые к ним требования рассмотрены в соответствующем разделе. Отличительной особенностью решателя задач как многоагентной системы в рамках данного подхода является принцип взаимодействия операций-агентов. Агенты обмениваются сообщениями исключительно через общую память путем использования соответствующего языка взаимодействия (языка вопросов-ответов), в отличие от большинства классических многоагентных систем, в которых агенты обмениваются сообщениями непосредственно друг с другом. В рассматриваемом подходе каждый агент, формулируя вопросную конструкцию в памяти, априори не знает, какой из агентов будет обрабатывать указанную конструкцию, а лишь дожидается появления в памяти факта окончания обработки вопроса. При этом в решении поставленной таким образом задачи может принимать участие целый коллектив агентов. Аналогичным образом, реагируя на появление некоторой конструкции в памяти, агент в общем случае не знает, кто из его коллег поставил данный вопрос, а лишь может проверить соответствие сгенерированной конструкции своему условию инициирования. В случае наличия такого соответствия, агент начнет обработку указанного вопроса (решение поставленной задачи), и в результате работы сгенерирует некоторый ответ на поставленный вопрос. Проверка соответствия сгенерированного вопроса условиям инициирования агентов происходит следующим образом: автору вопроса после его формулирования необходимо инициировать данный вопрос (включить его во множество инициированных вопросов). После инициирования вопроса каждый из агентов, работающих в памяти, переходит в активное состояние и начинает проверку условия инициирования. При этом проверка начинается с наиболее уникальных фрагментов условия (например, типа вопроса) с целью оптимизации данного процесса. В случае установления факта изоморфности вопросной конструкции и условия инициирования агент начинает решение поставленной задачи, в противном случае агент переходит в состояние пассивного ожидания. Описанная модель взаимодействия агентов в общей памяти позволяет обеспечить максимальную расширяемость системы агентов и предельно упростить процесс добавления новых агентов в уже имеющийся коллектив. Файлыkbe-0.2.0-src.7zСсылкиОсновной сайт проекта: ostis.net
Интересные материалы конференции OSTIS-2012:
ЗаметкиПо ходу дела буду записывать заметки, чтобы самому не забыть и с другими поделиться. И так, описание монографии: 1. В монографии говорится о системе из БЗ и интерпретаторов (движков логического вывода). 2. Знания могут быть представлены в разных видах: формальные, семиотические, графодинамические.
3. Сущности (знаки, денотаты) могут быть представлены в виде фреймов.
4. Говорится о графах, семантических сетях, сетях "знаков" и пр. Кроме этого, говорится что сети - это частный случай фреймого вида. Т.к. сеть можно записать в виде фреймов.
5. Говорится об одновременно переработке общих знаний. Я так понимаю обрабатывают знания агенты. Получается модель с "микроагентами", когда обработка онтологии происходит одновременно несколькими подпроцессами параллельно.
6. Базовая семантическая информационная конструкция - это базовая онтология. В ней записаны некоторые общие сущности (знаки) на основе которых создаются другие онтологии (знания).
7. Говорится о том, что есть несколько вариантов сущностей (знаков): объекты, экземпляры, свойства.
8. Далее описываются языки представления онтологий (семантические и не семантические). Рассматриваются разные признаки классификации языков. Есть даже такой признак, как "мощность языка". :)
9. Предлагаются языки SC (Semantic Code) (раздел 4) и SCL (Semantic Code Logic) (раздел 5). Семантические сети (онтологии) - это самый молодой и самый перспективный вид представления знаний. В монографии используются понятия "знак", "фрейм" и пр. На мой взгляд правильнее эти единицы знаний называть "сущность". 23.04.2012Монография читается очень трудно. Я думаю это из-за того, что терминология которая используется не соответсвует стандартам OWL. Это, скорее всего, связано с тем, что монографти я выпущена в 2001 году, а стандарт OWL выпустился в 2003 году (2003-06-11). Однако в монографии присутсвуют очень полезные мысли. В частности увязаны между собой различные языки описания знаний. В частности графические, где различные связи обозначаются стрелочками. Очень наглядно и удобно. Такого я еще нигде не встречал.
Но перед прочтением монографии нужно быть уже маленько подготовленным. Я бы рекомендовал сначала почитать стандарт OWL:
Вот еще ссылка по теме: w3.org/standards/techs/owl 24.04.2012 DenisKoronchikOSTIS - это технология, а не редактор БЗ + ряд возможностей. KBE - это лишь малая часть всего. Кстати его исходники можно найти по ссылке: github.com/deniskoronchik/kbe . А скачать последние версии под windows по ссылке: sourceforge.net/projects/ostis/files/tools 25.04.2012
Материалов конференции OSTIS, действительно, очень много. Я потратил почти целый день чтобы просто пролистать материалы с конференции OSTIS-2012.
Программные реализации:
25.04.2012 DenisKoronchikkbe - это, как ранее было подмечено, инструментальное средство для редактирования исходных кодов баз знаний. Если внимательно почитать первую статью в сборнике конференции за 2012 год. То можно уловить, что знания это не только факты, а и агенты, которые эти знания обрабатывают. Поэтому kbe, включает в себя еще и средства разработки агентов (пока к сожалению этот плагин позволяет лишь редактировать их исходные коды с подсветкой синтаксиса и автодополнением). Свежая версия исходников находится по ссылке: github.com/deniskoronchik/kbe. Основным же там конечно является SCg-код - один из возможных способов визуального представления SC-кода (будет интересно, расскажу поподробнее, ибо стандарт по нему мы уже зафиксировали). kpm - там собрано все что касается обработки знаний. В частности sc-core - это один из возможных способов реализации SC-памяти на современных платформах, он включает в себя и интерпретатор языка SCP (Semantic Code Programming). Этот язык используется для записи агентов. И представляется с помощью SC-кода (знания, которые к слову можно генерировать, анализировать и изменять во время работы системы). sc_store - это некий прототип на котором мы испытывали возможные способы ускорения такой реализации памяти и добились неплохих результатов, к примеру генерировали до 8 млн. узлов в секунду, при возможности масштабирования и дальнейшей параллельной обработки в том числе и на GPU. Эксперименты удались и теперь на основе них мы будем реализовывать замену sc-core. Проект находится по ссылке: github.com/deniskoronchik/sc-machine. А тут пополняемое описание: github.com/deniskoronchik/sc-machine/wiki. Если это будет интересно, могу выслать небольшую презентацию, где описана сама идея с цифрами и описаниями структур данных. suit - прототип ядра пользовательских интерфейсов. Дело в том, что пользовательские интерфейсы мы рассматриваем как интеллектуальную систему, которая просто решают задачу перевода сообщений пользователя в SC-код и обратно из SC-кода на внешний язык понятный пользователю. Он также состоит из базы знаний и машины обработки знаний (агентов). Отличие заключается в том, что его машина обработки знаний кроме агентов работающих только с SC-памятью имеет "эффекторные" и "рецепторные" агенты, которые направлены на вывод и ввод информации. Строится он на основании компонентов.
Видео по установке:
andrey.bezrukov.me/?p=311
suit написан на python + OGRE + OIS + MyGUI sui - это альтернативный вариант suit, только реализованный на с++ + Qt. Для повышения быстродействия и ухода от прототипа в сторону реального использования. Какие есть еще проекты (подпроекты)?
sourceforge.net/projects/ostisgeometry
В большинстве из них вы увидите исходники базы знаний представленные с помощью SCn-кода. К примеру: http://ostisgeometry.sourceforge.net/index.php/Геометрия:Конус Эти знания понимаются машиной. Мы использовали mediawiki как платформу для распределенной и удаленной разработки баз знаний. Далее они погружаются в sc-память средствами транслятора и могут быть использованы к примеру в рамках графического интерфейса построенного с помощью suit, sui и т. д. Расскажите пожалуйста подробнее про kpm или, лучше, дайте ссылку на описание. Какой алгоритм применяется для машины обработки знаний? (RETE?)
Сложно рассказать все сразу. Но алгоритма как такого нет. Есть просто сборище агентов, которые решают разные задачи.
Каждый агент самоинициируемый. Это можно сравнить с форумом, в аналогии агенты будут выступать в качестве форумчан.
Что если какой-то агент будет отвечать не правильно? Реализован ли механизм отслеживания правильных и не правильных ответов? Может быть имеет смысл ввести понятие "кармы" для каждого агента?В настоящий момент в этом нет необходимости. Систему делает разработчик, именно он выбирает агентов из библиотеки компонентов или разрабатывает. Поэтому он выбирает тех, кто его больше устраивает. Плохой агент - это как плохая функция в программе, которую необходимо отладить. Но не исключено, что такое понадобиться в дальнейшем, когда мы начнем говорить о анализе агентов. Так как они тоже знания, то мы можем говорить о целом ряде агентов, которые диагностируют других агентов, а возможно и себя. 01.08.2012 - Краткий отчетВ последнее время для людей, которые наблюдают за проектом со стороны могло показаться, что в нем ничего не происходит. Это не так. Последние месяцы мы потратили на то чтобы зафиксировать стандарты и правила их описания и последующего изменения. Большое количество работы было проделано над языками текстового представления SC-кода: scs, scn. Описание стандарта будет выложено в ближайшее время. На основе данного языка были разработаны инструменты, которые позволяют делать интернет ресурсы, которые в основе своей используют scs-тексты как исходные данные для страниц (тексты, которые могут быть обработаны машиной). Данный инструмент визуализирует scs-тексты с помощью SCn-кода, по которым можно осуществлять навигацию. Подробнее: blog.ostis.net/?p=256 15.11.2012 - Открытые семантические технологии проектирования интеллектуальных систем – OSTIS-201321 – 23 февраля 2013 в г. Минск (Республика Беларусь) пройдет III Международная научно-техническая конференция «Открытые семантические технологии проектирования интеллектуальных систем» Open Semantic Technologies for Intelligent Systems OSTIS-2013. Конференция пройдет в период с 21 по 23 февраля 2013 года в Белорусском государственном университете информатики и радиоэлектроники. Информационное письмо конференции можно прочитать здесь. |
© AiKernel 2010-2013
15.04.2012 - 16.01.2013