Как стать автором
Обновить
492.41
Сбер
Технологии, меняющие мир

Персонализируем контент с помощью ИИ

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров513

Всем привет! Меня зовут Анастасия Шмалько, я лидер команды «AI-Персонализация контента» в Сбере. Сегодня я расскажу о том, как с помощью LLM и машинного обучения мы персонализируем рекламные SMS для корпоративных клиентов.

Наша цель — создание долгосрочных доверительных отношений с клиентом. Мы показываем, что сообщения от банка адресованы именно ему, они учитывают его потребности и помогают развивать его бизнес. С помощью индивидуального подхода в коммуникациях мы укрепляем эмоциональную связь и повышаем уровень доверия к банку. Создаём текст в формате и тональности, наиболее близкой этому человеку, опираясь на его профиль, интересы, предпочтения и отклики.

Зачем нужна персонализация?

Сразу начну с примера:

Слева — SMS с универсальным текстом «для всех». А справа — два текста с персонализацией по двум параметрам клиента: полу и поколению. 

В маркетинге есть «теория поколений»: в зависимости от года рождения людей относят к разным поколениям — X, Y (миллениалы) и  Z . Считается, что для них характерно разное восприятие информации. Это обусловлено влиянием исторических, социальных и технологических событий. Проще говоря, у людей разных поколений разные ценности.

На иллюстрации выше женщина относится к поколению Z, а мужчина — к поколению X. Хорошо видно различие в обращении и тональности сообщений: с поколением Z мы общаемся неформально и на «ты», а с поколением X тон подчёркнуто уважительный, акцент на надёжность продукта.

Если бегло посмотреть на все три SMS, то может показаться, что между ними нет особой разницы. Везде говорится про привлекательную ставку и что не надо посещать офис банка для оформления. Так стоит ли вообще заморачиваться с персонализацией? Быстрый ответ — «Да!». Примеры выше взяты из нашего эксперимента, который мы провели в прошлом году. В А/В-тесте контрольная группа клиентов получала стандартный текст, написанный человеком, а целевая — персонализированные тексты, всего шесть штук: два пола и три поколения в различных сочетаниях. И самое интересное для нас то, что персонализированные тексты сгенерированы с помощью GigaChat. Клиенты целевой группы, которые получали персонализированные SMS, показали бОльшую конверсию в сделку и принесли нам сотни миллионов рублей дополнительного дохода. И этот эффект можно масштабировать.

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

Путь к «идеальному» ИИ 

Начинали мы примерно в середине 2024 года. Сначала опробовали модель «из коробки»: подавали на вход стандартный текст SMS и просили его персонализировать, например, по полу человека. Но получали только различие окончаний в обращении к клиенту: уважаемый, уважаемая. 

Тогда спросили GigaChat: 

—Ты знаешь, как персонализировать SMS под мужчин и под женщин? Знаешь, в чём различия их восприятия?

— Да, знаю. Женщины более эмоциональные, поэтому для них текст должен быть соответствующим, ярким, с использованием метафор и эпитетов. А для мужчин текст должен быть чётким и лаконичным. 

— Отлично, приведи примеры. 

И вот примеры, которые мы заслужили:

И ведь не поспоришь: для женщин — красочно и эмоционально, для мужчин — кратко и чётко. Теперь «Привет, мужик!» — локальный мем нашей команды ☺ 

Очевидно, что требуется найти подход к LLM и подробнее описать запрос для получения нужного результата. 

Этап первый. Prompt-engineering

Для начала мы решили подробно описать в промпте правила редакционной политики: не использовать даты прописью, деепричастия, абстракции, клише и т. д. — всего около 30 правил, дать модели расширенные инструкции по персонализации. Для этого создали базу знаний по шести параметрам: три параметра личности клиента — пол, поколение и психотип, и три параметра бизнеса — стадия развития, отрасль и организационно-правовая форма. 

Помимо этого, в запросе передавались: информация о продукте, его преимущества, ключевое сообщение. В конце промпта в качестве рефлексии ещё раз предлагали модели убедиться, что в созданном тексте есть ключевая информация о продукте — чтобы не потерять основной посыл за всеми инструкциями. Далее всё это подавали в GigaChat (на тот момент самую продвинутую модель из линейки — GigaChat Pro). 

