3,583 papers
arXiv:2511.07166 78 10 нояб. 2025 г. FREE

AdaRec: двухканальное рассуждение для рекомендаций на основе данных

КЛЮЧЕВАЯ СУТЬ
Проблема: LLM видит в таблице «покупок = 6», но не понимает это много или мало, растёт тренд или падает. Модель теряется в сырых цифрах без контекста. AdaRec позволяет делать точные персонализированные рекомендации на основе табличных данных — профилей клиентов, истории покупок, метрик поведения. Метод работает в два хода: сначала превращаешь цифры в связный текст с контекстом («выше среднего на 40%, снижение за квартал»), затем запускаешь два канала рассуждения одновременно — горизонтальный ищет паттерны среди похожих случаев (что делали такие же клиенты), вертикальный анализирует причинные факторы конкретной ситуации (какие параметры важны для этого человека).
Адаптировать под запрос

TL;DR

AdaRec — метод рекомендаций через LLM, который работает в два этапа. Сначала нарративный профилинг превращает сырые данные (таблицы, цифры, факты) в связное текстовое описание с контекстом. Затем двухканальное рассуждение анализирует ситуацию двумя путями одновременно: горизонтальный канал ищет паттерны среди похожих случаев, вертикальный — выявляет причинные связи между факторами.

LLM плохо работают с табличными данными и сырыми цифрами. Модель видит "количество покупок = 6", но не понимает это много или мало, растёт тренд или падает. Когда данные идут списком без контекста, модель упускает связи и закономерности. Плюс стандартные промпты используют либо похожие примеры (similarity-based), либо причинный анализ (causal reasoning), но не комбинируют оба подхода — каждый по отдельности даёт неполную картину.

AdaRec решает это через связку техник. Нарративный профилинг описывает данные естественным языком: не "6 категорий", а "ниже среднего по рынку, снижение за квартал". Двухканальное рассуждение комбинирует Pattern Analysis (что делали похожие пользователи) с Factor Analysis (какие факторы влияют на выбор). Few-shot примеры показывают исторические кейсы, а модель синтезирует рекомендацию на основе обоих каналов.


🔬

Схема метода

ПОДГОТОВКА (делается один раз для задачи):

1. Нарративный профилинг
   Вход: Сырые данные (таблица, цифры)
   Действие: LLM описывает каждый параметр с контекстом распределения
   Выход: Связный текстовый профиль

2. Поиск исторических кейсов
   Действие: Находим похожие случаи из прошлого (top-K по сходству)
   Выход: Набор примеров для Pattern Analysis

3. Причинный анализ
   Действие: Алгоритм FCI находит какие факторы влияют на результат
   Выход: Список ключевых факторов для Factor Analysis

РАССУЖДЕНИЕ (для каждой рекомендации):

4. Двухканальное рассуждение → рекомендация

   Вход в промпт:
   - Описание задачи
   - Factor Analysis: ключевые факторы влияния
   - Pattern Analysis: примеры похожих случаев (few-shot)
   - Нарративный профиль текущего случая

   Модель анализирует через оба канала:
   → Горизонтально: паттерны из похожих кейсов
   → Вертикально: причинные факторы для этого случая

   Выход: Рекомендация с объяснением

🚀

Пример применения

⚠️ Выбор примера: AdaRec показывает сильные результаты на задачах с табличными данными и историческими кейсами. Не для простых вопросов без контекста, не для творческих задач. Сильная зона — персонализированные рекомендации на основе профиля и истории похожих случаев.

Задача: Вы управляете интернет-магазином электроники в России. Нужно порекомендовать 3 товарные категории для персонального email-предложения клиенту на основе его истории покупок и поведения.

Промпт:

Ты — менеджер по персонализации в интернет-магазине "Техносфера". 
Задача: порекомендовать 3 товарные категории для email-рассылки клиенту.

ПРОФИЛЬ КЛИЕНТА (нарративное описание):
Активность клиента выше среднего — 315 визитов за год против 180 у типичного покупателя. 
Просматривал 5 категорий за последний месяц, что говорит о широком интересе. 
Фокус на беспроводных устройствах и спорттоварах в последние 3 месяца. 
Использует мобильное приложение активно (522 сессии за год). 
Средний чек ₽8,500 — в топ-25% покупателей. 
Prime-подписка активна 2 года.

