АННОТАЦИЯ 2
ВВЕДЕНИЕ 7
1 МЕТОДЫ ПОСТРОЕНИЯ РЕКОМЕНДАТЕЛЬНЫХ СИСТЕМ 9
1.1 Постановка задачи 9
1.2 Существующие модели рекомендаций на основе интересов
пользователя 9
1.2.1 Рекомендательные системы, основанные на контенте 10
1.2.2 Коллаборативные рекомендательные системы 12
1.2.3 Рекомендательные системы, основанные на знаниях 15
1.2.4 Гибридные рекомендательные системы 16
1.3 Способы реализации мобильных систем 17
1.3.1 Тип архитектур для проектирования веб-приложения 17
1.3.2 Выбор среды разработки и языка программирования 20
1.4 Мобильные приложения, с реализованными рекомендательными
системами 24
1.4.1 Яндекс Карты 24
1.4.2 Выбирай 26
1.4.3 KudaGo 26
1.5 Вывод по первому разделу 28
2 МАТЕМАТИЧЕСКАЯ МОДЕЛЬ РЕКОМЕНДАТЕЛЬНОЙ СИСТЕМЫ ... 30
2.1 Сферическая геометрия 30
2.2 Алгоритм работы коллаборативной рекомендательной системы 31
2.3 Алгоритм работы системы в условиях холодного старта 35
2.4 Вывод по второму разделу 37
3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ 38
3.1 Архитектура веб сервиса 38
3.2 Аутентификация в приложении 40
3.3 Схема базы данных сервера системы 42
3.4 Архитектура Android-приложения 43
3.5 Вывод по третьему разделу 51
4 ТЕСТИРОВАНИЕ ПРИЛОЖЕНИЯ 52
4.1 Тестирование мобильного приложения 52
4.2 Модульное тестирование сервера 52
4.3 Экспериментальное исследование рекомендательной системы 53
4.4 Пример работы приложения 55
4.5 Вывод по четвертому разделу 62
ЗАКЛЮЧЕНИЕ 63
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 64
ПРИЛОЖЕНИЕ 1 Мобильное приложение 66
ПРИЛОЖЕНИЕ 2 Веб-приложение 100
В современном мире мобильные устройства, такие как смартфоны, планшеты, КПК и другие, играют огромную роль в жизни человека. Они представляют собой мощное устройство, равноценное по возможностям с нетбуком или планшетом, полноценное функционирование которых обеспечивается мобильными операционными системами.
Рост рынка мобильных устройств уже перестал быть линейным. Количество крупных игроков рынка к сегодняшнему моменту увеличилось в несколько раз по сравнению с началом 2000-х. В начале-середине 2000-х, когда мобильные устройства стали доступны широким массам, для мобильных устройств стали разрабатываться различные приложения, нацеленные на решение локальных задач, в большинстве своём не связанных с доступом в сеть Интернет. В середине 2000-х начался рост рынка мобильного интернета, что привело к созданию приложений, заранее ориентированных на доступ в Интернет.
Большинство обладателей современных мобильных телефонов используют их в качестве своих помощников в повседневной жизни, работают с приложениями для создания расписаний, написания заметок, установок напоминаний и будильников. На сегодняшний день существует множество приложений-афиш, предоставляющих расписание выставок, спектаклей, концертов и клубных событий, но не все они могут оказаться интересными конкретному пользователю. Для подбора контента, который будет полезен определенному пользователю, используются рекомендательные системы. Пользователю предлагается оценить некоторые мероприятия из коллекции и на основании его оценок строятся предложения и возвращаются наиболее близкие к ним результаты.
Работа посвящена созданию мобильного приложения для проведения и создания мероприятий. Оно предоставит пользователям нужную информацию, которая позволит участвовать в наибольшем количестве мероприятий.
Приложение должно обладать следующим функционалом:
- регистрация;
- авторизация пользователя;
- создание списка мероприятия;
- выработка рекомендаций;
- оценки пользователей для коллаборативной фильтрации.
В первом разделе проведен анализ предметной области и существующих методов построения рекомендательной системы, обоснован выбор среды разработки и языка программирования.
Второй раздел посвящен разработке математической модели и алгоритмов получения рекомендаций, особое внимание уделено алгоритму условия холодного старта.
Третий раздел посвящен архитектуре распределенного мобильного приложения, основным алгоритмам работы приложения и описанию базы данных.
Четвертый раздел посвящен тестированию и экспериментальному исследованию.
Цель данной работы состояла в разработке мобильного приложения для проведения и создания мероприятий. Оно предоставляет пользователям нужную информацию, которая позволит участвовать в наибольшем количестве мероприятий.
В соответствии с целью, в первом разделе был проведен анализ предметной области и существующих методов построения рекомендательной системы, обоснован выбор среды разработки и языка программирования.
Во втором разделе была разработана математическая модель и алгоритмы получения рекомендаций.А также, особое внимание было уделено алгоритму работы системы в условиях холодного старта.
Третий раздел был посвящен архитектуре распределенного мобильного приложения, основным алгоритмам работы приложения и описанию базы данных.
Четвертый раздел - тестированию приложения и экспериментальному исследованию на тестовых данных.
В результате работы, было получено реализованное мобильное приложение, решающая поставленную задачу.
В ходе работы были решены следующие задачи:
1) изучены виды и области применения рекомендательных систем;
2) разработан алгоритм рекомендательной системы;
3) разработана архитектура и база данных приложения;
4) реализовано клиент серверное приложение;
5) проверена работоспособность приложения на экспериментальных данных.
Таким образом, все поставленные задачи полностью решены, а цель достигнута. В дальнейшем планируется добавление различного рода функционала приложения, такого как: возможность комментирования мероприятий и добавление элементов социальной сети.