Вичерпний посібник щодо двигунів рекомендацій у 2022 році

Вихідний вузол: 1883089

Ця стаття була опублікована як частина Блогатон науки про дані.

Вступ

Світовий ринок використання Recommendation Engine оцінювався в 2.69 мільярда доларів США в 2021 році. Очікується, що до 15.10 року він перевищить 2026 мільярда доларів США, повідомляючи про CAGR 37.79% протягом 2022-2026 років.

У рекомендаціях, які вам дають компанії, іноді використовуються методи аналізу даних, щоб визначити предмети, які відповідають вашому смаку та вподобанням. З огляду на швидко зростаючі дані в Інтернеті, не дивно, що Netflix знає, який фільм ви захочете подивитися наступний або головну новину, яку ви хотіли б прочитати у своєму Twitter.

З огляду на останні досягнення в галузі штучного інтелекту та зростаючу конкуренцію між кількома підприємствами, дуже важливо шукати, картувати та надавати користувачам відповідну порцію даних, щоб покращити досвід споживачів та посилити тенденцію цифровізації.

З огляду на це, у сьогоднішньому посібнику ми обговоримо механізми рекомендацій, їх важливість, проблеми, з якими стикаються, принципи роботи, різні методи, програми та провідні компанії, які їх використовують, і, нарешті, як створити власний механізм рекомендацій на Python.

Зміст

  • Що таке двигуни рекомендацій?
  • Чому механізми рекомендацій важливі в машинному навчанні?
  • Різні технології рекомендаційних двигунів
  • Робота двигунів рекомендацій
  • Проблеми рекомендаційних двигунів
  • Як створити механізм рекомендацій
  • Програми та провідні компанії, які використовують механізми рекомендацій
  • Висновок

Що таке двигун рекомендацій?

Рекомендаційний механізм — це система фільтрації даних, яка працює на основі різних алгоритмів машинного навчання, щоб рекомендувати продукти, послуги та інформацію користувачам на основі аналізу даних. Він працює за принципом пошуку закономірностей у даних про поведінку клієнтів з використанням різноманітних факторів, таких як уподобання клієнтів, минула історія транзакцій, атрибути або ситуаційний контекст.

Дані, які використовуються для пошуку інформації, можуть бути зібрані неявно або явно. Компанії зазвичай використовують петабайти даних для своїх механізмів рекомендацій, щоб представити свої погляди зі своїм досвідом, поведінкою, уподобаннями та інтересами.

На цьому постійно розвивається ринку щільності інформації та перевантаження продуктом кожна компанія використовує механізми рекомендацій для дещо інших цілей. Проте всі вони мають одну і ту ж мету – збільшити продажі, підвищити залучення та утримання клієнтів, а також надати споживачам персональні знання та рішення.

Чому рекомендаційні механізми важливі в ML?

Безсумнівно, що рекомендаційні механізми – це надзвичайний спосіб покращити роботу користувачів, стимулювати попит, підвищити дохід, підвищити рейтинг кліків (CTR), активного залучення користувачів та інші важливі показники. Як потужні інструменти фільтрації даних, механізми рекомендацій працюють у режимі реального часу. Вони можуть бути корисними, коли є потреба надати користувачам персоналізовані пропозиції та поради.

Візьмемо для прикладу Netflix.

Існують тисячі фільмів і кілька категорій серіалів для перегляду. Тим не менш, Netflix пропонує вам набагато більш упевнений вибір рекламних фільмів, які вам найбільше сподобаються. Завдяки цій стратегії Netflix досягає нижчого рівня скасування, заощаджує мільярд доларів на рік, заощаджує ваш час і забезпечує кращу роботу користувачів.

Ось чому механізми рекомендацій мають важливе значення, а саме те, скільки компаній підвищують можливості взаємодії зі своїми продуктами, пропонуючи більш значний приплив можливостей перехресних продажів.

Різні техніки рекомендаційних двигунів

У машинному навчанні відомі три різні типи рекомендаційних механізмів:

1. Спільна фільтрація

