Онтологии для разработки и генерации адаптивных пользовательских интерфейсов редакторов баз знаний

Автор: Грибова В.В., Паршкова С.В., Федорищев Л.А.

Журнал: Онтология проектирования @ontology-of-designing

Рубрика: Инжиниринг онтологий

Статья в выпуске: 2 (44) т.12, 2022 года.

Бесплатный доступ

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

Еще

Онтология, база знаний, интерфейс, адаптивный интерфейс, генерация интерфейса, шаблоны, wimp-интерфейс, редактор баз знаний

Короткий адрес: https://sciup.org/170195100

IDR: 170195100   |   DOI: 10.18287/2223-9537-2022-12-2-200-217

Текст научной статьи Онтологии для разработки и генерации адаптивных пользовательских интерфейсов редакторов баз знаний

Интеллектуальные системы с базами знаний (БЗ): экспертные системы, системы поддержки принятия решений, компьютерные тренажёры и др., широко используются во многих предметных областях (ПрО): медицина, экономика, химия и биология, военное дело, инженерное дело, экология, производство, управление процессами, юриспруденция и др. Именно БЗ является «бутылочным горлышком» таких систем [1-4]. Основная сложность связана с их формированием и сопровождением экспертами ПрО. Для упрощения создания и сопровождения БЗ активно применяется онтологический подход, который в настоящее время является стандартом для их создания (см. также [5, 6]). Вместе с тем, наличие онтологии, по которой формируется БЗ, недостаточно для удобной работы экспертов ПрО. Немаловажное значение имеют также онтологическая модель знаний и пользовательский интерфейс, который является ключевым фактором при принятии решения об использовании программного средства.

Для работы с онтологиями и БЗ применяются различные онтологические редакторы знаний ( IWE, Protege, OntoEdit, GrOWL, Graphl, RDFGravity, WebVOWL, Ontolingua и др.). Пользовательские интерфейсы этих редакторов реализуют фиксированный сценарий без возможности настройки и адаптации к потребностям пользователей (некоторые редакторы имеют режимы выбора просмотра информации, но не позволяют редактирование). Объёмы БЗ для интеллектуальных систем включают тысячи и десятки тысяч понятий на разных уровнях иерархии, что является дополнительным фактором, усложняющим использование таких редакторов экспертами ПрО. Актуальной задачей является разработка методов создания редакторов БЗ с адаптивным пользовательским интерфейсом.

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

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

В работах [13, 14] предложены достаточно полноценные концепции адаптивного пользовательского WIMP 1 -интерфейса, в том числе так называемые «пластичные» пользовательские интерфейсы. Данные работы посвящены узким задачам построения интерфейса и не решают проблему адаптивного интерфейса на основе онтологии произвольной ПрО.

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

Целью данной работы является детальное описание авторского подхода к разработке адаптивных WIMP -интерфейсов на основе онтологии ПрО и онтологической БЗ о проектировании интерфейсов.

1    Концепция разработки WIMP-интерфейсов для редакторов баз знаний

В работах [15, 16] описан подход к автоматической генерации редакторов знаний, основная идея которого заключается в следующем: на основе знаний о проектировании интерфейса, онтологии ПрО и модели пользователя автоматически генерируется пользовательский интерфейс редактора знаний (см. рисунок 1).

  • 1 WIMP - «Windows, Icons, Menus, Pointers» — окна, значки, меню, указатели.

Рисунок 1 - Формирование редактора с адаптивным WIMP -интерфейсом

Реализация подхода включает следующие работы.

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

  • 2)    Формирование базы WIMP-элементов на основе онтологии WIMP-элементов интерфейса. Каждая адаптация абстрактного элемента имеет конкретное визуальное и функциональное представление в виде готовых повторно используемых WIMP -элементов, таких как списки, кнопки, меню и т.д.

  • 3)    Формирование БЗ о проектировании WIMP-интерфейса. БЗ содержит правила его формирования в зависимости от структуры онтологии ПрО, характеристик пользователя, требований удобства использования.

  • 4)    Построение модели интерфейса, которая определяет иерархию, расположение и порядок отображения интерфейсных элементов в процессе формирования БЗ, принимая во внимание предпочтения пользователя: интерфейсный стиль, тип диалога, уровень владения компьютером и другую информацию о нём.

  • 5)    Разработка генератора интерфейса , который по онтологии ПрО, БЗ о проектировании интерфейса и модели интерфейса формирует пользовательский интерфейс редактора знаний, ориентированного на конкретного пользователя.

Для реализации предложенного подхода авторами разработаны следующие онтологии:

  • ■   онтология БЗ о проектировании WIMP - интерфейса;

  • ■   онтология WIMP -элементов;

  • ■   онтология модели интерфейса.

