

|
图书馆
|
你的个人资料 |
|
控制论与编程
正确的文章链接:
Tregubov, A.S. (2016). 为USSD服务调整用户界面的方法的开发. 控制论与编程, 4, 1–10. https://doi.org/10.7256/2306-4196.2016.4.19497
为USSD服务调整用户界面的方法的开发
DOI: 10.7256/2306-4196.2016.4.19497评审日期 16-06-2016出版日期 { $issue_date|date_format:$date_format}注解: 电子设备数量及其能力的增长引发了一般推荐系统和特别是自适应接口的发展。 此类系统收集有关用户体验的信息,并使用机器学习方法来分析获得的数据。 不仅设备的数量在增长,而且用户也经常有不同的需求和要求。 本文特别关注USSD服务的接口。 这项工作的目的是开发一种方法,允许在使用文本菜单时减少用户发出的平均请求数。 为了找到合适的解决方案,应用了系统分析方法,结果在每个用户的需求和他所处的上下文之间建立了牢固的关系。 使用有关执行上下文的信息使我们能够改进现有方法并获得很高的结果。 该方法基于使用两阶段聚类:第一阶段按兴趣聚类,第二阶段按上下文聚类。 在用户与USSD服务交互期间收集的数据用于测试。 关键词: 自适应接口, USSD, 分层接口的适配, 树形菜单的适配, 用户聚类, 构建用户模型, 用户属性, 定义上下文, 调整菜单图, 刻板适应Введение Все больше устройств в своих названия получают приставку “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%. |


Cn