Метод спільної фільтрації збирає та аналізує дані про поведінку користувачів, дії в Інтернеті та вподобання, щоб передбачити, що їм сподобається на основі схожості з іншими користувачами. Він використовує формулу в матричному стилі для побудови графіка та обчислення цих подібностей.

Перевага

Однією з істотних переваг спільної фільтрації є те, що їй не потрібно аналізувати або розуміти об’єкт (продукти, фільми, книги), щоб точно рекомендувати складні елементи. Немає залежності від аналізованого вмісту машини, що означає, що вона вибирає рекомендації на основі того, що їй відомо про користувача.

Приклад

Якщо користувачу X подобається книга A, книга B і книга C, а користувачу Y – книга A, книга B і книга D, у нього схожі інтереси. Таким чином, цілком можливо, що користувач X вибере книгу D, а користувач Y буде насолоджуватися читанням книги C. Ось як відбувається спільна фільтрація.

2. Фільтрація на основі вмісту

Фільтрація на основі вмісту працює за принципом опису продукту та профілю бажаного вибору користувача. Передбачається, що вам також сподобається цей інший предмет, якщо вам подобається певний предмет. Продукти визначаються за допомогою ключових слів (жанр, тип продукту, колір, довжина слова), щоб зробити рекомендації. Профіль користувача створюється для опису того, який предмет подобається цьому користувачеві. Потім алгоритм оцінює подібність предметів за допомогою косинусної та евклідової відстані.

Перевага

Однією з істотних переваг цього методу рекомендаційного механізму є те, що він не потребує додаткових даних про інших користувачів, оскільки рекомендації є специфічними для цього користувача. Крім того, ця модель може охопити конкретні інтереси користувача та запропонувати нішеві об’єкти, які цікавлять небагатьох інших користувачів.

Приклад

Припустимо, користувач X любить дивитися бойовики, як-от Людина-павук. У цьому випадку ця методика рекомендаційного механізму рекомендує лише фільми жанру екшн або фільми з описом Тома Холланда.

3. Гібридна модель

У гібридних рекомендаційних системах як мета (спільні) дані, так і транзакційні (на основі вмісту) дані використовуються одночасно, щоб запропонувати користувачам більш широкий спектр елементів. У цій техніці теги обробки природною мовою можуть бути виділені для кожного об’єкта (фільму, пісні), а векторні рівняння обчислюють подібність. Матриця спільної фільтрації може потім пропонувати користувачам речі, залежно від їхньої поведінки, дій та намірів.

Переваги

Ця рекомендаційна система є перспективною і, як кажуть, перевершує обидва вищезазначені методи з точки зору точності.

Приклад

Netflix використовує гібридний механізм рекомендацій. Він дає рекомендації, аналізуючи інтереси користувача (спільна робота) та рекомендуючи такі шоу/фільми, які мають подібні атрибути з тими, які високо оцінені користувачем (на основі вмісту).

Робота двигунів рекомендацій

Дані є найважливішим елементом у побудові механізму рекомендацій. Це будівельний блок, з якого алгоритми виводять шаблони. Чим більше деталей він містить, тим точніше і практичніше він надаватиме відповідні рекомендації, що приносять прибуток. По суті, механізм рекомендацій працює, використовуючи комбінацію даних і алгоритмів машинного навчання в чотири етапи. Давайте тепер розберемося в них детально:

1. Збір даних

Першим і найважливішим кроком для створення механізму рекомендацій є збір відповідних даних для кожного користувача. Є два типи даних, тобто Явне дані, які містять інформацію, зібрану з введення користувачів, наприклад оцінки, огляди, оцінки "подобається", "не подобається" або коментарі до продуктів.

Навпаки, ми маємо Неявне дані, які містять інформацію, зібрану в результаті діяльності користувачів, наприклад історія веб-пошуку, кліки, дії з кошиком, журнал пошуку та історія замовлень.

Профіль даних кожного користувача з часом стане більш виразним; тому також важливо збирати дані атрибутів клієнта, такі як:

  • демографічні показники (вік, стать)
  • Психографіка (інтереси, цінності) для виявлення схожих клієнтів
  • дані функції (жанр, тип об’єкта) для визначення схожості подібних продуктів.