Для формального представления онтологий в работе [17] предложен метаязык, который в течение ряда лет используется на платформе IACPaaS. Онтология представляется иерархическим графом, вершинами графа являются термины онтологии, а дуги определяют следующие типы отношений для описания правил порождения знаний на основе онтологии:

  • ■   ~ copy — «копия», термин онтологии переносится без изменений в БЗ;

  • ■   ~ one — «в точности один», можно породить только один элемент в БЗ, соответствующий

термину онтологии;

  • ■   ~ set — «непустое множество», возможно порождение одного или нескольких отличаю

щихся по имени элементов по соответствующему термину онтологии;

  • ■   ~ seq — «непустая последовательность», порождение элементов в БЗ с автоматически

сгенерированной нумерацией (порядком);

  • ■   ~ copymm — «возможное отсутствие», аналог «~ copy », но порождение не является обяза

тельным для полноты базы;

  • ■   ~ onemm — «ноль или один», аналог «~ one », но порождение не является обязательным

для полноты базы;

  • ■   ~ setmm — «возможно пустое множество», аналог «~ set », но порождение даже одного

элемента не является обязательным для полноты базы;

  • ■   ~ seqmm — «возможно пустая последовательность», аналог «~ seq », но порождение даже

одного элемента последовательности не является обязательным для полноты базы;

  • ■   ~ proxy — «прокси», служит для организации порождаемых элементов в условные груп

пы с «невидимым» контейнером.

2    Онтология знаний о проектировании интерфейса

Онтология знаний о проектировании интерфейса определяет соответствия между абстрактными интерфейсными элементами и их возможными представлениями в интерфейсе в зависимости от ряда условий.

Абстрактными интерфейсными элементами (задачами) являются:

  •    элемент ввода - элемент, предоставляющий возможность ввести данные через подходящий интерфейсный компонент;

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

  •    выбор - элемент для выбора элементов из множества, которое задаётся либо явно, через указание всех элементов, либо генерируется автоматически;

  •    контейнер - интерфейсный элемент для объединения нескольких элементов интерфейса в рамках одной задачи.

Каждая абстрактная задача имеет свои подзадачи. Например, задача выбора имеет подзадачи: выбор одного варианта из множества, выбор подмножества вариантов из множества.

Можно рассмотреть онтологию абстрактных интерфейсных элементов:

~copy Абстрактные интерфейсные элементы {

~copy Выбор {<Уникальные подзадачи>}

~copy Ввод {<Уникальные подзадачи>}

~copy Вывод {<Уникальные подзадачи>}

~copy Контейнер {<Уникальные подзадачи>}

}

<Уникальные подзадачи>::{ Уникальная подзадача ; }

~copy< Уникальная подзадача^}

~copy<Реализация по умолчанию для задачи >

~copy Элементы интерфейса {

~set Элемент интерфейса {

~copy<Данные, влияющие на выбор элемента интерфейса>

~copy<Реализация элемента интерфейса>

}

}

}

Элементы интерфейса - это множество вариантов реализации указанной подзадачи -элементов интерфейсов. Выбор того или иного элемента зависит от условий, которые прописаны внутри каждого элемента.

  • 2    Каждая из подзадач имеет идентичную структуру.

Реализация по умолчанию для задачи - это базовое преставление абстрактного элемента интерфейса на основе заданного по умолчанию WIMP -элемента с конкретными параметрами.

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

~copy Данные, влияющие на выбор элемента интерфейса {

~copymm Онтологические конструкции { … }

~copymm Особенности данных {

~set Особенность [string]

}

~onemm Количество потомков [integer]

~onemm Минимальное количество потомков [integer]

~onemm Максимальное количество потомков [integer]

}

Онтологические конструкции - описание, содержащее множество условий для определения элемента интерфейса для данного элемента онтологии.

~copymm Онтологические конструкции {

~copymm Конструкция {

~copy Элементы онтологии {

~copymm Список или альтернатива {СПИСОК | АЛЬТЕРНАТИВА}

~copy Тип элемента { нетерминал | терминал-сорт | терминал-значение}

~copymm Тип значения {Строковое | Целое | Вещественное | Логическое | Дата и время | Бинарные значения}

~copy Спецификатор (тип отношения) { copy| copymm | one | onemm | list | listmm | set | setmm | seq | seqmm | proxy} }

~copymm Уровень размещения (глубина вложенности) {1 | >1}

~copymmЭлементы онтологии, расположенные на одном уровне {

~set->Элементы онтологии { ... }

~copymm Элементы онтологии отсутствуют [string]

~seqmm Логическая операция И | ИЛИ | НЕ}

}

~copymm Содержимое {

~set->Элемент { ... }

~seqmm Логическая операция {И | ИЛИ | НЕ}

}

~copymm Количество потомков {

~onemm Фиксированное количество потомков

  • ~    onemm Минимальное количество потомков

  • ~    onemm Максимальное количество потомков

}

}

}

Каждая конструкция содержит: элементы онтологии; уровень размещения; элементы онтологии, расположенные на одном уровне; содержимое; количество потомков.

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

