Library
|
Your profile |
Cybernetics and programming
Reference:
Tregubov A.S.
Develoloping User Interface Adaptive Methods for USSD Services
// Cybernetics and programming.
2016. № 4.
P. 1-10.
DOI: 10.7256/2306-4196.2016.4.19497 URL: https://en.nbpublish.com/library_read_article.php?id=19497
Develoloping User Interface Adaptive Methods for USSD Services
DOI: 10.7256/2306-4196.2016.4.19497Received: 16-06-2016Published: 26-08-2016Abstract: The growth of a number of electronic devices and their capacities trigger the development of recommendation systems in general and adaptive interfaces in particular. Such systems collect information about user experience and analyze obtained data using the methods of machine-aided learning. Not ony the number of devices is growing, so is the number of users who often have different needs and demands. The author of the article pays special attention to the interface of USSD services. The purpose of the research is to develop an approach alllowing to decrease the average number of demands made by users while working with the text menu. To find a relevant solution, the author applied the methods of systems analysis and discovered a strong dependence between needs of each user and his/her context. Using the information about the execution context allowed to improve the existing methods and obtain better results. The author's approach is based on the two-stage clusterization: interface clusterization at the first stage and context clusterization at the second stage. To carry out testing the author used data collected during interaction with the users of USSD-services. Keywords: stereotyped adaptation, adaptation of the menu graph, context definition, user properties, buiding a user modelo, user clusterization, adaptation of tree-coded menus, adaptation of hierarchical interfaces, USSD, adaptive interfacesВведение Все больше устройств в своих названия получают приставку “Smart”, что в переводе с английского означает умный. С другой стороны, растет не только количество устройств, но и пользователей, которые часто имеют различные нужды и требования. Это связано с различиями в образе жизни, социальных факторах, образовании, личных и профессиональных пристрастиях каждой отдельной личности. Большой разброс интересов пользователей усложняет разработку интерфейсов и заставляет разработчиков отказаться от статичных страниц в пользу адаптируемых или же настраиваемых интерфейсов. В данной статье рассматривается проблема адаптации меню на примере USSD протокола. Данная технология пользуется большим спросом в странах, где мобильный интернет слабо развит. Этот протокол имеет ряд ограничений, одним из которых является скудность получаемой и предоставляемой информации. Интерфейсы USSD-сервисов на ряду с другими пользовательскими интерфейсами нуждаются в адаптации. В связи со спецификой данного протокола, структура меню хранится на стороне оператора. В то же время число абонентов огромно, поэтому не представляется возможным хранение индивидуального варианта меню для каждого пользователя.. USSD протокол имеет ряд преимуществ: простота, защищенность, бесплатность. Но в то же время он имеет ограничение на размер одного сообщения. Это является причиной слишком глубоких меню. Большое число подменю увеличивает ресурсозатраты операторов и снижает удовлетворенность пользователей. Группировка пользователей в кластеры позволяет оптимизировать интерфейс для каждой конкретной группы, при этом избежав больших накладных расходов для хранения индивидуального дерева меню. Стоит так же заметить, что процесс оптимизации - процесс вычислительно сложный и производить его в режиме реального времени в большинстве случаев не представляется возможным. В данной статье предлагается использовать информацию о контексте (или окружении) пользователя. Основной идеей является то, что один и тот же пользователь, находясь в разных контекстах, может воспринимать информацию по-разному и иметь разные нужды [1]. Адаптивные пользовательские интерфейсы Дизайн пользовательского интерфейса влияет на количество усилий, прилагаемых пользователем для достижения своих целей, а также на скорость освоения программной системы. Многие современные системы позволяют самостоятельно настраивать пользовательский интерфейс. Безусловно, это гораздо дешевле для производителей ПО, но пользователи, не являющиеся продвинутыми, могут не разобраться с возможностями ручной доработки интерфейса [2]. Кроме того, использование данного подхода не представляется возможным в рамках протокола USSD. Системы с автоматической адаптацией дают возможность пользователю не задумываться о вопросах интерфейса: достаточно начать пользоваться приложением, и программа подстроится под пользователя сама. Простейшим примером таких систем может служить браузер, который выносит наиболее часто посещаемые сайты на главную страницу или дополняет адрес при вводе первых символов. Алгоритмы, применяемые в подобных системах, могут сильно отличаться друг от друга, но можно выделить ряд характеристик необходимых для оценки алгоритма. Наиболее важными из них являются: точность предлагаемых изменений относительно реакции пользователя, степень изменения и предсказуемости интерфейса, частота выполняемых адаптаций. Точность играет максимальную роль, повышение точности – смысл разработки новых алгоритмов. Каждый алгоритм адаптации так или иначе использует математическую модель пользователя. Для построения такой модели применяются статистические методы, использующие исторические данные, полученные в результате сбора информации. Чтобы адаптация была возможной, система должна собирать информацию о пользователе в процессе взаимодействия с ним. Правильный выбор модели является крайне важным этапом разработки алгоритма, так как хранение лишней информации ресурсозатратно, а отсутствие какой-либо информации чревато потерей времени. Существует два принципиально разных подхода к разработке адаптивных интерфейсов: индивидуальный и стереотипный. Индивидуальный подход удобен в случаях, когда нет необходимости хранить и обрабатывать информацию о каждом пользователе на сервере, а наоборот, можно вынести часть логики на клиентские машины. Стереотипный подход основан на классификации пользователей на несколько классов. Модель пользователя можно представить в разных формах, наиболее простой из которых является представление в виде вектора интересов. Возможные услуги нумеруются от 1 до N, и для каждой функции на основе статистических данных рассчитывается ее вес. Такой вектор достаточно просто построить, но для этого необходимо большое количество данных. Поскольку данная работа посвящена разработке метода автоматической адаптации USSD-меню, стоит немного рассказать о данной технологии. USSD (Unstructured Supplementary Service Data) – сессионно ориентированный протокол передачи неструктурированных данных, реализованный для сетей стандарта GSM. Эта технология позволяет осуществить высокоскоростное взаимодействие с пользователем в условиях отсутствия интернета [2]. Для открытия сессии пользователь набирает команду на телефоне вида *...#. Такой формат позволяет телефону понять, что нужно произвести не звонок, а USSD запрос. Запросы могут быть как единичными (например, запрос баланса), так и интерактивными. Если ответ пользователя не был получен сервером в течении 60-ти секунд, то сессия обрывается. Максимальная длина контента может составлять 182 символа. Эта технология имеет ряд преимуществ: она является бесплатной для абонентов, кроме того защищенность данного протокола позволяет использовать ее для предоставления услуг, чувствительных к защищенности информации. При выборе алгоритма адаптации USSD-меню важно учитывать привычки пользователей. Резкое изменение меню усилит недовольство абонентов и усложнит процесс обучения. Для повышения предсказуемости адаптацию часто делят на 2 этапа. На первом этапе новые пункты меню дублируются старыми. Это сделано для того, чтобы пользователь по привычке мог выбрать старый вариант расположения кнопок. На втором этапе, когда пользователь начинает все чаще пользоваться функцией, расположенной в новом месте, старые пункты удаляются. К сожалению, если пользователь слишком консервативен, данный вид адаптации не принесет никаких результатов. Этот подход обладает рядом преимуществ. Во-первых, он гарантированно не увеличивает длину путей ни до одной из функций. При этом пользователю, знакомому с оригинальным вариантом интерфейса и уже запомнившему пути до нужных ему функций сервиса, будет легко найти их в адаптированном варианте: из путей пропадают лишь некоторые промежуточные элементы. Во-вторых, при необходимости технической поддержки пользователя, можно указать расположение требуемых им функций в оригинальном меню. При проведении адаптаций ставится цель - снизить общее число переходов, необходимое пользователю для достижения конечной цели. Это в свою очередь должно повысить удовлетворенность пользователей. В предыдущих работах [2-3] кластеризация производилась по вектору интересов. И это давало хорошие результаты. В процессе изучения литературы посвященной вопросу создания адаптивных интерфейсов, бала изучена статья [1], в которой предлагалось разделить модель пользователя на 3 части: информация о пользовательском опыте, информация об устройстве, информация о контексте. Поскольку информацию об устройстве нельзя получить в рамках протокола USSD, было решено использовать информацию о пользовательском опыте и контексте. На этапе анализа были сформированы следующие ограничения для предлагаемого алгоритма:
Метод кластеризации Первым этапом является выделение групп пользователей по интересам. В качестве метода классификации пользователей решено использовать нейронную сеть. Искусственные нейронные сети призваны решать множество различных задач. К задачам, решаемым при помощи данной технологии можно отнести: распознавание образов, аппроксимацию, оптимизацию [4]. Нейронные сети Кохонена, которые были использованы при реализации программного модуля, созданы для решения задачи кластеризации. На вход нейронной сети подаются данные о кластеризуемом объекте. Число выходов равно числу кластеров (как это представлено на рис. 1). Стоит так же отметить, что нейронные сети Кохонена не нуждаются в обучающей выборке. Данный класс сетей реализует метод обучения без учителя. Число входов равно размерности вектора пользовательских интересов. Рис. 1, Иллюстрация работы нейронной сети После кластеризации пользователей по интересам, необходимо перейти ко второму этапу. Будем считать, что каждая сессия выполняется в рамках одного контекста. Это решение обусловлено спецификой протокола USSD: разница по времени между двумя запросами в рамках одной сессии не может превышать одной минуты. Следовательно, информацию, специфичную для сессии (время отклика, id вышки сотовой связи, время суток, и т.д.), можно использовать как информацию о контексте. Для повышения точности определения контекста было принято решение рассматривать каждую группу пользователей отдельно. Это решение основывается на том, что люди, имеющие схожие интересы, должны иметь схожие контексты выполнения. Для каждой группы происходит выборка всех сессий, которые были открыты пользователями данного кластера. Затем полученные сессии кластеризуются на 7-9 групп. Этого должно хватить, поскольку пользователи открывшие данные контексты имеют схожие группы интересов, следовательно, имеют схожие контексты выполнения. Этот процесс выполняется для каждого кластера полученного на первом этапе (см. рис. 2). Рис. 2, Иллюстрация второго этапа кластеризации Алгоритм поиска оптимального поддерева Опишем задачу оптимизации. Пусть N – количество услуг, K–количество пользователей, `n_(ij)` ` ` — количество вызовов i-й услуги пользователем j, а `d_i` —количество переходов необходимое для активации i-й услуги. Тогда задача оптимизации записывается в виде: `sum_(i=1)^Nsum_(i=1)^N n_(ij) d_i -> min` Решать данную задачу перебором всех возможных вариантов меню не представляется возможным. Алгоритм решения данной задачи гарантирует что не увеличиваются на каждой итерации. Т.о. на каждом шаге мы гарантированно не ухудшаем результат. В рамках данной работы предлагается использование следующего алгоритма. Сначала происходит выборка тех сессий, которые являлись успешными, то есть в рамках которых пользователи подключили те или иные услуги. Затем определяется количество активаций каждой функции пользователями текущего кластера. Построим граф меню и найдем в этом графе пустые слоты. Обозначим граф меню как `G = (V, E)` . На данном этапе можем не учитывать тот факт что граф является ориентированным. Соответственно `v_(i)` обозначим вершину под номером i. Каждой вершине присвоим вес `w_(i)` , определим это число следующим образом. Если `v_(i)` - лист `w_(i) = sum_(j=1)^K n_(ij)` Иначе, `w_(i) = sum w_(j)d_(i)` Для всех j, таких что вершина j входит в поддерево с корнем в i. Иными словами, вес внутренних вершин `v_(i)` равен сумме всех листов исходного дерева, входящих в поддерево с корнем в `v_(i)` , умноженное на длину пути до вершины `v_(i)`. Пронумеруем все слоты, обойдя граф в ширину. Отсортируем список вершин по весу, присвоим i-ому слоту поддерево i. Этот процесс запускается для каждого кластера. ` ` ` ` Тестирование После проведения всех операций необходимо произвести тестирование. Задача тестирования является достаточно важной. В большинстве предыдущих работ этому процессу уделялось мало времени и при получении результатов не учитывалась вероятность выбора пользователем более длинного пути. Реализовать алгоритм случайного выбора того или иного пути пользователей не так трудно. Но для этого необходимо разработать метод получения вероятности, с которой пользователь выберет более длинный путь. Вероятность можно получить из логов, включив в формулу число активаций той или иной функции: чем чаще данная функция была подключена пользователем, тем больше вероятность что пользователь выберет более длинный путь. Для каждого пользователя кластера известны заказываемые им услуги и количество их заказов. Для заказа любой услуги можно подсчитать количество нажатий клавиш. Далее, считается минимальное количество нажатий клавиш для заказа соответствующих услуг в модифицированном меню. Эти величины суммируются по всем пользователям кластера, находится их отношение и вычитается из единицы: `D=1- ( sum_(j=1)^K n_(j) )/( sum_(j=1)^K m_(j) ) `
Где K – колличество пользователей кластера, `n_(j)` — количество запросов совершаемых пользователем в оптимизированном меню, `m_(j)` — количество запросов совершаемых пользователем в первоначальном меню. Результаты Было решено проверить алгоритм оптимизации на следующих данных.
После проведения оптимизации меню для каждого кластера, было получено 100 различных модификаций исходного меню (10 основных кластеров и 10 подкластеров для каждого из них). Для каждой модификации было подсчитано сокращение количества запросов. Первый пункт позволяет получить информацию о качестве исходного пользовательского меню, второй позволит нам сравнить эффективность использования двойной кластеризации. После выполнения всех действий были получены следующие результаты:
Таблица 1. Результаты тестирования алгоритма. В результате тестирования видно, что алгоритм значительно сократил количество запросов. Также видно, что использование информации о контексте вносит заметный вклад в решение поставленной задачи. Более подробные результаты показаны на диаграммах 1 и 2: Рис.3 Диаграмма «Оптиизация количества запросов (C учетом контекстов)» Рис.4 Диаграмма «Оптиизация количества запросов (без учета контекстов)» Конечно, результаты - несколько ниже чем у предшественников. Во-первых, это связано с разнородностью используемых для адаптации данных, во-вторых – с изначально более качественным меню.
Заключение В данной работе были рассмотрены проблемы, которые возникают при автоматической адаптации мобильных USSD-интерфейсов. Также был разработан метод, позволяющий адаптировать меню на основе данных, собранных в процессе работы пользователей с сервисом. Более того, была создана программная система, реализующая данный метод и позволяющая его протестировать. Тестирование показало, что разработанный метод, использующий двухэтапную кластеризацию, позволяет сократить среднее количество действий пользователей на 34%. References
1. Ontology-Based Model for Supporting Dynamic and Adaptive User Interfaces // International Journal of Human-Computer Interaction 2014 p. 771-786.
2. Shumkina, V. V. ALGORITM AVTOMATIChESKOI ADAPTATsII DREVOVIDNYKh POL''ZOVATEL''SKIKh INTERFEISOV.// Al'manakh sovremennoi nauki i obrazovaniya 2013. № 6 (73). C. 194-196 3. Morozov I. S. Algoritm avtomaticheskoi adaptatsii interfeisa mobil'nykh USSD-servisov // Al'manakh sovremennoi nauki i obrazovaniya. 2015. №8-98. 4. Learning Algorithm of Kohonen Network With Selection Phase – 2012-Mohamed Ettaouil1 , Essafi Abdelatifi2 , Fatima Belhabib3 ,and Karim El moutaouakil4-WSEAS TRANSACTIONS on COMPUTERS 5. Tidvell D., Razrabotka pol'zovatel'skikh interfeisov // SPb: Piter 2008. 6. Persad, U., Langdon, P., & Clarkson, J. (2007). Characterising user capabilities to support inclusive design evaluation. Universal Access in the Information Society, 6, 119–135. 7. Leah Findlater, Krzysztof Z. Gajos. Design Space and Evaluation Challenges of Adaptive Graphical User Interfaces // AI Magazine. – 2009. – Vol. 30, No. 4. – P. 68-73. 8. McAvoy L. M., Chen, L., & Donnelly, M. (2012, September). An ontologybased context management system for smart environments. UBICOMM 2012, the Sixth International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies, 18–23. 9. Almeida, A., & López-de-Ipiña, D. (2012). Assessing ambiguity of context data in intelligent environments: Towards a more reliable context managing system. Sensors, 12, 4934–4951 10. Ballard B., Designing the Mobile User Experience - Wiley, USA, 2007 11. J. Kogan, C. Nicholas, M. Teboulle. Clustering Large and High Dimensional data // Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery. – 2012. – Vol. 2, No. 4. – P. 340-350 |