Основной целью магистерской работы является разработка рекомендательной системы, которая, обрабатывая данные из страницы
пользователя в социальной сети, могла бы с высокой точностью выделять основные предпочтения и давать рекомендации. Идея такой системы заключается в подборе персонализированного списка товаров, которые можно было бы подарить анализируемому пользователю и которые бы отвечали его вкусам и потребностям.
Разработка такой рекомендательной системы требует решения ряда задач. На первом этапе основной акцент построения рекомендательной системы был сделан на исследованиях технологий извлечения, обработки и анализа данных в социальных сетях, а также алгоритмов построения рекомендаций.
Второй этап был посвящен разработке модулей сбора и обработки данных из интернет источников, а также сбору базы данных пользователей и их желаний.
На третьем этапе написания работы были решены задачи разбиения желаний пользователей (большинство из которых являются уникальными) на категории, а самих пользователей – на группы.
На четвертом этапе был разработан модуль рекомендаций, включающий в себя сбор и обработку информации о новом пользователе, а также построение рекомендаций с использованием алгоритма групповых рекомендаций.
Введение............................................................................................................... 2
1. Литературный обзор....................................................................................... 3
1.1 Обогащение данных пользователей. Методы веб-скреппинга для получения данных из социальных сетей............................................................................... 3
1.1.1 Получение веб-страниц с использованием библиотеки urllib.................... 5
1.1.2 Разбор HTML и извлечение информации из веб-страниц (Web scraping) 6
1.1.3 Разбор HTML-страниц с помощью регулярных выражений.................... 7
1.1.4 Разбор HTML-страниц с помощью библиотеки BeautifulSoup................. 9
1.2 Методы data mining для анализа данных в социальных сетях.................. 11
2.1 Общие сведения о СУБД MongoDB............................................................ 22
2.2 Алгоритм сбора данных и написание скрэппера с помощью BeautifulSoup . 23 3. Разработка рекомендательной системы...................................................... 31
3.1 Постановка задачи и обзор проблематики................................................. 31
3.2 Описание разработанного модуля.............................................................. 33
4. Построение модуля рекомендательной системы........................................ 38
4.1 Выбор метода построения рекомендательной системы............................. 39
4.2 Реализация модуля рекомендаций.............................................................. 40
I. Специальная литература:
1. Горчинская, Ольга. Анализ данных социальных сетей,Открытые системы. СУБД [Электронный ресурс] / Горчинская, Ольга, Ривкин, Андрей.
– науч.-метод. журн. – 2015.— № 03. – Режим доступа www.osp.ru. – (Дата обращения: 01.11.2017).
2. Кириченко К.М. Обзор методов кластеризации текстовой информации [Электронный ресурс]/ Кириченко К.М, Герасимов М.Б. - электрон. текст. дан. - Режим доступа http://www.dialog- 21.ru/digest/2001/articles/kirichenko/. - (Дата обращения: 01.10.2018)
3. Коршунов, Антон. Анализ социальных сетей: методы и приложения
/ Антон Коршунов, Иван Белобородов, Назар Бузун, Валерий Аванесов, Роман Пастухов, КириллЧихрадзе[и др.]. - электрон. текст. дан. - Режим доступа http://www.ispras.ru/proceedings/docs/2014/26/1/isp_26_2014_1_439.pdf. - (Дата обращения: 10.10.2017)
4. Коршунов, Антон.Определение демографических атрибутов пользователей микроблогов / Антон Коршунов, Иван Белобородов, Андрей Гомзин, Кристина Чуприна [и др.]. - электрон. текст. дан. - Режим доступа
https://cyberleninka.ru/article/v/opredelenie-demograficheskih-atributov- polzovateley-mikroblogov. - (Дата обращения: 10.10.2017)
II. Интернет-ресурсы:
1. Северенс, Чарльз. Лекция «Введение в программирование на Python», Интуит , национальный открытый университет / Чарльз Северенс. - электрон. текст. дан. - Режим доступа https://www.intuit.ru/studies/courses/12179/1172/lecture/23887?page=4 – (Дата обращения 21.02.2018)
2. Чубукова, Ирина. Курс «Datamining», Интуит, национальный открытый университет/ Ирина Чубукова. - электрон. текст. дан. - Режим доступа https://www.intuit.ru/studies/courses/6/6/lecture/162?page=2– (Дата обращения 25.03.2018)
3. Обзор алгоритмов кластеризации данных / andreycha / - электрон. текст. дан. - Режим доступа https://habr.com/ru/post/101338/ – (Дата обращения 16.11.2018)
4. Документация scikit-learn // - электрон. текст. дан. - Режим доступаhttps://scikit-learn.org/stable/ – (Дата обращения 03.12.2018)
5. Кантор, Виктор. Кластеризация текстов по теме / Виктор Кантор, Евгений Рябенко, Евгений Соколов, EmeliDral, Константин Воронцов /- электрон. текст. дан. - Режим доступаhttps://www.coursera.org/lecture/unsupervised-learning/primier- klastierizatsiia-tiekstov-po-tiemie-bVVzw – (Дата обращения 15.11.2018)
6. Рекомендательная система: введение в проблему холодного старта
/ vleskin / - электрон. текст. дан. - Режим доступаhttps://habr.com/ru/company/surfingbird/blog/168733/ – (Дата обращения 16.11.2018)
7. WebScraping с помощью python/ miptgirl / - электрон. текст. дан. - Режим доступа https://habr.com/ru/post/280238/ – (Дата обращения 16.11.2018)
8. Документация NLTK // - электрон. текст. дан. - Режим доступаhttps://www.nltk.org/ – (Дата обращения 03.12.2018)