Тип работы:
Предмет:
Язык работы:


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

Работа №80199

Тип работы

Дипломные работы, ВКР

Предмет

автоматика и управление

Объем работы61
Год сдачи2017
Стоимость4285 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
578
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ 5
1. Требования, предъявляемые к разрабатываемой системе 6
1.1. Архитектура разрабатываемой системы 6
1.2. Модуль формирования пользовательских оценок 8
1.3. Описание хранилища данных магазинов 9
1.4. Организация распределенных вычислений 13
2. Обзор технологий 14
2.2. Технологии обработки больших объемов данных 14
2.2.1. Общая информация 14
2.2.2. Фреймворк для распределенных вычислений - Hadoop 16
2.2.3. Сравнение Hadoopи реляционных баз данных 17
2.2.4. Парадигма распределенных вычислений - MapReduce 19
2.1. Рекомендательные системы 21
2.1.1. Основные подходы при формировании рекомендаций 21
2.1.2. Коллаборативная фильтрация 23
2.1.3. Субъект-субъектная модель коллаборативной фильтрации 25
3. Разработка модуля формирования пользовательских оценок 27
3.1. Формирование неявных пользовательских оценок 27
3.2. Первичный анализ - извлечение данных из транзакционной базы 28
3.3. Анализ полученных данных и проблема холодного старта 30
3.4. Решение проблемы холодного старта 32
3.5. Блок-схема алгоритма формирования оценок по ГОСТ 19.701-90 34
3.6. Программная реализация разработанного алгоритма 36
4. Разработка модуля обсчёта оценок 37
4.1. Подробнее о HDFS 38
4.1.1. Репликация данных в HDFS 39
4.1.2. Команды для работы с распределенной файловой системой 41
4.2. Подробнее о демонах Hadoop 42
4.3. Менеджер ресурсов Hadoop - YARN 43
4.4. Операционная база данных в модуле обсчёта 44
4.5. Работа программы на фазе map 45
4.6. Работа программы на фазе reduce 50
4.7. Конфигурация распределенной программы 51
4.8. Автоматизация запуска и отладки программы 53
4.9. Блок-схема алгоритма работы модуля обсчёта по ГОСТ 19.701-90.... 56
5. Тестирование системы 57
ЗАКЛЮЧЕНИЕ 58
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Мировой объем продаж в сети Интернет растёт из года в год. На данный момент онлайн-торговля составляет более 5% мирового объема торговли [1]. В связи с этим набирают популярность e-commerceплатформы, которые позволяют автоматизировать процесс торговли в сети. Как правило, магазины, работающие на этих платформах, имеют схожую структуру хранилищ данных. Это позволяет внедрить в платформу рекомендательную систему, которая сможет работать с различными магазинами, построенными по одной и той же схеме.
Построение рекомендаций производится с использованием данных, которые уже хранятся в магазинах. В данной работе алгоритм построения рекомендаций использует историю покупок пользователей, а также историю просмотров различных товаров этими пользователями. Используя эти данные, можно предсказать список товаров, которые будут интересовать конечного пользователя магазина.
С технической точки зрения, построение рекомендаций - это сложный вычислительный процесс, который занимает чрезвычайно много времени при работе на отдельной машине. Поэтому целесообразно обратиться к стеку технологий, называемых термином Big Data. Big Dataпозволяет работать с большими объемами данных (как правило, начиная с терабайтов информации). [7] Реализуемый алгоритм требует больших вычислительных мощностей, поэтому обсчёт в системе производится на Hadoop,который целесообразно использовать из-за его гибкой настройки. 


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках проекта рассмотрены современные методы построения рекомендательных систем. Реализован метод коллаборативной фильтрации - его использование позволяет рассмотреть совокупность пользователей он-лайн-магазинов в качестве системы коллективного разума. Анализ поведения этой системы приводит к нахождению скрытых закономерностей в покупках пользователей, найденные взаимосвязи невозможно обнаружить вручную. Обнаружение таких закономерностей позволяет сформировать индивидуальные рекомендации по приобретению товаров для каждого пользователя он-лайн-магазина, что, безусловно, является важным экономическим фактором использования разработанной системы в коммерческих целях.
Кроме того, разработанная система максимально адаптирована под реалии современного рынка. Она обладает достаточно низким порогом использования - возможен запуск для тех магазинов, в которых объём информации о пользовательском поведении крайне мал (в частности, удалось запустить систему для магазина, в котором матрица предпочтений пользователей изначально заполнена всего на 0,02%). Зачастую, проблема нехватки обучающих данных действительно имеет место в реальной жизни.
Вычисление индивидуальных рекомендаций - это задача, требующая огромных вычислительных мощностей, поэтому применены технологии обработки больших объемов информации, вычисления производятся распределённо с использованием Hadoop.Использование этих технологий позволяет многократно ускорить процесс обсчёта, а также проводить своевременную актуализацию рекомендаций при наличии оборудования. Для ускорения вычислений, достаточно всего лишь расширить кластер, не изменяя программной архитектуры системы. Этот фактор также повышает экономическую эффективность использования разработанной системы.
В следующих версиях системы планируется внедрение функциональности модерации получаемых рекомендаций - это вызвано потребностями в более точной настройке работы системы, а также в возможности администрирования со стороны представителей магазинов - пользователей продукта.
Особенностью моей работы является тот факт, что разработанная рекомендательная система уже внедрена на реально функционирующем предприятии и приносит прибыль компании-владельцу системы.



