1

Тема: Онтология пользовательского представления

Работая с онтологиями на OWL, заметил такую вещь - не всегда визуализация онтологии (некоторых ее аксиом) является тривиальной.

Например, те же объектные свойства не всегда можно понять представить их в виде дуги графа, если DOMAIN и RANGE заданы в виде CLASS EXPRESSION.
Более сложный пример, это визуализациия ролей - т.е. когда роль, например, СТУДЕНТ задается в виде класса, в который входят экземпляры класса ЧЕЛОВЕК, имеющие студ. билет.
Также сюда можно отнести свойства, заданные цепочкой свойств.

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

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

В качестве основы такого промежуточного представления (онтологии пользовательского представления) предполагаю использовать модель SKOS (судя по http://www.google.com/url?sa=t&rct= … Uunl1MiTwg он подходит для этого).

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

2

Re: Онтология пользовательского представления

Работая с онтологиями на OWL, заметил такую вещь - не всегда визуализация онтологии (некоторых ее аксиом) является тривиальной.

Абсолютный факт. Меня не перестает удивлять как много людей отказываются это признавать (причем приводят идиотские доводы, вроде того, что онтология - это граф и надо его просто качественно нарисовать).

Идея у тебя интересная и я сходу не помню, чтобы я где-то что-то подобное видел (хотя я совсем не специалист в визуализации). Я не уверен, что SKOS - это наилучшее средство, но и это не столь важно, главно подумать над самой идеей автогенерации этой "метаонтологии".

На мой взгляд тут две проблемы:
1) Автоматический анализ исходной онтологии с выделением ключевых мест (аксиом, модулей и т.д.) и опусканием менее существенных деталей. Это то, что сейчас часто называют ontology comprehension.
2) Автогенерация описания результатов анализа, где описание не требует сложных аксиом (т.е., как ты и написал, визуализация должна быть чисто тех. проблемой).

Помочь я тебе вряд ли смогу, но могу дать контакты людей, который смогут покритиковать твою идею (если ты ее изложишь на английском). Например, Bijan Parsia из Манчестера (он ранее занимался визуализацией, автор CropCircles, и интересуется comprehension). Можешь в начале письма сказать, что я тебя к нему направил.

3

Re: Онтология пользовательского представления

Благодарю, Павел, за ответ и за контакты.

Хотелось как раз и понять есть ли такая проблема или это только мои домыслы.

Буду смотреть в направлении ontology comprehension - хоть яснее стало где копать, а то я все статьи про онтологии интерфейсов смотрел  smile .

Re: Онтология пользовательского представления

А мы вот немного по другому ставим проблему, если я конечно все верно понял. У нас весь интерфейс строится на основе базы знаний. То есть все элементы управления на экране - это узлы семантической сети. Просто они изображаются другим образом, так как входят во множество элементов управления. Благодаря этому мы получаем огромное количество возможностей + разработка интерфейса - разработка базы знаний.

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

5

Re: Онтология пользовательского представления

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

В данном случае полагается что разаботчик онтологии и разработчик инф. системы работают отдельно. Цели разработчика онтологии могут отличаться от целей разработчика инф. системы. Например, первый старается максимально полно отразить знания о свой предметной области для своих нужд, а второму нужна лишь свои инф. источники разметить, которые связанны с охватываемой онтологией проблематикой. Соответвенно одному нужна сложная онтологию, а второму вероятно более простая для иной задачи. Это, на мой взгляд создает проблемы для повторного использования  онтологий, что является, в свою очередь очень важным, т.к. позволяет создавать семантически интероперабельные инф. системы.

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

Но интересно было бы услышать о вашей БЗ и ее визуализации. Чтобы Вас не затруднять и получить полное представление - можно просто ссылки оставить на статьи или другие материалы.

Re: Онтология пользовательского представления

Проблемы в том что это разные люди - по-моему нет. Здесь главное обеспечить интеграцию их результатов. А это делается очень красиво.
Тут описание всей идеи вкратце:
текст, презентация с демонстрациями

А тут по интерфейсам:
текст
презентация с демонстрациями

Отредактировано DenisKoronchik (2012-03-16 14:32:01)

7

Re: Онтология пользовательского представления

Благодарю за информацию - буду изучать.

8

Re: Онтология пользовательского представления

DenisKoronchik пишет:

Тут описание всей идеи вкратце:
текст, презентация с демонстрациями

А тут по интерфейсам:
текст
презентация с демонстрациями

Ознакомился с материалами - очень впечатляет масштабность подхода.
Хотел уточнить правильно ли я понял суть:

Предлагается использовать язык представления знаний - базовый универсальный язык семантических сетей (SC-код, Semantic  code), текст на котором может быть непосредственно визуализирован в виде  бинарной семантичекой сети.

Утверждается также, что другие способы представления знаний (фреймы, наборы продукций, логические модели) могут быть описаны с помощью SC-кода.

