Научная статья на тему 'О рекомендательной маршрутной системе, основанной на оценке предпочтений пользователя'

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Токарева М.М., Волкова Л.Л., Абдуллаев А.П.О.

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

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

Текст научной работы на тему «О рекомендательной маршрутной системе, основанной на оценке предпочтений пользователя»

с» с»

О рекомендательной маршрутной системе, основанной на оценке предпочтений пользователя

Токарева М.М., Волкова Л.Л., НИУ ВШЭ, МИЭМ liliyavolkova@itas.miem.edu.ru, rit1336@yandex.ru Абдуллаев А.п.О., МГТУ им. Н.Э. Баумана klim_sychev@mail.ru

Аннотация

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

Введение

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

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

1 Анализ аналогов

Существуют различные порталы, предоставляющую информацию о достопримеча-

тельностях городов мира. Подобные сайты можно разделить на статические и основанные на рекомендательных системах. Также существует членение на маршрутные системы и сайты, содержащие информацию об отдельных объектах культуры и отдыха. По итогам проведённого обзора составлена табл. 1, иллюстрирующая функционал рассмотренных систем. Все они включают статическую справочную информацию, гибкий параметрический поиск доступен не везде (для примера желаемой гибкости приведён портал Ьоок-ing.com, осуществляющий поиск маршрута). Тематическая подборка достопримечательностей либо ресторанов встречается значительно реже и представлена по большей части на статических порталах в виде фиксированных маршрутов (iknow.travel для достопримечательностей, afisha.ru и timeout.ru также включают рестораны). Такие маршруты, не будучи снабжёнными механизмом учёта предпочтений пользователя, не позволяют строить расписание в заданном интервале времени и с параметрической фильтрацией. Портал tpiplaintica.com снабжён гибким интерфейсом, предлагающим настройки тематического поиска в целях генерации маршрута. Как видно из табл. 1, учёт ресторанной категории ведётся только в справочном режиме, в данной же работе этот важный аспект будет учтён и включён в систему гибкого тематического поиска. Также разрабатываемый сервис будет предоставлять составление маршрута, который будет учитывать большее количество аспектов, чем triptomatic.com и tpiplain-tica.com.

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

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

Табл. 1. Сравнение функционала существующих туристических порталов

^ч Функционал Ресурс ^ч Приём пищи Составл. маршр. Фиксир. маршр. Тематич. поиск Гибкий поиск Справочник

booking.com iknow.travel travel2moscow.com triptomatic.com triplantica.com + + + + + + + + + + + + + + +

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

1) Системы с коллаборативной фильтрацией группируют пользователей со схожими предпочтениями для дальнейшей рекомендации им того, что понравилось «одногруппни-кам» (два подхода: кластеризация по пользователям и по предпочтениям) [Resnick, Varían, 1997].

2) Основанные на контенте системы используют метрику вкусов пользователя, которая извлекается из предложенного ему при регистрации опросника, а в дальнейшем пополняется его фактическим выбором [Candillier et al., 2009].

3) Прецедентные системы (частный случай контентных) борются с проблемой изменения предпочтений пользователя во времени [Smyth, 2007; Bridge et al., 2006]: выделяются типажи пользователей либо сценарии поездок, описывающие данный случай (англ. case; алко-туры для молодых постдоков, путешествие всем табором для пользователей другой возрастной категории).

4) Гибридные системы [Adomavicius, Tuzhilin, 2005].

Разработка беспрецедентной системы чревата проблемой холодного старта [Poirier et al., 2010]. Данные о новом пользователе могут быть не собраны ввиду его малого стажа как пользователя системы, либо не собираемы (даже при анализе соцсетей, буде при регистрации предоставлен профиль, полнота и достоверность данных не гарантированы). Поэтому понадобится некоторый набор

маршрутов для однодневных визитов (Берлин за день, Нюрнберг за полдня) для усреднённого пользователя. Это фиксированные выборки, заложенные вручную (маршрут для брачующихся, маршрут по крышам), или объекты, снабжённые пометкой обязательных к посещению достопримечательностей города (что сложно, поскольку это нечёткое понятие, но нельзя побывать в Москве и не увидеть Красную площадь).

