машинное обучение · рекомендательные системы · персонализация · алгоритмы · эмбеддинги · Telegram бот · data mining5 сентября в 04:32 · 6 мин

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

В разработке современных систем рекомендаций столкнулись с фундаментальной проблемой: попытка конвертировать разнородные пользовательские интересы в единый вектор данных приводит к потере смысловой информации. Исследование команды разработчиков Telegram-бота @noiseoffbot демонстрирует, что простой усредненный подход неэффективен, особенно для коротких запросов, и показывает эффективность комбинации многовекторных моделей с методом обогащения через поиск по релевантности.

Прозрачная стеклянная призма, преломляющая холодные синие звуковые волны в туманном ночном порте.

# «Спорт, борщ, крипта»: как мы проверяли, работают ли интересы в рекомендательной системе

Разработка эффективных рекомендательных систем требует точного понимания того, как пользовательские интересы конвертируются в математические векторы. На практике часто встречается ситуация, когда пользователь вводит разнородный набор интересов — например, «спорт, финансы, IT». Попытка склеить такой текст в одно целое и получить один эмбеддинг (векторное представление) часто приводит к созданию абстрактной точки в семантическом пространстве, которая не отражает реальную специфику ни одной из тем.

В рамках проекта @noiseoffbot была проведена масштабная проверка эффективности подхода обработки интересов. Результаты показали, что интуитивно понятные решения не всегда работают в условиях реальных данных, и для достижения высокой точности требуются более сложные алгоритмические конструкции.

Проблематика единого вектора

Исходная логика системы предполагала преобразование текста интересов пользователя в один общий вектор. Такой подход имеет серьезные недостатки. Когда интересы сформулированы кратко, например, одним словом «IT», полученный вектор становится слишком общим. Он может захватывать широкий спектр тем: от корпоративных акций технологических компаний до новостей о рынке труда. Для пользователя, интересующегося конкретными аспектами разработки, это означает получение контента, формально подходящего по теме, но не соответствующего глубине интереса.

Более сложная ситуация возникает при наличии нескольких разнородных интересов, таких как «спорт, машинное обучение и рецепты борща». Для алгоритма эмбеддинга эти темы объединяются в одну точку пространства, фактически находящуюся в семантической пустоте между ними. Человек видит это как три совершенно разных направления, тогда как система видит усредненную точку, которая может не соответствовать ни одному из них. Это создает ситуацию, когда вектор интереса работает хуже, чем случайное предположение.

Для оценки качества работы вектора интересов исследователи использовали метрику ROC-AUC. В идеальном случае эта метрика показывает, насколько часто система ставит лайкнутому посту более высокий балл, чем дизлайкнутому. Значение 0.5 соответствует случайному угадыванию, а 1.0 — идеальному порядку. Исследования на выборке из 13 пользователей показали средний результат AUC 0.5174, что практически равно монете. Однако при анализе коротких интересов метрика упала до 0.41, что свидетельствует о системе, хуже случайного.

Кроме того, для оценки важности были проанализированы метрики P@10 (доля лайкнутых постов в первой десятке) и NDCG@10 (нормализованный коэффициент дисконтной грамотности с учетом позиции). Показатели для коротких интересов также оставались на уровне, не превосходящем случайный порядок.

Алгоритмические подходы к оптимизации

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

1. Мультивекторная архитектура (А): Вместо создания одного вектора для всего текста интересы разделяются на части. Если пользователь указал «спорт, ML, борщ», система генерирует три отдельных вектора. При расчете релевантности поста используется функция максимума косинусного сходства с любым из векторов интересов. Это позволяет избежать усреднения и сохраняет специфичность каждой темы.

2. Обогащение через поиск (J): Этот метод, известный как псевдореlevance-обратная связь, применяется для устранения неоднозначности коротких запросов. Алгоритм ищет в базе знаний K ближайших к запросу постов и усредняет их векторы, смешивая с исходным вектором интереса. Это помогает сместить вектор из абстрактной области в пространство реального контента платформы. При этом критически важно исключать из поиска посты, на которые пользователь уже давал оценку, чтобы избежать искусственного завышения метрик.

3. Привязка к тегах (I): Попытка сопоставить текст интересов с существующей таксономией тегов платформы. Метод оказался неэффективным, так как широкие категории тегов не способны различить специфические нюансы интересов пользователя, схлопывая их в общие группы.

4. Обогащение через LLM (B): Использование языковых моделей для генерации списка смежных тем и ключевых слов на основе короткого запроса. Расширенный текст затем превращается в вектор. Однако этот подход несет риск «галлюцинаций», когда модель добавляет темы, не заявленные пользователем, что может исказить предпочтения.

5. Комбинированные подходы: Идея заключалась в объединении преимуществ разных методов. Например, комбинация B+A использует LLM не для усреднения, а для разбивки интересов на подтемы, каждая из которых обрабатывается как отдельный вектор.

Результаты экспериментов

Тестирование проводилось на исторических данных о лайках и дизлайках пользователей. Результаты показали значительный разрыв между простым подходом и оптимизированными алгоритмами.

Простой метод с одним вектором на все интересы показал средний AUC 0.5174, что подтвердило гипотезу об отсутствии полезного сигнала. В то же время, методы A (мультивекторность) и J (обогащение) продемонстрировали независимый положительный эффект.

Самый эффективный результат для общего порядка ленты показала комбинация методов A+J (LLM + мультивектор), которая подняла AUC до 0.8025. Это означает, что система способна в 16 раз чаще правильно предсказать интерес пользователя, чем случайный выбор. Однако лидером по показателю качества первой десятки (NDCG@10) стала комбинация B+A, где метод обогащения через LLM работал вместе с разбивкой на подтемы.

Важно отметить, что методы, показавшие лучшие результаты в целом (A+J), дали несколько худшие показатели для верхней части ленты по сравнению с B+A. Это связано с различиями в том, как рассчитывается релевантность: максимизация совпадения по любому вектору в наборе может давать «перекошенную» верхушку ленты в сторону одной узкой темы, тогда как другие методы обеспечивают более сбалансированный состав.

Для промышленной эксплуатации было выбрано решение A+J. Оно обеспечивает высокую точность и, главное, не требует постоянных вызовов внешних языковых моделей, что снижает нагрузку на систему и исключает риски появления нежелательного контента из-за ошибок генерации. Обогащение вектора происходит только на основе существующего контента платформы.

Ключевые выводы

Исследование подтвердило интуитивное предположение о том, что разнородные интересы нельзя эффективно представлять одной усредненной точкой. Основные выводы, применимые к любым рекомендательным системам:

* Не усредняйте разнородное: Один вектор для нескольких тем создает семантически пустую точку. Использование набора векторов с расчетом по максимуму является более robust (устойчивым) решением. * Лечение коротких запросов: Для размытых интересов эффективен метод обогащения через поиск похожих документов в собственной базе знаний (PRF), который не требует внешних данных или сложных языковых моделей. * Отдельные методы, общая проблема: Короткие интересы и разнотемные запросы представляют две разные проблемы, которые решаются независимо и суммируемо. * Роль LLM: Языковые модели могут помочь, но их использование должно быть взвешенным из-за стоимости вызовов и риска некорректной интерпретации запросов пользователя.

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

*Примечание редактора: Цифровые метрики, полученные в рамках данного исследования, отражают состояние системы на конкретном этапе эксперимента и не являются абсолютной мерой качества для всех пользователей платформы.*

Первоисточники

Habr AI
← Вернуться в эфир