7 760 статей
arXiv:2611.08106 89 5 нояб. 2026 г. FREE

Протокол CoRe (Cleaning or Recalling): почему LLM «чистят» таблицы по памяти и как не дать им испортить ваши внутренние данные

КЛЮЧЕВАЯ СУТЬ
Стоит заменить известные названия в таблице на внутренние артикулы или незнакомые слова, как точность прямой чистки через LLM падает в 5 раз, а на знакомых брендах модели в 68–100% случаев стирают ваши верные данные ради фактов из интернета. Протокол CoRe позволяет безопасно чистить корпоративные выгрузки из CRM и 1С без потери внутренних записей и галлюцинаций по памяти. Фишка метода: запрет на внешнюю эрудицию и деление ошибок на три класса. Вместо ручной правки ячеек заставь модель писать скрипт очистки для форматных сбоев, группируй строки по одному клиенту и введи жёсткое правило опоры только на таблицу — это сбивает ложные перезаписи до 0–40,4%.
Адаптировать под запрос
⚡

TL;DR

Когда LLM просят очистить таблицу от опечаток и битых значений напрямую через промпт, модель чаще вспоминает знакомые факты из своей обучающей выборки, чем реально анализирует структуру таблицы. Протокол CoRe (Cleaning or Recalling) доказал это, заменив реальные названия больниц, фильмов и пивоварен на вымышленные слова и слоги при полном сохранении всех типов ошибок.

Главная находка исследования: на незнакомых сущностях (а именно так для LLM выглядят любые внутренние базы вашего бизнеса) качество прямой чистки таблиц через LLM обваливается в разы, а на знакомых — модель самовольно переписывает верные данные. Стоило заменить известные названия фильмов на вымышленные слова, как точность восстановления года выпуска из готового диапазона в соседней колонке (2014 2015 2016 → 2015) у DeepSeek-V4-Pro рухнула в пять раз — хотя сами цифры года вообще не менялись. И наоборот: если в вашей таблице у известного фильма или компании намеренно указан нестандартный ответственный, модели в большинстве случаев «исправляют» правильную ячейку на факт из Википедии.

Чтобы чистить корпоративные таблицы без потерь, авторы предлагают разделять ошибки на три класса восстанавливаемости (R1, R2, R3), переключать LLM с прямой правки ячеек на генерацию скриптов очистки (подход TabClean), подавать повторяющиеся записи одной сущности в одном блоке и жестко прописывать в промпте приоритет локальных свидетельств таблицы над внешними знаниями.


🔬

Схема метода

Порядок безопасной очистки табличных данных с помощью LLM по выводам исследования CoRe:

ШАГ 1 (Аудит колонок по классификации R1 / R2 / R3):
- R1 (Локально обратимые): сбой формата внутри ячейки ("Москва, МО", "5.5%") → просить LLM написать Python/Regex-скрипт (TabClean), НЕ править ячейки вручную через JSON
- R2 (Ограниченные контекстом): выбор из кандидатов ("2014 2015 2016") или опечатка в названии → группировать строки одной сущности в один батч + дать явно правило выбора
- R3 (Неопределённые без внешнего словаря): внутренние ID, пропущенные уникальные реквизиты → запретить LLM угадывать, чинить только через JOIN со справочником

ШАГ 2 (Защита от «галлюцинации по памяти» в промпте):
Явный запрет менять значения на основе внешних знаний о мире (Table-Evidence Instruction) + проверка на вымышленных названиях-суррогатах перед запуском на всей базе

🚀

Пример применения

Задача: Вы выгрузили из CRM и 1С таблицу на 2 000 строк по региональным контрагентам и брендам (там вперемешку идут гиганты вроде «ВкусВилл», «Додо Пицца» и локальные непубличные поставщики вроде «ООО СеверПромЛогистик»). В таблице три типичные беды: 1. В колонке Город_и_регион склеены значения (Краснодар КК, Екатеринбург СО); 2. В колонке Год_договора из-за сбоя парсера записана тройка соседних лет (2023 2024 2025, где верный — всегда средний); 3. В колонке Куратор_сделки у известных брендов указаны ваши внутренние менеджеры или региональные франчайзи, которых обычная LLM пытается «исправить» на реальных основателей компаний (Федора Овчинникова или Андрея Кривенко).