FACTOR ANALYSIS — ключевые факторы влияния на выбор категории:
1. Частота визитов в приложение (высокая корреляция с покупкой новинок)
2. Количество просмотренных категорий (широта интересов)
3. История категорий в корзине (беспроводные устройства, спорт)
4. Средний чек (готовность к премиум-сегменту)

PATTERN ANALYSIS — что выбирали похожие клиенты:

Кейс 1: Профиль: 320 визитов/год, 6 категорий/месяц, средний чек ₽9,200, 
фокус на электронике и спорте.
Купил: беспроводные наушники, фитнес-браслет, портативная колонка.

Кейс 2: Профиль: 290 визитов/год, 4 категории/месяц, средний чек ₽7,800, 
Prime-подписка, интерес к гаджетам.
Купил: умные часы, внешний аккумулятор, игровая мышь.

Кейс 3: Профиль: 340 визитов/год, 5 категорий/месяц, средний чек ₽8,900, 
активное использование приложения.
Купил: Bluetooth-гарнитура, спортивная камера, чехол для планшета.

На основе Factor Analysis (что важно) и Pattern Analysis (что работало у похожих) 
порекомендуй 3 категории товаров для этого клиента. 
Формат: {"категории": ["категория1", "категория2", "категория3"], 
"уверенность": "высокая/средняя/низкая", "объяснение": "почему эти категории"}

Результат:

Модель выдаст JSON с тремя категориями и развёрнутым объяснением. В объяснении будут видны оба канала рассуждения: ссылки на паттерны из похожих кейсов (Pattern Analysis) и анализ ключевых факторов конкретного клиента (Factor Analysis). Например: "Беспроводные наушники — высокий средний чек позволяет премиум-сегмент (Factor), плюс в 2 из 3 похожих кейсах этот товар был куплен (Pattern)".


🧠

Почему это работает

LLM плохо обрабатывают табличные данные напрямую. Модель видит список "feature1: 6, feature2: 3, feature3: 4", но не понимает контекст — это много или мало, как связаны между собой, какой тренд. Нарративный профилинг решает это: вместо сырых цифр даём описание с контекстом распределения ("выше среднего на 40%", "снижение за квартал"). Это то, что модель понимает хорошо — естественный язык с семантикой.

LLM сильны в поиске паттернов и причинно-следственных связях, но обычно используется что-то одно. Similarity-based подходы дают примеры похожих случаев, но не объясняют ПОЧЕМУ они сработали. Causal reasoning выделяет факторы влияния, но игнорирует проверенные паттерны из реальных кейсов. Оба подхода по отдельности дают неполную картину.

Двухканальное рассуждение использует обе сильные стороны одновременно. Pattern Analysis (горизонталь) — модель анализирует few-shot примеры похожих случаев и извлекает что сработало. Factor Analysis (вертикаль) — модель фокусируется на ключевых факторах конкретной ситуации через причинный анализ. Комбинация даёт и обобщение от паттернов, и специфику через факторы. Модель синтезирует рекомендацию, опираясь на оба канала, что даёт более точный и объяснимый результат.

Рычаги управления:

  • Количество исторических кейсов в Pattern Analysis (в исследовании k=5) → увеличь для сложных задач, уменьши для экономии токенов
  • Список ключевых факторов в Factor Analysis (в исследовании до 15 факторов) → сократи до 5-7 самых важных для фокуса
  • Детальность нарративного профиля → упрости для быстрых задач, детализируй для сложных решений
  • Формат вывода (JSON в примере) → замени на свободный текст для развёрнутых объяснений

📋

Шаблон промпта

Ты — {роль эксперта в области}. Задача: {описание задачи рекомендации}.

ПРОФИЛЬ (нарративное описание):
{Опиши данные естественным языком с контекстом: не "показатель = 5", 
а "выше среднего на 30%, рост за период"}

FACTOR ANALYSIS — ключевые факторы влияния:
{Список факторов, которые влияют на результат, с пояснением важности}

PATTERN ANALYSIS — что работало в похожих случаях:

Кейс 1: Профиль: {краткое описание похожего случая}
Результат: {что было выбрано/сделано}

Кейс 2: Профиль: {краткое описание похожего случая}
Результат: {что было выбрано/сделано}

Кейс 3: Профиль: {краткое описание похожего случая}
Результат: {что было выбрано/сделано}

На основе Factor Analysis (ключевые факторы) и Pattern Analysis (проверенные паттерны) 
дай рекомендацию для этого случая. 

Формат ответа: {твой формат — JSON, список, текст с обоснованием}

