В предыдущих статьях цикла о сервисе SOFROS ИИ/ML рассматривались архитектура, гибридный подход и интеграция с корпоративными системами через REST API. Третья статья углубляется в детали моделей, которые выполняют ключевую работу: классификацию, извлечение характеристик, семантический поиск и контекстное обогащение данных. Эти модели превращают «сырые» записи в структурированные и нормализованные справочники, что критически важно для поддержания актуальности нормативно-справочной информации (НСИ).
Модель классификации основана на наивном байесовском классификаторе. Она определяет класс НСИ по текстовому наименованию номенклатурной позиции, используя статистику встречаемости слов, устойчивых словосочетаний, шаблонов и сходных токенов. На первом этапе текст нормализуется: приводится к нижнему регистру, обрабатываются цифры, знаки препинания и служебные символы. Затем текст разбивается на токены — униграммы, биграммы, триграммы и n-граммы большей длины. Для каждого токена может строиться маска, например, слово «дом123» преобразуется в маску, где цифры заменяются специальным символом, что позволяет обобщать сходные токены.
Для учёта опечаток применяется нечёткий поиск на основе расстояния Дамерау-Левенштейна, которое отражает минимальное количество операций (вставки, удаления, замены или перестановки соседних символов) для преобразования одного слова в другое. Для ускорения поиска используется хеширование: токены преобразуются в хеши и распределяются по хеш-бакетам, где группируются потенциально сходные слова. Это позволяет быстро находить близкие варианты без сравнения каждого токена со всей обучающей выборкой. Токены и результаты обработки сохраняются в кэше, что обеспечивает накопление статистики по классам и оперативное обновление без полного переобучения.
Модель экстракции извлекает именованные сущности (NER) с помощью spaCy и beam search. Это позволяет выделять из текста характеристики, такие как названия, даты, коды и другие атрибуты, необходимые для нормализации. Семантический поиск использует BERT, FAISS и реранкер: BERT кодирует текст в векторные представления, FAISS обеспечивает быстрый поиск по смыслу, а реранкер уточняет результаты. Контекстный поиск обращается к веб-источникам для дообогащения данных, что особенно полезно при неполной информации.
Отдельно выделена классификация персонально идентифицируемой информации (PII). Она обеспечивает безопасность, позволяя идентифицировать и защищать чувствительные данные в процессе обработки. Это важно для соответствия требованиям законодательства о защите персональных данных.
Таким образом, SOFROS ИИ/ML сочетает несколько моделей, каждая из которых решает свою задачу. Гибридный подход, включающий классические алгоритмы и современные нейросети, позволяет достигать высокой точности при работе с НСИ. В следующих статьях цикла, вероятно, будут рассмотрены практические примеры применения и результаты тестирования.
