roboforum.ru

Технический форум по робототехнике.

Мысли вслух: набор модулей RoboBrain

Ответить

Re: Мысли вслух: набор модулей RoboBrain

=DeaD= » 22 окт 2009, 23:23

Дык а то ж 8) делаем то одно дело и с разных концов просто, а если оглядываться на то что уже сделано в мире - то стыковка сама собой начинает получаться :wink:

Re: Мысли вслух: набор модулей RoboBrain

Виктор Казаринов » 23 окт 2009, 11:11

Тут у меня вопросик возник. Может кто знает или мысль выродит полезную. Я придумываю спецификацию языка RBOL (RoboBrain Ontology Language). За его прототип беру OWL 2. Но т.к. этот язык предназначен для обмена знаниями, а не для хранения, то нужно определить требования к этому потоковому языку. А то получится как с WMF от мелкомягких.
Потоковые требования к формату сообщений на RBOL, например могут быть такими: начать декодирование не дожидаясь получения всего сообщения (да/нет).

Re: Мысли вслух: набор модулей RoboBrain

=DeaD= » 23 окт 2009, 11:16

Не понял, а в чем вопрос? Какая цель? Сделать из языка OWL 2 для хранения инфы в онтологических терминах язык для передачи информации в этих же терминах, завернутый в FIPA?

Re: Мысли вслух: набор модулей RoboBrain

Виктор Казаринов » 23 окт 2009, 11:47

=DeaD= писал(а):Не понял, а в чем вопрос? Какая цель? Сделать из языка OWL 2 для хранения инфы в онтологических терминах язык для передачи информации в этих же терминах, завернутый в FIPA?
http://roboforum.ru/wiki/%D0%9E%D0%B1%D1%89%D0%B0%D1%8F_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F_RoboBrainТам я добавил некоторые языки в списке требуемых для работы RoboBrain.
А здесь видна их иерархия по использованию.http://roboforum.ru/wiki/%D0%98%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D1%8F_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_RoboBrain
OWL позволяет как хранить знания, так и передавать. но суть вопроса в удобном формате. Например, можно какой-то блок инфорамции задать парой Заголовок - Содержание, где в заголовке указать среди прочего длину содержания. Второй вариант: Заголовок - Содержание - Окончание. Тогда Заголовок лишь является маркером начала Содержания, а Окончание - маркер конца содержания.
Хотя вместо того, чтобы делать 2 типа кодеков (RBIL и RBOL), лучше было бы все сообщение сначала перевести в RBSL а потом уже закодировать в RBOL. Но при этом в указанной иерархии нужно будет перенести нижний уровень (RBIL) выше.
Последний раз редактировалось Виктор Казаринов 23 окт 2009, 11:53, всего редактировалось 1 раз.

Re: Мысли вслух: набор модулей RoboBrain

=DeaD= » 23 окт 2009, 11:53

А не проще выбрать сейчас любой формат и просто реализовать прототип рабочей системы?

Добавлено спустя 1 минуту 10 секунд:
Что-то очень много языков нужно определять, оно реально требуется такое сложное? Нет ничего готового и более простого хотя бы от части?

Re: Мысли вслух: набор модулей RoboBrain

Виктор Казаринов » 23 окт 2009, 12:03

Суть RoboBrain в том, чтобы перерабатывать знания. Конкретные знания о внутренних компонентах, например, значение регистра 5 в контроллере 76, но и знания о внутреннем и окружающем мире в абстрактной форме. Взять к примеру зрение. В одной его части происходит манипулирование кромками, яркостями, далее - координатами, 3D поверхностями, освещенностями, текстурами, много далее - классами видимых объектов. Чтобы все это связать воедино и универсально обрабатывать, нужен единый язык описания и передачи знаний. Он должен основываться на единой онтологии, известной всем узлам в системе, а кроме того, на правилах создания и связывания понятий в онтологию (мысль), подлежащую передаче. Эти правила я беру в OWL.

Re: Мысли вслух: набор модулей RoboBrain

=DeaD= » 23 окт 2009, 12:11

А зачем столько уровней?

Re: Мысли вслух: набор модулей RoboBrain

Виктор Казаринов » 23 окт 2009, 12:32

http://ru.wikipedia.org/wiki/TCP/IP взгляните - тут много уровней. И все они нужны для чего- то.
Рассмотрим, для чего нужны уровни.
Правильнее было бы расположить уровни по наследованию свойств так:
3. RBIL (RoboBrain Interchange Language), RBRL (RoboBrain Rule Language), RBRL (RoboBrain Query Language)...
2. RBSL (RoboBrain Semantic Language)
1. RBOL (RoboBrain Ontology Language)