Как заполнять:

  • {роль эксперта} — кто принимает решения в этой области
  • {описание задачи} — что нужно порекомендовать
  • Профиль — преобразуй сырые данные в связное текстовое описание с контекстом (относительные значения, тренды)
  • Factor Analysis — выдели 5-10 факторов, которые влияют на решение в этой области
  • Pattern Analysis — приведи 3-5 примеров похожих ситуаций с известным результатом
  • Формат ответа — укажи нужную структуру (JSON, список, текст)

⚠️

Ограничения

⚠️ Требует исторические кейсы: Метод работает когда есть примеры похожих случаев из прошлого. Для совершенно новых ситуаций без аналогов Pattern Analysis не даст пользы — останется только Factor Analysis.

⚠️ Ручная подготовка факторов: В оригинале Factor Analysis строится алгоритмом FCI на основе данных. В чате вам нужно самим выделить ключевые факторы влияния. Если факторы выбраны неправильно, вертикальный канал будет работать плохо.

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

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


🔍

Как исследовали

Исследователи взяли два датасета из реальной e-commerce практики. Первый — предсказание отклика клиента на маркетинговую кампанию (5,000 примеров обучения, 119 признаков). Второй — рекомендация брендов для промо-карусели (4,692 примера, 111 признаков, выбор из 17 брендов). Задачи из разных областей специально, чтобы проверить переносимость метода.

Команда сравнила AdaRec с классическими ML-моделями (LightGBM, обученный на 1.14M примеров, и Hierarchical RNN на 2B+ взаимодействий) и LLM-based базлайнами (MINT с синтетическими нарративами, NBCRS с retrieval из готовых ответов, RecMind с агентным подходом). Важная деталь — AdaRec тестировали в zero-shot и few-shot (5 примеров) режимах, тогда как ML-модели тренировали на огромных объёмах. Это демонстрирует ключевое преимущество: работа с минимальными данными.

Метрики: для предсказания отклика — Precision/Recall/F1, для брендов — Expected CTR (насколько рекомендованные бренды совпали с реальным выбором). Тестировали на трёх LLM: Claude-3.5-Sonnet, Llama-3.1-70B, Qwen-2.5-32B.

Удивительный результат: AdaRec с 5 примерами обогнал ML-модели, тренированные на миллионах записей. F1 94.33% против 86.67% у LightGBM — это +8% улучшение. В zero-shot сценарии нарративный профилинг от LLM показал +19% против экспертных профилей, созданных маркетологами вручную. Это означает, что LLM лучше людей формулируют контекст данных для собственного понимания — метод самодостаточен.

Инсайт для практики: Двухканальная архитектура даёт главный прирост именно от Pattern Analysis (исторических кейсов). Ablation study показала: нарративный профилинг — это база (F1 74.1%), причинные факторы добавляют немного (+1.9%), а исторические паттерны дают скачок до 90.9% (+16.8%). Вывод — few-shot примеры похожих случаев критичны, причинный анализ — усилитель, но не основа.

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


💡

Адаптации и экстраполяции

📌

🔧 Техника: Одноканальный режим → экономия токенов

Если задача простая или бюджет токенов ограничен, используй только один канал:

Только Pattern Analysis (для задач с хорошими историческими аналогиями):

Вот 3-5 похожих случаев из прошлого: [кейсы]
На основе этих паттернов порекомендуй для текущей ситуации: [профиль]

Только Factor Analysis (для новых ситуаций без аналогов):

Ключевые факторы влияния: [факторы]
Данные текущей ситуации: [профиль]
Проанализируй через призму этих факторов и дай рекомендацию.

📌

🔧 Техника: Динамический нарратив → адаптация под аудиторию

Адаптируй стиль нарративного профиля под того, кто будет читать объяснение:

Создай нарративный профиль для {целевой аудитории}:
- Для технического лидера: фокус на метрики, тренды, количественные сравнения
- Для маркетолога: фокус на поведенческие паттерны, сегменты, инсайты
- Для топ-менеджмента: фокус на бизнес-импликации, риски, возможности

Данные: [сырые данные]

📌

🔄 Экстраполяция: Комбинация с Chain-of-Thought для сложных решений

Для многофакторных решений с высокими ставками добавь явный CoT после двухканального анализа:

[Стандартный промпт AdaRec с Factor + Pattern Analysis]

Теперь, шаг за шагом:
1. Какие сигналы из Pattern Analysis противоречат Factor Analysis?
2. Как разрешить эти противоречия?
3. Какие риски у каждого варианта?
4. Финальная рекомендация с учётом всех факторов.

