
# Адаптивний двигун атрибуції доказів на базі графових нейронних мереж

*Ключові слова*: автоматизація анкет безпеки, графова нейронна мережа, атрибуція доказів, AI‑орієнтований комплаєнс, мапінг доказів у реальному часі, ризик закупівель, генеративний AI  

У сьогоднішньому швидкозмінному SaaS‑середовищі команди безпеки та комплаєнсу потрапляють під натиск анкет, запитів аудиту та оцінок ризиків постачальників. Ручний збір доказів не лише уповільнює процес укладання угод, а й створює ризики людської помилки та прогалин в аудиту. **Procurize AI** вирішує цю проблему через набір інтелектуальних модулів; серед них **Адаптивний двигун атрибуції доказів (AEAE)** виділяється як революційний компонент, який використовує **графові нейронні мережі (GNN)** для автоматичного зв’язування правильних доказів з кожною відповіддю анкети у реальному часі.

У цій статті розкрито основні концепції, архітектурний дизайн, кроки впровадження та вимірювані переваги AEAE, побудованого на технології GNN. Після прочитання ви зрозумієте, як вбудувати цей двигун у свою платформу комплаєнсу, як він інтегрується з існуючими робочими процесами та чому він є незамінним для будь‑якої організації, яка прагне масштабувати автоматизацію анкет безпеки.

---

## 1. Чому важлива атрибуція доказів