RBOL описывает правила создания онтологий. RBSL предлагает словарь (базовую онтологию), описанный с пом RBOL. RBIL, RBRL... опираясь на RBSL с пом. синтаксиса RBOL, описывают конкретные знания.

А по физической вложенности:
2. RBRL (RoboBrain Rule Language), RBRL (RoboBrain Query Language)...
1. RBIL (RoboBrain Interchange Language).

Т.е. на языке RBIL создаем сообщение, в которое вкладываем содержание на языках RBRL, RBRL и др. Но при этом все сообщение со всеми потрохами кодируется/декодируется в формате RBOL.

Re: Мысли вслух: набор модулей RoboBrain

=DeaD= » 23 окт 2009, 12:40

Так TCP\IP разрабатывался каким коллективом? А что у нас в активе?

Можно по объектам данных карту - что как связано и на каком языке реализовано?

Хотя я так понимаю будут метаданные, будут конкретные данные, будут языки запросов и поставки информации, так?

Разница между метаданными и данными вроде не существует строгая, или существует в вашей концепции?

Re: Мысли вслух: набор модулей RoboBrain

Виктор Казаринов » 23 окт 2009, 12:51

=DeaD= писал(а):Так TCP\IP разрабатывался каким коллективом? А что у нас в активе?
Поэтому я стараюсь там, где только можно, использовать мировые наработки. Но как всегда, нужна доработка по месту напильником.
В OWL есть классы, индивиды классов и свойства.
Дам примеры в Манчестерском синтаксисе.

1. Класс Woman это субкласс класса Person
Class: Woman
SubClassOf: Person

2. Конкретный индивид Mary является представителем класса Person
Individual: Mary
Types: Person

Re: Мысли вслух: набор модулей RoboBrain

=DeaD= » 23 окт 2009, 12:54

Ок, т.е. есть сколько угодно классов (метаданные) организованных в дерево, а есть сколько угодно представителей классов (индивидов\объектов) относящихся к каким-то классам, так?

Отношения в OWL определены? Свойства более менее понятно, как определяются.

Re: Мысли вслух: набор модулей RoboBrain

Виктор Казаринов » 23 окт 2009, 13:12

=DeaD= писал(а):Ок, т.е. есть сколько угодно классов (метаданные) организованных в дерево, а есть сколько угодно представителей классов (индивидов\объектов) относящихся к каким-то классам, так?
Так.
=DeaD= писал(а):Отношения в OWL определены?
Да
=DeaD= писал(а):Свойства более менее понятно, как определяются.
Свойства - это наиболее "темные лошадки" OWL.

Re: Мысли вслух: набор модулей RoboBrain

=DeaD= » 23 окт 2009, 13:16

Ну хорошо, есть у нас язык для хранения информации, в нём же поставляем новую информацию, осталось язык запросов и всё вроде? Откуда куча языков определена была?

Re: Мысли вслух: набор модулей RoboBrain

repository » 23 окт 2009, 13:28

Очень напоминает JMS:
http://ru.wikipedia.org/wiki/Java_Message_Service
И WebServices:
http://ru.wikipedia.org/wiki/Web_Servic ... n_Language
Там основные задачи решены уже, имхо алгоритмы и знания о граблях можно брать оттуда:)

Re: Мысли вслух: набор модулей RoboBrain

Виктор Казаринов » 23 окт 2009, 14:41

=DeaD= писал(а):Ну хорошо, есть у нас язык для хранения информации, в нём же поставляем новую информацию, осталось язык запросов и всё вроде? Откуда куча языков определена была?
На этой кухоньке пекут продукционные правила: http://www.w3.org/2005/rules/wiki/RIF_Working_Group - Rule Interchange Format (RIF)
А вот здесь можно узнать насчет OWL реализации правил: http://www.w3.org/2005/rules/wiki/OWLRL
http://www.w3.org/standards/semanticweb/query - здесь про язык запросов SPARQL
Т.о. важные компоненты, позволяющие работать с сообщениями, основанными на знаниях включая самые абстрактные, а также позволяющие обрабатывать полученную либо хранимую информацию в виде онтологий есть.
Первым делом нужно:
1. Создать/выбрать базовую онтологию верхнего уровня.
2. Формализовать бинарное представление языка RBOL (RoboBrain Ontology Language).


Rambler\'s Top100 Mail.ru counter