Рекомендательную систему можно разработать как гибридную: анализировать контент и использовать прецеденты. Последние представим как данные для маршрутов, которые можно предложить пользователям с чистого листа: объекты, помеченные как «классические достопримечательности», «ценителям модерна» и пр. Если реализовать такие маршруты как открытое множество меток, присваиваемых объектам, и предлагать пользователю выбрать интересующую его тематику из облака тегов (что решает проблему холодного старта), задача сводится к беспрецедентной контентной системе с построением маршрута по объектам с заданными тематическими метками.

2 Постановка задачи

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

К разрабатываемой рекомендательной системе предъявляются следующие требования:

1) расчёт маршрута на основании различных видов представленного в городе транспорта (метро, рикши, паромы);

2) учёт сезонности объектов досуга;

3) учёт часов их работы;

4) загруженность объектов (возможно, по популярности);

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

учитывать погоду в краткосрочной перспективе и в явном виде запрашивать необходимость учёта погодных ограничений, например, для воздушного шара погода нелётная);

6) генерация нескольких маршрутов на выбор;

7) учёт таких факультативных параметров, как разрешение приводить в кафе животных, камера хранения, дресс-код;

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

9) составление тематических маршрутов.

3 Разработка рекомендательной системы

Для достижения поставленной цели необходимо спроектировать и реализовать рекомендательную систему с гибким поиском; в частности, следует разработать:

1) метод комбинаторной оптимизации;

2) систему оценки рассчитанного пути;

3) модули, отвечающие требованиям, перечисленным в п. 2.

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

3.1 Метод комбинаторной оптимизации

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

Помимо комбинаторной оптимизации, существуют проблема выбора эвристики перехода из >го объекта в _)-ый и проблема оценки суммарной стоимости пройденного пути. Для

их решения была разработана рекомендательная система оценки пути.

3.2 Рекомендательная система оценки пути через объекты

Чтобы предсказать оценку пользователя U для объекта /, следует использовать некоторый вектор pu (набор параметров) для данного пользователя и вектор аспектов для данного объекта qi. В общем случае их скалярное произведение и будет требуемым предсказанием: fui = {pu,qt}. Применимо к данной задаче необходимо строить вектор, взвешивающий аспекты объектов в соответствии с предпочтениями пользователя. Вектор признаков определенного объекта, в свою очередь, будет взвешен налагаемыми запросом ограничениями, или критериями (удаленность, цена), и, собственно, тематическими предпочтениями пользователя. Эти два вектора позволяют построить рекомендательную функцию, и их скалярное произведение определяет набор предпочитаемых объектов. Часть заданных параметров и весов будет статическими, остальные параметры будут с изменяющимся весовым критерием, т.е. требуется динамическое взвешивание со штрафами. Фильтрованные при помощи разработанной рекомендательной функции объекты имеют координаты, через них строится маршрут. Для построения маршрута будет использован муравьиный алгоритм (см. п. 4.1).

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

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

(0, 1]. Эвристика стоимости перехода между двумя объектами рассчитывается как сумма исходного времени пути из i-го объекта в j -ый и времени нахождения в j-ом объекте, поделенная на произведение штрафов всех фильтров данной категории и штрафа глобального ограничения времени.

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

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

1) Для избавления от поиска минимума используется коллекция set, реализованная в виде дерева, что позволяет значительно улучшить сложность алгоритма: с Q(n2 + т) до OCnlogn + mlogn) = O(mlogn) [Dijkstra sparce].

2) Применяется локальный фильтр для выхода из поиска: вместо поиска расстояния от i-го объекта до всех объектов k-ой категории определяются 10 объектов с эвристикой стоимости, меньшей бесконечности.

3) Используется кэш длины пути из i-го объекта в j-ый: перед тем, как запустить поиск на основании алгоритма Дейкстры, в КЭШе осуществляется поиск 10 объектов со стоимостью, меньшей бесконечности.

4) Упрощён граф дорог Москвы: если у узла только 1 входящая дуга и 1 выходящая, а в самом узле нет объектов, узел заменяется соединением его соседей между собой.

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

3.3 Результирующие маршруты

На последнем этапе фильтрация объектов при помощи разработанной рекомендательной функции может осуществлять непосредственно с запросом к API карт и отображать только те, элементы которые попали под заданные параметры. Через полученные точки

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

3.4 Легкая онтология