Промпт:

Ты — аналитик очистки корпоративных табличных данных по протоколу CoRe.
Перед тобой фрагмент внутренней выгрузки контрагентов.


  1. ЗАПРЕТ НА ВНЕШНИЕ ЗНАНИЯ (Anti-Recall Guard):
     Опирайся ИСКЛЮЧИТЕЛЬНО на свидетельства и паттерны внутри самой таблицы.
     Категорически запрещено исправлять ФИО, города, директоров или реквизиты известных компаний на основе твоих знаний о реальном мире. Если значение не нарушает внутреннюю согласованность строк таблицы — оставь его нетронутым.

  2. РАЗДЕЛЕНИЕ ПО ТИПАМ ОШИБОК (R1 / R2 / R3):
     - Тип R1 (Форматные сбои: склеенный город/регион, лишние суффиксы в процентах): извлеки точное правило преобразования и исправь по шаблону.
     - Тип R2 (Ограниченные кандидаты в ячейке или опечатки при наличии дублей той же компании в блоке):
       * Для диапазонов вида "ГГГГ-1 ГГГГ ГГГГ+1" в колонке Год_договора всегда выбирай центральное значение, независимо от того, знакома тебе компания или нет.
       * Для опечаток вида "x" в названии сверяйся с другими строками того же ИНН/контрагента в текущем блоке.
     - Тип R3 (Неопределённые данные: внутренние ID, коды договоров, пустые уникальные ячейки без дублей): НЕ пытайся угадать или сгенерировать значение. Пометь как NEEDS_EXTERNAL_LOOKUP.


Входная таблица (20 строк, сгруппированных по ИНН контрагентов):
| row_id | ИНН | Контрагент | Куратор_сделки | Город_и_регион | Год_договора | Ставка_НДС | Код_1С |
|---|---|---|---|---|---|---|---|
| 1 | 7701234567 | ВкусВилл | Сорокин И.В. | Москва МСК | 2023 2024 2025 | 20.0% | <пусто> |
| 2 | 2310987654 | ООО АгроЮгxнаб | Петрова Е.А. | Краснодар КК | 2022 2023 2024 | 10% | АЮ-991 |
| 3 | 2310987654 | ООО АгроЮгСнаб | Петрова Е.А. | Краснодар | 2023 | 10.0% | АЮ-991 |

Верни:
1. JSON-список исправлений `{row_id, column, old_value, new_value, error_class: "R1"|"R2"}` только для доказанных ошибок R1 и R2.
2. Отдельный список ячеек класса R3 (`NEEDS_EXTERNAL_LOOKUP`), которые нельзя восстановить без внешнего справочника.

Результат: Модель не тронет Сорокин И.В. в строке «ВкусВилл» (не подменит его на основателя компании из памяти), вытащит 2024 и 2023 по явному правилу среднего года даже для неизвестного ей «ООО АгроЮгСнаб» (класс R2), восстановит опечатку АгроЮгxнаб → АгроЮгСнаб по соседней строке с тем же ИНН (R2), разделит Москва МСК и Краснодар КК (R1), а пустой Код_1С в первой строке честно отправит в NEEDS_EXTERNAL_LOOKUP (R3) вместо выдумывания фейкового кода.


🧠

Почему это работает

У языковых моделей при работе с таблицами есть две фундаментальные ловушки. Первая — зависимость от узнавания сущности: когда модель видит знакомое название («American Ultra», «Больница Каллахана»), в её весах активируются связанные знания, и она попутно аккуратно чинит даже соседние числовые колонки. Но как только на месте названия оказывается незнакомое слово или внутренний артикул компании, модель «теряется» и перестаёт применять даже элементарную логику к соседним ячейкам, где ответ лежит прямо перед глазами.

