Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Рекомендательные системы на практике

Покупка
Артикул: 748317.01.99
Доступ онлайн
999 ₽
В корзину
Книга посвящена рекомендательным системам, которые собирают данные о пользователе и выводят для него персональные рекомендации, основываясь на его предпочтениях. Ким Фальк, специалист по обработке и анализу данных, предоставляет читателю самые важные сведения о рекомендательных системах - начиная с общего обзора и описания ключевых алгоритмов до рассмотрения тонких нюансов работы, благодаря которым система с максимальной точностью учитывает интересы пользователя. Помимо прочего, обсуждаются методы оценки рекомендательной системы вне интернета и возможности совмещения различных рекомендательных систем. Книга снабжена многочисленными примерами программного кода. Издание предназначено для широкого круга разработчиков и специалистов по анализу данных.
Фальк, К. Рекомендательные системы на практике : практическое руководство / К. Фальк ; пер. с англ. Д. М. Павлова. - Москва : ДМК Пресс, 2020. - 448 с. - ISBN 978-5-97060-774-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/1210627 (дата обращения: 21.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Интернет-магазин: www.dmkpress.com

Оптовая продажа: КТК “Галактика”
books@alians-kniga.ru
www.дмк.рф

Рекомендательные системы на практике

Рекомендательные системы на практике

Рекомендательные
системы
             на практике

9 785970 607749

ISBN 978-5-97060-774-9

Онлайновые рекомендательные системы помогают находить в сети фильмы, работу, рестораны… и даже любовь! Опираясь на статистические и демографические данные, а также 
на поисковые запросы, эти системы выдают 
результат, интересный пользователю, – и это 
настоящее искусство. Научитесь создавать 
правильные рекомендательные системы: от 
них зависит успех приложения!
В книге показано, как устроены рекомендательные системы, как создать их и внедрить 
на сайт. Сначала вы познакомитесь с основными понятиями, а затем научитесь собирать 
данные о пользователях и предоставлять персональные рекомендации. Вы узнаете, как 
функционируют самые популярные алгоритмы рекомендательных систем, и увидите примеры их работы на таких сайтах, как Amazon 
и Netflix. Также в книге рассматриваются 
проблемы, связанные с увеличением посещаемости, и другие сложности, с которыми вы 
можете столкнуться, когда сайт начнет разрастаться.

«В книге предоставлена техническая база и приводятся примеры 
из практики, реализованные 
в простом и понятном коде на 
Python».
Эндрю Кольер, Exegetic

«Хотите знать, как Amazon и 
Netflix догадываются, какие 
товары и фильмы вас заинтересуют, и рекомендуют именно то, 
что нужно? Прочтите книгу – и 
все поймете!»
Амит Ламба, Tech Overture

«Все о рекомендательных системах – от самых азов до сложнейших моментов».
Яромир Д.Б. Немец, DBN

«Потрясающее и максимально 
полезное погружение в рекомендательные системы!»
Питер Хэмптон, 
Университет Ольстера

В книге рассматриваются:
• сбор и анализ данных о поведении пользователей;
• совместная фильтрация и фильтрация на основе контента;
• алгоритмы машинного обучения;
• реальные примеры на Python.

Читатель должен владеть навыками программирования 
и работы с базами данных на среднем уровне.

Ким Фальк – опытный специалист по обработке и анализу 
данных. Занимается машинным обучением, регулярно работает с рекомендательными системами.

Ким Фальк

Ким Фальк

Рекомендательные 
системы  
на практике

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

 Оглавление

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

Доступ онлайн
999 ₽
В корзину