## КОНТЕКСТ И ПРОБЛЕМАТИКА
В современной цифровой экономике горизонтальное и вертикальное внедрение систем Process Mining (PM) сталкивается с фундаментальной проблемой качества исходных данных. Исследования показывают, что до 80 % времени аналитиков тратится не на построение инсайтов, а на «очистку» логов событий, в которых отсутствуют критически важные атрибуты: названия активности, временные метки, исполнители, ресурсы или произвольные атрибуты контекста. Причины пропусков многообразны: ручной ввод, ошибки интеграционных шлюзов, неполное покрытие инструментами мониторинга, офлайн-выполнение операций и даже сознательное «сокрытие» данных из соображений приватности.
Классические решения делятся на две категории. Первая опирается на априорную модель процесса (DFG, BPMN, Petri-net), по которой с помощью alignments или conformance checking восстанавливаются пропущенные события. Однако такие подходы требуют, чтобы модель была заранее построена, корректна и покрывала все варианты поведения, что в больших и быстро изменяющихся процессах невозможно. Вторая категория использует методы машинного обучения (RNN, LSTM, Transformer), но представляет трассу как линейную последовательность, теряя богатую структуру связей между событиями, ресурсами и атрибутами. Более того, большинство DL-моделей решают частные задачи: восстанавливают только активность или только временную метку, не позволяя «заполнить» трассу полностью. В статье ставится цель разработать единый метод, который: а) не требует предварительной модели процесса; б) эффективно работает при одновременном отсутствии множества атрибутов; в) учитывает не только порядок событий, но и их многоуровневую семантику.
## ПРЕДЛОЖЕННЫЙ МЕТОД
Авторы предлагают модель **HGNN-Repair**, основанную на Heterogeneous Graph Neural Network. Ключевая идея — представить трассу как ориентированный гетерогенный граф G=(V,E,τ), где узлы V имеют типы τ из множества {event, attribute, resource, case, time}, а рёбра E отражают разнообразные отношения: «следует за», «принадлежит к», «выполняется ресурсом», «имеет значение» и тд. В отличие от однородных графов, такое представление позволяет сохранить полную структуру данных без упрощений.
Архитектура состоит из трёх модулей.
1. **Graph Builder** преобразует XML/CSV-лог в граф: для каждого события создаётся узел event; для каждого уникального значения атрибута — узел attribute; для каждого исполнителя — узел resource; дополнительно узлы case и time обеспечивают контекст. Рёбра типизированы и взвешены (например, вес перехода «event i → event i+1» = 1, вес связи «event → attribute: cost» = 0.9).
2. **Heterogeneous GraphSAGE Encoder** применяет агрегацию по соседям разных типов через итеративное message passing. Для каждого типа узла используется отдельная нейронная сеть-агрегатор, что позволяет учитывать семантику связей. Чтобы справиться с пропусками, в граф добавляются «пустые» узлы типа «missing», которые затем маскируются.
3. **Multi-Head Decoder** генерирует значения для всех отсутствующих атрибутов одновременно: MLP-декодер для категориальных признаков (softmax), отдельная MLP-ветвь для непрерывных (ReLU + нормализация) и кросс-энтропийная/MAE-функция потерь. Тренировка проводится в режиме self-supervision: случайным образом маскируются 10–40 % атрибутов, модель учится восстанавливать.
Дополнительно введена «контрастная» потеря, которая штрафует модель, если восстановленное событие нарушает общие статистики лога (например, частоту активностей или распределение времени выполнения). Это снижает вероятность «фантастических» значений.
## ЭКСПЕРИМЕНТАЛЬНЫЕ РЕЗУЛЬТАТЫ
Бенчмарк охватывает 2 синтетических и 4 реальных лога: BPI Challenge 2012, 2017, 2019 и Road-Traffic-Fine. Синтетические логи (MXML-Synth и PLG-Synth) сгенерированы моделями с известным ground truth, что позволяет точно оценить восстановление. Для каждого лога моделировались три сценария пропусков: MCAR (случайные), MAR (зависящие от контекста) и MNAR (информативные, когда пропущена