Уровень размещения - указание, на каком уровне в онтологии размещён элемент (по иерархии). Было выявлено, что есть разница в реализации для некоторых элементов, которые могут находиться на первом уровне размещения в онтологии.

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

Содержимое - дочерние элементы для текущего элемента онтологии. Может содержать логическую операцию между элементами.

Количество потомков – описывает границы возможного количества потомков.

Конструкции и их элементы описаны в онтологии, представленной на рисунке 2.

.▼ Онтологические конструкции * {СПИСОК} v *• Конструкция {СПИСОК}

  • ▼    н Элементы онтологии * {СПИСОК}

| I | #► Список или альтернатива * ([=] 'copymm') (ref-new) i !    ► Тип элемента ( ='copy') (ref-new)

И I ► Тип значения * ([=] 'copymm') (ref-new) t> Спецификатор (= 'copy') (ref-new) описать элемент списка:

г Уровень размещения (глубина вложенности) * {АЛЬТЕРНАТИВА}

S1 (тип: строковое) (= 'copy') (ref-new)

iO >1 (тип: строковое) (= 'copy') (ref-new) описать вариант альтернативы г Элементы онтологии расположенные на одном уровне * {СПИСОК} *.....

  • ►    >• Элементы онтологии * ( + 'set') (new) :► >• Логическая операция * ([л] 'seqmm') (new) О Элементы онтологии отсутствуют (тип: строковое) * ((=] 'copymm') (ref-new) описать элемент списка

г Содержимое * {СПИСОК}

  • ►    >- Элементы онтологии * (+ 'set') (new) ► >• Логическая операция * ([л] 'seqmm') (new) i i описать элемент списка            © ©

| i ▼ Количество потомков {СПИСОК} о Фиксированное количество потомков (сорт: целое) ([!] 'onemm') (all)

: j Р Минимальное количество потомков (сорт: целое) ([!] 'onemm') (all) j О Максимальное количество потомков (сорт: целое) ([!] 'onemm') (all) | j : описать элемент списка:

Рисунок 2 – Скриншот раздела «онтологические конструкции» на платформе IACPaaS

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

Количество потомков определяет условие по числу дочерних элементов. Например, если у элемента «список-выбор» меньше 5 дочерних элементов, то его можно представить в виде группы радиокнопок, если же больше 5, то лучше использовать выпадающий список (см. рисунок 3).

Реализации элемента интерфейса (см. рисунок 4) состоят из множества Реализаций . Каждая Реализация состоит из двух частей: Характеристики устройств (для которых подходит данная реализация) и Дизайн – непосредственное определение интерфейсного отображения элемента. Дизайн определяется с помощью элементов CommonElements либо через уникальный набор CSS -свойств 3 . CommonElements – один из WIMP -элементов БЗ для применения в данной реализации. CSS – описание стилей WIMP -элементов: {ширина (элемента), высота, цвет фона, размер текста и др. по аналогии с каскадными таблицами стилей из вебтехнологий [18]}.

Онтология Реализации элемента интерфейса.

~copy Реализации элемента интерфейса {

~set Реализация {

} }

~copy Характеристики устройств { ~setУстройство { … }

}

~copy Дизайн {

~copy->CommonElements { … }

~copy –>CSS{ … }

}

Рисунок 3 – Схема реализации условий абстрактным элементом «Выбор» в редакторе с адаптивным WIMP -интерфейсом

v *• Элемент интерфейса {СПИСОК.

► Данные влияющие на выбор элемента интерфейса ( = 'copy') (ref-new)

Т Реализации элемента интерфейса {СПИСОК}

  • ▼    Реализация {СПИСОК}

  • ▼    Характеристики устоойс'в {СПИСОК}

  • ▼    Устройство {СПИСОК)

О Ширина (сорг: целое) ([!] 'onemm') (all)

О Высота (сорт: целое) ([!] 'onemm') (ali)

► Тип ОС ([_| 'copymm') (r ef-new)

► Тип устройства Q=] 'cooymm') (ref-new)

описать элемент списка:

описать элемент списка.

  • ▼    Дизайн (СПИСОК)

