Автогенерация объявлений из семантического ядра — publi.ru

Автогенерация объявлений из семантического ядра

8 мин чтения · разбор · тем, кто заказывает · обновлено 2026-09-02

Генерация объявлений работает, когда генератору дают две вещи: реальные поисковые запросы и жёсткие ограничения. Без запросов получается текст «ни для кого», без ограничений — красивое сочинение с выдуманными свойствами товара. Расскажу, как мы шли к этому в платформе Papa BU через три версии, каждая из которых была хуже, чем казалась.

Что было до автоматизации

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

При десятке позиций в день это терпимо. При сотне — рабочий день целиком, и к вечеру тексты становятся всё короче, а заголовки всё однообразнее.

Отдельная беда была в заголовках. Человек называет вещь так, как называет её сам, а покупатель ищет другими словами, и объявление просто не показывается.

Версия первая: генератор без ядра

Мы начали с очевидного: отдать модели карточку товара и попросить написать объявление.

Получили ровно то, что заслужили.

Заголовок: «Отличный стул в хорошем состоянии». Описание: «Предлагаем вашему вниманию удобный стул. Отличное качество, приятная цена. Звоните, отвечу на все вопросы».

Текст грамотный и абсолютно нерабочий. В нём нет ни одного слова, которое человек набирает в поиске, и ни одной характеристики, по которой можно принять решение.

Проблема была не в модели, а во входе. Карточка отвечала на вопрос «что это», а объявление должно попадать в вопрос «что ищут».

Подключили Вордстат и сломали заголовки

Дальше мы приделали к генератору сбор поискового ядра: система забирает частотность из Вордстата, отсекает мусор, группирует близкие формулировки по категории.

Заголовки сразу стали попадать в спрос. И тут же появилась новая беда: генератор начал впихивать в заголовок все найденные формулировки сразу.

«Стул компьютерный кресло офисное на колёсиках купить недорого» — так выглядел типичный результат. Формально в нём есть частотные слова, по-человечески читать это невозможно.

Вторая проблема того же захода — лимит длины. Площадка обрезает заголовок, и обрезанный вариант выглядел ещё хуже: фраза обрывалась на середине слова.

Пришлось вводить правила: одна главная формулировка в заголовке, остальные уходят в описание и в параметры, длина проверяется до отправки, а не после.

Модель начала придумывать

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

В одном описании обнаружилось «гарантия 12 месяцев». Гарантии не было ни в карточке, ни в договорённостях продавца. Модель добавила её, потому что в таких текстах она обычно встречается.

Это худший тип ошибки: она выглядит правдоподобно и не режет глаз при беглом чтении. Ловится только сравнением текста с исходной карточкой.

Починили запретом на свойства, которых нет в данных. Генератор получает список полей и правило: описывать только то, что пришло в этих полях, пустое поле не заполнять догадкой, при нехватке данных писать короче.

Плюс появилась автоматическая сверка. Перед отправкой текст проверяется на присутствие числовых утверждений, которых нет в карточке, и такие объявления уходят человеку с пометкой.

Как это работает сейчас

Порядок получился такой.

  1. Система собирает ядро запросов по категории товара и держит его в актуальном виде.
  2. Из карточки берутся характеристики: тип, состояние, размеры, материал, комплектность.
  3. Генератор собирает заголовок из одной главной формулировки ядра и опорной характеристики.
  4. Описание строится по фиксированному каркасу: что это, состояние, характеристики списком, условия сделки.
  5. Проверки: длина под лимит площадки, отсутствие выдуманных свойств, наличие обязательных для категории параметров.
  6. Готовое объявление попадает в очередь на проверку человеком, и только оттуда — на размещение.

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

Разница на одном товаре

Возьмём одну позицию: офисное кресло, ткань, регулировка высоты, состояние бывшее в употреблении.

Первая версия писала так: «Отличное кресло в хорошем состоянии, недорого». Ни типа, ни материала, ни единого слова из тех, что люди набирают в поиске.

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

Разница не в красоте формулировок. Разница в том, что второй текст находится по запросу и отвечает на вопросы, из-за которых обычно пишут в личные сообщения.

Что стало заметно после запуска

Первое: качество текста упирается в качество каталога. Позиция с тремя заполненными полями даёт бедное объявление, и это не лечится настройкой генератора.

Второе: однообразие всплывает не там, где ждали. Похожими становятся не описания, а связки между блоками, и приходится держать несколько вариантов каркаса.

Третье: ядро запросов нужно обновлять. Формулировки меняются, и объявление, собранное по прошлогоднему ядру, постепенно теряет попадание в спрос.

Почему проверка человеком осталась навсегда

Нас несколько раз спрашивали, когда мы уберём ручной шаг. Ответ: не уберём.

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

Взгляд человека на готовый текст занимает секунды, потому что читать надо не всё подряд, а несовпадения: цифры, состояние, комплектность. Остальное генератор собирает из полей и врать там негде.

Кому это не нужно

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

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

Коротко

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

Расскажите, что нужно — посмотрим и скажем честно

Первый разговор — разбор задачи: нужна ли вам система или хватит одной страницы. Без обязательств и без счёта.

или оставьте номер — перезвоним

Перезваниваем в рабочее время. Ничего не рассылаем.

Оператор персональных данных — ИП Постнов Артём Сергеевич, ИНН 772610459593.

Частые вопросы

Тексты получаются одинаковыми, если товаров много?

Одинаковыми они получаются тогда, когда карточки товаров одинаковые. Генератор берёт различия из данных, поэтому две позиции с разными характеристиками дают разные тексты, а две пустые карточки — два похожих. Разнообразие текста начинается с разнообразия в каталоге.

Нужно ли проверять каждое объявление руками?

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

Можно ли так генерировать описания товаров для своего магазина?

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

Помогла статья?

Те, что не помогают, мы переписываем — по этой кнопке и решаем, какие именно.

Ещё по теме