Во второй работе - про интерфейс, я так понял предлагается в базе знаний хранить на SC-коде знания о предметной области + описание представления элементов интерфейса и их функционала (т.к. как будут представляться знания).

Re: Онтология пользовательского представления

Crider пишет:

Ознакомился с материалами - очень впечатляет масштабность подхода.
Хотел уточнить правильно ли я понял суть:

Предлагается использовать язык представления знаний - базовый универсальный язык семантических сетей (SC-код, Semantic  code), текст на котором может быть непосредственно визуализирован в виде  бинарной семантичекой сети.

Утверждается также, что другие способы представления знаний (фреймы, наборы продукций, логические модели) могут быть описаны с помощью SC-кода.

Во второй работе - про интерфейс, я так понял предлагается в базе знаний хранить на SC-коде знания о предметной области + описание представления элементов интерфейса и их функционала (т.к. как будут представляться знания).

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

Дальше чтобы этот процесс упростить, мы вводим понятие команды. Команды описываются в базе знаний. И изображаются уже как некоторые прямоугольники нажатие на которые инициирует команду. Делим их на два типа: атомарные и неатомарные. Неатомарные - аналог выпадающего меню. Атомарные инициируют некоторый вопрос в системе.
Пример описания атомарной команды запроса:
http://i42.tinypic.com/2462g09.png

Стоит отметить, что я тут писал лишь про SCg-код как основу для диалога, но это не значит что это лишь узелки и дуги. Это полноценный оконный, мультимодальный интерфейс. Его особенностью является то, что каждому элементу на экране соответсвует sc-узел в базе знаний (даже элементам управления). Я могу подробнее описать, если потребуется.
Вот пару видеороликов работы такой модели:
http://www.youtube.com/watch?v=qx7khGSJAPA - пример того, что к любому объекту можно задать вопрос и получить ответ в любом доступном виде. В данном случае мы узнаем какие объекты есть в сонечной системе и просим систему их отобразить как 3d модель солнечной системы. Далее мы хотим узнать какие есть идентификаторы у указанного объекта, но просим уже выдать ответ в scg.

http://www.youtube.com/watch?v=qx7khGSJAPA - пример гипермедийности.

http://www.youtube.com/watch?v=Ncu-qrA2TEI - пример хелпа. Тут можно увидеть, что благодаря тому, что в основе интерфейса SCg и сами команды это знания, то система может решать задачи не только по предметной области, но и по интерфейсу. У нее есть знания о командах и ей не нужны заранее заготовленные ответы. Она может вычислить все что потребуется и показать (при наличии соответсвующих агентов). Тоесть пользователь может спросить у системы как ему выполнить ту или иную интерфейсную задачу (это ассоциативный доступ к хелпу + сам хелп интеллектуальный). Кроме того мы хелп не делаем. Ибо описание команд, которое используется системой для диалога с пользователем в свою очередь является и частью хелпа. Дргуими словами разработав пользовательский интерфейс мы сдлеали и хелп к нему (2 в одном).


Вот это вкратце. Будет что-то интересно - пишите.

10

Re: Онтология пользовательского представления

Благодарю, Денис, за пояснения. Идея с хранением логики работы интерфейса в базе знаний, думаю, стоящая, да и реализация достойная. Правда пока не понял "в лоб" значения элементов интерфейса и то, как их использовать - посмотрю статьи про SC-языки, думаю станет понятней.

Читая материалы возник вопрос о сравнении  SC- языков и OWL, т.е. хочется объективно оценить их полезность и понять какой в каком случае следует применять? И насколько оправданно применять SC-язык в Semantic Web приложениях - тут ведь сразу возникает вопрос об интероперабельности (ведь повсеместно будет применяться OWL или RDF - как W3C рекомендация)?

Отредактировано Crider (2012-04-02 18:34:00)

11

Re: Онтология пользовательского представления

Да SC-языки используются в зависимости от того какую информацию вы кодируете. Они нужны как просто договоренности, что информация такого рода будет представляться так то и так то. Ведь одну и туже информацию можно записать по разному. Используя разные ключевые узлы (понятия), по разному направляя дуги и так далее. Поэтому тут нужно договариваться. Таким образом набор sc-языков это правила записи (кодирования) информации в SC-коде.

Что касается связи с OWL, то мы никак ему не противоречим. Более того наши модели могут быть реализованы и с его помощью. Но тут есть одно но. Сам SC-код - платформенно независимый. То есть основной результат для нас - это модель системы записанная в SC-коде. Далее нам просто нужно сделать интерпретатор этой модели (sc-память + интерпретатор SCP) и наша модель будет работать. Реализовывать можно в том числе и аппаратно.
Кроме того, тут речь велась про ПИ, но мы обобщим это понятие и в качестве пользователя может выступать иная система сделанная на другой технологии (RDF, OWL и т. д.). По сути пользователь - это некоторый sc-агент с точки зрения системы. Он только общается через посредника, который обеспечивает понимание - пользовательский интерфейс. Но как я уже писал вместо пользователя может быть и другая система.

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