Научная статья на тему 'Адаптация структуры меню услуг для различных типов пользователей с применением онтологического моделирования'

Адаптация структуры меню услуг для различных типов пользователей с применением онтологического моделирования Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
183
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОНТОЛОГИЯ / ОНТОЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ / АТОМАРНЫЕ ДИАГРАММЫ / ИЗВЛЕЧЕНИЕ ЗНАНИЙ / ПОРОЖДЕНИЕ ЗНАНИЙ / ИЕРАРХИЧЕСКИЕ МЕНЮ / АДАПТАЦИЯ МЕНЮ / АНАЛИЗ ПОТРЕБНОСТЕЙ / ЗАДАЧА ОПТИМИЗАЦИИ / ПОЛЬЗОВАТЕЛЬСКИЕ ИНТЕРФЕЙСЫ / ONTOLOGY / ONTOLOGICAL MODELING / ATOMIC DIAGRAMS / KNOWLEDGE ACQUISITION / KNOWLEDGE GENERATION / HIERARCHICAL MENU / MENU ADAPTATION / NEEDS ANALYSIS / OPTIMUM PROBLEM / USER INTERFACES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Погодин Руслан Сергеевич

Статья посвящена решению проблемы адаптации больших древовидных и линейных меню мобильных и интернет-услуг для различных типов пользователей на основании их интересов, социального статуса, а также иных параметров. Разработана программная система, строящая оптимальное меню услуг для классов пользователей, разделенных по социально-экономическим и физическим параметрам, с использованием модифицированного алгоритма построения оптимального графа USSD-меню. В работе используется онтологический подход для формального представления понятий данной предметной области, извлечения, представления и обработки знаний. Для адаптации интерфейсов используются модели пользователей, представляющие описания их потребностей, целей, интересов. Формализация поведения пользователей осуществляется при помощи онтологической модели мобильных и интернет-услуг. Каждого пользователя можно отнести к определенной модели на основании его физических и социальных параметров. Программа, реализующая адаптацию меню, состоит из двух модулей: модуль получения частот вызова услуг на основе запросов к онтологии и модуль оптимизации графа меню. Алгоритм оптимизации меню работает с языком описания графов DOT.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Погодин Руслан Сергеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ADAPTATION OF SERVICE MENU STRUCTURE FOR DIFFERENT TYPES OF USERS USING THE ONTOLOGY MODELING

The purpose of the article is to solve the problem of adaptation of large arborescent and linear menus of mobile and internet services for various types of users according to their interests, social status and other parameters. There has been created the program system building an optimal menu of services for classes of users divided by physical and socio-economic parameters. When adapting the menu, a modified algorithm of construction of an optimal graph of the USSD-menu was used. An ontological approach was used during the work for formal representation of the notions of a given subject area, extraction, representation and processing of knowledge. Users’ models representing descriptions of their needs, aims and interests were used for adaptation of interfaces. Formalization of users’ conduct was realized with the help of an ontological model of mobile and internet services. Each user can be ascribed to a definite model based on their physical and social parameters. The program realizing adaptation of the menus contains two modules: the module of frequency of calls reception based on ontology queries and the graph of the menu optimization module. An algorithm of the optimization of the menu works with DOT graph prescription language.

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

УДК 004.04

DOI 10.25205/1818-7900-2018-16-3-133-144

Р. С. Погодин

Новосибирский государственный университет ул. Пирогова, 1, Новосибирск, 630090, Россия

ruspog@gmail.com

АДАПТАЦИЯ СТРУКТУРЫ МЕНЮ УСЛУГ ДЛЯ РАЗЛИЧНЫХ ТИПОВ ПОЛЬЗОВАТЕЛЕЙ С ПРИМЕНЕНИЕМ ОНТОЛОГИЧЕСКОГО МОДЕЛИРОВАНИЯ

Статья посвящена решению проблемы адаптации больших древовидных и линейных меню мобильных и интернет-услуг для различных типов пользователей на основании их интересов, социального статуса, а также иных параметров. Разработана программная система, строящая оптимальное меню услуг для классов пользователей, разделенных по социально-экономическим и физическим параметрам, с использованием модифицированного алгоритма построения оптимального графа USSD-меню. В работе используется онтологический подход для формального представления понятий данной предметной области, извлечения, представления и обработки знаний. Для адаптации интерфейсов используются модели пользователей, представляющие описания их потребностей, целей, интересов. Формализация поведения пользователей осуществляется при помощи онтологической модели мобильных и интернет-услуг. Каждого пользователя можно отнести к определенной модели на основании его физических и социальных параметров. Программа, реализующая адаптацию меню, состоит из двух модулей: модуль получения частот вызова услуг на основе запросов к онтологии и модуль оптимизации графа меню. Алгоритм оптимизации меню работает с языком описания графов DOT.

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