2. Зберігання даних

Після того, як ви зібрали дані, наступним кроком є ​​ефективне зберігання даних. Оскільки ви збираєте більше даних, має бути доступним достатнє, масштабоване сховище. Залежно від типу даних, які ви збираєте, доступні кілька варіантів зберігання, наприклад NoSQL, стандартна база даних SQL, MongoDB і AWS.

Вибираючи найкращі варіанти зберігання, слід враховувати деякі фактори: простоту реалізації, розмір сховища даних, інтеграцію та портативність.

3. Проаналізуйте дані

Після збору даних необхідно їх проаналізувати. Дані потім необхідно детально проаналізувати, щоб дати негайні рекомендації. Найпоширенішими методами, за допомогою яких можна аналізувати дані, є:

  • Аналіз в режимі реального часу, в якому система використовує інструменти, які оцінюють та аналізують події під час створення. Ця техніка в основному використовується, коли ми хочемо надати миттєві рекомендації.
  • Пакетний аналіз, в якому періодично проводиться обробка та аналіз даних. Ця техніка в основному використовується, коли ми хочемо надсилати електронні листи з рекомендаціями.
  • Аналіз майже в реальному часі, в якому ви аналізуєте та обробляєте дані за хвилини замість секунд, оскільки вони вам не потрібні відразу. Ця техніка в основному реалізується, коли ми надаємо рекомендації, поки користувач ще на сайті.

4. Фільтрація даних

Після аналізу даних останнім кроком є ​​точна фільтрація даних, щоб надати цінні рекомендації. Для надання правильної пропозиції до даних застосовуються різні матриці, математичні правила та формули. Ви повинні вибрати відповідний алгоритм, і результатом цієї фільтрації є рекомендації.

Проблеми двигунів рекомендацій

Досконалості просто не існує. Англійський фізик-теоретик Стівен Гокінг якось сказав:

«Одне з основних правил Всесвіту полягає в тому, що немає нічого ідеального».

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

1. Проблема ХОЛОДНОГО СТАРТУ

Ця проблема виникає, коли новий користувач приєднується до системи або додає нові елементи до запису. Система рекомендацій спочатку не може запропонувати цей новий елемент або користувача, оскільки він не має жодного рейтингу чи відгуків. Таким чином, для двигуна стає складно передбачити переваги або пріоритети нового користувача або рейтинг нових елементів, що призводить до менш точних рекомендацій.

Наприклад, новий фільм на Netflix не можна рекомендувати, поки він не отримає певні перегляди та оцінки.

Однак модель на основі глибокого навчання може вирішити проблему холодного запуску, оскільки ці моделі не сильно залежать від поведінки користувача, щоб робити прогнози. Він може оптимізувати співвідношення між користувачем і товаром, досліджуючи контекст продукту та деталі користувача, як-от описи продукту, зображення та поведінку користувачів.

2. Проблема розрідженості даних

Як ми всі знаємо, механізми рекомендацій дуже залежать від даних. У деяких ситуаціях деякі користувачі не дають оцінки чи відгуки про придбані товари. Якщо у нас немає високоякісних даних, рейтингова модель стає дуже розрідженою, що призводить до проблем із розрідженістю даних.

Ця проблема ускладнює алгоритм пошуку користувачів із подібними рейтингами чи інтересами.

Щоб забезпечити найкращу якість даних і мати можливість максимально використовувати механізм рекомендацій, поставте собі чотири запитання:

  • Наскільки останні дані?
  • Наскільки шумна інформація?
  • Наскільки різноманітна інформація?
  • Як швидко ви можете подати нові дані до моделі системи рекомендацій?

Наведені вище запитання гарантують, що ваш бізнес відповідає вимогам комплексної аналітики даних.

3. Проблема зміни налаштувань користувача

Взаємодія користувача та елемента в оцінках та оглядах може генерувати величезні дані, що змінюються.