Вторая ловушка — конфликт параметрической памяти с контекстом таблицы. Если в таблице у известного объекта записано неканоническое значение (например, в учебном или рабочем датасете фильму «Заложница» назначен режиссёр Стэнли Кубрик вместо Пьера Мореля), обычный промпт «найди и исправь ошибки в таблице» заставляет коммерческие модели в 68–100% случаев стереть правильное табличное значение и вписать факт из интернета.

Разделение задач по типам восстанавливаемости (R1 / R2 / R3) и переход от поштучной правки ячеек к генерации программного кода очистки (TabClean) обходят обе ловушки: - Для форматных ошибок (R1) и внутритабличных зависимостей (R2) сгенерированный LLM Python-скрипт одинаково надёжно чистит и известные бренды, и бессмысленные наборы слогов, потому что код опирается на регулярные выражения и группировку строк, а не на энциклопедическую память модели. - Явная инструкция опираться только на свидетельства таблицы (Table-Evidence Instruction) снижает долю ложных перезаписей известных сущностей у коммерческих моделей с 68–100% до 0–40,4% (а у части флагманов — до полного нуля).

Рычаги управления: - Группировка батчей по сущностям: если подавать таблицу случайными кусками по 20 разных компаний (как в базовом тесте авторов), модель не видит дублей. Если перед отправкой в LLM отсортировать таблицу по ИНН/ID клиента, ошибки класса R3 (неизвестное название с опечаткой) превращаются в решаемый класс R2. - Генерация кода вместо JSON-правок: на больших таблицах просите LLM написать функцию очистки (pandas / re), а не возвращать исправленные ячейки текстом — в тестах авторов генератор программ TabClean почти не терял точность при полной замене всех названий на вымышленные. - Проверка промпта на словах-суррогатах: прежде чем доверять LLM чистку боевой базы, замените в 20 тестовых строках реальные названия компаний на случайные словосочетания (Лесной Ручей, Медный Холм). Если точность промпта упала — значит, ваш промпт работал на эрудиции модели, а не на логике правил.


📋

Шаблон промпта

Шаблон комбинирует проверенную в исследовании инструкцию опоры на свидетельства таблицы (Table-Evidence Instruction) и таксономию восстанавливаемости (R1 / R2 / R3) из протокола CoRe:


  
    Таблица: {описание_таблицы}
    Целевой стандарт оформления (Target Convention):
    {правила_формата_колонок}
  

  
    КРИТИЧЕСКОЕ ПРАВИЛО: Используй ТОЛЬКО свидетельства внутри переданной таблицы и правила из .
    1. Не используй внешние энциклопедические знания о реальных компаниях, людях, фильмах или городах.
    2. Если ячейка содержит известную тебе сущность, но её атрибуты в таблице отличаются от реального мира и НЕ противоречат другим строкам этой же таблицы — ЗАПРЕЩЕНО менять это значение.
    3. Относись ко всем названиям как к незнакомым внутренним идентификаторам.
  

  
    Для каждой подозрительной ячейки сначала определи класс восстанавливаемости:
    - [R1: Locally Reversible] — ошибка формата внутри самой ячейки ({примеры_R1}). Восстанови по правилу формата.
    - [R2: Constrained] — в ячейке есть список кандидатов ИЛИ в блоке есть другие строки той же сущности, позволяющие однозначно выбрать значение ({примеры_R2}). Восстанови с указанием строки-источника или правила.
    - [R3: Underdetermined] — пропущенный уникальный код, внешний ID или опечатка без проверочной строки в таблице. НЕ УГАДЫВАЙ значение, верни статус UNRECOVERABLE_R3.
  

  
    Выведи ответ в двух блоках:
    1. Python-функцию (`pandas`), которая автоматически чинит все регулярные ошибки классов R1 и R2 во всей таблице.
    2. JSON-отчёт по текущему фрагменту: список правок `[{"row": int, "col": str, "class": "R1"|"R2", "value": str}]` и список ячеек `UNRECOVERABLE_R3`.
  


Данные таблицы:
{фрагмент_таблицы}

Что подставлять в плейсхолдеры: - {описание_таблицы} — что означает строка таблицы и какие колонки являются ключевыми (идентификационными). - {правила_формата_колонок} — целевой стандарт (например: «телефон 10 цифр без дефисов, год — одно четырёхзначное число, процент — дробь без знака %»). - {примеры_R1} и {примеры_R2} — 1–2 характерных примера форматных сбоев и внутритабличных подсказок для вашей базы. - {фрагмент_таблицы} — сгруппированные по ключу сущности строки таблицы в CSV или Markdown.

🚀 Быстрый старт — вставь в чат:

Вот шаблон DataCleaningProtocol_CoRe. Адаптируй под мою задачу: [твоя задача]. 
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит, какие колонки есть в вашей таблице, какие значения должны подчиняться жёсткому формату (R1), а какие связываются между строками (R2) — потому что без явного описания целевого формата модель не знает, какую из двух конфликтующих конвенций считать эталоном. Она возьмёт паттерн из шаблона и адаптирует под задачу.


⚠️

Ограничения

⚠️ Даже прямой запрет в промпте не всегда останавливает перезапись известных фактов: В эксперименте авторов явная инструкция опираться только на данные таблицы снизила ложную замену режиссёров известных фильмов с 68–100% до 0,0–40,4% у коммерческих флагманов, но у некоторых открытых моделей (например, Qwen2.5-14B) доля ложных перезаписей даже с жёстким запретом осталась выше 60%.

⚠️ Неопределённые ошибки (R3) невозможно починить промптом на приватных данных: Если в таблице потерян внешний идентификатор или уникальное имя, которого нет в других строках, никакая техника промптинга не восстановит его без подключения внешнего справочника.

⚠️ Эталонные датасеты и проверочные выборки сами часто содержат «мусор Excel»: Авторы обнаружили, что в популярном бенчмарке Rayyan 94% засчитанных исправлений (434 из 461 у TabClean) на самом деле угадывали ошибку автозамены Excel в эталоне (где ISSN журнала вида 0003-3022 или том/выпуск превратились в дату Mar-22 → 22-Mar), тогда как реальный правильный ISSN из базы PubMed получал 0 баллов.


🔍

Как исследовали

Команда из Центрального университета национальностей (Minzu University of China) и Народного университета Китая (Renmin University of China) решила проверить, действительно ли LLM умеют чистить таблицы, или их высокие баллы на публичных бенчмарках объясняются тем, что модели просто знают наизусть американские больницы, голливудские фильмы и крафтовые пивоварни. Они построили 21 контролируемую таблицу (по 1 000 строк в каждой, около 41 000 вымышленных значений, прошедших 506 автоматических проверок качества) на базе классических датасетов Hospital, Movies и Beers, а также проверили Rayyan, Flights и Tax. Для каждого датасета создали 4 версии: 1. O (Original) — оригинальный публичный бенчмарк; 2. F (Fresh) — свежие реальные записи за июль–сентябрь 2026 года из реестров CMS, IMDb и Wikidata; 3. W (Word-based surrogate) — те же строки и те же позиции ошибок, что в оригинале, но все названия и имена один-к-одному заменены на вымышленные английские словосочетания (Timber Hollow Regional Hospital, фильм Mill Brook); 4. S (Syllable-based surrogate) — названия заменены на бессмысленные комбинации из 24 слогов (Vasrhokel Regional Hospital, город Hepmormor).

Через эти таблицы прогнали 23 000 промптов на 8 языковых моделях — четырёх коммерческих флагманах (DeepSeek-V4-Pro, Qwen3.8-Max, GLM-5.3, GPT-6.1-Sol) и четырёх открытых (семейство Qwen2.5 Instruct от 7B до 72B), а также сравнили их с классическим ML-клинером Baran и генератором программ очистки TabClean.

Результаты разрушили сразу несколько мифов: - Это не зазубривание таблицы, а опора на известные названия: Специальный тест на продолжение строк (continuation probe) доказал, что модели не помнят сами строки бенчмарков наизусть, а на свежих реальных записях 2026 года (F) работают не хуже, чем на старых (O). Но как только реальные имена заменили на вымышленные слова (W) и слоги (S), F1-мера чистки идентификационных колонок на Hospital у коммерческих моделей рухнула на 0,59–0,72 пункта (на 59–72 п.п.). - Потеря названия парализует логику даже в соседних числовых колонках: В датасете Movies ошибка в колонке year выглядит как тройка лет 2014 2015 2016 (где правильный ответ почти всегда — просто взять средний год, это правило срабатывает в 167 из 190 случаев). На реальных фильмах DeepSeek-V4-Pro восстанавливал год с точностью 91% (173 из 190). Когда названия фильмов заменили на вымышленные слова (W), оставив колонку с годами абсолютно без изменений, точность DeepSeek-V4-Pro рухнула с 91% до 18% (35 из 190), а на слогах (S) — до 13% (25 из 190)! - Генерация кода (TabClean) и учёт дублей (Baran) не боятся незнакомых имён: В отличие от прямой правки ячеек через промпт, система TabClean (где LLM пишет программу для очистки всей таблицы целиком) и контекстный алгоритм Baran сохранили высокую точность и на вымышленных словах, и на слогах везде, где в таблице есть повторяющиеся строки или форматные закономерности (датасеты Hospital и Beers).


💡

Адаптации и экстраполяции

1. Адаптация техники:

🔧 Техника: Обязательная обфускация ключевых имён (W-тест) при отладке ETL-промпта → защита от ложного чувства качества на тесте

Когда аналитик настраивает промпт для разбора или чистки таблиц на 10–20 примерах с известными брендами («Сбер», «Яндекс», «Магнит»), модель показывает 95% точности за счёт фоновых знаний, а на тысяче мелких региональных ООО в продакшене ломается. Перед выкаткой промпта в пайплайн замените в тестовой выборке все названия компаний и городов на вымышленные слова и проверьте, не упала ли точность извлечения соседних полей.

2. Экстраполяция:

Маскирование известных брендов токенами ENTITY_001 перед подачей в LLM (Preventive De-identification): Если в вашей базе (например, в таблице тендеров или кадровых назначений) у реальных крупных компаний намеренно записаны нестандартные или внутренние значения, которые LLM пытается «починить» по памяти (даже вопреки запрету в промпте — как те самые до 40% перезаписей у коммерческих моделей и >60% у Qwen2.5-14B), перед отправкой таблицы в LLM автоматически замените словарь известных брендов на нейтральные плейсхолдеры COMPANY_001, COMPANY_002, а после очистки верните имена обратно по словарю. Это на 100% физически исключает конфликт с параметрической памятью модели.


🔗

Ресурсы

  • Работа: Cleaning or Recalling? Knowledge Dependence in LLM-based Data Cleaning [Experiment, Analysis & Benchmark] (arXiv:2611.08106, PVLDB Vol. 20, No. 1)
  • Репозиторий и данные: https://github.com/hinsonver/CoRe-Benchmark
  • Авторы: Jingru Yang, Honglu Zhang, Jiayi Mi, Ju Fan, Zheng Chen, Xiaoyong Du
  • Университеты: Minzu University of China, Renmin University of China

📋 Дайджест исследования

Ключевая суть

Стоит заменить известные названия в таблице на внутренние артикулы или незнакомые слова, как точность прямой чистки через LLM падает в 5 раз, а на знакомых брендах модели в 68–100% случаев стирают ваши верные данные ради фактов из интернета. Протокол CoRe позволяет безопасно чистить корпоративные выгрузки из CRM и 1С без потери внутренних записей и галлюцинаций по памяти. Фишка метода: запрет на внешнюю эрудицию и деление ошибок на три класса. Вместо ручной правки ячеек заставь модель писать скрипт очистки для форматных сбоев, группируй строки по одному клиенту и введи жёсткое правило опоры только на таблицу — это сбивает ложные перезаписи до 0–40,4%.

Принцип работы