Введение

Статья посвящена адаптации иерархических меню для различных типов пользователей. Решается проблема адаптации больших древовидных и линейных меню мобильных и интернет-услуг на основании интересов пользователей, их социального статуса, а также иных параметров. В работе используется онтологический подход для формального представления понятий данной предметной области, извлечения, представления и обработки знаний. Оптимизация интерфейсов проводится с помощью модифицированного алгоритма построения оптимального графа USSD-меню. Формализация поведения пользователей осуществляется при помощи онтологической модели мобильных и интернет-услуг.

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

Оплата ЖКХ, замена паспорта, заказ еды, бронирование отелей - всё осуществляется через глобальную паутину путем взаимодействия пользователей с меню услуг. Более того, в последнее время крупные сети кафе и ресторанов начали внедрять электронные меню: че-

Погодин Р. С. Адаптация структуры меню услуг для различных типов пользователей с применением онтологического моделирования // Вестн. НГУ. Серия: Информационные технологии. 2018. Т. 16, № 3. С. 133-144.

ISSN 1818-7900. Вестник НГУ. Серия: Информационные технологии. 2018. Том 16, № 3 © Р. С. Погодин, 2018

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

Очевидно, что у разных людей разные интересы. Для одного клиента нужные услуги могут быть на верхнем уровне меню, а для другого - спрятаны где-то глубоко. Соответственно, компания может потерять покупателя, который не смог найти требуемую ему услугу или товар, а покупатель, блуждая в лабиринтах программы, теряет свое время на бесполезный поиск. Аналогично с контекстной рекламой. Например, вегетарианцу нет смысла демонстрировать акцию о скидке на стейки или человеку со средним доходом - турпутевки за 2 миллиона рублей. Таким образом, чтобы избежать перечисленных проблем или свести их к минимуму, существует необходимость адаптации меню для конечного пользователя. Адаптация - это оптимизация с учетом пользовательской модели, которая представляет собой набор параметров, описывающих целевого пользователя: его возраст, бюджет, социальный статус, интересы, географическое расположение и т. п.

Области использования адаптации меню достаточно широки и разнообразны:

• Ш8Б-сервисы;

• интернет-каталоги товаров;

• электронные меню ресторанов;

• меню порталов туристических услуг и услуг бронирования;

• меню образовательных порталов;

• диалоговые меню чат-ботов;

• интерфейсы программ.

В настоящее время уже существуют работы, которые используют онтологический подход к определению потребностей пользователей или других параметров, на основании которых можно определить наиболее релевантные предложения для каждого пользователя. Например, формульное описание диагнозов по симптомам на основании историй болезней [1] или определение предпочтений абонентов мобильных сетей по их характеристикам [2].

В данной работе предложены алгоритм получения частот использования услуг на основании модели пользователя и алгоритм оптимизации иерархических меню по полученным частотам, который является модифицированным алгоритмом оптимизации И88Б-меню [3].

Алгоритм получения частот использования услуг основан на онтологическом подходе для формального представления понятий данной предметной области, извлечения, представления и обработки знаний [4-6]. Для адаптации интерфейсов используются модели пользователей, представляющие описания их потребностей, целей, интересов [10]. Формализация поведения пользователей осуществляется при помощи онтологической модели интернет-услуг [8; 9; 11].

Меню услуг

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

Первый уровень меню - множество вершин графа со степенью захода 0.

Разделы меню - узлы графа.

Услуги - множество вершин графа с нулевой степенью исхода.

Элемент меню - элемент множества {раздел меню, услуга}.

Переход по меню - ветвь между двумя элементами меню.

Выделяются три типа иерархических меню.

1. Линейное меню (рис. 1, а) - меню, в котором все услуги имеют степень захода, равную нулю. Другое название такого меню - «лента услуг». В чистом виде встречается редко, но в любом иерархическом меню можно выделить по крайней мере одно линейное меню для каждого раздела.

О о

О о о о о 6 о 6

б

Рис. 1. Типы иерархических меню

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