Это добавляет третий слой рефлексии поверх двухканального рассуждения.


🔗

Ресурсы

AdaRec: Adaptive Recommendation with LLMs via Narrative Profiling and Dual-Channel Reasoning

Meiyun Wang (The University of Tokyo), Charin Polpanumas (Amazon.com, Inc.)

Proceedings of the 1st ICML Workshop on Foundation Models for Structured Data, 2025

Код: https://anonymous.4open.science/r/AdaRec-CE5C


📋 Дайджест исследования

Ключевая суть

Проблема: LLM видит в таблице «покупок = 6», но не понимает это много или мало, растёт тренд или падает. Модель теряется в сырых цифрах без контекста. AdaRec позволяет делать точные персонализированные рекомендации на основе табличных данных — профилей клиентов, истории покупок, метрик поведения. Метод работает в два хода: сначала превращаешь цифры в связный текст с контекстом («выше среднего на 40%, снижение за квартал»), затем запускаешь два канала рассуждения одновременно — горизонтальный ищет паттерны среди похожих случаев (что делали такие же клиенты), вертикальный анализирует причинные факторы конкретной ситуации (какие параметры важны для этого человека).

Принцип работы

Не гони всё в один промпт с таблицей — разбей на этапы. Этап 1: Нарративный профилинг — опиши каждый параметр естественным языком. Не «визитов = 315», а «активность выше среднего — 315 визитов против 180 у типичного покупателя». Не «категорий = 5», а «широкий интерес — просматривал 5 категорий за месяц». Контекст распределения даёт модели понимание. Этап 2: Двухканальное рассуждениескармливаешь модели два типа информации разом. Pattern Analysis (горизонталь): 3-5 примеров похожих случаев из прошлого с результатами — «клиент с профилем X купил Y». Factor Analysis (вертикаль): список ключевых факторов влияния — «средний чек коррелирует с премиум-сегментом». Модель синтезирует рекомендацию, опираясь на оба канала — и проверенные паттерны, и специфику ситуации.

Почему работает

LLM заточены под естественный язык, а не под таблицы. Модель видит список фич «feature1: 6, feature2: 3», но это для неё просто токены без семантики. Нарративное описание делает данные понятными: «выше среднего» или «падение за квартал» — это модель схватывает мгновенно. Один канал рассуждения — это половина картины. Рекомендации на основе похожих случаев (similarity-based) дают проверенные паттерны, но не объясняют ПОЧЕМУ сработало. Причинный анализ (causal reasoning) выделяет важные факторы, но игнорирует реальные кейсы. Двухканальный подход комбинирует оба: модель видит что работало у похожих (обобщение), и понимает какие факторы важны здесь и сейчас (специфика). Результат — рекомендация одновременно проверенная и персонализированная.

Когда применять

Рекомендательные системы → персонализация для клиентов/пользователей → особенно когда есть табличные данные профиля (возраст, история покупок, метрики поведения) и исторические кейсы (что выбирали похожие люди). Подходит для: интернет-магазины (товарные рекомендации), подбор контента (статьи, курсы), CRM (следующий лучший шаг для клиента), подбор вакансий/кандидатов. НЕ подходит для: творческих задач без данных (генерация текста, идеи дизайна), ситуаций без исторических аналогов (совершенно новый продукт).

Мини-рецепт

1. Преобразуй данные в нарратив: Вместо таблицы с цифрами опиши каждый параметр текстом с контекстом. Формат: «Показатель X: [значение] — [сравнение со средним/нормой], [тренд за период]». Пример: не «визитов = 315», а «активность выше среднего — 315 визитов за год против 180 у типичного покупателя».

2. Подготовь Factor Analysis: Выдели 5-7 ключевых факторов, которые влияют на решение в твоей области. Укажи ПОЧЕМУ каждый важен. Пример для e-commerce: «Средний чек (готовность к премиум-сегменту)», «Частота визитов (интерес к новинкам)».

3. Собери Pattern Analysis: Найди 3-5 похожих случаев из прошлого с известным результатом. Формат: «Профиль: [краткое описание], Результат: [что было выбрано]». Важно: примеры должны быть релевантны текущей ситуации.

4. Промпт с двумя каналами: Скармливай модели всё вместе — нарративный профиль, список факторов, исторические кейсы. Инструкция: «На основе Factor Analysis (ключевые факторы) и Pattern Analysis (проверенные паттерны) дай рекомендацию». Модель сама синтезирует ответ через оба канала.