Когда просишь модель «исправь ошибки в таблице», она не анализирует структуру колонок, а вспоминает знакомые слова из обучающей выборки. Видит известный бренд — попутно чинит даже соседние числа. Видит незнакомое ООО «СеверПром» — теряется и тупит на простейших правилах. Хуже того, если у известной компании в вашей таблице записан внутренний менеджер, модель сочтёт это ошибкой и впишет туда основателя бренда из Википедии. Это как корректор-всезнайка, правящий вашу бухгалтерию по энциклопедии. Относись к чистке таблицы как к написанию кода, а не к викторине: раздели ошибки на три класса восстанавливаемости (R1 — сбой формата, R2 — подсказка в соседних строках, R3 — потерянный уникальный код) и заставь LLM генерировать скрипт вместо ручной переписки ячеек.

Почему работает

Сгенерированный Python-скрипт (подход TabClean) опирается на регулярные выражения и жёсткие правила, поэтому одинаково надёжно чистит и мировые бренды, и незнакомые локальные компании. Предварительная сортировка строк по идентификатору клиента собирает дубли в один блок, позволяя модели восстановить опечатку в названии по соседней строке. Жесть — без защитного правила коммерческие модели перезаписывают от 68% до 100% нестандартных ячеек у известных названий, а прямой запрет на внешние знания снижает этот брак до 0–40,4%.

Когда применять

Аналитика данных и наведение порядка в корпоративных базах → конкретно для выгрузок контрагентов из CRM и 1С, товарных каталогов и клиентских таблиц, особенно когда в базе смешаны публичные бренды и внутренние названия. НЕ подходит для восстановления пропущенных уникальных кодов и внутренних идентификаторов без дублей в таблице (класс R3 невозможно починить промптом без внешнего справочника).

Мини-рецепт

1. Сгруппируй строки по ключу: перед отправкой в LLM отсортируй таблицу по ИНН или коду клиента, чтобы записи одной компании шли подряд в одном блоке.
2. Поставь запрет на внешние знания: пропиши в промпте правило опираться только на саму таблицу и никогда не менять ФИО, города и реквизиты известных компаний по памяти.
3. Раздели ошибки на 3 класса: для форматных сбоев (R1) проси написать функцию pandas; для выбора из кандидатов и опечаток при наличии дублей (R2) задай чёткое правило; для пустых уникальных кодов (R3) требуй метку NEEDS_EXTERNAL_LOOKUP.
4. Протестируй промпт на словах-суррогатах: замени в 20 проверочных строках реальные названия на вымышленные («Медный Холм») — если качество чистки не просело, запускай на всей базе.

Примеры

[ПЛОХО] : Найди и исправь все опечатки, битые года и неверные имена в этой таблице контрагентов из CRM.
[ХОРОШО] : Используй ТОЛЬКО свидетельства внутри таблицы (запрещено менять кураторов и реквизиты известных брендов на основе внешних знаний). Раздели задачи по классам: R1 (склеенный город и регион, формат процентов) — напиши Python-функцию очистки; R2 (выбор среднего года из тройки вида "2023 2024 2025" и сверка опечаток в названии по строкам с тем же ИНН) — исправь по правилу; R3 (пустой Код_1С без дублей) — не угадывай, верни статус NEEDS_EXTERNAL_LOOKUP.
Источник: Cleaning or Recalling? Knowledge Dependence inLLM-based Data Cleaning [Experiment, Analysis & Benchmark]
ArXiv ID: 2611.08106 | Сгенерировано: 2026-11-09 04:06

Проблемы LLM

ПроблемаСутьКак обойти
Модель чистит таблицы по энциклопедической памяти, теряясь на внутренних данных и портя известныеПри прямой очистке таблиц через запрос модель опирается на узнавание известных названий из обучения, а не на логику колонок. На незнакомых названиях локальных компаний точность починки даже соседних числовых ячеек падает в пять раз. На знакомых брендах модель в 68–100% случаев стирает верные внутренние данные и вписывает факты из интернетаЗапрети внешние знания через , группируй строки одной сущности вместе и проси генерировать скрипт очистки вместо ручной правки ячеек

Методы