1. Сегаран Т. Программируем коллективный разум. - Пер. с англ. - СПб: Символ-Плюс, 2008. - 368 с., ил.
2. E-commerce платформы. AstoundCommerce, 2014. Режим доступа:
https://habrahabr.ru/company/astoundcommerce/blog/231645/ (дата обращения 12.03.2017).
3. Big Data от А до Я. DCA (Data-Centric Alliance), 2015. Режим доступа: https://habrahabr.ru/company/dca/blog/267361/(дата обращения 17.03.2017).
4. Adomavicius G., Tuzhilin A. Toward the next generation of recommender sys-tems: A survey of the state-of-the-art and possible extensions. IEEE Trans. on Knowledge and Data Engineering, 2005, 17(6): 734-749
5. Zhi-Dan Zhao, Ming-Sheng Shang. User-based Collaborative-Filtering Rec-ommendation Algorithms on Hadoop. 2010 Third International Conference on
Knowledge Discovery and Data Mining Режим доступа:
https://pdfs.semanticscholar.org/5d06/f630188a5ec9c05c4961 eddbf9f24e2e6916.pdf (дата обращения: 07.04.2017).
6. Чак Лэм. Hado op в действии. - М.: ДМК Пресс, 2012. - 424с.: ил.
7. M. Jones. Introduction to approaches and algorithms. IBM, 2013. Режим доступа: https://www.ibm.com/developerworks/opensource/library/os-recommender1/ index.html?S_TACT=105AGX99&S_CMP=CP (дата обращения: 09.04.2017).
8. V.A. Leksin, S.I. Nikolenko. Semi-Supervised Tag Extraction in a Web Recommender System. Proc. 6th International Conference on Similarity Search and Applications SISAP 2013, LNCS vol. 8199, pp. 206-212, 2013.
9. А.А. Барсегян, М.С. Куприянов, И.И. Холод, М.Д. Тесс “Анализ данных и процессов”, СПб.: БХВ-Петербург, 2009.
10. А.Н. Федоровский, В.К. Логачева. Архитектура рекомендательной системы, работающей на основе неявных пользовательских оценок. Mail.Ru Group, 2014. Режим доступа: http://ceur-ws.org/Vol-803/paper8.pdf(дата обращения: 18.04.2017).
11. Steffen Rendle and Lars Schmidt-Thieme. Pairwise interaction tensor factori-zation for personalized tag recommendation. In Proceedings of the third ACM inter-national conference on Web search and data mining, pages 81-90. ACM, 2010.
12. Badrul Sarwar, George Karypis, Joseph Konstan, and John Riedl. Item-based collaborative filtering recommendation algorithms. In Proceedings of the 10th inter-national conference on World Wide Web, pages 285-295. ACM, 2001.
13. Andrew I Schein, Alexandrin Popescul, Lyle H Ungar, and David M Pennock. Methods and metrics for cold-start recommendations. In Proceedings of the 25th an-nual international ACM SIGIR conference on Research and development in infor-mation retrieval, pages 253-260. ACM, 2002.
14. Nathan Srebro, Tommi Jaakkola, et al. Weighted low-rank approximations. In ICML, volume 3, pages 720-727, 2003.
15. Harald Steck. Training and testing of recommender systems on data missing not at random. In Proceedings of the 16th ACM SIGKDD international conference on Knowledge discovery and data mining, pages 713-722. ACM, 2010.
16. Chengjie Sun, Lei Lin, Yuan Chen, and Bingquan Liu. Expanding user features with social relationships in social recommender systems. In Natural Language Processing and Chinese Computing, pages 247-254. Springer, 2013.
17. Jun Wang, Arjen P De Vries, and Marcel JT Reinders. Unifying user-based and item-based collaborative filtering approaches by similarity fusion. In Proceedings of the 29th annual international ACM SIGIR conference on Research and development in information retrieval, pages 501-508. ACM, 2006.
18. Yunhong Zhou, Dennis Wilkinson, Robert Schreiber, and Rong Pan. Large- scale parallel collaborative filtering for the netflix prize. In Algorithmic Aspects in Information and Management, pages 337-348. Springer, 2008.
19. К. В. Воронцов. Математические методы обучения по прецедентам (теория обучения машин). Москва, 2011.


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