Наприклад, я можу бути сьогодні на Netflix, щоб подивитися романтичний фільм зі своєю дівчиною. Але завтра у мене може бути інший настрій, і я хотів би подивитися класичний психологічний трилер.

Що стосується налаштувань користувачів, механізми рекомендацій можуть помилково позначати користувачів, що неефективно інтерпретуватиме результати для великих наборів даних. Отже, масштабованість є великою проблемою для цих наборів даних, і для вирішення цієї проблеми необхідні деякі передові широкомасштабні методи.

Як створити механізм рекомендацій на Python?

Цей розділ посібника допоможе вам створити основні системи рекомендацій на Python. Ми зосередимося на побудові базової системи рекомендацій, рекомендуючи елементи, які найбільше можна порівняти з конкретним пунктом, у нашому випадку з фільмами. Майте на увазі, що це не точний, надійний механізм рекомендацій. Це лише підказує, які фільми/предмети найбільше схожі на ваші налаштування.

Ви можете знайти файли коду та даних у кінці цього розділу. Отже, почнемо:

Примітка: Для виконання цього коду настійно рекомендується використовувати google collab або блокнот jupyter.

№1. Імпортуйте необхідні бібліотеки.

Імпортуйте бібліотеки машинного навчання numpy і pandas, оскільки ми будемо використовувати їх для фреймів даних та оцінки кореляцій.

код

імпортувати numpy як np імпортувати панди як pd

№2. Отримати дані

Визначте назви стовпців, прочитайте файл csv для набору даних про фільми та огляди та роздрукуйте перші 5 рядків.

код

column_names = ['user_id', 'item_id', 'rating', 'timestamp'] df = pd.read_csv('u.data', sep='t', names=names_column_names) df.head()

Вихід

Рекомендації двигунів 2022

Як ви бачите вище, у нас є чотири стовпці: ідентифікатор користувача, який є унікальним для кожного користувача. Ідентифікатор елемента є унікальним для кожного фільму, рейтингів фільму та їх часової позначки.

Тепер давайте дізнаємося назви фільмів:

код

movie_titles = pd.read_csv("Movie_Id_Titles") movie_titles.head()

Вихід

Вихід | Рекомендації двигунів 2022

Прочитайте дані за допомогою бібліотеки pandas і надрукуйте 5 верхніх рядків із набору даних. У нас є ідентифікатор та назва для кожного фільму.

Тепер ми можемо об’єднати два стовпці:

код

df = pd.merge(df,movie_titles,on='item_id') df.head()

Вихід

Код | Рекомендації двигунів 2022

Тепер у нас є комбінований фрейм даних, який ми будемо використовувати далі для дослідницького аналізу даних (EDA).

№3. Дослідницький аналіз даних

Давайте трохи вивчимо дані та подивімося на деякі з фільмів з найкращими рейтингами.

Імпорт візуалізації стане нашим першим кроком у EDA.

код

імпортувати matplotlib.pyplot як plt імпортувати морський борт як sns sns.set_style('білий') %matplotlib вбудований

Далі ми створимо рейтинговий фрейм із середньою оцінкою та кількістю оцінок у двох стовпцях:

код

df.groupby('title')['rating'].mean().sort_values(ascending=False).head()

Вихід

Дослідницький аналіз даних

код

df.groupby('title')['rating'].count().sort_values(ascending=False).head()

Вихід

Вихід 3 | Рекомендації двигунів 2022

код

рейтинги = pd.DataFrame(df.groupby('title')['rating'].mean()) ratings.head()

Вихід

Вихід 4 | Рекомендації двигунів 2022

Далі встановіть кількість стовпців рейтингу поруч із середніми оцінками:

код

рейтинги['кількість оцінок'] = pd.DataFrame(df.groupby('title')['рейтинг'].count()) ratings.head()

Вихід

Рекомендації двигунів 2022

Побудуйте кілька гістограм, щоб візуально перевірити кілька рейтингів:

код

plt.figure(figsize=(10,4)) рейтинги['кількість оцінок'].hist(bins=70)

Вихід

Рекомендації двигунів 2022 | вихід

код

plt.figure(figsize=(10,4)) рейтинги['рейтинг'].hist(bins=70)

Вихід

Вихід | Рекомендації двигунів 2022

код

sns.jointplot(x='рейтинг',y='кількість оцінок',дані=рейтинги,альфа=0.5)

Вихід

Рекомендації двигунів 2022

Гаразд! Тепер, коли ми маємо вичерпне уявлення про те, як виглядають дані, давайте перейдемо до побудови простої системи рекомендацій на Python:

№ 4. Рекомендуємо подібні фільми

Тепер давайте побудуємо матрицю з ідентифікаторами користувачів і назвою фільму. Кожна клітинка буде складатися з оцінки користувача цього фільму.

Примітка: Їх буде багато ні цінності, тому що більшість людей не бачили більшу частину фільму.

код

moviemat = df.pivot_table(index='user_id',columns='title',values='rating') moviemat.head()

Вихід

Рекомендуємо подібні фільми

Роздрукувати фільми з найвищим рейтингом:

код

ratings.sort_values('кількість оцінок',зростаючий=False).head(10)

Вихід

вихід | Рекомендуємо подібні фільми

Давайте виберемо два фільми: «Зоряні війни», науково-фантастичний фільм. А інший — брехун, брехун, це комедія. Наступним кроком є ​​отримання оцінок користувачів для цих двох фільмів:

код

starwars_user_ratings = moviemat['Зоряні війни (1977)'] liarliar_user_ratings = moviemat['Liar Liar (1997)'] starwars_user_ratings.head()

Вихід

Рекомендуємо подібні фільми | вихід

Потім ми можемо використовувати метод corrwith(), щоб отримати кореляції між двома серіями панд:

код

like_to_starwars = moviemat.corrwith(starwars_user_ratings) like_to_liarliar = moviemat.corrwith(liarliar_user_ratings)

Вихід

Вихід | Рекомендуємо подібні фільми

Існує ще багато нульових значень, які можна очистити, видаливши значення NaN. Тому ми використовуємо DataFrame замість ряду:

код

corr_starwars = pd.DataFrame(similar_to_starwars,columns=['Correlation']) corr_starwars.dropna(inplace=True) corr_starwars.head()

Вихід

Виведення коду

Тепер припустимо, що ми відсортуємо фрейм даних за кореляцією. У цьому випадку ми повинні отримати найбільш порівнянні фільми, однак зауважте, що ми отримуємо кілька фільмів, які насправді не мають сенсу.

Це тому, що є багато фільмів, які користувачі, які також дивилися зоряні війни, дивилися лише один раз.

код

corr_starwars.sort_values('Correlation',ascending=False).head(10)

Вихід

Вихід | Рекомендувати двигуни 2022 року

Ми можемо виправити це, відфільтрувавши фільми з менш ніж 100 відгуками. Ми можемо визначити це значення на основі гістограми, яку ми побудували в розділі EDA раніше.

код

corr_starwars = corr_starwars.join(ratings['кількість оцінок']) corr_starwars.head()

Вихід

Вихід | Рекомендовані двигуни 2022 року

Тепер відсортуйте значення та переконайтеся, що заголовки роблять набагато краще розуміння:

код

corr_starwars[corr_starwars['кількість оцінок']>100].sort_values('Correlation',ascending=False).head()

Вихід

Виведення коду | Рекомендовані двигуни 2022 року

Тепер те саме відбувається з комедією фільму «Брехун брехун»:

код

corr_liarliar = pd.DataFrame(similar_to_liarliar,columns=['Correlation']) corr_liarliar.dropna(inplace=True) corr_liarliar = corr_liarliar.join(ratings['кількість оцінок']) corr_liarliar[corr_liarliar['кількість оцінок']>100].sort_values('Correlation',ascending=False).head()

Вихід

Рекомендовані двигуни 2022 року

Чудово, ви створили власний механізм рекомендацій фільмів.

Примітка. Перейдіть до блокнота Google тут.

Програми та провідні компанії, які використовують механізми рекомендацій