МетодСуть
Очистка таблиц с запретом внешних знаний и разделением ошибок на три классаДобавь в запрос блок с жёстким запретом менять ячейки на основе знаний о внешнем мире. Подавай строки таблицы сгруппированными по ключу сущности (ИНН, код клиента). Требуй разделять ошибки на три класса в : R1 (сбой формата внутри ячейки — чинить сгенерированным Python-скриптом), R2 (выбор из кандидатов или сверка с дублем той же компании в блоке) и R3 (пропущенный уникальный код без дублей — помечать как UNRECOVERABLE_R3 без угадывания). Почему работает: Явный запрет на внешние знания снижает ложную перезапись известных сущностей с 68–100% до 0–40%. Генерация кода и группировка дублей позволяют чистить незнакомые внутренние базы без опоры на память модели. Когда применять: Очистка корпоративных выгрузок, CRM и каталогов с внутренними и публичными названиями. Когда не работает: Восстановление потерянных уникальных кодов (R3) без внешнего справочника

Тезисы

ТезисКомментарий
Замена названий в таблице на вымышленные слова выявляет ложную эрудицию запросаНа публичных примерах запрос для чистки таблиц часто показывает высокую точность лишь потому, что модель помнит реальные компании и фильмы из интернета. Как только названия заменяют на вымышленные слова, точность прямой починки падает в разы даже на простых числах. Применяй: Перед запуском очистки рабочей базы проверь запрос на 20 строках, заменив реальные названия на вымышленные словосочетания
Генерация скрипта очистки устойчива к незнакомым названиям в отличие от прямой правки ячеекКогда модель правит ячейки таблицы напрямую в ответе, качество сильно зависит от того, знакомы ли ей названия в строках. Если же поручить модели написать функцию очистки на Python по правилам формата, код работает одинаково точно и на известных брендах, и на внутренних артикулах. Применяй: Для форматных ошибок и регулярных правил проси модель выдать код обработки таблицы, а не исправленный текст ячеек
Сортировка таблицы по идентификатору сущности перед подачей в запрос превращает неразрешимые опечатки в решаемыеЕсли резать таблицу на случайные куски, в один блок попадают разные компании. Модель не видит правильного написания незнакомой фирмы в соседней строке и пытается угадать опечатку вслепую. Группировка строк с одним ИНН или кодом в один блок даёт модели явный эталон внутри контекста. Применяй: Перед отправкой таблицы в модель всегда сортируй и группируй строки по ключу компании или объекта
📖 Простыми словами

Cleaning or Recalling? Knowledge Dependence inLLM-based Data Cleaning [Experiment, Analysis & Benchmark]

arXiv: 2611.08106

Когда ты просишь нейронку почистить кривую таблицу с данными, она не превращается в дотошного бухгалтера с калькулятором. На самом деле она работает как ленивый эрудит: вместо того чтобы вникать в структуру строк, модель просто «узнает» знакомые названия и подтягивает правильные ответы из своей памяти. Исследователи доказали это с помощью протокола CoRe, заменив реальные бренды на белиберду. Выяснилось, что без знакомых якорей вроде Apple или Coca-Cola интеллект модели мгновенно испаряется, и она начинает лажать даже в элементарной логике.

Это как если бы ты попросил друга проверить список покупок, где написано «Молоко 1 лтр». Друг видит знакомое слово и исправляет опечатку на автомате. Но если ты напишешь «Гхырбых 1 лтр», он впадёт в ступор, потому что не понимает, что это за хрень и может ли она измеряться в литрах. Модель не анализирует данные — она просто вспоминает контекст, и если контекста нет, вся магия «умной очистки» рассыпается в прах.

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

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

Короче: нельзя просто скормить нейронке грязную таблицу и надеяться на чудо. Если данные специфические или внутренние, модель будет тупить или врать, потому что у неё нет «шпаргалки» в голове на этот случай. Либо давай ей максимально четкие инструкции по логике исправлений, либо смирись с тем, что она почистит только то, что уже видела в учебниках. Recalling побеждает Cleaning, и пока ты это не учтешь, твои данные останутся мусором.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с