5. Требуй объяснение: В конце промпта добавь «Объясни почему эти рекомендации, ссылаясь на факторы и паттерны». Увидишь как модель использует оба канала — это контроль качества рассуждения.

Примеры

[ПЛОХО] : Скармливаешь таблицу напрямую — Порекомендуй категории для клиента: визитов=315, категорий=5, средний_чек=8500, подписка=да. Модель не понимает контекст цифр, выдаёт общие рекомендации.
[ХОРОШО] : Даёшь нарративный профиль + два канала: Профиль: Активность выше среднего — 315 визитов против 180 у типичных. Широкий интерес — 5 категорий за месяц. Средний чек ₽8,500 — топ-25% покупателей. Factor Analysis: 1) Средний чек → готовность к премиум-сегменту, 2) Широта интересов → открыт к новым категориям. Pattern Analysis: Кейс 1: 320 визитов, чек ₽9,200 → купил беспроводные наушники, фитнес-браслет. Кейс 2: 290 визитов, чек ₽7,800 → купил умные часы, внешний аккумулятор. Порекомендуй 3 категории, опираясь на факторы и паттерны. Модель синтезирует ответ через оба канала — видит что работало у похожих (наушники, гаджеты) и учитывает специфику (высокий чек = премиум).
Источник: AdaRec: Adaptive Recommendation with LLMs via Narrative Profiling and Dual-Channel Reasoning
ArXiv ID: 2511.07166 | Сгенерировано: 2026-01-12 18:51

Концепты не выделены.

📖 Простыми словами

Традиционные рекомендательные системы — это унылые черные ящики. Ты скармливаешь им миллионы строк с цифрами вроде доход: 75000, а они выплевывают ответ без объяснений. Проблема в том, что для нейросети «75000» — это просто число в вакууме. Метод AdaRec меняет правила игры: он превращает сухие таблицы в живые истории, которые понятны LLM. Вместо того чтобы учить модель на гигантских датасетах, ей дают контекстуализированные описания и заставляют рассуждать по двум каналам сразу. Это как если бы вместо робота-сортировщика ты нанял опытного консультанта, который помнит всех клиентов в лицо.

Это как пытаться соватать другу подарок, просто глядя на его выписку из банка. Формально всё сказал, но мимо кассы — ты видишь траты, но не понимаешь человека. AdaRec работает иначе: он берет твои цифры и переводит их на человеческий. Это как если бы ты пришел к профи-байеру и сказал: «У меня есть клиент, он зарабатывает на четверть больше среднего и заходит в приложение по 10 раз на дню». Байер тут же вспоминает пятерых похожих ребят, прикидывает, что именно их зацепило, и выдает идеальный вариант. Числа — это херня, контекст — это всё.

Что реально работает в этой схеме: во-первых, Narrative Profiling. Мы не пишем «возраст 35», мы пишем «средний возраст для активных покупателей». Это дает модели зацепку, и результат в zero-shot режиме сразу прыгает на 19%. Во-вторых, Dual-Channel Reasoning. Модель гонят по двум путям: Pattern Analysis (ищем похожих юзеров и смотрим, что они купили) и Factor Analysis (выделяем причинно-следственные связи через алгоритм FCI). Когда LLM видит и примеры из жизни, и ключевые факторы, она лажает на 8% реже, чем классический LightGBM, обученный на миллионе примеров.

Тестировали всё это на интернет-магазинах, но принцип универсален. Эта фигня сработает везде, где есть данные о пользователях: в банках, онлайн-кинотеатрах или при продаже курсов. Тебе не нужно переучивать модель под каждую задачу. Если ты один раз настроил превращение таблиц в текст, система будет одинаково хорошо предсказывать и отклик на скидку, и выбор бренда. SEO умирает, GEO рождается, и в мире рекомендаций теперь рулит тот, кто умеет правильно «скормить» контекст нейронке.

Короче: хватит мучить классический ML, если у тебя нет лишнего месяца на обучение моделей. Внедряй двухканальное рассуждение и пиши описания для AI так, будто объясняешь суть дела человеку. 5 примеров в промпте с правильным контекстом бьют миллионные выборки старых алгоритмов. Если не адаптируешься сейчас и продолжишь пихать в модель сырые цифры, будешь потом гадать, куда делись клиенты, пока конкуренты забирают рынок за счет копеечных API-запросов.

Сгенерировано: 21.12.2025 16:57 | ArXiv Data Collector

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с