Метод сопоставления нечётких списков

Сверка выгрузки из CRM с таблицей клиентов по счетам-фактурам или сопоставление названий поставщиков из двух разных ERP-систем почти всегда спотыкается на мелких различиях, например, «Acme Corp.», «ACME Corporation» или «acme corp». Вставьте оба списка, задайте порог сходства, и инструмент предложит наиболее подходящий вариант из списка B для каждой записи в списке A, пометив для ручной проверки те, что не дотягивают до порога.

Как сопоставить два неупорядоченных списка

  1. 1

    Вставьте список A

    По одной записи в строке, имена клиентов, коды товаров, адреса.

  2. 2

    Вставьте список B

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

  3. 3

    Задайте порог

    Процент сходства, выше которого совпадение принимается (70 %, разумное значение по умолчанию).

  4. 4

    Прочитайте отчёт

    Каждой записи A сопоставляется лучший кандидат B и оценка уверенности. Записи ниже порога помечаются для проверки.

Как измеряется сходство

Инструмент использует показатель similar_text PHP (оценка по наибольшей общей подпоследовательности) и выводит результат в процентах: чем выше значение, тем лучше результат; полное соответствие соответствует 100 %.

Порог Поведение
≥ 95 % Почти идентично, различия только в регистре или пробелах
80–94 % Опечатки, отсутствие пунктуации, обрезанные суффиксы
60–79 % Изменение порядка слов, сокращения против полных форм
< 60 % Скорее всего, это не настоящее совпадение, проверьте вручную

Советы

  • Сначала нормализуйте, если знаете типичный шум: приведите к нижнему регистру, уберите пунктуацию, сожмите пробелы. Так вы получите более точные оценки.
  • Убирайте суффиксы компаний («Inc», «Ltd», «GmbH»), если они встречаются в одном списке непоследовательно, а в другом отсутствуют.
  • Разбивайте длинные адреса, сопоставлять «улица + город» по отдельности эффективнее, чем сопоставлять одну склеенную строку.
  • Следите за отношением «один ко многим». Инструмент выбирает лучшее совпадение B для каждой записи A; он не мешает одному и тому же B совпасть с несколькими строками A.

Когда стоит использовать более строгий алгоритм

При обработке больших объёмов данных с дедупликацией расстояние Левенштейна или метод Яро–Винклера демонстрируют лучшие результаты по сравнению с алгоритмом similar_text, особенно для имен, где положение символов играет важную роль. Если процесс выставления счетов или объединения данных основан на нечетком сопоставлении, перед использованием результата в масштабном режиме необходимо проверить 20 случайных пар.

Часто задаваемые вопросы

Порог 70 % охватывает большинство настоящих совпадений и одновременно помечает реальные промахи. Поднимите до 85 %, если список B чистый и вы не можете допустить ложных срабатываний; снизьте до 55 %, если оба списка зашумлены и вы планируете проверять всё вручную.

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

Внутри инструмент перед сравнением приводит обе стороны к нижнему регистру, поэтому «Apple» и «apple» получают оценку 100 %.

Да, сопоставление выполняется на стороне сервера, поэтому оба ваших списка отправляются в инструмент для сравнения. Они обрабатываются в памяти в рамках одного этого запроса и после не сохраняются и не логируются.

Сопутствующие инструменты

Справочная таблица ASCII

Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.

Справочник сочетаний клавиш

Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.

Справочник символов HTML

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

Шпаргалка по Markdown

Практический справочник Markdown с настоящим предпросмотром и готовыми для копирования примерами заголовков, списков, таблиц, кода, ссылок, изображений и синтаксиса GFM.

Счетчик FPS

Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.

Поиск названия цвета

Найдите ближайший стандартный именованный цвет CSS для HEX, RGB или HSL по разнице CIEDE2000.

Инструмент доступен на других языках