АННОТАЦИЯ 2
ВВЕДЕНИЕ 7
1 АНАЛИЗ ТРЕБОВАНИЙ К ПРИЛОЖЕНИЮ И МЕТОДОВ
ПОСТРОЕНИЯ РЕКОМЕНДАТЕЛЬНЫХ СИСТЕМ 8
1.1 Постановка задачи 8
1.2 Методы рекомендательных систем 8
1.2.3 Рекомендательные системы, основанные на контенте 9
1.2.2 Коллаборативные рекомендательные системы 10
1.2.3 Гибридные рекомендательные системы 11
1.3 Алгоритмы фильтрации 11
1.3.1 Корреляция Пирсона 11
1.3.2 Метод, вычисляющий евклидово расстояние 12
1.3.3 GroupLens алгоритм 12
1.3.4 Сингулярное разложение матрицы 13
1.3.5 Классификатор Байеса 14
1.4 Интегрированные среды разработки 14
1.4.1 Программа Eclipse 14
1.4.2 IntelliJ Idea 15
1.4.3 Android Studio 16
1.5 Обоснование выбора среды разработки приложения 17
1.6 Аналоги приложений, реализованных на Android 18
1.6.1 TripAdvisor 18
1.6.2 Яндекс-карты 19
1.6.3 Foodspotting 19
1.7 Система управления базами данных 20
1.8 Выводы к первой главе 21
2 МАТЕМАТИЧЕСКАЯ МОДЕЛЬ РЕКОМЕНДАТЕЛЬНОЙ СИСТЕМЫ 23
2.1 Алгоритм работы системы 23
2.2 Алгоритм работы системы для проблемы холодного старта 23
2.3 Вывод ко второй главе 24
3 РАЗРАБОТКА ПРИЛОЖЕНИЯ 25
3.1 Диаграмма вариантов использования 25
3.2 Диаграмма классов 28
3.3 Диаграмма базы данных 31
3.4 Клиент-серверное приложение 34
3.5 Общий алгоритм системы 36
3.6 Алгоритм выполнения действия 37
3.7 Выводы к третьей главе 38
4 ОПИСАНИЕ И ТЕСТИРОВАНИЕ ПРИЛОЖЕНИЯ 40
4.1 Тестирование системы 40
4.2 Описание пользовательского интерфейса 40
4.3 Вывод к четвёртой главе 46
ЗАКЛЮЧЕНИЕ 47
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 48
ПРИЛОЖЕНИЕ
Выбор куда пойти и где лучше провести своё свободное время всегда остро стоял перед людьми. Среди миллионов рекламных билбордов и вывесок, которые нас окружают, можно легко запутаться, а от разнообразия выбора может закружиться голова.
На сегодняшний день существует огромное количество ресторанов, представляющих кухни всех стран мира. В таком изобилии выбора человеку легко потеряться. Здесь на помощь и приходят рекомендательные системы.
Главное различие от поисковых систем состоит в том, что для рекомендательной системы не нужен чёткий запрос. На основании оценённых пользователем объектов строятся предположения, затем происходит возврат наиболее близких к ним результатов.
Поскольку рекомендательные системы остро востребованы в данный момент, приложение для сети ресторанов будет главным помощником для граждан средневысокого класса в непростом выборе.
Приложение должно обладать следующим функционалом:
- регистрация;
- авторизация пользователя;
- добавление отзыва ресторану;
- выставление оценки ресторану;
- настройка своих предпочтений по критериям.
Данная работа посвящена разработке рекомендательной системы для мобильного приложения. В результате работы:
- проведен анализ методов построения рекомендательных систем;
- разработан математический алгоритм нахождения схожести пользователей и ресторанов;
- предложена оценка схожести двух векторов профилей пользователей в условиях отсутствия полной информации по параметрам;
- спроектирована база данных;
- спроектирована архитектура клиент-серверного приложения;
- разработано мобильное приложение и проведено тестирование системы;
Все поставленные задачи выполнены и все цели достигнуты.