Меню

Автоматизированные предиктивные модели для рекомендаций в SAP Predictive Analytics*

Модели рекомендаций получили широкое распространение во многих сферах нашей жизни: от поиска новой музыки до поиска новых партнёров. В этой главе мы рассмотрим создание и применение моделей рекомендаций с использованием простых, но эффективных технологий Automated Analytics.


*Оригинал (англ.): SAP Predictive Analytics. The Comprehensive Guide. Антуан Шабер, Андреас Форстер, Лоран Тессиер, Пьерпаоло Веццози. Издательство SAP PRESS. Глава 13. 2018, с. 347–375.

SAP Predictive Analytics

The Comprehensive Guide

Antoine Chabert, Andreas Forster, Laurent Tessier, Pierpaolo Vezzosi

Освойте прогностические модели — регрессию, прогнозирование временных рядов, кластеризацию и т. п. Узнайте, как установить и запустить SAP Predictive Analytics. Откройте для себя необходимые инструменты, от Predictive Factory и Automated Modeler до Data Manager и Social Network Analysis.

Корректура: Евгений Баранов (САПРАН).

Автоматизированные предиктивные модели для рекомендаций в SAP Predictive Analytics // SAP Professional Journal Россия, январь–февраль, №1 (78), стр. 82–109. @ 2020, Антуан Шабер, Андреас Форстер, Лоран Тессиер, Пьерпаоло Веццози.

Модели рекомендаций получили широкое распространение во многих сферах нашей жизни: от поиска новой музыки до поиска новых партнёров. В этой главе мы рассмотрим создание и применение моделей рекомендаций с использованием простых, но эффективных технологий Automated Analytics.

Когда вы слушаете музыку в Интернете, ищете новый фильм или сериал для просмотра, совершаете покупки в Amazon и других интернет-магазинах или ищете новые контакты в LinkedIn, вам помогают модели рекомендаций. Они подсказывают, кто или что вас вероятнее всего заинтересует.

Рекомендательные модели помогают компаниям персонифицировать свое предложение для каждого клиента и максимизировать уровень вовлечения в использовании продукта или услуги. Используя SAP Predictive Analytics и Automated Predictive Library (APL), вы можете анализировать транзакции пользователей и создавать рекомендации простым и эффективным способом.

Каждый раз, когда потребитель обозначает свой интерес к продукту, покупая его или кликая на него, создается новая транзакция в базе данных. Основываясь на анализе транзакций, становятся возможными следующие прикладные сценарии:

  • Можно предлагать продукты, которые могут быть интересны клиентам, на основе интереса других пользователей, по примеру рекомендаций на Amazon и Netflix. Известный как подход совместной или коллаборативной фильтрации (collaborative-filtering approach), вы делаете прогноз потенциального интереса на основе интересов других похожих пользователей, обладающих схожими интересами.
  • В социальных сетях можно сделать рекомендацию на основе общих интересов пользователей. Так работают LinkedIn, Facebook и Twitter, где в качестве результата рекомендации выступаем мы с вами наравне с другими пользователями.
  • В розничной торговле можно оптимизировать размещение продуктов на полке (выкладку), например, ставя покупаемые вместе продукты рядом для удобства покупателя. С другой стороны, вы можете размещать продукты подальше друг от друга, чтобы заставить ваших клиентов следовать определенным маршрутам внутри вашего магазина.
  • В производстве можно использовать тот же подход для анализа того, какие ошибки часто возникают в одно и то же время, предлагая специалисту по качеству полезную информацию по обслуживанию оборудования и предотвращению поломок.

Рассмотрим основные понятия, наборы данных и методы создания рекомендаций (Раздел 13.1, — см. статью «Обзор общей терминологии автоматизированных предиктивных моделей для рекомендаций» в этом номере SAP Professional Journal Россия, — №1, 2020). Затем создадим рекомендательную модель, используя Social Network Analysis (Раздел 13.2, — см. статью «Использование модуля Social Network Analysis» в этом номере журнала) и модуль Recommendation в Automated Analytics (Раздел 13.3, — см. статью «Использование модуля рекомендаций в Automated Analytics» в этом номере журнала). Мы также кратко рассмотрим возможности библиотеки Automated Predictive Library (APL) (Раздел 13.4, — см. статью «Использование Automated Predictive Library» в этом номере журнала).