3. Мультииерархическое меню (рис. 1, в) - меню, в котором любой элемент, не принадлежащий первому уровню, имеет степень захода, равную натуральному числу. Примером такого меню является любое древовидное меню с разделом «Избранное», в котором услуги из этого раздела имеют степень захода, равную двум.

Этапы адаптации меню

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

Пусть nt - количество заказов i-й услуги пользователем, k - количество услуг в меню.

Тогда обозначим общее количество заказов услуг пользователем: N = ^^ ni.

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

клавиш: D = Уk nd..

¿—i i=i . .

Функция D подвергается минимизации. Но в задаче удобней работать с вероятностью за-

n

каза каждой услуги, а не с количеством заказов. Именно поэтому вводим величину pt = N ~

вероятность вызова i-й услуги. И вместо функции D проводим минимизацию функции

D =V* pd..

Несложно доказать, что минимизация Dp влечет за собой минимизацию D. Действительно, Dp = DD, где N = const, откуда следует, что обе функции имеют экстремумы в одних и тех же точках.

Задачей оптимизации меню, предоставляющего k услуг, назовем минимизацию функции

Dp к{1 pidi., где р. = N - вероятность вызова i-й услуги, а di - минимальное количество

нажатий клавиш, необходимое для заказа i-й услуги.

Для минимизации сумм pidi нам необходимо определить параметр pi для каждой услуги. В данной работе применяется теоретико-модельный подход для определения вероятностей: строится онтологическая модель предметной области на основе ключевых понятий этой предметной области, ее законов и постулатов, а также множества прецедентов. Для описания прецедентов - портреты пользователей и статистика заказа услуг. Таким образом, получаем следующие этапы адаптации меню:

а

в

1) получение информации о пользователях и составление их портретов на основе полученных характеристик;

2) построение векторов вероятностей заказа услуг для конкретного портрета пользователя;

3) оптимизация меню с помощью алгоритма оптимизации на основании вероятностей заказа услуг.

Получение информации о пользователях

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

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

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

В наше время, наверно, почти не осталось людей, которые не имеют аккаунтов в социальных сетях ВКонтакте, Одноклассники, Facebook, к которым присоединились Twitter и Instagram. С развитием рынка смартфонов и беспроводного Интернета пользователи все больше и больше времени проводят в соцсетях. Вместе с этим соцсети оказываются отличным описанием профиля пользователей. Можно посмотреть личную информацию о человеке (пол, возраст), место жительства, интересы, количество друзей и подписчиков, его сообщества, добавленную музыку, фотографии и т. п. Самая популярная социальная сеть в России и СНГ - ВКонтакте. Именно поэтому она была выбрана в качестве целевой платформы для получения информации о пользователях. ВКонтакте предоставляет публичный программный интерфейс VK API, с помощью которого можно программно получить подробную информацию о пользователях в виде JSON-объектов (рис. 2).

Рис. 2. Типы иерархических меню

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

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

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

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

рынка туристических услуг

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

Ключевые понятия предметной области

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

Универсальные общие утверждения

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

Для описания знаний выбран формат обмена данными JSON (рис. 3), так как он хорошо читается и удобно сериализуется. Каждый объект может иметь внутри себя множество свойств трех типов: характеристику, другой объект и массив объектов.

Характеристика - это такой тип свойства, который может принимать значения из конечного множества. Например, характеристика «класс обслуживания» может принимать значение из множества {Первый класс, Бизнес-класс, Премиальный-экономический класс, Эко-номкласс}.

Центральный объект онтологической модели предметной области рынка туристических услуг - Услуга. Он обладает четырьмя характеристиками: название, тип услуги, стоимость и дата. Характеристика «Тип услуги», как будет описано далее, требуется алгоритму подсчета вероятностей заказов услуг. Она может принимать два значения: простая услуга и контейнер.

Номер:

Тур:

Этаж;

Количество человек;

Тип кровати;

Тип номера (питания);

Период;

Отель:

Услуги

Страховка,

Виза, Рейс,

Номер, Рейс

Город отеля; Тип отеля;[

}

}

Рис. 3. Формат описания знаний

Все остальные объекты наследуют эти характеристики и имеют свои уникальные. Особняком стоит объект «Тур», который и сам является услугой, и внутри себя содержит массив услуг, при этом его стоимость равна сумме стоимости входящих в него элементов.