► *• CSS ( = 'copy1) (ref-new)

► >• Common Е ements ( = 'copy') (ref-new)

описать элемент списка.

описать элемент списка:

описать элемент списка:

описать элемент списка

Рисунок 4 – Скриншот раздела онтологии «Реализации элемента интерфейса» на платформе IACPaaS

На основе описанной онтологии сформирована БЗ о проектировании интерфейса. Размер базы – 1812 понятий, число отношений – 1864.

На рисунке 5 представлен пример описания абстрактной задачи в БЗ на основе структуры <Выбор одного варианта из множества> в задаче «Выбор»:

~copy Выбор {

~copy Выбор одного варианта из множества {

~copy<Реализация по умолчанию для задачи >

~copy Элементы интерфейса {

~set Элемент интерфейса {

~copy<Данные, влияющие на выбор элемента интерфейса> ~copy<Реализация элемента интерфейса>

}

}

}

}

Т Выбор

  • ▼    Выбор одного эариан'а из множества . ? 1

  • ►    Реализация по умолчанию для задачи *

  • ▼    Элементы интерфейса *^

  • ▼    Гругпа радиокнопок [Элемент интерфейса)

  • ▼    Данные влияющие на выбоэ элемента интерфейса

  • ▼    Онтологические конструкции"^

  • ► »• АЛЬТЕРНАТИВА, нетерминал, copy, copymm. ур. разм. >1 , содерж.

Вещественное I Дата и время I Бинарные значения сору [Конструкция]

f Конструкция ] ф ф

► Особенности данных '^-'

О 2 ' [Минимальное количество потомков (сор-: целое)]

О 5 ' [Максимальное количество потомков (сорт: целое)]