Обзор общей терминологии автоматизированных предиктивных моделей для рекомендаций*

Рассматриваются основные понятия, наборы данных и методы создания рекомендаций в SAP Predictive Analytics.


*Оригинал (англ.): SAP Predictive Analytics. The Comprehensive Guide. Антуан Шабер, Андреас Форстер, Лоран Тессиер, Пьерпаоло Веццози. Издательство SAP PRESS. Раздел 13.1. 2018, с. 348–352.

Корректура: Евгений Баранов (САПРАН).

Обзор общей терминологии автоматизированных предиктивных моделей для рекомендаций // SAP Professional Journal Россия, январь–февраль, №1 (78), стр. 84–109. @ 2020, Антуан Шабер, Андреас Форстер, Лоран Тессиер, Пьерпаоло Веццози.

В этом разделе познакомимся с базовыми концепциями и опишем структуру датасетов (наборов данных), которые обычно используются в качестве источников для рекомендательных моделей. Рассмотрим пример типичного датасета. Наконец, мы кратко рассмотрим различные подходы, которые могут быть использованы для создания рекомендательных моделей при помощи Automated Analytics и библиотек APL (Automated Predictive Library).

Основные понятия (раздел 13.1.1)

Перед тем, как перейти к созданию моделей рекомендаций, вспомним некоторые базовые понятия, описанные в Главе 12, и добавим новые понятия, которые понадобятся в этой главе:

  • Узел или вершина (node) наглядным и простым способом может отображать различных пользователей или объекты/продукты/услуги в зависимости от задачи.
  • Связь или ребро (link) соотносит (связывает) два узла между собой. Например, связь узла клиента и узла продукта при покупке в магазине.
  • Вес (weight) связи — указывает на её важность в сравнении с другими связями.
  • Граф (graph) это отображение всех узлов с соответствующими связями между собой.
  • Правило (rule) представляет собой условие и последствия. Примером может служить правило из которого следует, что Продукт A → Продукт B; другими словами, когда Продукт A приводит к покупке Продукта B.
  • Антецедент (antecedent) — первый компонент правила. Изначальное условие у составленного правила или первоначальный объект воздействия (предшествующий). Например, в правиле «Товар А → товар Б» антецедентом будет товар А.
  • Консеквент (consequent) — второй компонент правила или следствие из правила. В правиле «Товар А → товар Б» консеквентом будет товар Б.

Различные метрики могут быть использованы для оценки правил:

  • Поддержка (support) правила — указывает сколько раз правило встречается в данных.
  • Достоверность или уверенность (confidence) процент транзакций, содержащих консеквент (рекомендованный товар) или насколько часто правило оказывается верным, относительно транзакций, содержащих антецедент (приобретенный товар). В нашем примере для правила Product A → Product B, сначала мы анализируем корзины покупателей (shopping carts), где имеется Product A, и считаем показатель уверенности, соотнося с процентом тех корзин, которые включают Product B (вместе с Product A).
  • Предиктивная сила (predictive power) правила — доля информации в консеквенте, которую может объяснить антецедент. Это понятие также можно объяснить как применимость правила ко всему набору данных. Подробное определение прогнозирующей способности см. по ссылке http://bit.ly/2xXCI3C.

Наконец, бестселлер — это продукт, который продается очень хорошо. Как вы определяете бестселлер основано на том установленном пороге продаж (транзакций), который может меняться в зависимости от задачи.

Наборы данных (раздел 13.1.2)