Вот пример:

Выводы на первом этапе:

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

  • Несмотря на большое контекстное окно модели, большинство инструкций из промпта игнорировалось. 

  • Правила редакционной политики нарушались, персонализация была слабой или отсутствовала. 

  • Проблема loss-in-the-middle — игнорирование инструкций в середине промпта — оказалась свойственна всем передовым моделям: ChatGPT-4O, O1, Gemini и др.

Самый главный вывод: важно снизить когнитивную нагрузку на LLM в рамках одного запроса, автоматизировать проверку текстов на соответствие внутренним стандартам и поработать над структурой промпта. 

Этап второй. Добавляем классические инструменты NLP

Огромный промпт из первого подхода мы разделили на две части: сначала создавали SMS без персонализации, а при втором обращении к GigaChat адаптировали его под выбранные параметры. Самым важным на этом этапе было добавление классических инструментов NLP в конвейер генерации текстов.

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

Выводы на втором этапе:  

  • Снизили когнитивную нагрузку на GigaChat, формализовали правила и проверки, а с помощью циклов перегенерации добились их соблюдения.

  • Но персонализация по‑прежнему была слабовата. Модели сложно давалось понимание инструкций в формате: «Текст должен быть с акцентом на практическую значимость продукта, подчеркни удобство для сотрудников и т. п.».

Этап третий. Всё упрощаем

Начали всячески упрощать схему:

  • Убрали из промпта правила редакционный политики. Добиваемся их соблюдения в цикле проверок и перегенераций. Их наличие в промпте иногда носит эффект «НЕ думай о слонах»: модель начинает о них думать, то есть может игнорировать ограничение.

  • Проанализировали эталонные SMS, написанные редакторами, сократили инструкции по персонализации до отдельных фраз и терминов. Теперь мы не пишем: «Текст должен быть таким-то», а просим GigaChat использовать в тексте конкретные слова и выражения, которые релевантны выбранному поколению, отрасли и т. д.

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

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

Кстати, в этом подходе стало заметно преимущество GigaChat Max над GigaChat Pro: версия Max точнее следует инструкциям по добавлению тех или иных терминов в сообщение. 

Над чем мы ещё работаем и что считаем перспективным: силами наших редакторов собрали набор эталонных персонализированных SMS и на его основе проводим дообучение на LoRa-адаптере.

Что пока не сработало?

Вот несколько идей, которые в нашей практике оказались неудачными:

  • Автоматическая оптимизация промптов DSPy. Практика хороша для коротких промптов, но не подходит для длинных подробных подсказок.

  • Агентные системы. Расходуют очень много токенов, в автономном режиме часто уходят «не в ту сторону». После нескольких попыток на Langchain и Autogen отложили это направление до лучших времён.

  • Задание экспертной роли и дополнительные ухищрения. Например: «Ты опытный редактор, который пишет стилистически выверенные SMS», с уловками типа: «Я дам тебе $1 млн чаевых за правильный ответ», «твой ответ важен для моей карьеры» и т. д. Всё это на качество не повлияло.

  • One/Few shot. При добавлении в промпт примеров SMS языковые модели не улавливают понятие «скопировать удачную стилистику из примера». При этом иногда подтягивает факты из этих примеров, создавая SMS с ложной информацией.

Планы

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

Заключение

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

Команда проекта: Смирнова Людмила, Шмалько Анастасия, Акимов Дмитрий, Тращенков Сергей, Шумов Александр, Калашникова Светлана.

Спасибо команде редакторов: Васильковой Полине, Лебединской Валерии, Дмитриевой Дарье, Комнатной Светлане за бесценную экспертизу в написании рекламных SMS. Также благодарим коллег из Центра бизнес-поддержки за помощь с тестированием и подбором промптов: Кашкову Екатерину, Тищенко Ирину.  Благодарим Уренёва Данила и методологов Лаборатории Нейронаук и поведения человека за методологическую поддержку. 

Теги:
Хабы:
+5
Комментарии3

Информация

Сайт
www.sber.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия