Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Масштабування персоналізації за допомогою стабільних механізмів підбору на основі елементів | Системи колаборативної фільтрації та поведінкового зіставлення
Аналіз кошика покупок і системи рекомендацій

Масштабування персоналізації за допомогою стабільних механізмів підбору на основі елементів

Свайпніть щоб показати меню

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

Товарне фільтрування: принцип роботи та причини використання

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

"Які користувачі схожі на цього цільового користувача?",

товарне фільтрування ставить питання

"Які товари схожі на ті, що вже подобаються користувачу?"

Процес включає такі етапи:

  • Побудова матриці схожості товарів шляхом порівняння товарів на основі патернів взаємодії користувачів;
  • Для конкретного користувача визначення товарів, з якими він взаємодіяв або які високо оцінив;
  • Рекомендація нових товарів, схожих на попередні вибори користувача згідно з матрицею схожості.
Note
Примітка

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

Стабільність: чому товарні методи більш стабільні з часом

Уподобання користувачів можуть швидко змінюватися — користувачі приходять і йдуть, а їхні смаки можуть змінюватися. Натомість товари зазвичай залишаються незмінними, а їхні зв’язки (наприклад, "користувачі, які купили X, також купили Y") змінюються рідше. Це дає кілька переваг:

Менша волатильність: Оцінки схожості товарів менше залежать від появи нових користувачів чи спорадичної активності;

Послідовність: Рекомендації залишаються надійними навіть при зміні кількості користувачів.

Масштабованість: як товарне фільтрування працює з великими наборами даних

Товарне колаборативне фільтрування особливо підходить для великих систем з кількох причин:

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

Приклад: реалізація товарного фільтрування на прикладі матриці

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

12345678910111213141516171819202122232425262728
import numpy as np import pandas as pd from sklearn.metrics.pairwise import cosine_similarity # Sample user-item interaction matrix # Rows: users, Columns: items (1 = interaction, 0 = no interaction) data = { 'Milk': [1, 1, 0, 0], 'Bread': [1, 1, 1, 0], 'Butter': [0, 1, 1, 1], 'Eggs': [0, 0, 1, 1] } user_item_matrix = pd.DataFrame(data, index=['User1', 'User2', 'User3', 'User4']) # Computing item-item cosine similarity item_similarity = pd.DataFrame( cosine_similarity(user_item_matrix.T), index=user_item_matrix.columns, columns=user_item_matrix.columns ) # Example: Recommend items similar to 'Milk' for a user who likes 'Milk' target_item = 'Milk' similar_items = item_similarity[target_item].sort_values(ascending=False) recommended = similar_items[1:3] # Exclude 'Milk' itself print('Items most similar to \'Milk\':') print(recommended)

1. Яка ключова перевага використання колаборативної фільтрації на основі предметів замість фільтрації на основі користувачів?

2. Яке твердження найкраще описує, чому колаборативна фільтрація на основі предметів краще масштабується для великих систем?

question mark

Яка ключова перевага використання колаборативної фільтрації на основі предметів замість фільтрації на основі користувачів?

Виберіть правильну відповідь

question mark

Яке твердження найкраще описує, чому колаборативна фільтрація на основі предметів краще масштабується для великих систем?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 4

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 3. Розділ 4
some-alt