Как автоматически создавать карточки товаров с помощью нейросетей

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

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

Что должно быть в таблице до генерации

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

Минимум, который стоит собрать до генерации:

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

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

Еще два правила для таблицы, которые экономят время на проверке. Первое: одно значение в одной ячейке. Если в столбце «Размер» записано «40×60, есть также 50×70», нейросеть может взять любое из значений или оба сразу. Второе: единицы измерения одинаковые во всем столбце. Сантиметры и миллиметры вперемешку нейросеть иногда пересчитывает, а иногда переносит как есть, и в карточках получается разнобой.

Какие поля можно генерировать

Не все поля карточки одинаково подходят для генерации. Удобно заранее разметить их в таблице.

ПолеИсточникМожно ли генерировать
Артикул, цена, остатокДанные магазинаНет
ХарактеристикиТаблица поставщика или производителяНет, только переносить
НазваниеКатегория + ключевые характеристикиДа, по шаблону
ОписаниеХарактеристики + особенностиДа, с проверкой фактов
Title и Description товараНазвание + главное отличиеДа, с проверкой длины
Теги, подборкиКатегория + характеристикиДа, по заданному списку

Название

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

Свободная генерация названий дает разнобой: у одного товара «Кружка керамическая 350 мл белая», у соседнего «Белая керамическая кружка объемом 350 миллилитров». В каталоге это выглядит неаккуратно и мешает поиску.

Описание

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

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

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

  • Характеристики: только из данных.Характеристики не генерируются. Нейросеть может привести их к единому формату: «35 см» и «350 мм» в одних единицах, «хлопок 100%» и «100% хлопок» одинаково. Но значение должно браться из таблицы. Если у товара не указан вес, в карточке не должно появиться «около 500 г».
  • Title и Description товара.Метатеги для страниц товаров — хорошая задача для генерации: их много, они короткие и подчиняются понятным правилам. Title обычно строится из названия товара и названия магазина, Description — из главного отличия товара и повода перейти на страницу.

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

Что должно быть в задании для серии

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

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

Пакетная генерация

Сотни товаров не стоит обрабатывать одним запросом. На длинном списке нейросеть начинает сокращать, пропускать строки или путать данные соседних товаров.

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

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

Проверка перед загрузкой

Проверка — самая важная часть процесса. Google в рекомендациях по контенту, созданному с помощью генеративного ИИ, прямо напоминает, что модели могут ошибаться, и советует проверять такой контент перед публикацией, включая метаданные. Там же сказано, что массовое создание страниц без пользы для читателя может нарушать правила поиска о злоупотреблении масштабированным контентом. Для Google Merchant Center у Google есть отдельные требования к товарным данным, созданным с помощью ИИ.

Что проверять:

  • факты в описании совпадают с характеристиками в таблице;
  • нет свойств, которых нет в данных;
  • названия построены по одному шаблону;
  • длина Title и Description в пределах нормы;
  • нет повторов: одинаковые описания у разных товаров плохо выглядят и для покупателя, и для поиска;
  • нет запрещенных слов и обещаний.

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

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

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

Загрузка обратно в каталог

Когда тексты проверены, их нужно вернуть в каталог. Как именно — зависит от платформы.

В Tilda товары каталога загружаются из CSV или YML. При импорте столбцы сопоставляются с полями каталога, а неиспользуемые столбцы игнорируются. Для обновления уже существующих товаров есть режим, в котором импорт только обновляет данные и не создает новые товары. Если вы ведете интернет-магазин на Tilda, это самый безопасный способ обновить тексты у готового каталога.

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

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

Чек-лист перед загрузкой карточек

  • У каждого товара есть уникальный артикул, и он сохранился после генерации.
  • Характеристики перенесены из таблицы, а не сгенерированы.
  • В описаниях нет свойств, которых нет в данных.
  • Названия построены по одному шаблону.
  • Title и Description проверены по длине.
  • Нет одинаковых описаний у разных товаров.
  • Исходные данные и сгенерированные тексты лежат в разных столбцах.
  • Сделана выгрузка текущего каталога перед загрузкой.
  • Пробная загрузка нескольких товаров прошла без ошибок.

Если хотите обсудить генерацию карточек для своего каталога, пройдите квиз на mara-craft.com. Я посмотрю на таблицу и подскажу, с чего начать.

Марина Степная