Анкети безпеки зазвичай містять десятки питань, що охоплюють різні рамки ([SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), [ISO 27001](https://www.iso.org/standard/27001), [GDPR](https://gdpr.eu/), [NIST 800‑53](https://www.nist.gov/cyberframework)). Кожна відповідь повинна бути підкріплена **доказом** — політичною документацією, аудиторським звітом, скріншотом налаштувань чи журналом. Традиційний робочий процес виглядає так:

1. **Питання призначається** власнику комплаєнсу.  
2. **Власник шукає** у внутрішньому репозиторії релевантні докази.  
3. **Доказ прикріпляється** вручну, часто після кількох ітерацій.  
4. **Рецензент перевіряє** мапінг, додає коментарі та затверджує.

На кожному етапі процес уразливий до:

* **Витрат часу** – пошук серед тисяч файлів.  
* **Непослідовного мапінгу** – один і той самий доказ може бути прив’язаний до різних питань з різним рівнем релевантності.  
* **Ризику аудиту** – відсутність або застарілі докази можуть викликати знахідки під час аудиту.

**AI‑двигун атрибуції** усуває ці недоліки, автоматично вибираючи, рангуючи та прикріпляючи найвідповідніші докази, одночасно навчаючись на зворотному зв’язку рецензентів.

---

## 2. Графові нейронні мережі – ідеальне рішення

GNN відмінно працює з **реляційними даними**. У контексті анкет безпеки дані можна змоделювати як **граф знань**, де:

| Тип вузла | Приклад |
|-----------|----------|
| Питання | «Чи шифруєте ви дані у спокої?» |
| Доказ | «PDF політики AWS KMS», «Лог шифрування S3 bucket» |
| Контроль | «Процедура управління ключами шифрування» |
| Рамка | «SOC 2 – CC6.1» |

Ребра відображають відносини типу **«вимагає»**, **«покриває»**, **«виведено з»**, **«перевірено»**. Такий граф природно відповідає багатовимірним мапінгам, які вже використовують команди комплаєнсу, тому GNN є ідеальним двигуном для виявлення прихованих зв’язків.

### 2.1 Огляд робочого процесу GNN

```mermaid
graph TD
    Q["Вузол питання"] -->|requires| C["Вузол контролю"]
    C -->|supported‑by| E["Вузол доказу"]
    E -->|validated‑by| R["Вузол рецензента"]
    R -->|feedback‑to| G["Модель GNN"]
    G -->|updates| E
    G -->|provides| A["Оцінки атрибуції"]
```

* **Q → C** – Питання пов’язане з одним або декількома контролями.  
* **C → E** – Контроли підкріплюються доказовими об’єктами, вже збереженими в репозиторії.  
* **R → G** – Зворотний зв’язок рецензента (прийняти/відхилити) надходить у GNN для безперервного навчання.  
* **G → A** – Модель повертає коефіцієнт довіри для кожної пари «питання‑доказ», який інтерфейс використовує для автоматичного прикріплення.

---

## 3. Детальна архітектура адаптивного двигуна атрибуції доказів

Нижче – погляд на компоненти виробничого AEAE, інтегрованого з Procurize AI.

```mermaid
graph LR
    subgraph Frontend
        UI[User Interface]
        Chat[Conversational AI Coach]
    end

    subgraph Backend
        API[REST / gRPC API]
        Scheduler[Task Scheduler]
        GNN[Graph Neural Network Service]
        KG[Knowledge Graph Store (Neo4j/JanusGraph)]
        Repo[Document Repository (S3, Azure Blob)]
        Logs[Audit Log Service]
    end

    UI --> API
    Chat --> API
    API --> Scheduler
    Scheduler --> GNN
    GNN --> KG
    KG --> Repo
    GNN --> Logs
    Scheduler --> Logs
```

### 3.1 Основні модулі

| Модуль | Відповідальність |
|--------|-------------------|
| **Knowledge Graph Store** | Зберігає вузли/ребра питань, контролей, доказів, рамок та рецензентів. |
| **GNN Service** | Проводить інференс у графі, генерує оцінки атрибуції та оновлює ваги ребер на основі зворотного зв’язку. |
| **Task Scheduler** | Запускає завдання атрибуції при імпорті нових анкет або зміні доказів. |
| **Document Repository** | Тримає сирі файли доказів; їх метадані індексуються в графі для швидкого пошуку. |
| **Audit Log Service** | Фіксує кожне автоматичне прикріплення та дію рецензента для повної простежуваності. |
| **Conversational AI Coach** | Допомагає користувачам у процесі відповіді, підказуючи рекомендовані докази за запитом. |

### 3.2 Потік даних

1. **Інжестія** – Новий JSON анкети парситься; кожне питання стає вузлом у KG.  
2. **Збагачення** – Існуючі контролі та мапінги рамок автоматично додаються через шаблони.  
3. **Інференс** – Scheduler викликає GNN Service; модель оцінює кожен доказ проти кожного питання.  
4. **Прикріплення** – Топ‑N доказів (конфігуровано) автоматично прикріплюються до питання. UI відображає бейдж довіри (наприклад, 92 %).  
5. **Ручний перегляд** – Рецензент може прийняти, відхилити або переранжувати; цей фідбек оновлює ребра у KG.  
6. **Безперервне навчання** – GNN пере‑тренується щовечора, використовуючи зібраний фідбек, покращуючи майбутні прогнози.

---

## 4. Побудова моделі GNN – крок за кроком

### 4.1 Підготовка даних

| Джерело | Метод екстракції |
|--------|-------------------|
| JSON анкети | Парсер JSON → вузли питань |
| Політичні документи (PDF/Markdown) | OCR + NLP → вузли доказів |
| Каталог контролів | Імпорт CSV → вузли контролів |
| Дії рецензентів | Потік подій (Kafka) → оновлення ваг ребер |

Усі сутності нормалізуються та отримують **векторні ознаки**:

* **Ознаки питань** – ембедінг тексту (BERT‑based), рівень критичності, тег рамки.  
* **Ознаки доказів** – тип документа, дата створення, ключові слова, ембедінг вмісту.  
* **Ознаки контролів** – ідентифікатор вимоги, рівень зрілості.

### 4.2 Конструювання графу

```python
import torch
import torch_geometric as tg

# Псевдо‑код
question_nodes = tg.data.Data(x=question_features, edge_index=[])
control_nodes  = tg.data.Data(x=control_features, edge_index=[])
evidence_nodes = tg.data.Data(x=evidence_features, edge_index=[])

# Зв’язок питання→контроль
edge_qc = tg.utils.links.edge_index_from_adj(adj_qc)

# Зв’язок контроль→доказ
edge_ce = tg.utils.links.edge_index_from_adj(adj_ce)

# Об’єднуємо в один гетерогенний граф
data = tg.data.HeteroData()
data['question'].x = question_features
data['control'].x = control_features
data['evidence'].x = evidence_features
data['question', 'requires', 'control'].edge_index = edge_qc
data['control', 'supported_by', 'evidence'].edge_index = edge_ce
```

### 4.3 Архітектура моделі

Для гетерогенних графів добре підходить **Relational Graph Convolutional Network (RGCN)**.

```python
class EvidenceAttributionRGCN(torch.nn.Module):
    def __init__(self, hidden_dim, num_relations):
        super().__init__()
        self.rgcn1 = tg.nn.RGCN(in_channels=feature_dim,
                               out_channels=hidden_dim,
                               num_relations=num_relations)
        self.rgcn2 = tg.nn.RGCN(in_channels=hidden_dim,
                               out_channels=hidden_dim,
                               num_relations=num_relations)
        self.classifier = torch.nn.Linear(hidden_dim, 1)  # оцінка довіри

    def forward(self, x_dict, edge_index_dict):
        x = self.rgcn1(x_dict, edge_index_dict)
        x = torch.relu(x)
        x = self.rgcn2(x, edge_index_dict)
        scores = self.classifier(x['question'])  # потім мапимо на простір доказів
        return torch.sigmoid(scores)
```

Функція втрати – **binary cross‑entropy** між передбаченими оцінками та підтвердженими посиланнями рецензентів.

### 4.4 Питання розгортання

| Аспект | Рекомендація |
|--------|--------------|
| **Латентність інференсу** | Кешувати останні знімки графу; експортувати модель у ONNX для інференсу за мілісекунди. |
| **Перепідготовка моделі** | Нічні батч‑завдання на GPU; зберігати версії чекпоінтів. |
| **Масштабованість** | Горизонтальне розшарування KG за рамками; кожен шар працює зі своїм інстансом GNN. |
| **Безпека** | Ваги моделі шифруються у спокої; сервіс інференсу працює у VPC з нуль‑домовим доступом. |

---

## 5. Інтеграція AEAE у робочий процес Procurize

### 5.1 Сценарій користувача

1. **Імпорт анкети** – Команда безпеки завантажує нову анкету.  
2. **Автоматичне мапування** – AEAE миттєво пропонує докази для кожної відповіді; поруч з пропозицією з’являється бейдж довіри.  
3. **Одне клацання** – Користувач натискає бейдж, щоб прийняти пропозицію; файл доказу прив’язується, система реєструє дію.  
4. **Зворотний зв’язок** – Якщо пропозиція неточна, рецензент перетягує інший документ і залишає короткий коментар (“Застарілий доказ – використати аудит Q3‑2025”). Це фіксується як **негативне ребро** для майбутнього навчання GNN.  
5. **Аудиторський слід** – Кожна автоматична та ручна дія має часову мітку, підписана та збережена у незмінному реєстрі (наприклад, Hyperledger Fabric).  

### 5.2 Приклад API (спрощений)

```http
POST /api/v1/attribution/run
Content-Type: application/json

{
  "questionnaire_id": "qnr-2025-11-07",
  "max_evidence_per_question": 3,
  "retrain": false
}
```

**Відповідь**

```json
{
  "status": "queued",
  "run_id": "attr-20251107-001"
}
```

Результати виконання можна отримати через `GET /api/v1/attribution/result/{run_id}`.

---

## 6. Оцінка ефективності – дашборд KPI

| KPI | Базовий (ручний) | З AEAE | % Поліпшення |
|-----|-------------------|--------|--------------|
| Середній час на питання | 7 хв | 1 хв | 86 % |
| Рівень повторного використання доказів | 32 % | 71 % | +121 % |
| Кількість корекцій рецензентів | 22 % (ручні) | 5 % (після AI) | -77 % |
| Частка знайдених порушень аудиту | 4 % | 1,2 % | -70 % |
| Час закриття угоди | 45 днів | 28 днів | -38 % |

Живий **дашборд атрибуції доказів** (Grafana) візуалізує ці метрики, дозволяючи керівникам комплаєнсу виявляти вузькі місця та планувати ресурси.

---

## 7. Безпека та управління

1. **Приватність даних** – AEAE працює лише з метаданими та зашифрованими доказами. Конфіденційний вміст не передається моделі; ембедінги генеруються у захищеному середовищі.  
2. **Пояснюваність** – Бейдж довіри містить підказку з топ‑3 факторів (наприклад, «Перетин ключових слів: “encryption at rest”, дата документа ≤ 90 днів, відповідний контроль SOC 2‑CC6.1»). Це задовольняє вимоги аудиту щодо **explainable AI**.  
3. **Контроль версій** – Кожне прикріплення доказу має версію. При оновленні політики двигун автоматично пере‑запускає атрибуцію для уражених питань і позначає зниження довіри.  
4. **Контроль доступу** – Ролі визначають, хто може запускати пере‑тренування або бачити чисті логіти моделей.

---

## 8. Реальний приклад успішного впровадження

**Компанія**: FinTech SaaS‑провайдер (серія C, 250 співробітників)  
**Проблема**: 30 годин щомісяця на відповіді SOC 2 та ISO 27001, часті пропущені докази.  
**Впровадження**: AEAE інтегровано у існуючу інстанцію Procurize. Навчено GNN на 2 роки історичних даних (≈ 12 тис. пар «питання‑доказ»).  
**Результати (перший квартал)**:

* **Час обробки** скоротився з 48 годин до 6 годин на анкету.  
* **Ручний пошук доказів** зменшився на 78 %.  
* **Знаходження під час аудиту**, пов’язані з відсутністю доказів, впали до нуля.  
* **Вплив на доходи**: швидше укладання угод додало $1,2 млн до ARR.

Клієнт зазначив, що AEAE «перетворив біда комплаєнсу у конкурентну перевагу».

---

## 9. Покроковий план дій

1. **Оцінка готовності даних** – інвентаризація всіх існуючих доказів, політик та мапінгів контролів.  
2. **Запуск графової БД** – Neo4j Aura або керований JanusGraph; імпорт вузлів/ребер через CSV/ETL.  
3. **Створення базової моделі GNN** – клонувати відкритий репозиторій `rgcn-evidence-attribution`, адаптувати екстрактори ознак під ваш домен.  
4. **Пілотний запуск** – оберіть одну рамку (наприклад, SOC 2) та підмножину анкет. Оцініть оцінки довіри проти зворотного зв’язку рецензентів.  
5. **Ітерація на фідбеку** – включіть коментарі рецензентів, налаштуйте ваги ребер, пере‑тренуйте модель.  
6. **Масштабування** – додайте інші рамки, налаштуйте нічне пере‑тренування, інтегруйте у CI/CD для безперервної доставки.  
7. **Моніторинг та оптимізація** – використовуйте KPI‑дашборд, задайте оповіщення про падіння довіри нижче порогу (наприклад, 70 %).  

---

## 10. Перспективи розвитку

* **Федеративні GNN між організаціями** – кілька компаній можуть спільно тренувати глобальну модель без обміну сирими доказами, зберігаючи конфіденційність.  
* **Інтеграція доказів у Zero‑Knowledge Proof** – для надчутливих доказів двигун може видавати zk‑доказ, що документ задовольняє вимогу, не розкриваючи вміст.  
* **Мультимодальні докази** – розширення моделі для розуміння скріншотів, файлів конфігурації та навіть IaC‑фрагментів через vision‑language трансформери.  
* **Радар змін нормативної бази** – синхронізація AEAE з потоками оновлень нормативних актів; граф автоматично додає нові вузли контролів, ініціуючи пере‑атрибуцію.  

---

## 11. Висновок

**Адаптивний двигун атрибуції доказів на базі графових нейронних мереж** перетворює трудомістку задачу підбору доказів у **точний, аудиторський та безперервно навчаючий** процес. Моделюючи екосистему комплаєнсу як граф знань і дозволяючи GNN виявляти приховані зв’язки, організації досягають:

* Швидшого завершення анкет, прискорюючи цикл продажів.  
* Вищого повторного використання доказів, зменшуючи «засмічення» сховищ.  
* Сильнішої позиції під час аудиту завдяки пояснювальній AI‑транспарентності.  

Для будь‑якої SaaS‑компанії, що користується Procurize AI, або розробляє власну платформу комплаєнсу, інвестиція в GNN‑диспечер атрибуції більше не «приємна експериментальна можливість» – це стратегічна необхідність для масштабованого автоматизованого управління безпекою.