База данных состоит из объектов, которые можно агрегировать с различных порталов, таких как Foursquare. Объекты делятся на две основные категории: достопримечательности и еду. Для каждой из них описана иерархия классов с вертикальными и горизонтальными связями. На основе терминов данной предметной области и при использовании понятий (категории) была спроектирована "легкая онтология" [Uschold, Gruninger, 2004], были выделены основные классы, свойства и также выявлены связи между ними. Онтология позволяет представить данные - объекты и связи между ними в виде таксономической модели. На основе отношений можно составить правила для определения схожести объектов, в частности, в случае отсутствия объекта, удовлетворяющих наложенным ограничениям, в данной окрестности (например, при отсутствии немецкой кухни можно предложить скандинавскую). Также это упрощает обработку информации, а именно работу с объектами и категориями, к которым они относятся, что позволяет формализовать отношения между данными (не только горизонтальные и вертикальные) и их представление. Такие знания о предметной области, переплавленные в лёгкую онтологию, являются базисом для анализа содержимого БД с целью нахождения объектов, наиболее релевантных предпочтениям пользователя, что позволит уйти от шаблонных маршрутов к детализирован-

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

4 Целевая аудитория

Описанная система позволяет генерировать разнообразные маршруты: от бюджетных молодёжных поездок до маршрутов для состоятельных туристов, от семейного отдыха с детьми до паломничества по литературным местам. Рассматривая все представленные в лёгкой онтологии аспекты, рекомендательная система позволяет охватить широкий спектр туристических типажей. Можно выделить целевую аудиторию, для которой будет актуален данный сервис, так как существуют различные цели посещения города туристами [Биржаков, 2008]:

• шопинг;

• лечение и оздоровительные цели;

• религиозные цели;

• встречи с родственниками и друзьями;

• посещение культурных мероприятий;

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

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

Также проанализированы разные типы поведения туристов. По поведению туристов можно классифицировать следующим образом:

1) ценители спокойного отдыха;

2) любители активного/спортивного отдыха

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

Заключение

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

рядок посещения категорий объектов в заданный срок. Построенный маршрут визуализируется на карте.

Была произведена разработка теоретической базы для построения системы, а именно:

• проведён обзор основных аналогов, разрабатываемой системы, который выявил отсутствие реализуемого в данной системе функционала в полном объёме;

• на основании анализа туристической сферы выявлены основные типы туристов и сформирован подход для предоставления информации туристу;

• выделены основные категории для построения онтологии и базы знаний;

• категории ранжированы по степени важности для пользователя для встраивания в интерфейс системы гибкого поиска по предпочтениям пользователя;

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

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

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

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

М. Б. Биржаков. 2008. Введение в туризм. СПб.: Невский фонд.

Л. В. Найханова. 2005. Основные аспекты построения онтологии верхнего уровня и предметной области. Интернет-порталы: содержание и технологии, вып. 3. Редкол.: А.Н. Тихонов (пред.) и др.; ФГУ ГНИИ ИТТ "Информи-ка", с. 452-479. М.: Просвещение.

G. Adomavicius, A. Tuzhilin. 2005. Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions. IEEE Trans. on Knowl. and Data Eng., vol. 17, pp. 734749, June 2005. IEEE Computer Society, Washington, USA.

D. Bridge, M. Goker, L. McGinty, B. Smyth. 2006. Case-based recommender systems. Knowledge Engineering Review, vol. 20 (3), pp. 315-320. Cambridge University Press, New York, USA.

L. Candillier, K. Jack, F. Fessant, F. Meyer. 2009. State-of-the-art recommender systems. Collaborative and Social Information Retrieval and Access-Techniques for Improved User Modeling, pp. 1-22. IGI Global, Hershey, USA.

Edsger Dijkstra. 1959. A note on two problems in connexion with graphs. Numerische Mathematik, vol. 1, pp. 269-271. Springer-Verlag, Berlin, Heidelberg, Germany.

D. Poirier, F. Fessant, I. Tellier. 2010. Reducing the cold-start problem in content recommender through opinion classification. Proc. IEEE/WIC/ACM Int. Conf. WI-IAT, pp. 204-207. IEEE Computer Society, Washington, USA.

P. Resnick, H. R. Varian. 1997. Recommender systems. Commun. ACM, vol. 40 (3), pp. 56-58, March 1997. ACM, New York, USA.

B. Smyth. 2007. Case-based recommender. The adaptive web, pp. 342-376. Springer-Verlag, Berlin, Heidelberg, Germany.

M. Uschold, M. Gruninger. 2004. Ontologies and semantics for seamless connectivity. SIGMOD Rec., 33(4), pp. 58-64. ACM, New York, USA.

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