Эмпирические данные

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Эмпирические данные - это данные, описывающие прецеденты предметной области, иными словами, это история взаимодействия пользователей с системой, предоставляющей услуги. Формальное описание каждого прецедента задается в виде фрагмента атомарной диаграммы [7].

Атомарная диаграмма модели - это множество атомарных предложений, т. е. предложений ф вида ф = ( =с2), ф = -( =с2), ф = Р(С!,...,сп), ф=—Р(с^,...,сп), где с^,...,сп - константы, а Р - предикат.

В нашем случае каждое атомарное предложение имеет следующий вид: «Человек с характеристиками [Доход: 70000, Город: Новосибирск, ...] заказал услугу с характеристиками [Название: «Рейс в Санкт-Петербург», Авиакомпания: 87, Стоимость: 10000, ...]».

Таким образом мы получаем описание всех профилей пользователей.

Вероятностные и оценочные знания

Вероятностные знания можно получить двумя способами: взять из каких-либо внешних источников или провести анализ эмпирических данных нашей онтологической модели и сопоставить их с универсальными знаниями.

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

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

Алгоритм вычисления вероятностей заказа услуг

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

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

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

1. Для всех возможных характеристик потребителей составляется вектор весов каждой характеристики услуг по всем ее значениям на основании анализа эмпирических данных, а именно подсчета связей {Характеристика х; пользователя - Характеристика у услуги} для всех х, у, ;, _), где х и у - названия характеристик, а х; и у - значения из множества значений. Пример: для анализа берем характеристику «Город: Новосибирск». Из всех атомарных предложений выбираются те, где пользователи имеют характеристику «Город: Новосибирск», и для каждой характеристики услуг подсчитываются ее вхождения в атомарные выражения. Таким образом, для каждого значения каждой характеристики пользователя получается список весов значений характеристик услуг:

Компания: 87 Компания: Аэрофлот

Город: Новосибирск 40 40

Город: Томск 35 32

Стоимость: 6-10 тыс. Стоимость: 11-15 тыс.

Город: Новосибирск 39 12

Город: Томск 47 11

2. Для конкретного потребителя составляется список частот услуг следующим образом.

A. По очереди выбирается каждая услуга и ее характеристики образуют список.

B. Для каждой характеристики из списка подсчитывается ее вес по частотам, полученным в п. 1. Вес услуги - это среднее арифметическое весов ее характеристик.

C. После того как посчитан вес для каждой услуги, эти веса делятся на общую сумму весов всех услуг.

Б. (Дополнительно.) Если тип услуги - контейнер (например, услуга - Тур), то шаг 2 выполняется рекурсивно для всех услуг, входящих в массив, и считается их среднее арифметическое.

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

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

Шаг 2 выполняется многократно - для каждого пользователя отдельно. Более того, с определенной периодичностью следует пересчитывать и для одного и того же пользователя, чтобы предложения услуг не теряли свою актуальность.

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

Оптимизация иерархических меню

Алгоритм оптимизации иерархических меню получает на вход список пар «название услуги - вероятность использования услуги». Пусть свободный узел графа - это узел графа, который не имеет «родителей». Таким образом, алгоритм оптимизации получает на вход список свободных узлов, которыми являются пары «название услуги - вероятность использования услуги». Пусть т - максимально возможное количество ветвей узла, которое задается пользователем. Если обратиться к исследованиям в области когнитивной психологии, то найдем оптимальное значение - 7 ± 2. Однако в действительности оптимальное значение зависит от задачи. Пусть ni - количество оставшихся свободных узлов на 7-м шаге итерации алгоритма.

Выбирается т свободных узлов с наименьшей вероятностью использования услуги.

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

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

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

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

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

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

Рис. 4. Иллюстрация работы алгоритма построения оптимального графа

Рис. 5. Проблема недостатка ветви на первом уровне меню Рис. 6. Листинг. Оценка количества вершин на последнем шаге

Рис. 7. Демонстрация результата оптимизации меню с использованием предварительной оценки (для наглядности перемещения пункты пронумерованы так же, как на рис. 5)

Таким образом, количество ветвей ниже максимального окажется именно на последнем уровне меню, что вполне допустимо, и, более того, является достаточно частой ситуацией, так как почти всегда количество услуг имеет кратность, отличную от количества подменю (рис. 7).

Тестирование и результаты

