Рекомендательные системы на практике
Покупка
Новинка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Автор:
Фальк Ким
Перевод:
Павлов Д. М.
Год издания: 2020
Кол-во страниц: 450
Возрастное ограничение: 12+
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное профессиональное образование
ISBN: 978-5-97060-774-9
Артикул: 882738.01.99
Книга посвящена рекомендательным системам, которые собирают данные о пользователе и выводят для него персональные рекомендации, основываясь на его предпочтениях. Ким Фальк, специалист по обработке и анализу данных, предоставляет читателю самые важные сведения о рекомендательных системах — начиная с общего обзора и описания ключевых алгоритмов до рассмотрения тонких нюансов работы, благодаря которым система с максимальной точностью учитывает интересы пользователя. Помимо прочего, обсуждаются методы оценки рекомендательной системы вне интернета и возможности совмещения различных рекомендательных систем.
Книга снабжена многочисленными примерами программного кода.
Издание предназначено для широкого круга разработчиков и специалистов по анализу данных.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Ким Фальк Рекомендательные системы на практике
Practical Recommender Systems Kim Falk
Москва, 2020 Рекомендательные системы на практике Ким Фальк
УДК 004.594
ББК 32.972
Ф19
Ким Фальк
Ф19 Рекомендательные системы на практике / пер. с англ. Д. М. Павлова. – М.:
ДМК Пресс, 2020. – 448 с.: ил.
ISBN 978-5-97060-774-9
Книга посвящена рекомендательным системам, которые собирают
данные о пользователе и выводят для него персональные рекомендации,
основываясь на его предпочтениях. Ким Фальк, специалист по обработке и анализу данных, предоставляет читателю самые важные сведения
о рекомендательных системах – начиная с общего обзора и описания
ключевых алгоритмов до рассмотрения тонких нюансов работы, благодаря которым система с максимальной точностью учитывает интересы
пользователя. Помимо прочего, обсуждаются методы оценки рекомендательной системы вне интернета и возможности совмещения различных
рекомендательных систем.
Книга снабжена многочисленными примерами программного кода.
Издание предназначено для широкого круга разработчиков и специалистов по анализу данных.
УДК 004.594
ББК 32.972
Original English language edition published by Manning Publications. Copyright
© 2019 by Manning Publications. Russian language edition copyright © 2020 by
DMK Press. All rights reserved.
Все права защищены. Любая часть этой книги не может быть воспроизведена
в какой бы то ни было форме и какими бы то ни было средствами без письменного
разрешения владельцев авторских прав.
ISBN 978-1-61729-2705 (англ.) Copyright © 2019 by Manning Publications Co.
ISBN 978-5-97060-774-9 (рус.) © Оформление, перевод, издание, ДМК Пресс, 2020
Посвящается любви всей моей жизни: моей жене Саре и моему сыну Питеру, маленькому супергерою
Оглавление Предисловие от издательства...................................................................................13 Предисловие....................................................................................................................14 Благодарности.................................................................................................................16 О книге................................................................................................................................17 Об авторе...........................................................................................................................20 Об обложке.......................................................................................................................21 ЧАСТЬ I. Подготовка к рекомендательным системам...................................23 Глава 1. Что такое рекомендательная система?................................................25 1.1. Рекомендации в реальной жизни................................................................... 25 1.1.1. Рекомендательные системы дома в интернете................................... 27 1.1.2. Длинный хвост....................................................................................... 28 1.1.3. Рекомендательная система Netflix....................................................... 28 1.1.4. Определение рекомендательной системы.......................................... 35 1.2. Таксономия рекомендательных систем......................................................... 38 1.2.1. Специализация...................................................................................... 39 1.2.2. Задача..................................................................................................... 39 1.2.3. Контекст................................................................................................. 40 1.2.4. Степень персонализации...................................................................... 40 1.2.5. Чье мнение............................................................................................. 42 1.2.6. Конфиденциальность и надежность.................................................... 42 1.2.7. Интерфейс.............................................................................................. 43 1.2.8. Алгоритмы............................................................................................. 46 1.3. Машинное обучение и Netflix Prize................................................................ 48 1.4. Интернет-сайт MovieGEEKs............................................................................. 49 1.4.1. Оформление и характеристики............................................................ 51 1.4.2. Архитектура........................................................................................... 51 1.5. Создание рекомендательной системы........................................................... 53 Резюме.................................................................................................................... 54 Глава 2. Поведение пользователя, и как собирать о нем данные.............55 2.1. Как (по моему мнению) Netflix собирает факты, пока вы пользуетесь сервисом........................................................................ 56 2.1.1. Какие факты собирает Netflix............................................................... 58
Оглавление 7 2.2. Поиск полезных данных о поведении пользователя.................................... 60 2.2.1. Как узнать мнение посетителя............................................................. 61 2.2.2. Что можно узнать по поведению обозревателя в магазине............... 62 2.2.3. Совершение покупки............................................................................. 67 2.2.4. Пользование товаром............................................................................ 68 2.2.5. Оценки посетителей ............................................................................. 69 2.2.6. Знакомство с клиентами по (старому) методу Netflix........................ 73 2.3. Идентификация пользователей...................................................................... 73 2.4. Получение данных о посетителях из других источников............................. 74 2.5. Сборщик данных.............................................................................................. 74 2.5.1. Создание файлов проекта..................................................................... 76 2.5.2. Модель данных....................................................................................... 76 2.5.3. Сборщик данных на стороне клиента.................................................. 77 2.5.4. Интеграция сборщика в MovieGEEKs................................................... 78 Регистрация наведения курсора.................................................................... 80 Регистрация просмотра подробностей.......................................................... 80 Регистрация «сохранения на потом»............................................................. 80 2.6. Какие пользователи есть в системе, и как их моделировать..................................................................................... 81 Резюме.................................................................................................................... 84 Глава 3. Мониторинг состояния системы..............................................................85 3.1. Почему панель аналитики – это круто........................................................... 86 3.1.1. Ответ на вопрос «Как там дела у сайта?»............................................. 86 3.2. Реализация аналитики.................................................................................... 88 3.2.1. Веб-аналитика....................................................................................... 88 3.2.2. Базовые статистические данные.......................................................... 88 3.2.3. Конверсии.............................................................................................. 89 3.2.4. О пути к конверсиям............................................................................. 92 3.2.5. Путь конверсии...................................................................................... 94 3.3. Архетипы.......................................................................................................... 97 3.4. Панель сайта MovieGEEKs ............................................................................. 100 3.4.1. Автоматическая генерация данных в журнале................................. 100 3.4.2. Характеристики и дизайн панели аналитики................................... 101 3.4.3. Основа панели аналитики................................................................... 101 3.4.4. Архитектура......................................................................................... 102 Резюме.................................................................................................................. 104 Глава 4. Оценки, и как их рассчитывать............................................................. 105 4.1. Предпочтения элементов пользователями................................................. 106 4.1.1. Определение оценок........................................................................... 106 4.1.2. Матрица пользователь–элемент........................................................ 107 4.2. Явные или неявные оценки.......................................................................... 109 4.2.1. Как мы используем доверенные источники для составления рекомендаций................................................................... 110
8 Оглавление 4.3. Переоценка..................................................................................................... 111 4.4. Что такое неявные оценки?.......................................................................... 111 4.4.1. Предложения людей............................................................................ 113 4.4.2. Что учитывать при расчете оценок.................................................... 113 4.5. Расчет неявных оценок................................................................................. 116 4.5.1. Просмотр поведенческих данных...................................................... 117 4.6. Как реализовать неявные оценки................................................................. 122 4.6.1. Добавление учета времени................................................................. 126 4.7. Более редкие элементы имеют бо́льшую ценность......................................................................................... 128 Резюме.................................................................................................................. 131 Глава 5. Неперсонализированные рекомендации........................................ 132 5.1. Что такое неперсонализированные рекомендации?.................................. 133 5.1.1. Что такое реклама?.............................................................................. 133 5.1.2. Что делает рекомендация?.................................................................. 134 5.2. Как сделать рекомендации, когда у вас нет данных................................... 135 5.2.1. Топ-10: диаграмма элементов............................................................ 136 5.3. Реализация диаграмм и основы для рекомендатора.................................. 138 5.3.1. Компонент рекомендательной системы............................................ 138 5.3.2. Код MovieGEEKs на сайте GitHub........................................................ 139 5.3.3. Рекомендательная система................................................................. 140 5.3.4. Добавление диаграмм на MovieGEEKs............................................... 140 5.3.5. Заставим контент выглядеть более привлекательно........................ 142 5.4. Выборочные рекомендации.......................................................................... 144 5.4.1. Часто покупаемые элементы, похожие на тот, который вы просматриваете................................................................ 144 5.4.2. Ассоциативные правила...................................................................... 145 5.4.3. Реализация ассоциативных правил................................................... 150 5.4.4. Сохранение ассоциативных правил в базе данных........................... 154 5.4.5. Запуск калькулятора ассоциаций ...................................................... 155 5.4.6. Использование различных событий для создания ассоциативных правил......................................................................... 157 Резюме.................................................................................................................. 158 Глава 6. «Холодные» пользователи и контент................................................ 159 6.1. Что такое холодный старт?............................................................................ 159 6.1.1. Холодные товары................................................................................. 161 6.1.2. Холодный посетитель.......................................................................... 161 6.1.3. Серые овцы.......................................................................................... 163 6.1.4. Посмотрим на примеры из реальной жизни..................................... 163 6.1.5. Что вы можете сделать с холодным стартом?.................................... 164 6.2. Отслеживание посетителей.......................................................................... 165 6.2.1. Анонимные пользователи................................................................... 165
Оглавление 9 6.3. Решение проблемы холодного старта алгоритмами................................... 165 6.3.1. Использование ассоциативных правил для создания рекомендаций для холодных пользователей...................................... 166 6.3.2. Использование знаний предметной области и бизнес-правил.................................................................................... 168 6.3.3. Использование сегментов................................................................... 168 6.3.4. Использование категорий с целью обойти проблему серых овец и холодных продуктов....................................................... 170 6.4. Кто не спрашивает, тот не будет знать......................................................... 172 6.4.1. Когда посетитель уже не новый.......................................................... 173 6.5. Использование ассоциативных правил с целью ускорить показ рекомендаций................................................................................................ 173 6.5.1. Поиск собранных элементов............................................................... 174 6.5.2. Получение ассоциативных правил и сортировка в соответствии со значениями уверенности....................................... 174 6.5.3. Отображение рекомендаций.............................................................. 176 6.5.4. Оценка реализации............................................................................. 179 Резюме.................................................................................................................. 179 Часть II. Рекомендательные алгоритмы............................................................ 181 Глава 7. Выявление общих черт у пользователей и контента................... 183 7.1. Что за сходство?............................................................................................. 184 7.1.1. Что такое функция подобия?............................................................... 185 7.2. Основные функции подобия......................................................................... 185 7.2.1. Расстояние Жаккара............................................................................ 187 7.2.2. Измерение расстояния с помощью Lp-норм..................................... 189 7.2.3. Коэффициент Отиаи............................................................................ 192 7.2.4. Вычисление сходства с помощью коэффициента корреляции Пирсона............................................................................. 194 7.2.5. Испытание сходства коэффициентом Пирсона................................. 195 7.2.6. Коэффициент корреляции Пирсона на коэффициент Отиаи........... 198 7.3. Кластеризация k-средних ............................................................................. 198 7.3.1. Алгоритм кластеризации k-средних................................................... 199 7.3.2. Реализация кластеризации k-средних на Python.............................. 201 7.4. Реализация вычисления сходства................................................................. 206 7.4.1. Реализация вычисления сходства на сайте MovieGEEKs................... 208 7.4.2. Реализация кластеризации на сайте MovieGEEKs............................. 210 Резюме.................................................................................................................. 214 Глава 8. Совместная фильтрация в окрестностях.......................................... 215 8.1. Совместная фильтрация: историческая справка........................................ 217 8.1.1. Когда начали использовать совместную фильтрацию...................... 217 8.1.2. Взаимопомощь..................................................................................... 217 8.1.3. Матрица оценок................................................................................... 219
10 Оглавление 8.1.4. Процедура совместной фильтрации.................................................. 220 8.1.5. Нужно использовать совместную фильтрацию пользователь– пользователь или элемент–элемент?.................................................. 221 8.1.6. Требования к данным.......................................................................... 222 8.2. Расчет рекомендации.................................................................................. 222 8.3. Расчет сходства............................................................................................. 223 8.4. Алгоритм вычисления сходства элементов с Amazon............................... 223 Если проблема повторяется – берегись!.................................................... 227 8.5. Способы выбора окрестности...................................................................... 228 8.6. Поиск правильной окрестности.................................................................. 230 8.7. Методы прогнозирования оценок............................................................... 230 8.8. Прогнозирование с фильтрацией по элементам....................................... 232 8.8.1. Вычисление прогнозов...................................................................... 233 8.9. Проблема холодного старта......................................................................... 233 8.10. Пара слов о терминах машинного обучения............................................ 234 8.11. Совместная фильтрация на сайте MovieGEEKs........................................ 235 8.11.1. Фильтрация элементов.................................................................... 236 8.12. В чем разница между правилами ассоциации и совместной фильтрацией?............................................................................................... 242 8.13. Эксперименты с совместной фильтрацией.............................................. 242 8.14. Преимущества и недостатки совместной фильтрации............................ 244 Резюме................................................................................................................. 245 Глава 9. Оценка и тестирование рекомендательной системы................246 9.1. Бизнесу нужен подъем, перекрестные продажи, рост продаж и конверсии................................................................................................... 247 9.2. Зачем оценивать?......................................................................................... 248 Гипотеза....................................................................................................... 249 9.3. Как интерпретировать поведение пользователей..................................... 249 9.4. Что измерять................................................................................................ 249 9.4.1. Понимание вкусов пользователя: сведение к минимуму ошибки предсказания.................................... 250 9.4.2. Разнообразие...................................................................................... 251 9.4.3. Охват................................................................................................... 252 9.4.4. Приятные неожиданности................................................................. 254 9.5. Перед реализацией рекомендатора............................................................ 255 9.5.2. Регрессионное тестирование ............................................................ 256 9.6. Виды оценки................................................................................................. 257 9.7. Офлайн-оценка............................................................................................. 257 9.7.1. Что делать, если алгоритм не дает рекомендаций........................... 258 9.8. Офлайн-эксперименты................................................................................ 259