Внутренние механизмы¶
В этом разделе описаны ключевые алгоритмы, которые лежат в основе обработки документов и сверки с реестрами. Каждый алгоритм вынесен в отдельную страницу с подробным разбором логики, параметров и взаимосвязей с другими подсистемами.
Содержание раздела¶
- Сравнение неоднозначных дат --- как программа разбирает все возможные толкования даты и находит пересечение при сравнении. Этот алгоритм используется во всех подсистемах: группировке, сопоставлении, поиске по реестру и импорте.
- Многоиндексный поиск --- как строятся прямой и обратный указатели по всем толкованиям полей, и как быстрый поиск по указателю дополняется приблизительным.
- Система баллов --- шкала баллов для группировки документов и сопоставления с реестром, выбор порогов и значение каждой цифры.
- Правила сопоставления с реестром --- несколько независимых правил, подправила, режимы «первое совпадение» и «все совпадения», объединение результатов.
- Извлечение названий месторождений --- поиск по ключевым словам с учётом границ слов, причина, по которой результаты языковой модели используются как вспомогательные.
- Партионная обработка --- экономия за счёт пакетного сервиса Anthropic, ограничения, расписание проверки готовности и влияние памяти.
Как связаны алгоритмы между собой¶
Путь документа от загрузки до итоговой таблицы проходит через несколько алгоритмов последовательно:
- Загрузка и распознавание. Исходный файл поступает в партионную обработку, где языковая модель Claude извлекает из страниц данные документов.
- Постобработка. Результаты Claude дополняются поиском месторождений по ключевым словам.
- Группировка. Извлечённые документы сравниваются попарно по системе баллов, и связанные документы объединяются в группы.
- Сверка с реестром. При загрузке реестра строятся указатели для быстрого поиска. Поиск выполняется по правилам сопоставления, а сравнение неоднозначных дат обеспечивает корректное сопоставление дат во всех форматах.
На каждом этапе используется единая логика нормализации и сравнения значений, описанная в разделах Сопоставление с реестром и Работа с неоднозначными датами.