Набор данных для построения рекомендаций обычно имеет следующую структуру (Рис. 13.1):

  • Обязательно должна быть информация о клиенте или пользователе (отдельный столбец с данными).
  • Обязательно должна быть информация о продукте (item) или целевом объекте (target) анализа.
  • Информация о весе (weight) может также присутствовать. К примеру, колонка с весами может отражать количество продуктов, которые клиент купил, или сколько денег было уже потрачено на конкретный продукт. Данные о весе позволят вам более точно определять степень важности для каждой транзакции.
  • Набор данных также может содержать столбец с датой. Становится возможна фильтрация транзакций по необходимым периодам времени. К примеру, ограничение по времени можно использовать для сезонных товаров, так чтобы в рекомендациях учитывались самые последние транзакции.
  • Набор данных может содержать и другие столбцы, обычно связанные с транзакцией.
  • Каждая строка в наборе данных представляет транзакцию, связывающую пользователя с анализируемым элементом. Например, строка может представлять покупку, рейтинг, клик на сайте и т. д.

Рис. 13.1. Базовая структура набора данных для подготовки рекомендаций

Мы будем использовать набор данных (movies and ratings.csv), которые содержит рейтинг кинофильмов в базе MovieLens (movielens.org — онлайн-сервис с рекомендациями). Этот и другие наборы данных, которые мы будем использовать в модели, можно загрузить по ссылке www.sap-press.com/4491. Скопируйте эти файлы в локальную папку.

Набор данных содержит 100,004 оценок для 9,066 кинофильмов. Данные рейтинги были проставлены 671 пользователями в период 09.01.1995 и 16.10.2016. Сам набор данных был сделан 17.10.2016. Каждый пользователь оценил минимум 20 кинолент. Набор данных содержит следующие поля:

  • Пользователь (User). В этом поле указывается обезличенный идентификатор пользователя. Мы будем его использовать как поле пользователя (User).
  • Идентификатор фильма (MovieID). Это поле содержит идентификатор фильма в базе данных MovieLens.
  • Оценка фильма (MovieRating). В этом поле указывается оценка фильма. Оценки выставляются по 5-балльной шкале с шагом 0,5 балла (от 0,5 звезды до 5 звезд). Это поле будет полем веса (Weight) в нашем примере.
  • Дата (Date). Это поле содержит даты выставления оценок пользователями. Мы будем использовать его как поле даты (Date) в своем примере.
  • Название фильма (MovieTitle). В этом поле указывается название фильма. Мы будем его использовать как поле позиции (Item).
  • Жанр фильма (MovieGenres). Поле содержит данные о жанрах каждого фильма, разделенные вертикальной чертой (|).

Примечание