Для тестирования адаптации меню с помощью ^ои-генератора были созданы 913 услуг, а также построена история о 30 000 заказах услуг. Эти услуги были разбиты на следующие категории: билеты на самолет, отели, круизы, визы, сувениры, гиды, переводчики, аренда автомобилей. Каждая категория была разбита, в свою очередь, еще на несколько подкатегорий.

Тестирование проводилось на полной выборке из 30 000 заказов услуг, а также на выборках случайных 10 000 и 20 000 заказов из полной выборки. Программа тестировалась в двух режимах: режим пагинации и режим дерева. В первом режиме категории меню разбивались на страницы, а во втором режиме строилось мультииерархическое меню.

Случайное меню Режим пагинации Режим дерева

10000 61198 43762 42077

20000 129614 88162 84412

30000 187309 130845 122903

Рис. 8. Результаты тестирования

Сокращение количества нажатий клавиш пользователем для выбора требуемой услуги составило от 29 до 35 % (рис. 8).

Заключение

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

Построена трехуровневая модель предметной области рынка туристических услуг. Характеристики пользователей были получены с помощью анализа профилей социальной сети ВКонтакте программным модулем, использующим публичный программный интерфейс VK API. Разработаны два алгоритма оптимизации меню в зависимости от его структуры: режим построения пагинации для линейного меню и режим построения дерева для древовидных меню. Если для алгоритма используется уже ранее построенное меню, в котором нельзя удалять переходы, то алгоритм поддерживает построение мультииерархического меню.

Онтологическая модель реализована программно на языке OWL в редакторе Protege с маппингом в базу данных MongoDB для более удобных операций над данными на уровне кода. В качестве языка программирования выбран C#, а в качестве платформы для приложения - ASP.NET MVC. Для работы с графами на языке C# использовалась библиотека QuickGraph, поддерживающая язык описаний DOT.

Тестирование адаптации было проведено на меню услуг, состоящим из 913 элементов, в двух режимах: пагинации и построения дерева. Среднее сокращение количества времени выбора услуги пользователем составило 29-35 %.

В дальнейшем планируется модифицировать алгоритм построения частот использования услуг.

Список литературы

1. Пальчунов Д. Е, Яхъяева Г. Э., Ясинская О. В. Применение теоретико-модельных методов и онтологического моделирования для автоматизации диагностирования заболеваний // Вестн. НГУ. Серия: Информационные технологии. 2015. Т. 13, № 3. С. 42-51.

2. Долгушева Е. В., Пальчунов Д. Е. Теоретико-модельные методы порождения знаний о предпочтениях абонентов мобильных сетей // Вестн. НГУ. Серия: Информационные технологии. 2016. Т. 14, № 2. С. 5-16.

3. Погодин Р. С. Адаптация структуры USSD-меню для различных типов пользователей // МНСК-2016: Информационные технологии: Материалы 54-й Междунар. науч. студ. конф. / Новосиб. гос. ун-т. Новосибирск, 2016. С. 229.

4. Пальчунов Д. Е. Моделирование мышления и формализация рефлексии I: Теоретико-модельная формализация онтологии и рефлексии // Философия науки. 2006. № 4 (31). С. 86114.

5. Пальчунов Д. Е. Решение задачи поиска информации на основе онтологий // Бизнес-информатика. 2008. № 1. С. 3-13.

6. Пальчунов Д. Е., Степанов П. А. Применение теоретико-модельных методов извлечения онтологических знаний в предметной области информационной безопасности // Программная инженерия. 2013. № 11. С. 8-16.

7. Махасоева О. Г., Пальчунов Д. Е. Автоматизированные методы построения атомарной диаграммы модели по тексту естественного языка // Вестн. НГУ. Серия: Информационные технологии. 2014. Т. 12, № 2. С. 64-73.

8. Palchunov D., Yakhyaeva G., Dolgusheva E. Conceptual Methods for Identifying Needs of Mobile Network Subscribers // Proc. of the Thirteenth International Conference on Concept Lattices and Their Applications. Moscow, Russia, 2016. P. 147-160.

9. Fensel D. Ontologies: A Silver Bullet for Knowledge Management and Electronic Commerce. Springer-Verlag, 2001. 106 p.

10. Cadenas A., Ruiz C., Larizgoitia I., García-Castro R., Lamsfus C., Vázquez I., GonzálezM., Martín D., Poveda M. Context Management in Mobile Environments: a Semantic Approach // Workshop on Context, Information and Ontologies (CIAO 2009). Heraklion, Greece, 2009. 8 p.

