Методология: как устроен разбор

Алгоритм детерминированный: один и тот же ввод при одной и той же версии базы всегда даёт один и тот же результат. Ниже — что именно происходит с вашим составом.

Данные проверены 2026-08-25 4 мин чтения Метод inci-parser/1.1.0

Шаги обработки

  1. Очистка ввода. Убираем префиксы («Ingredients:», «Состав:»), переносы строк, лишние разделители и типичный мусор распознавания текста. Исходное написание при этом сохраняется и показывается в результате.
  2. Токенизация. Список делится по запятым верхнего уровня. Запятая внутри скобок (Parfum (Linalool, Limonene)) и запятая между цифрами (1,2-Propanediol) разделителем не считаются. Секция «может содержать» распознаётся отдельно, её компоненты помечаются тегом.
  3. Точное сопоставление. Ищем каноническое имя INCI. Регистр, пунктуация и лишние пробелы не значимы. Дополнительно проверяется вариант с заменой кириллических гомоглифов — частая ошибка вёрстки и OCR.
  4. Сопоставление синонимов. Используются только проверенные синонимы с указанием типа (официальный, распространённый, торговый, опечатка) и источника.
  5. Похожие названия. Если точного совпадения нет, мы можем предложить кандидата с оценкой близости, но никогда не принимаем его автоматически. Кандидат отклоняется, если различаются числа в названии или различаются химически значимые части имени (метил/этил/пропил/бутил, цикло-, ди-/три-, натрий/калий и подобные).
  6. Функции. Берутся из справочника с указанием источника перечня.
  7. Правила. Применяются только записи со статусом «опубликовано», действующие на текущую дату, с проверкой юрисдикции и контекста продукта.
  8. Формирование блоков. Нормативная информация, маркировка аллергенов, контекст формулы, проверка заявлений и ограничения формируются отдельно и не смешиваются.

Отдельная проверка по перечню запрещённых веществ

Приложение II к Регламенту (ЕС) 1223/2009 — это перечень веществ, которые в косметике ЕС не допускаются вовсе. Такие вещества почти никогда не входят в обычный справочник ингредиентов, поэтому мы держим их отдельным слоем и проверяем каждую строку состава по нему.

Без этого слоя запрещённое вещество молча попало бы в раздел «не распознано» — то есть самый важный сигнал в разборе выглядел бы как пробел нашей базы. Теперь такая строка выводится нормативным блоком с номером позиции приложения.

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

Откуда берутся нормативные правила

Условия применения извлекаются из официального консолидированного текста регламента и проходят две независимые проверки, прежде чем попасть на сайт.

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

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

Позиционная эвристика 1%

Мы отмечаем вероятную границу 1% по первому компоненту из числа тех, что практически всегда вводятся в долях процента (консерванты, загустители, хелаторы, регуляторы pH, отдушка). Всё, что ниже этой границы, помечается как предположительно ниже 1%.

Это предположение о структуре списка, а не измерение концентрации, и в интерфейсе оно всегда подписано именно так.

Чем мы не пользуемся

Языковые модели не участвуют в расчёте. Они могут применяться нами при подготовке редакторского черновика, но не создают факт, нормативное ограничение или итоговый флаг: всё это приходит из версионированных данных с указанием источника.

Мы не выводим единый балл 0–100 и не присваиваем компонентам ярлык «безопасный»/«опасный». Сводка показывает только количественные характеристики разбора.

Версии и воспроизводимость

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

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

Известные ограничения текущей версии

Проверьте свой состав

Разбор идёт в браузере: список ингредиентов не уходит на сервер и не попадает в ссылку.

Открыть анализатор