Ответ
В рекомендательных системах пользовательский фидбэк классифицируют по степени явности и формату:
-
Явный (Explicit Feedback): Прямые оценки, которые пользователь сознательно предоставляет.
- Примеры: Звёздные рейтинги (1-5), лайки/дизлайки, прямые сравнения (предпочтение A над B).
- Плюсы: Чётко выражает предпочтение.
- Минусы: Собирается редко, подвержен bias (оценивают чаще крайне довольные или недовольные).
-
Неявный (Implicit Feedback): Данные, выводимые из поведения пользователя.
- Примеры: Просмотры, клики, время сессии, скроллинг, добавление в корзину, покупки.
- Плюсы: Обильный, собирается пассивно.
- Минусы: Шумный, требует интерпретации (клик — это «нравится» или просто любопытство?).
-
Гибридный подход: Комбинирование явного и неявного фидбэка для повышения качества рекомендаций.
- Техника: Модель factorization machines или нейросетевая архитектура, принимающая на вход оба типа сигналов.
- Пример: Использовать матрицу просмотров (неявный) для заполнения пропусков в матрице рейтингов (явный).
Практический пример обработки в Python (pandas):
import pandas as pd
# Имитация данных
feedback_data = pd.DataFrame({
'user_id': [101, 101, 102, 103],
'item_id': [55, 78, 55, 90],
'rating': [5, None, 3, None], # Явный фидбэк (есть пропуски)
'view_time_sec': [120, 45, 10, 300], # Неявный фидбэк
'purchased': [1, 0, 0, 1] # Неявный фидбэк
})
# Создание гибридного сигнала: если рейтинга нет, используем нормализованное время просмотра как его прокси
feedback_data['hybrid_score'] = feedback_data['rating'].combine_first(feedback_data['view_time_sec'] / 100)
print(feedback_data[['user_id', 'item_id', 'hybrid_score']])
Выбор типа фидбэка зависит от домена: для Netflix критичны явные рейтинги, для YouTube — неявные данные о просмотрах.