11. Mikhailyuk A. OWL as a Standard Model for Transdisciplinary Knowledje Representation in Semantic Web // Information Content and Processing. 2014. Vol. 1. No. 3. P. 249-261.

Материал поступил в редколлегию 31.05.2018

R. S. Pogodin

Novosibirsk State University 1 Pirogov Str., Novosibirsk, 630090, Russian Federation

ruspog@gmail.com

ADAPTATION OF SERVICE MENU STRUCTURE FOR DIFFERENT TYPES OF USERS

USING THE ONTOLOGY MODELING

The purpose of the article is to solve the problem of adaptation of large arborescent and linear menus of mobile and internet services for various types of users according to their interests, social status and other parameters. There has been created the program system building an optimal menu of services for classes of users divided by physical and socio-economic parameters. When adapting the menu, a modified algorithm of construction of an optimal graph of the USSD-menu was used. An ontological approach was used during the work for formal representation of the notions of a given subject area, extraction, representation and processing of knowledge. Users' models representing descriptions of their needs, aims and interests were used for adaptation of interfaces. Formalization of users' conduct was realized with the help of an ontological model of mobile and internet services. Each user can be ascribed to a definite model based on their physical and social parameters. The program realizing adaptation of the menus contains two modules: the module of frequency of calls reception based on ontology queries and the graph of the menu optimization module. An algorithm of the optimization of the menu works with DOT graph prescription language.

Keywords: ontology, ontological modeling, atomic diagrams, knowledge acquisition, knowledge generation, hierarchical menu, menu adaptation, needs analysis, optimum problem, user interfaces.

References

1. Palchunov D., Yakhyaeva G., Yasinskaya O. The using of model-theoretic methods and onto-logical modeling for the automation of diagnosing diseases. Vestnik NSU. Series: Information Technologies, 2015, no. 13, p. 42-51. (in Russ.)

2. Palchunov D., Dolgusheva E. Model-theoretic methods of generating knowledge about the preferences of subscribers of mobile networks. Vestnik NSU. Series: Information Technologies, 2015, no. 14, p. 5-16. (in Russ.)

3. Pogodin R. Adaptation of USSD-menu structure for different types of users. Proc. of the 54th International Conference MNSK-2016: Information Technologies, 2016, p. 229. (in Russ.)

4. Palchunov D. Modeling of Thinking and Formalization of Reflection I: Theory-Model Formalization of Ontology and Reflection. Filosofía nauki, 2006, no. 4 (31), p. 86-114. (in Russ.)

5. Palchunov D. Solving the problem of information retrieval based on ontologies. Biznes-Informatika, 2008, no. 1, p. 3-13. (in Russ.)

6. Palchunov D., Stepanov P. The using of model-theoretical methods of ontological knowledge extraction in the information security domain. Programmnaya inzheneria, 2013, no. 11, p. 8-16. (in Russ.)

7. Makhasoeva O., Palchunov D. Automated methods for constructing an atomic diagram of a model from the text of a natural language. Vestnik NSU. Series: Information Technologies, 2014, no. 12, p. 64-73. (in Russ.)

8. Palchunov D., Yakhyaeva G., Dolgusheva E. Conceptual Methods for Identifying Needs of Mobile Network Subscribers. Proc. of the Thirteenth International Conference on Concept Lattices and Their Applications. Moscow, Russia, 2016, p. 147-160.

9. Fensel D. Ontologies: A Silver Bullet for Knowledge Management and Electronic Commerce. Springer-Verlag, 2001, 106 p.

10. Cadenas A., Ruiz C., Larizgoitia I., García-Castro R., Lamsfus C., Vázquez I., González M., Martín D., Poveda M. Context Management in Mobile Environments: a Semantic Approach. Workshop on Context, Information and Ontologies (CIAO 2009). Heraklion, Greece, 2009, 8 p.

11. Mikhailyuk A. OWL as a Standard Model for Transdisciplinary Knowledje Representation in Semantic Web. Information Content and Processing, 2014, vol. 1, no. 3, p. 249-261.

For citation:

Pogodin R. S. Adaptation of Service Menu Structure for Different Types of Users Using the Ontology Modeling. Vestnik NSU. Series: Information Technologies, 2018, vol. 16, no. 3, p. 133-144. (in Russ.)

DOI 10.25205/1S1S-7900-201S-16-3-133-144

i Надоели баннеры? Вы всегда можете отключить рекламу.