У справочников закончились данные для обучения ИИ: как атрибутивный разбор находит дубли точнее строк
Справочники в компаниях неизбежно превращаются в свалку: один отдел пишет «кабель ВВГ 3×2.5», другой «ВВГнг 3×2,5», третий «провод 3 жилы», и закупки начинают буксовать, а аналитика теряет смысл.

Простое сравнение строк (похожие названия = один товар) срабатывает только в 30-40% случаев: одна буква в маркировке меняет форму сечения прутка, а три варианта записи одного кабеля система считает разными позициями. ИИ решает задачу иначе: разбирает запись на атрибуты, понимает смысл и находит дубли там, где текстовые метрики бессильны.
Проблема знакома любому, кто работал с нормативно-справочной информацией (НСИ, корпоративные каталоги материалов, оборудования, номенклатуры). Параллельные системы, слияния компаний, опечатки, смена ГОСТов и просто разные привычки сотрудников год за годом превращают справочник в хаос. Ручная чистка съедает бюджет и не даёт устойчивого результата: данных становится больше, а порядка меньше. Ниже разбираем, как выстроить автоматическую нормализацию с помощью машинного обучения и языковых моделей, шаг за шагом.
Что понадобится
- Выгрузка справочника в формате CSV или Excel. Достаточно двух колонок: идентификатор записи и текстовое наименование. Чем больше атрибутов (единица измерения, ГОСТ, поставщик), тем точнее результат.
- Доступ к языковой модели для семантического поиска. Подойдёт API YandexGPT, GigaChat или любая открытая модель (опенсорс), которую можно развернуть локально.
- Python 3.10+ с библиотеками pandas, scikit-learn и sentence-transformers (или аналогом для эмбеддингов, числовых представлений текста, которые модель использует для сравнения смысла).
- Эталонный справочник или хотя бы 200-500 вручную проверенных пар «дубль и оригинал» для дообучения (fine-tuning, обучение модели на ваших примерах под узкую задачу).
- Время: первичная настройка занимает от одного до трёх рабочих дней, дальше система работает в фоне.
Пошаговая инструкция
-
Выгрузите и осмотрите данные. Экспортируйте справочник в CSV. Откройте файл и оцените масштаб: сколько записей, какие поля заполнены, где пустоты. Пустые ячейки и записи без единицы измерения пометьте отдельно.
-
Очистите текст от шума. Приведите регистр к нижнему, уберите лишние пробелы, замените латинские буквы на кириллические там, где это опечатка (латинская «c» вместо русской «с» в слове «сталь»). Пример скрипта:
import pandas as pd
import re
df = pd.read_csv("spravochnik.csv")
df["name_clean"] = (
df["name"]
.str.lower()
.str.strip()
.apply(lambda x: re.sub(r"\s+", " ", x))
)
- Разбейте наименование на атрибуты. Это ключевой шаг, который отличает атрибутивную нормализацию от «тупикового» сравнения строк. Из записи «Пруток ПКРВХ 18,0 2000 БрАЖ9-4 МП ГОСТ 1628-2019» модель должна извлечь: тип изделия (пруток), форму сечения (круглая, буква «Р»), диаметр (18 мм), длину (2000 мм), марку сплава (БрАЖ9-4), стандарт (ГОСТ 1628-2019). Для извлечения используйте промпт к языковой модели:
Разбери наименование на атрибуты: тип изделия, форма сечения,
размеры, материал, стандарт. Верни результат в формате JSON.
Наименование: «Пруток ПКРВХ 18,0 2000 БрАЖ9-4 МП ГОСТ 1628-2019»
-
Постройте эмбеддинги для семантического поиска. Преобразуйте очищенные наименования в числовые векторы с помощью модели sentence-transformers. Два текста с разным написанием, но одним смыслом окажутся рядом в векторном пространстве, и модель найдёт их как кандидатов на объединение.
-
Кластеризуйте кандидатов. Сгруппируйте записи с высокой семантической близостью. Внутри каждого кластера сравните извлечённые атрибуты: если тип, материал и размеры совпадают, это дубль. Если хотя бы один атрибут различается (круглое сечение против квадратного), записи остаются раздельными.
-
Проведите ручную валидацию первых 200-300 пар. Модель предлагает, человек подтверждает. Эти подтверждённые пары становятся обучающими данными для дообучения классификатора на следующем цикле. С каждой итерацией точность растёт.
-
Автоматизируйте входной контроль. Подключите модель к процессу создания новых записей: при добавлении позиции система сразу проверяет, нет ли в справочнике семантического дубля, и предлагает существующую запись вместо новой.
На вход подали 12 000 записей справочника кабельной продукции. После очистки текста и извлечения атрибутов модель выделила 3 400 кластеров-кандидатов на объединение. Внутри одного кластера оказались три записи: «кабель ВВГ 3×2.5», «ВВГнг 3×2,5» и «провод 3 жилы 2.5 мм». Модель извлекла атрибуты (тип: кабель, число жил: 3, сечение: 2.5 мм²) и предложила объединить их под эталонным наименованием. При этом запись «ВВГнг-LS 3×2.5» осталась отдельной: суффикс «LS» (пониженное дымовыделение) это другой атрибут, не опечатка. Простое сравнение строк слило бы все четыре записи в одну и потеряло бы критическое различие.
Доверять только метрике похожести строк. Записи «Пруток ПКРВХ» и «Пруток ПКВВХ» отличаются одной буквой, метрика покажет 97% совпадения. Но «Р» означает круглое сечение, «В» означает квадратное. Автоматическое слияние приведёт к ошибкам в спецификациях.
Пропускать этап извлечения атрибутов. Без разбора на атрибуты модель не понимает, какая часть строки критична, а какая вариативна. Это фундаментальное отличие от поиска «похожих строк».
Запускать без эталонных пар. Если не дать модели 200-500 проверенных примеров для дообучения, она будет угадывать структуру наименований вашей отрасли и ошибаться на специфике.
Чистить один раз и забыть. Без входного контроля новые записи снова создадут дубли за несколько месяцев. Нормализация должна работать постоянно, на входе данных в систему.
Почему это задача именно для ИИ, а не для скриптов?
Главная причина: в корпоративных справочниках закончились данные для обучения простых правил. Каждая отрасль, каждая компания, каждый поставщик используют свою логику сокращений, порядок слов и набор атрибутов. Написать ручные правила для всех вариантов невозможно, их тысячи и они постоянно меняются вместе с ГОСТами и каталогами поставщиков.
Гибридная модель, которая сочетает классификацию, семантический поиск на базе языковых моделей и извлечение атрибутов, адаптируется к конкретной номенклатуре. Алгоритм обучается на реальных примерах из вашего справочника и со временем берёт на себя основную работу по нормализации.
Для компаний, у которых закончились данные для обучения ИИ-классификатора (слишком мало размеченных пар), есть обходной путь: использовать языковую модель для «холодного старта», она извлечёт атрибуты из текста без предварительной разметки, а дообучение провести уже на результатах первой итерации.
Что делать с этим прямо сейчас?
Автору Дзена и копирайтеру. Тот же принцип работает с любым справочником контента: рубрикаторы, теги, категории. Если в вашем блоге 500 тегов и половина дублирует друг друга, языковая модель найдёт пересечения за минуты. Выгрузите теги, прогоните через скрипт из шага 2 и посмотрите кластеры.
Маркетологу. Грязные справочники товаров означают кривую аналитику: вы не видите реальных объёмов закупок по категориям, не можете сравнить поставщиков и переплачиваете за «разные» позиции, которые на деле одно и то же. Нормализация справочника напрямую влияет на точность отчётов и бюджет.
Предпринимателю в РФ. Все инструменты из инструкции доступны: YandexGPT и GigaChat работают через API, sentence-transformers разворачиваются на любом сервере. Внешние модели не требуются, данные остаются внутри контура компании.
По моему опыту, самое сложное в этом процессе не технологии, а первый шаг: убедить команду, что 200 вручную проверенных пар окупятся. Без них модель работает вслепую. Я рекомендую начать с одной категории справочника (например, кабельная продукция или метизы), получить измеримый результат и только потом масштабировать. Честная оговорка: языковые модели тоже допускают галлюцинации (когда ИИ уверенно выдумывает то, чего не было), особенно на редких аббревиатурах. Поэтому полностью убирать человека из цепочки валидации пока рано. Автоматизация берёт на себя 60-80% рутины, но финальное «да» по спорным парам остаётся за специалистом.
Порядок в справочнике это не разовый проект, а режим работы. Модель, подключённая на входе данных, не даёт хаосу вернуться, и именно этим автоматизация на базе ИИ отличается от очередной ручной чистки, которую придётся повторять через полгода.
Попробуйте ИИ-инструменты dzen.guru
Разбираем нейросети на практике и показываем, как применять их в реальных задачах, от контента до корпоративных данных.
Перейти на dzen.guru
Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также
Обучение нейросети на своих данных: как упаковать модель для Hugging Face за два класса
Компания Hugging Face не выпускала нового продукта, а разработчик по имени Владимир опубликовал на Хабре пятую часть цикла статей о создании и обучении…

Искусственный интеллект в 1С: семь задач, которые уже закрывают готовые модули
Компания «Инфостарт» зафиксировала рост числа готовых решений на своём маркетплейсе, которые объединяют искусственный интеллект и 1С для автоматизации рутинных…

Новости искусственного интеллекта и нейросетей: 5 бесплатных инструментов, готовых к работе
Каждую неделю выходят десятки новостей про нейросети, но разбирать их все бессмысленно: большинство не дают ничего, что можно применить прямо сейчас, и эта…
Комментарии