АННОТАЦИЯ 2
ВВЕДЕНИЕ 7
1 СПОСОБЫ ПОСТРОЕНИЯ РЕКОМЕНДАТЕЛЬНЫХ СИСТЕМ.
ПОСТАНОВКА ЗАДАЧИ 9
1.1 Структура современных рекомендательных систем 9
1.2 Типы фильтрации 9
1.2.1 Рекомендательные системы, основанные на контенте 10
1.2.2 Коллаборативные рекомендательные системы 10
1.2.3 Рекомендательные системы, основанные на знаниях 11
1.2.4 Гибридные рекомендательные системы 11
1.3 Метрики близости 12
1.3.1 Метод, вычисляющий евклидово расстояние 12
1.3.2 Корреляция Пирсона 14
1.3.3 Grouplens алгоритм 16
1.3.4 Сингулярное разложение матрицы (SVD) 17
1.3.5 ^-Ближайшие соседи 18
1.3.6 Классификатор Байеса 20
1.4 Модели рекомендательных систем 22
1.5 Нейронная модель DeepCoNN 23
1.6 ПО для реализации 26
1.6.1 Язык программирования Python 26
1.6.2 Пакет прикладных программ Matlab 28
1.7 Постановка задачи 29
1.8 Выводы по разделу 29
2 МАТЕМАТИЧЕСКАЯ МОДЕЛЬ НЕЙРОННОЙ СЕТИ 31
2.1 Структура сети TransNets 31
2.2 Расширенные модели TransNets 33
2.3 Текстовый редактор CNN 34
2.4 Обучение TransNets 36
2.5 Выводы по разделу 37
3 АЛГОРИТМЫ ПРОГРАММЫ И ЕЕ МОДУЛЕЙ 38
3.1 Основной алгоритм TransNets 38
3.2 Алгоритм текстового редактора CNN 39
3.3 Структура словаря CNN (word2vec) 40
3.4 Алгоритм операции Transform 42
3.5 Алгоритм обучения TransNets 43
3.6 Тестирование с использованием TransNets 44
3.7 Выводы по разделу 45
4 ИССЛЕДОВАНИЯ И РЕЗУЛЬТАТЫ 46
4.1 Наборы данных 46
4.2 Процедура оценки и настройки 46
4.2.1 Предварительная обработка и встраивание текста 47
4.2.2 Текстовый редактор CNN 47
4.2.3 Слой разрежения и факторизационные машины 47
4.2.4 TRANSFORM 48
4.2.5 TransNets-EXT 48
4.3 Оценка прогнозирования рейтинга 48
4.4 Выбор количества слоев Transform 49
4.5 Поиск наиболее похожих (полезных) отзывов 50
4.6 Выводы по разделу 54
ЗАКЛЮЧЕНИЕ 55
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 56
ПРИЛОЖЕНИЯ 58
ПРИЛОЖЕНИЕ 1 Пример работы 58
ПРИЛОЖЕНИЕ 2 Исходный текст программы 60
Миллионы пользователей по всему миру используют Интернет для поиска нужной им информации. Они ищут интересующие их товары, книги, музыку и многое другое. Всех пользователей объединяет общая цель - найти то, что им нужно. Еще в прошлом веке люди узнавали о появлении новых товаров из почтовых рассылок. Затем этот процесс ускорился в десятки (а то и сотни) раз, за счет появления телевидения и интернета. За последние два года одним из ведущих трендов в усовершенствовании самых разных поисковых систем становится применение алгоритмов машинного обучения. В дополнение к процессу самостоятельного поиска (среди миллионов наименований всевозможных товаров и услуг), на ресурсах стали появляться рекомендательные системы, которые предсказывают, что именно было бы интересно данному пользователю. Такие рекомендательные алгоритмы в процессе своей работы постоянно дообучаются, адаптируются и трансформируются, со временем все лучше понимая пользователя, и в результате своего функционирования 50% и более рекомендованных товаров или услуг в той или иной степени удовлетворяют поисковым запросам пользователей.
Задача рекомендательных систем проста и понятна - применение для предложения пользователю тех продуктов или услуг, которые с высокой степенью вероятности его заинтересуют. В отличие от поисковых систем, рекомендательные системы не требуют четкого запроса. Пользователям предлагается оценить или написать рецензию о товаре или объекте, на осно - вании которых строятся предположения и возвращаются наиболее близкие к ним результаты.
Одна из проблем любой рекомендательной системы является так называемый «холодный старт» [1]. Данная проблема представляет собой отсутствие данных о недавно появившихся в системе пользователях или объектах. В работе предлагается и исследуется алгоритм прогнозирования рейтинга при отсутствии отзывов или рецензий о товаре. Предложенный 7
алгоритм является одним из вариантов решения проблемы «Холодный старт». Используя искусственную нейронную сеть, предлагаемый алгоритм рекомендательной системы, названный TransNets (Transformational Neural Networks / Трансформационные нейронные сети), спроектированный на основе модели DeepCoNN (Deep Cooperative Neural Networks / Глубокие совместные нейронные сети) [2], вводит дополнительный скрытый слой, представляющий аппроксимацию рецензии, которая в дальнейшем используется для прогнозирования рейтинга.
В ходе экспериментов выяснилось, что спроектированная модель и ее расширение существенно улучшают качество прогнозирования рейтинга
Использование рецензий для совершенствования рекомендательных систем является важной задачей, и в последние годы ей уделяется большое внимание. Современная модель нейронной сети, DeepCoNN, использует текст рецензий, написанных пользователями касательно предмета, чтобы обучиться на основе их скрытых данных, которые затем вводятся в регрессионный слой для прогнозирования рейтинга. Однако его производительность зависит от наличия «парной» рецензии пользователя и предмета, которая недоступна в реальных условиях.
В данной работе предлагается новая модель под названием TransNets, которая расширяет DeepCoNN благодаря дополнительному слою TRANSFORM. Этот дополнительный слой учится преобразовывать скрытые данные пользователя и предмета при «парной» рецензии, так что во время тестирования могут быть сгенерированы приблизительные данные целевой рецензии, которые применяются для дальнейшего прогнозирования. Так же продемонстрировано, как можно расширить TransNet для обучения на основе данных пользователей и предметов только из рейтингов, которые можно использовать в дополнение к сгенерированным данным рецензии. В ходе исследования выяснилось, что TransNets и её расширенная версия могут существенно улучшить современное состояние данной сферы.
В результате работы:
1. Разработана структура нейронной сети для задачи.
2. Разработан алгоритм функционирования НС в условиях «Холодный старт».
3. Разработано ПО рекомендательной системы.
4. Проведено обучение нейронной сети.
5. Разработана методика эксперимента.
6. Выполнена обработка результатов эксперимента и оценено качество рекомендательной системы.