[ Количество потомков (сорт: целое) 1 ф ф ф

  • ▼ Реализации элемента интерфейса

  • ► По умолчанию [Реализация]

[ Реализация ] ф ф

  • ►    Гругпа пеоеключателей [Элемент интерфейса]

  • ▼    Раскрывающийся список [Элемент интерфейса]

  • ▼    Данные влияющие на выбоэ элемента интерфейса   „ -

  • О 5 * [Минимальное количес'во потомков (сор-: целое)]

О 25 ' [Максимальное количество потомков (сорт: целое)]

Т Онтологические конструкции *   ^

  • ►    »• АЛЬТЕРНАТИВА, нетерминал, copy, copymm, ур. разм. >1 , содерж.

Вещественное I Дата и время I Бинарные значения сору [Конструкция]

{ Конструкция ] ф ф

{ Особенности данных ]* ф ф

[ Количество потомков (сорт: целое) ]

  • ►    Реализации элемента интерфейса

  • ►    Поле списка с возможносью выбрат 1 элемент [Элемент ишерфейса]

Рисунок 5 – Скриншот фрагмента БЗ о проектировании интерфейса на платформе IACPaaS

Иллюстрация адаптивной генерации интерфейсного элемента на основе сформированной БЗ абстрактных элементов по представленной выше онтологии показана на рисунке 6 на примере генерации редактора БЗ по онтологии ПрО.

В представленной на рисунке схеме видно, что для абстрактного элемента «Выбор» заданы несколько возможных вариантов элементов интерфейса: «Группа радиокнопок», «Группа переключателей», «Раскрывающийся список» и др. Для каждого из этих интерфейсных элементов выбора заданы онтологические конструкции, для которых данный элемент может подходить. Например, для группы радиокнопок указаны онтологические конструкции: «Альтернатива, нетерминал, copy, copymm,…». Такие же конструкции заданы и для элемента «Раскрывающийся список». Каждый из этих двух вариантов будет зависеть от

«Данных, влияющих на выбор элемента интерфейса». В первом случае заданы параметры количества элементов от 2 до 5, во втором случае от 5 до 25. Справа на схеме видно, что представленная онтология ПрО соответствует данным элементам интерфейса. Пример БЗ 1 по этой онтологии генерирует в результате группу радиокнопок, Пример БЗ 2 - раскрывающийся список в соответствии с количеством элементов.

Генерируемый адаптивный интерфейс

Комплекс лабораторных и инструментальных исследований Лабораторное исследование крови [Исследование набора! Инструментальное исследование сердца [Исследование ni

О Вариант (сорт: строковое) ( + 'set') (ail) описать вариант альтернативы

Комплекс жалоб и объективного обследования

I Боль в грудной клетке [Признак!

I Одышка [Признак]

I Частота пульса на лучевой артерии [Признак]

I Ритм пульса на лучевой артерии [Признак]

► I Наполнение пульса на лучевой артерии [Признак]

► I Систолическое артериальное давление [Признак]

I Диастолическое артериальное давление [Признак]

Боль в грудной клетке

Одышка частота пульса

Ритм пульса наполнение пульса

Систолическое давление

Диастолическое давление

Рисунок 6 - Пример адаптивной генерации интерфейса

База знаний абстрактного элемента "Выбор

Выбор одного варианта из множества

  • ► Реализация по умолчанию для задачи

  • ▼ Элементы интерфейса *

  • ▼    Группа радиокнопок [Элемент интерфейса]

  • ▼    Данные влияющие на выбор элемента интерфейса

ТОнтологическиеконструкции"_________________

  • ► *- АЛЬТЕРНАТИВА, нетерминал, copy, copy mm. ур. разм

Вещественное I Дата и время I Бинарные значения, сору [Конструкция]

► Особенности данных *

О 2 ' [Минимальное количество потомков (сорт: целое)!

О 5 • [Максимальное количество потомков (сорт: целое);

; Количество потомков (сорт целое)]

V Реализации элемента интерф< ► По умолчанию [Реализация] / Реализация J ф ®

Группа переключателей [Элемент интерфейса)

Раскрывающийся список [Элемент интерфейса] ▼ Данные влияющие на выбор элемента ин терфейса

О 5 • [Минимальное количество потомков (сорт: целс

О 25 * [Максимальное количество потомков (сорт: целое)]

  • ▼ Онтологические конструкции *

  • ► >- АЛЬТЕРНАТИВА, нетерминал, copy, copy mm, ур. разм, >1 , содерж

Вещественное I Дата и время I Бинарные значения, сору [Конструкция] 1 [Конструкция]1

( Особенности ванных Г Ф ®

[Количество потомков (сорт целое)] <•'     :t)

► Реализации элемента интерфейса

Поле списка с возможностью выбрать 1 элемент [Элемент интерфейса]

Онтология ПО

▼ Выбор {АЛЬТЕРНАТИВА}

описать элемент списка:

Пример Базы знаний 1

Пример Базы знаний 2

3 Онтология WIMP-элементов

Онтология WIMP -элементов состоит из двух основных разделов:

  •    множество WIMP -элементов (независимые интерфейсные единицы, несущие собственную смысловую и функциональную нагрузку: кнопка, поле ввода, список и др.);

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

Онтология WIMP элементов {

~copyCommonElements{…}

~copyCSS {…}

}

Онтология содержит 38 базовых элементов интерфейса <~ copyWIMP -элементы>, среди которых представлены такие элементы как: кнопка ( Button ), чек-боксы ( CheckboxGroup ), радиокнопки ( RadioButtonGroup ), текст ( Text ), текстовое поле ввода ( Input ), комбинированное поле со списком ( Combobox ), кнопка пошаговой прокрутки ( Stepper ) и др. Структурно каждый из этих элементов в онтологии WIMP состоит из некоторого набора уникальных для данного элемента атрибутов и стилей CSS ( options ).

~setmm WIMP-элемент {

~copyoptions

<Набор уникальных свойств>}

Элемент интерфейса Div является базовым универсальным элементом-контейнером с возможностью включения других элементов. Основная особенность его определения заклю- чается в «рекурсивности»: Div - это WIMP -элемент, способный включать как другие элементы, так и элементы того же типа (Div). Этот элемент (также как и другие WIMP -элементы) содержит собственный набор стилей CSS.

~set Div: {

~set ->Div

~set ->CSS

~set ->Text

<^ другие элементы>

}

~setmm Text: {

~copy->options ~onetext

}

Кнопка ( Button ) является сложным элементом и состоит из группы более простых элементов. Кнопка всегда содержит оформление блока CSS , а так же может содержать текст ( Text ) и пиктограмму ( Ico ), располагаемую на кнопке; подсказку ( Hint ), которая выводится на экран при наведении курсора на кнопку. Помимо этого кнопка содержит раздел, отвечающий за состояния ( States ), в которых она может находиться.

~setmm Button: {

~copy->options

~copymm -> Text

~copymm -> Hint

~copymm ->Ico

~copy states { ~set ->options }

}

Текстовое поле ввода ( Input ) содержит текст ( Text ) рядом с полем, описывающий данные, которые необходимо ввести. Возможно присутствие элемента ( Div ), отвечающего за токени-затор ввода, и наличие текста внутри поля ( Text ), подсказывающего возможное вводимое значение.

~setmm Input: {

~copy->options

~copy -> Text

~copymm ->Text

~copymm ->Div

}

WIMP -элементы Combobox и RadioGroup характерны тем, что определяют не один элемент, а несколько. Элементы Combobox и RadioGroup в большей степени определяют форму и поведение группы. Каждый из них содержит ссылку на соответствующий элемент и текст ( Text ), отвечающий за заголовок группы.

~setmmRadioButtonGroup: {

~copy -> Checkbox

~copy -> Text

~copy->options

}

~setmmCheckboxGroup: {

~copy ->Radiobutton

~copy ->Text

~copy->options

}

На платформе IACPaaS разработана онтология WIMP элементов, соответствующая приведённому формальному описанию (см. рисунок 7).

>• Common Elements * {СПИСОК}

ie 0

▼ »• Text‘{СПИСОК}

Otext (сорт: Строковое) *( I 'one') (all) ► >• options (= 'copy') (ref-new)

описать элемент списка' © Ф©®

»• 1прШ*{СПИС0К}

► >• Text * (= 'copy') (ref-new) ► »• Text * (= 'copy') (ref-new) ► >• Div * (= 'copy') (ref-new) ► >• options (= 'copy') (ref-new) описать элемент списка:

▼ Textarea* {СПИСОК}

► >• Input (= 'copy') (ref-new)

> >• options (= 'copy') (ref-new)

описать элемент списка:     Q®Q

  • ►    »- Radiobutton * ([*] 'listmm') (ref-new)

  • ►    RadioButtonGroup‘([‘] 'listmm') (ref-new)

  • ►    >- Checkbox * ([*] 'listmm') (ref-new)

  • ►    CheckboxGroup *([*] 'listmm') (ref-new)

Рисунок 7 - Скриншот фрагмента онтологии WIMP элементов

Стили CSS определяются в онтологии по принципу максимальной аналогии и сходства с традиционными стилями CSS , известными в веб-разработке. Стиль CSS определяется парой <  selector, options >:

~copyCSS {

-copyselector {< — >}

-copyoptions {< — >}

}

Селектор ( selector ) так же, как и в традиционных CSS , определяет, для каких именно элементов интерфейса применить заданные правила (свойства) и в онтологии определяется так:

~copy selector: {

-set tag: <*, Base, Text, Button, Div, List, „>

~set class: String

~set id: String

}

Тело ( body ) стиля < -copyoptions> содержит набор свойств, которые будут применяться для соответствующих селектору элементов. Набор свойств стилей определяется по аналогии с традиционными CSS из веб-разработки: ширина, высота, цвет, отступы и т.д.

~copy body: {

~one width

~one height

-one layout: [vertical, horizontal, frame (поверх всех окон), „.]

}

На рисунке 8 представлено описание фрагмента онтология CSS -стилей.

4    Онтология модели интерфейса

Онтология модели интерфейса состоит из двух основных компонентов: {Сохраненные интерфейсы, Информация о пользователе}.

Онтология модели интерфейса {

~copy Сохраненные интерфейсы {…}

~copy Информация о пользователе {…}

}

▼ » CSS {СПИСОК}

► selector ( = 'copy') (ref-new) v

▼ >• options {СПИСОК}

0 background (сорт: строковое) ([!] 'onemm') (all)

.0 background-color (сорт: строковое) (['] 'onemm') (all)

0 background-image (сорт: строковое) ([!] 'onemm') (all)

0 background-repeat (сорт: строковое) ([!] 'onemm') (all)

0 background-size (сорт: строковое) ([!] 'onemm') (all)

0 background-position (сорт: строковое) ([!] 'onemm') (all)

0 border (сорт: строковое) * ([!] 'onemm') (all)

0 border-radius (сорт: строковое) ([!] 'onemm') (all)

0 bottom (сорт: строковое) * ([!] 'onemm') (all)

0 box-shadow (сорт: строковое) * ([!] 'onemm') (all)

0 box-sizing (сорт: строковое) * ([!] 'onemm') (all)

0 color (сорт: строковое) * ([!] 'onemm') (all)

Рисунок 8 - Скриншот фрагмента онтологии CSS -стилей

Элемент онтологии «Сохраненные интерфейсы» определяет структуру для сохранения и отображения интерфейса, специфичного для каждого пользователя. Данная структура позволяет запоминать все выбранные настройки и изменения в интерфейсе, сделанные для конкретного пользователя. Индивидуальный интерфейс пользователя состоит из 5 основных элементов: {Размещение элементов, Внешний вид элементов, Шаблон, Вычисляемая информация о поведении пользователя, Общий CSS }.

Сохраненные интерфейсы {

~set Имя сервиса {

~set Размещение элементов

~set Внешний вид элементов

~copy Шаблон

~copy Вычисляемая информация о поведении пользователя

~copy Общий CSS

}

}

«Размещение элементов» определяет структуру записи изменений для элементов ПрО, позиции которых были изменены в результате пользовательского редактирования модели интерфейса. «Размещение элементов» - это множество вариантов размещения отдельных элементов онтологии. «Размещение элементов» содержит список «Поэлементная информация», включающий «Элемент онтологии» и «Позиционирование элемента интерфейса»

Размещение элементов {

~set Поэлементная информация {

~copy Элемент онтологии

~copy Позиционирование элемента интерфейса

}

}

«Шаблон» определяет ссылку на один из шаблонов, указанных в онтологии о проектировании интерфейса, он может дополняться новым шаблонами. «Шаблон» - это указатель на то, при каких шаблонах интерфейса может быть выбран и реализован данный элемент интерфейса. У всех элементов есть шаблон по умолчанию. Онтология шаблонов:

Шаблоны {

~set Шаблон {

~set -> Элемент интерфейса {…}

~copy -> Информация о шаблоне {…}

}

}

На рисунке lACPaaS.

  • 9 представлен фрагмент онтологии модели интерфейса на платформе

  • ▼    Информация о попьзова1епе (СПИСОК)

т Самостоятельно вносимая информации (СПИСОК)

0 Возраст (сорт: целое) ([!] 'onemm') (all)

► Уровень владения (р] 'cooymm') (ref-new)

► Физические ограничения ([=] 'оорутт') (ref-new) описать элемент списка:

описать элемент списка:

  • ▼    Сохраненные интерфейсы {СПИСОК}

V Имя сервиса * СПИСОК)

► Размещение элементов ([=] 'cooymm') (ref-new)

► Внеиний вид элементов ( = 'copy') (ref-new)

► Шаблон ([=] 'copymm') (ref-new)

► Вычисляемая информация о поведении пользователя ( = 'сору)

► Общий CSS ([=] 'copymm') (ref-new)

описать элемент списка'

Рисунок 9 - Фрагмент онтологии модели интерфейса

5    Онтология модели пользователя

Для генерации окончательного вида интерфейса большое значение имеют данные, индивидуально характеризующие пользователя интерфейса. Для этого предусмотрена онтология модели пользователя, в которой предусмотрены специальные критерии, помогающие выделить индивидуальные параметры пользователя и содержащиеся в информации о пользователе. «Модель пользователей» включает: {Характеристики пользователей, Вычисляемые характеристики в процессе работы, Особенности реализации, Источники}.

Модели пользователей {

~set Модель {

~copy Характеристики пользователей {…}

~copy Вычисляемые характеристики в процессе работы {…}

~copy Особенности реализации {…}

~copy Источники {…}

}

}

«Характеристики пользователей» включают данные о пользователе: {Возраст, Уровень владения, Физические ограничения}.

Характеристики пользователей {

~set Пользователь {

~copy Возраст {…}

~copy Уровень владения {…}

~copy Физические ограничения {…}

}

}

«Особенности реализации» содержат «Нерекомендуемые элементы» к использованию в рамках данной модели и «Рекомендуемые элементы».

Особенности реализации {

~copymm Нерекомендуемые элементы

~ copy Рекомендуемые элементы

}

«Нерекомендуемые элементы» содержат список элементов интерфейса, которые не рекомендуется использовать в модели. Приоритет генерации у элементов данного списка меньше, чем у других элементов. Каждый такой элемент интерфейса описывается по аналогии с обычным элементом интерфейса, представленным ранее:

Нерекомендуемые элементы { ~set -> Элемент интерфейса

}

«Рекомендуемые элементы» определяют набор стилей и общих элементов, которые будут присущи данной модели интерфейса:

Рекомендуемые элементы {

~copymm -> Common Elements

~ copy -> CSS

}

Common Elements и CSS определяются так же как в онтологии базы WIMP -элементов (см. раздел 3). На рисунке 10 представлен фрагмент онтологии «Модель пользователя», реализованный на платформе lACPaaS.

Т Модели пользователей * [СПИСОК]

V Модель {СПИСОК}

  • ▼ Характеэистити пользователей * СПИСОК}

  • ▼ Пользователь * {СПИСОК}.

► Возраст ([=] 'copymm’) (ref-new)

► Уровень владения ([=] 'copymm') (ref-new)

► Физические ограничения ([=] 'copymm') (ref-new)

описать элемент списка:

описать элемент списка:

  • ► Вычисляемые характеристики в процессе работы ([=] 'copymm') (ref-new)

  • ▼ Особенности реализации {СПИСОК}

► Нерекомендуемые элементы * ([=] 'copymm') (ref-new)

► Рекомендуемые элементы * ( = 'copy') (ref-new)

описать элемент списка:

► >• Источники ([=] 'copymm') (ref-newj описать элемент списка:

описать элемент списка:

Рисунок 10 - Фрагмент онтологии «Модель пользователя»

Упрощённый пример генерации адаптивного интерфейса с использованием рассмотренных онтологий иллюстрирует рисунок 11. В представленной на рисунке 11 схеме строятся два варианта интерфейса: на основе примера онтологии ПрО (онтологии диагностики) и адаптации по устройству (ПК или смартфон).

Адаптация 1       ______________________________________________________________

Онтология предметной области (диагностики)

▼ *• * Комплекс диагностических лэ/знаков {СПИСОК! .

▼ >• -< совместимости элементов [АГЬТЕРНАТИВА)

О * любой (тип: строковое) ( = ’copy") (ref-new)

О * все (тип: строковое) ( = 'copy1) (ref-new)

v * минимальное количество (сорт: целое) * (! 'ore')

► * Признак (|'| 'listmm') (all)

]► 5» * Фактор * ([+] 'seimm') (all)

► н * Заболевание (+ ’set) (all)

► >♦ * Группа заболеваний (или Подгруппа) ([+] 'seimm'’

Интерфейс 1

Модель пользователя Возраст: 20-40

Устройство

ПК

Адаптация 2

Интерфейс2

у । руппа заоолевании (или i юдгрупла) ц+j seimm

* Необходимое условие ([=] 'copymm') (ref-new) т/

Шаблон "табы'

Комплекс д. признаков

Признак

Фактор

Заболевание

Модель пользователя Возраст: 20-40

Группа заболеваний

Необходимое условие

Совместимость элементов

О любой минимальное количество

Устройство Смартфон

Рисунок 11 - Пример генерации адаптивного интерфейса

Заключение

Разработка интерфейсов редакторов БЗ является актуальной задачей в инженерии знаний. Это вытекает из требований современного этапа к разработке систем на основе знаний: БЗ должны разрабатывать и сопровождать эксперты ПрО. Учитывая разный уровень знаний экспертов в области информационных технологий, удобные и понятные редакторы знаний являются определяющим фактором включения экспертов в процесс разработки БЗ. Для автоматической генерации интерфейса редакторов БЗ используется онтологический подход, включающий разработку БЗ о проектировании WIMP -интерфейса, библиотеки WIMP -элементов, модели интерфейса. Разработанный генератор интерфейса автоматически формирует пользовательский интерфейс редактора знаний, ориентированный на конкретного пользователя.

В настоящее время на платформе IACPaaS реализованы все информационные и программные компоненты, проводится их опытная эксплуатация.

Список литературы Онтологии для разработки и генерации адаптивных пользовательских интерфейсов редакторов баз знаний

  • Щеглов С.Н. Онтологический подход и его использование в системах представления знаний // Известия Южного федерального университета. 2009. №4(93). С.146-153.
  • Подлипский О.К. Построение баз знаний группой экспертов // Компьютерные исследования и моделирование 2010. Т.2, №1, С.3-11.
  • Белоусова С.А., Рогозов Ю.И. Анализ подходов к созданию пользовательского интерфейса // Известия Южного федерального университета. Технические науки. 2014. № 6(155). С.142-148.
  • Корончик Д.Н. Пользовательские интерфейсы интеллектуальных систем // Кибернетика и программирование. 2012. № 1. С.16-22. D01:10.7256/2306-4196.2012.1.13861.
  • ГОСТ Р ИСО/МЭК 21838-1-2021. Национальный стандарт Российской Федерации. Информационные технологии. Онтологии высшего уровня (TLO). Часть 1. Требования. Information technology. Top-level ontologies (TLO). Part 1. Requirements. Дата введения 2022-04-30.
  • ГОСТ Р 59798-2021. Национальный стандарт Российской Федерации. Информационные технологии. Онтологии высшего уровня (TLO). Часть 2. Базисная формальная онтология (BFO). Information technology. Toplevel ontologies (TLO). Part 1. Basic Formal Ontology (BFO). Дата введения 2022-04-30.
  • Gauch, S., Chaffee, J., &Pretschner, A. Ontology-based personalized search and browsing // Web Intelligence and Agent Systems. 2003. P.219-234.
  • Razmerita, L., Angehrn, A., &Maedche, A. Ontology-based user modeling for knowledge management systems. InUsermodeling. Berlin, Germany: Springer.2003. P.213-217.
  • Трегубов А.С. Разработка адаптивных контекстозависимых интерфейсов с использованием онтологических моделей // Кибернетика и программирование. 2017. № 6. С.50-56. DOI:10.25136/2306-4196.2017.6.24747.
  • McAvoy, L. M., Chen, L., & Donnelly, M. An ontology based context management system for smart environments // UBICOMM. 2012, the Sixth International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies. P.18-23.
  • Liu B., Chen H., He W. Deriving User Interface from Ontologies: A Model-based Approach // 17th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'05), Hong Kong China. 2005. P.254-259.
  • Бубарева О.А., Вайцель Н.С. Подход к проектированию пользовательского интерфейса в системах реального времени на базе онтологий // Южно-сибирский научный вестник. 2018. С.82-86.
  • Алфимцев А.Н., Локтев Д.А., Локтев А.А. Разработка пользовательского интерфейса комплексной системы видеомониторинга // Информационные системы и логистика в строительстве. 2012. С.242-251.
  • Abdelkrim Chebieb, Yamine Ait-Ameur. A formal model for plastic human computer interfaces // Frontiers of Computer Science, Springer Verlag, 2018, 12 (2). P.351-375. DOI:10.1007/s11704-016-5460-3.
  • Грибова В.В., Федорищев Л.А. Адаптивный генератор WIMP-интерфейса редакторов базы знаний на основе онтологии // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2019. №49. С. 110-119.
  • Грибова В.В., Федорищев Л.А. Онтологический подход к генерации адаптивных WIMP-интерфейсов редакторов баз знаний // В сборнике: Шестнадцатая Национальная конференция по искусственному интеллекту с международным участием КИИ-2018. Труды конференции: в 2-х томах. 2018. С.19-26.
  • Грибова В.В., Клещев А.С., Москаленко Ф.М., Тимченко В.А. Двухуровневая модель сложноструктурированных информационных единиц, соответствующая метафоре анкетирования // Научно-техническая информация. Сер. 2. 2015. №10. С.1-10.
  • Мейер Э.А. CSS. Каскадные таблицы стилей. Подробное руководство. Пер. с англ. СПб: Символ-Плюс, 2008. 576 с.
Еще
Статья научная