Багато галузей використовують механізми рекомендацій, щоб покращити взаємодію з користувачами та покращити перспективи покупок. Як ми всі бачили, механізми рекомендацій можуть змінити спосіб спілкування компаній з користувачами та максимізувати їх рентабельність інвестицій (ROI) на основі інформації, яку вони можуть зібрати.

Ми побачимо, як майже кожен бізнес використовує механізм рекомендацій, щоб мати шанс отримати прибуток.

1. Електронна комерція

Електронна комерція – це галузь, де вперше почали широко використовуватися механізми рекомендацій. Компанії електронної комерції найкраще підходять для надання точних рекомендацій мільйонам клієнтів і даних у їхній онлайн-базі даних.

2. Роздрібна торгівля

Дані покупок є найбільш цінною інформацією для алгоритму машинного навчання. Це найточніша точка даних про наміри користувача. Роздрібні продавці, які володіють багатими даними про покупки, займають перше місце серед підприємств, які дають конкретні рекомендації для своїх клієнтів.

3 Медіа

Подібно до електронної комерції, медіа-компанії першими користуються методами механізмів рекомендацій. Важко помітити новинний сайт без механізму рекомендацій.

4. Банківська справа

Банківська справа — це галузь масового ринку, яка використовується в цифровому вигляді мільйонами людей і є першорядним для рекомендацій. Розуміння точного фінансового становища клієнта та його минулих виборів, пов’язане з даними тисяч порівнянних користувачів, є досить вирішальним.

5. Телеком

Ця галузь має схожу динаміку з банківською галуззю. Телефонні компанії мають облікові дані мільйонів клієнтів, кожна дія яких задокументована. Їх асортимент також є помірно вузьким порівняно з іншими секторами, що робить рекомендації в області телекомунікацій більш керованим рішенням.

6. Комунальні послуги

Подібна динаміка і з телекомунікаціями, але комунальні служби мають ще більш обмежений асортимент продуктів, що робить рекомендації відносно простими у використанні.

Найпопулярніші компанії, які використовують механізми рекомендацій

  • Amazon                    
  • Netflix
  • Spotify
  • LinkedIn
  • YouTube
  • TikTok    
  • Instagram
  • Facebook
  • труть
  • Quora
  • Google
  • Yahoo        

Заключні думки

Механізми рекомендацій — це потужний маркетинговий інструмент, який допоможе вам покращити продажі, перехресні продажі та підвищити свій бізнес. Багато речей відбувається у сфері рекомендаційних двигунів. Кожна компанія повинна бути в курсі технологій, щоб забезпечити найкращий набір рекомендацій для всіх своїх користувачів.

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

Читайте більше статей у нашому блозі про Рекомендаційні двигуни

Якщо ви все ще маєте сумніви, зв’яжіться зі мною в моїх профілях у соціальних мережах, і я з радістю допоможу вам. Ви можете прочитати більше про мене нижче:

Я спеціаліст із обробки даних зі ступенем бакалавра комп’ютерних наук, спеціалізуюся на машинному навчанні, штучному інтелекті та комп’ютерному зору. Мрінал також є незалежним блогером, автором і гіком з п’ятирічним досвідом роботи. Маючи досвід роботи в більшості галузей комп’ютерних наук, я зараз здобуваю магістр прикладних обчислень зі спеціалізацією на штучному інтелекті в Університеті Віндзора, а також є позаштатним автором контенту та аналітиком контенту.

Докладніше про двигуни рекомендацій від Mrinal Walia:

1. 5 найкращих проектів системи рекомендацій із відкритим кодом машинного навчання з ресурсами

2. Проекти глибокого навчання з відкритим вихідним кодом для студентів з інформатики, які потрібно спробувати

Медіафайли, показані в цій статті, не належать Analytics Vidhya і використовуються на розсуд Автора. 

Джерело: https://www.analyticsvidhya.com/blog/2022/01/a-comprehensive-guide-on-recommendation-engines-in-2022/

Часова мітка:

Більше від Аналітика Vidhya