Все статьи

Поиск дублей в таблице с помощью ИИ: что проверить до удаления

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

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

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

Сначала определите, что означает одна строка

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

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

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

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

Сохраните исходник и согласуйте сравнение

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

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

В инструкции Microsoft по удалению повторяющихся значений в Excel описаны выбор столбцов для сравнения и создание копии перед удалением. Это документированные действия Excel. Реестр с объяснениями и отдельное согласование удаления ниже — наша редакционная рекомендация для постановки задачи ИИ, а не функция Excel из этой инструкции.

Отдельно договоритесь о форматах. Можно ли убирать пробелы по краям? Считать ли «001» и «1» одним номером? Как понимать дату «03/04»? Не поручайте модели молча исправлять значения. Исходное значение, предложенное преобразование и причина должны оставаться видимыми. Пустой ключ отправляйте в спорные случаи: отсутствие номера не означает совпадение двух заказов.

Пример: повтор заказа или другая позиция

На листе «Пример» заголовок находится в строке 1. Сумма относится к позиции, валюта одна, других полей нет. Строку 4 по условию случайно загрузили второй раз вместе со строкой 2; это известный контрольный дубль. Происхождение строк 7 и 8 пока не установлено.

Исходная строкаЗаказПозицияТоварСумма
25011Блокнот400
35012Ручка100
45011Блокнот400
55021Блокнот400
65031Папка200
705031Папка200
8пусто1Папка200

Реестр проверки должен различать следующие случаи:

Что совпалоПочему это дубль, законный повтор или спорный случайРешение
2 и 4: ключ 501 + 1, все поля записиПо условию повторная загрузка одной позицииПосле подтверждения оставить 2, удалить 4 из копии
2 и 3: только заказ 501Две разные позиции одного заказаСохранить обе
2 и 5: товар и суммаРазные заказы, совпадение покупки законноСохранить обе
6 и 7: позиция, товар, суммаЗаказы различаются ведущим нулем; значение нуля неизвестноСохранить, проверить правило номеров
8 и строки 6–7: позиция, товар, суммаУ строки 8 отсутствует заказ, ключ неполныйСохранить, запросить номер

Проверка вручную дает семь исходных записей. После согласованного удаления только строки 4 останется шесть. Строки 6–8 сохраняются до уточнения. Это ожидаемый ответ именно для нашего примера, а не основание удалять похожие строки в любой выгрузке.

Готовое задание для нейросети

Вставьте синтетическую таблицу вместе с этим заданием. Для собственной выгрузки замените правило ключа и объясните смысл строки. Если передаете файл, сначала убедитесь, что выбранный инструмент читает его формат и весь нужный лист.

Проверь таблицу на возможные дубли. Одна строка — позиция заказа. Ключ — заказ + позиция; номер позиции уникален внутри заказа. Сравни значения без преобразований, сохрани ведущие нули. Полное совпадение проверяй по всем полям, кроме исходного номера строки. Ничего не удаляй и не меняй исходник.

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

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

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

Как принять результат

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

После согласования потребуйте отдельную очищенную копию и журнал удалений: какую строку убрали, какую сохранили и почему. Сверьте баланс «было минус удалено равно осталось». В нашем примере: 7 − 1 = 6. Одного баланса мало: дополнительно проверьте, что законная позиция 3 и спорные строки 7–8 остались.

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

Есть задача? Значит, пора ее отдать.

Поставить задачу