ВВЕДЕНИЕ 3
1. ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ 5
1.1 Требования к данным для разных видов рекомендательных систем 6
1.2 Проблема холодного старта 7
1.3 Подходы к рекомендациям 7
1.3.1 Коллаборативная фильтрация 8
1.3.2 Контентная фильтрация 10
1.3.3 Рекомендательные системы, основанные на знаниях 12
1.3.4 Гибридные рекомендательные системы 13
2. ПРОЕКТИРОВАНИЕ РЕКОМЕНДАТЕЛЬНОГО СЕРВИСА 15
2.1 Алгоритм User-based коллаборативной фильтрации 16
2.2 Алгоритм контентной фильтрации 18
2.3 Формирование рекомендаций 20
3. РЕАЛИЗАЦИЯ 22
3.1 Используемые технологии 23
3.2 Архитектура системы 24
3.2.1 Описание базы данных 25
3.2.2 Описание Веб-интерфейса 25
4. ТЕСТИРОВАНИЕ НА РЕАЛЬНЫХ ДАННЫХ 29
4.1 Тестовый набор данных 29
4.2 Результаты тестов 29
4.3 Тестирование производительности 33
ЗАКЛЮЧЕНИЕ 35
ГЛОССАРИЙ 36
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 37
В настоящее время существует огромное количество научных цифровых библиотек, которые оперируют большими объемами данных. В основном эти данные представляют собой научные статьи. По мере увеличения количества научных статей в библиотеках задача ручного поиска полезных и интересных статей для пользователя становится все более долгой и трудоемкой. Но данную задачу в автоматическом режиме решают рекомендательные системы.
Рекомендательные системы - это комплексы алгоритмов, программы и сервисы, задача которых - предсказать, какие объекты (например: научные статьи) будут интересны пользователю в данный момент времени. В основе большинства рекомендательных систем лежит матрица рейтингов - матрица, на одной оси которой расположены пользователи, а на другой оси - объекты. На пересечении пользователей и объектов могут стоять оценки - степень заинтересованности конкретного пользователя в данном объекте.
Поскольку не все научные цифровые библиотеки предоставляют открытый доступ к своим базам данных, а для реализации рекомендательного сервиса для конкретной библиотеки необходимо иметь доступ к данным о пользователях и статьях, то в рамках данной работы было решено создать веб-приложение научной цифровой библиотеки с внедрением в него разработанного рекомендательного сервиса.
Таким образом, целью данной работы является разработка рекомендательного сервиса для научных цифровых библиотек.
Для достижения поставленной цели были определены следующие основные задачи:
1) исследование видов рекомендательных систем и принципов их построения;
2) изучение основных алгоритмов, применяемых в рекомендательных системах;
3) проектирование и реализация рекомендательного сервиса;
4) разработка веб-приложения научной цифровой библиотеки с внедрением в него реализованного рекомендательного сервиса.
Объектом исследования являются рекомендательные системы и их применение к научным цифровым библиотекам.
Предметом исследования является разработка рекомендательного сервиса, который формирует рекомендации на основе данных о пользователях и научных статьях в научной цифровой библиотеке.
В результате выполнения данной работы было сделано следующее:
1) Исследованы виды рекомендательных систем и принципы их построения.
2) Изучены основные алгоритмы, применяющиеся в контентной и коллаборативной фильтрациях.
3) Спроектирован и реализован рекомендательный сервис на основе гибридного подхода, который включает в себя контентную и коллаборативную фильтрации.
4) Разработано веб-приложение с внедрением в него реализованного рекомендательного сервиса для научных цифровых библиотек.
Поставленная цель - разработка рекомендательного сервиса для научных цифровых библиотек - была достигнута.
Данная работа размещена на gitlab - http://gititis.kpfu.ru/Mustaev/rs.
Разработанный сервис может быть использован как цифровыми научными библиотеками для формирования персональных рекомендаций пользователям и выдачи списка похожих статей на основе данных внутри базы конкретной библиотеки, так и любыми другими пользователями для выдачи только списка похожих статей на ту, которую он просматривает в данный момент, поскольку обычно научные библиотеки не предоставляют свободный доступ к своим базам данных.
В дальнейшем может быть сделано следующее:
1) Автоматический поиск и добавление статей при вводе ссылки на научную цифровую библиотеку.
2) Повышенная интеграция сервиса с цифровыми библиотеками.
3) Улучшение точности контентной фильтрации.
1. Анатомия рекомендательных систем. Часть первая [Электронный ресурс]
/ crazyhatter. - 2018. - Режим доступа:
https://habr.eom/m/company/lanit/blog/420499/ (дата обращения:
25.02.2019) .
2. About The Music Genome Project [Electronic resource] // Pandora Internet
Radio / Oakland: owner Pandora Media, Inc. - 2017. - URL:
http://pandora.com/about/mgp (дата обращения: 14.03.2019).
3. Recommender Systems Handbook [Text] / Ricci, F., Rokach, L., Shapira, B., Kantor, P.B. -N.Y.: Springer, 2011. - 842 p.
4. Рекомендательные системы: user-based и item-based [Электронный
ресурс] / snikolenko. - 2012. - Режим доступа:
https://habr.com/rn/company/surfingbird/blog/139518/ (дата обращения:
19.03.2019) .
5. Рекомендательные системы: You can (not) advise [Электронный ресурс] / overmes. - 2013. - Режим доступа: https://habr.com/rn/post/176549/ (дата обращения: 28.03.2019).
6. Linden G., Smith В., York J., Amazon.com recommendations: item-to-item collaborative filtering [Text] / Linden G., Smith B., York J. // Internet Computing - IEEE 7 2003 - P. 76-80.
7. Using collaborative filtering to weave an information Tapestry [Text] / Goldberg D., Nichols D., Oki В. M., Terry D. // Special issue on information filtering. - 1992. - Vol. 35, Issue 12. -P. 61-70.
8. Melville P., Mooney R.J., Nagarajan R. Content-boosted collaborative filtering for improved recommendations / Melville P., Mooney R.J., Nagarajan R. // in Proceedings of the National Conference on Artificial Intelligence. - 2002. - P. 187-192.
9. Рекомендательные системы. Часть 1. Введение в подходы и алгоритмы [Электронный ресурс] / М. Джонс. - 2014. - Режим доступа: https://www.ibm.eom/developerworks/m/library/os-recommenderl/index.html (дата обращения: 22.02.2019).
Ю.Заболеева-Зотова, А.В. Латентный семантический анализ: новые решения в Internet [Текст] / А.В. Заболеева-Зотова. - Москва: Информационные технологии, 2001. - 22 с.
11. Якобсон А. Унифицированный процесс разработки программного обеспечения: пер. с англ. В. Горбунков [Текст] / А. Якобсон, Г. Буч, Дж. Рамбо - Спб.: Питер, 2002. - 496 с.