Рекомендательные системы на практике
Покупка
Тематика:
Системы управления базами данных (СУБД)
Издательство:
ДМК Пресс
Автор:
Фальк Ким
Перевод:
Павлов Д. М.
Год издания: 2020
Кол-во страниц: 448
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-97060-774-9
Артикул: 748317.01.99
Книга посвящена рекомендательным системам, которые собирают данные о пользователе и выводят для него персональные рекомендации, основываясь на его предпочтениях. Ким Фальк, специалист по обработке и анализу данных, предоставляет читателю самые важные сведения о рекомендательных системах - начиная с общего обзора и описания ключевых алгоритмов до рассмотрения тонких нюансов работы, благодаря которым система с максимальной точностью учитывает интересы пользователя. Помимо прочего, обсуждаются методы оценки рекомендательной системы вне интернета и возможности совмещения различных рекомендательных систем. Книга снабжена многочисленными примерами программного кода.
Издание предназначено для широкого круга разработчиков и специалистов по анализу данных.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Интернет-магазин: 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