Мы благодарим исследовательскую лабораторию GroupLens (https://grouplens.org/about/what-is-grouplens) за предоставление этого набора данных и хотим сослаться на соответствующее исследование:

F. Maxwell Harper and Joseph A. Konstan. 2015. The MovieLens Datasets: History and Context. ACM Transactions on Interactive Intelligent Systems (TiiS), Volume 5, Number 4, Article 19 (December 2015), 19 pages. http://dx.doi.org/10.1145/2827872.

Рекомендованные подходы (раздел 13.1.3)

Automated Analytics и Automated Predictive Library предлагают несколько способов создания рекомендательных моделей. Предпочтительнее всего использовать следующие два метода:

  • Создание рекомендательных моделей, используя интерфейс в модуле Social Network Analysis в разделе Automated Analytics. Данный модуль может определять сообщества и формулировать рекомендации на основе данных других сообществ. Мы подробнее рассмотрим этот механизм в Разделе 13.2.
  • Если вы используете SAP HANA, вы можете использовать преимущества библиотеки Automated Predictive Library (APL) 3.2 используя SQL скрипты для выдачи рекомендаций, особенно, когда вам требуется высокая производительность на очень больших объемах данных и выдача рекомендаций в режиме реального времени, например, на основе данных корзины потребителя. Мы рассмотрим подробнее данный подход в Разделе 13.4.

Как правило, мы не рекомендуем использовать модуль Recommendation, так как модуль Social Network Analysis позволяет создавать более эффективные модели и работает более гибко. Тем не менее, мы кратко рассмотрим использование модуля Recommendation в Разделе 13.3.

Последний вариант — модуль Association Rules в Automated Analytics. Мы не рекомендуем использовать его и не будем подробно рассматривать в этой публикации (см. Табл. 13.1).

Табл. 13.1. Сравнение методов для создания рекомендаций

Примечание

В этой главе мы опишем различные способы получения правил рекомендаций с использованием Automated Analytics и Automated Predictive Library, а также порекомендуем, какие методы должны быть приоритетными.

Использование модуля Social Network Analysis*

Показано, как создавать рекомендательную модель, используя Social Network Analysis в SAP Predictive Analytics.


*Оригинал (англ.): SAP Predictive Analytics. The Comprehensive Guide. Антуан Шабер, Андреас Форстер, Лоран Тессиер, Пьерпаоло Веццози. Издательство SAP PRESS. Раздел 13.2. 2018, с. 353–367.

Корректура: Евгений Баранов (САПРАН).

Использование модуля Social Network Analysis // SAP Professional Journal Россия, январь–февраль, №1 (78), стр. 88–109. @ 2020, Антуан Шабер, Андреас Форстер, Лоран Тессиер, Пьерпаоло Веццози.

В этом разделе мы рассмотрим создание, обзор и использование модели рекомендаций с помощью модуля Social Network Analysis в Automated Analytics.

Создание модели в модуле Social Network Analysis (раздел 13.2.1)

Модель рекомендаций можно создать в модуле Social Network Analysis в Automated Analytics (в клиенте или настольном приложении), перейдя по ссылке «Создать анализ социальной сети» (Create a Social Network Analysis) (Рис. 13.2). Модуль Social Network Analysis подробно описан в Главе 12. В этой главе мы заострим внимание на том, как в нём реализовано создание рекомендательных моделей.

Рис. 13.2. Модуль Social Network Analysis

Процесс создания рекомендательной модели состоит из следующих шагов:

  1. Необходимо создать граф, связывающий пользователей с продуктами/услугами. В нашем примере мы связываем пользователей, оценивших фильмы, с самими фильмами. Модуль создает граф связей между покупателями и товарами (Рис. 13.3). Этот граф называется двусторонним или графом транзакций, особенно, если связываются два узла разного характера. В нашем примере сила связи между пользователем и товаром, называемая весом, зависит от значения оценки фильма.
  2. Затем создается производный граф связывающий товары/продукты (на основе ранее построенного двустороннего). Например, если у нескольких товаров есть общие покупатели (Рис. 13.4), или покупателей, которые приобретают какие-то одинаковые товары (Рис. 13.5). В примере, показанном на Рис. 1.4, товары А и C связаны, и связь снабжена комментарием «2 покупателя». Это означает, что два покупателя приобрели одновременно товар А и товар С. Никто из покупателей не приобрел одновременно товар A и товар B. Следовательно, два этих товара не связаны.
  3. В нашем примере, мы хотим спрогнозировать, какие фильмы понравятся пользователю (и получат от него высокую оценку). Чтобы сделать такой прогноз, мы аналогично построим производный граф для фильмов (товаров).

Рис. 13.3. Граф связей между потребителями и товарами

Рис. 13.4. Производный граф: товары

Рис. 13.5. Производный граф: потребители

После того, как модуль Social Network Analysis построит эти графы, можно будет создать рекомендации.

Создание двустороннего графа

Так как интерфейс модуля Social Network Analysis уже был рассмотрен в Главе 12, в этом разделе мы лишь опишем конкретные действия в нашем процессе, не описывая все поля. Подробные сведения об интерфейсе модуля вы найдете в Главе 12, Раздел 12.4.

Оформите подписку sappro и получите полный доступ к материалам SAPPRO

У вас уже есть подписка?

Войти