
# Adaptatiivinen Todisteiden Attribuutiomoottori, jota tukee graafiset neuroverkot

*Avainsanat*: turvallisuuskyselyjen automaatio, graafinen neuroverkko, todisteiden attribuutio, AI‑ohjattu noudattaminen, reaaliaikainen todistemappaus, hankintariskit, generatiivinen AI  

Nykypäivän vauhdikkaassa SaaS‑ympäristössä turvallisuus‑ ja noudattamistiimit ovat hukassa kyselyiden, auditointipyyntöjen ja toimittajariskien arviointien keskellä. Manuaalinen todisteiden kerääminen hidastaa kauppasyklejä ja tuo mukanaan inhimillisiä virheitä sekä auditointiaukkoja. **Procurize AI** ratkaisee ongelman älykkäillä moduuleilla; näistä **Adaptatiivinen Todisteiden Attribuutiomoottori (AEAE)** erottuu peliautomaatiokomponenttina, joka hyödyntää **graafisia neuroverkkoja (GNN)** automaattisesti yhdistääkseen oikeat todisteet kuhunkin kysymykseen reaaliajassa.

Tässä artikkelissa selitetään AEAE:n peruskäsitteet, arkkitehtuuri, toteutuksen vaiheet ja mitattavat hyödyt. Lukun jälkeen ymmärrät, miten moottori integroidaan noudattavuusalustaan, miten se sovitetaan olemassa oleviin työnkulkuihin ja miksi se on pakollinen kaikille organisaatioille, jotka haluavat skaalata turvallisuuskyselyjen automaatiota.

---

## 1. Miksi todisteiden attribuutio on tärkeää

Turvallisuuskyselyt koostuvat yleensä kymmeniä kysymyksiä useista viitekehyksistä ([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)). Jokainen vastaus on tuettava **todisteella** – politiikkadokumentilla, auditointiraportilla, konfiguraation kuvakaappauksella tai lokilla. Perinteinen työnkulku näyttää tältä:

1. **Kysymys osoitetaan** noudattamisen omistajalle.  
2. **Omistaja etsii** sisäisestä repositoriosta relevantteja todisteita.  
3. **Todiste liitetään** manuaalisesti, usein useiden iteraatioiden jälkeen.  
4. **Tarkastaja vahvistaa** kartoituksen, lisää kommentteja ja hyväksyy.

Jokaisessa vaiheessa on riskejä:

* **Ajan tuhlaus** – hakeminen tuhansien tiedostojen joukosta.  
* **Epäyhtenäinen kartoitus** – sama todiste voi linkittyä eri kysymyksiin eri relevanssilla.  
* **Auditointiriski** – puuttuvat tai vanhentuneet todisteet voivat johtaa noudattamisongelmiin.

**AI‑ohjattu attribuutiomoottori** poistaa nämä kipupisteet valitsemalla, priorisoimalla ja liittämällä automaattisesti parhaiten sopivat todisteet, ja oppii jatkuvasti tarkastajien palautteesta.

---

## 2. Graafiset neuroverkot – täydellinen ratkaisu

Graafinen neuroverkko on erinomainen **suhteellinen data** –oppija. Turvallisuuskyselyiden yhteydessä data voidaan mallintaa **tietämysgraafina**, jossa:

| Solmutyyppi | Esimerkki |
|-------------|-----------|
| Kysymys | “Salaatko datan levossa?” |
| Todiste | “AWS KMS‑politiikka‑PDF”, “S3‑bucket‑salaus‑loki” |
| Kontrolli | “Salaus‑avaimen‑hallintaprosessi” |
| Viitekehä | “SOC 2 – CC6.1” |

Reunat kuvaavat suhteita kuten **“vaatii”**, **“kattaa”**, **“perustuu”** ja **“vahvistaa”**. Tämä graafi heijastaa noudattamistiimien monidimensionaalista ajattelua, tehden GNN:stä luonnollisen moottorin piiloyhteyksien päättelemiseen.

### 2.1 GNN‑työnkulun yleiskuva

```mermaid
graph TD
    Q["Question Node"] -->|requires| C["Control Node"]
    C -->|supported‑by| E["Evidence Node"]
    E -->|validated‑by| R["Reviewer Node"]
    R -->|feedback‑to| G["GNN Model"]
    G -->|updates| E
    G -->|provides| A["Attribution Scores"]
```

* **Q → C** – Kysymys linkittyy yhteen tai useampaan kontrolliin.  
* **C → E** – Kontrollit tukevat todisteita, jotka on jo tallennettu repositorioon.  
* **R → G** – Tarkastajien palaute (hyväksy/torju) syötetään GNN:ään jatkuvaa oppimista varten.  
* **G → A** – Malli antaa luottamuspisteet jokaiselle todiste‑kysymys‑parille, jotka UI näyttää automaattisessa liittämisessä.

---

## 3. AEAE:n tarkka arkkitehtuuri

Alla on komponenttitasoinen näkymä tuotantokelpoisesta AEAE:sta, integroituina Procurize AI:hin.

```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 Keskeiset moduulit

| Moduuli | Vastuu |
|---------|--------|
| **Knowledge Graph Store** | Säilyttää solmut ja reunat kysymyksille, kontrollille, todisteelle, viitekehykselle ja tarkastajille. |
| **GNN Service** | Suorittaa inferenssin graafissa, tuottaa attribuutiopisteet ja päivittää reunapainot palautteen perusteella. |
| **Task Scheduler** | Laukaisee attribuutiotehtävät, kun uusi kysely tuodaan tai todisteet muuttuvat. |
| **Document Repository** | Säilyttää raaka‑todisteet; metatiedot indeksoidaan graafiin nopeaa hakua varten. |
| **Audit Log Service** | Kirjaa jokaisen automaattisen liitoksen ja tarkastajan toiminnon jäljitettävyyttä varten. |
| **Conversational AI Coach** | Opastaa käyttäjiä vastausprosessin läpi ja tuo suositellut todisteet esiin tarpeen mukaan. |

### 3.2 Datan kulku

1. **Ingestio** – Uusi JSON‑kysely jäsennellään; jokainen kysymys lisätään KG‑solmuksi.  
2. **Rikastus** – Olemassa olevat kontrollit ja viitekehykset liitetään automaattisesti ennalta määriteltyihin malleihin.  
3. **Inferenssi** – Scheduler kutsuu GNN‑palvelua; malli arvioi jokaisen todiste‑solmun sopivuuden kaikkiin kysymys‑solmuihin.  
4. **Liittäminen** – Parhaat N todisteet (konfiguroitavissa) liitetään automaattisesti kysymykseen. UI näyttää luottamusmerkinnän (esim. 92 %).  
5. **Ihmistarkastus** – Tarkastaja voi hyväksyä, hylätä tai uudelleenjärjestellä; tätä palaute päivittää reunapainot KG:ssä.  
6. **Jatkuva oppiminen** – GNN‑malli retrenoidaan yön aikana kerätyn palautteen perusteella, parantaen tulevia ennusteita.

---

## 4. GNN‑mallin rakentaminen – vaiheittain

### 4.1 Datan valmistelu

| Lähde | Ekstraktiomenetelmä |
|------|----------------------|
| Kyselyn JSON | JSON‑parser → Kysymys‑solmut |
| Politiikkadokumentit (PDF/Markdown) | OCR + NLP → Todiste‑solmut |
| Kontrollikatalogi | CSV‑importti → Kontrolli‑solmut |
| Tarkastajien toimet | Tapahtumavirta (Kafka) → Reunapainojen päivitykset |

Kaikki entiteetit normalisoidaan ja niille luodaan **ominaisuusvektorit**:

* **Kysymys‑ominaisuudet** – tekstin upotus (BERT‑pohjainen), vakavuustaso, viitekehyksen tunniste.  
* **Todiste‑ominaisuudet** – dokumenttityyppi, luontipäivä, avainsana‑yhteensopivuus, sisällön upotus.  
* **Kontrolli‑ominaisuudet** – noudattamisvaatimuksen ID, kypsyystaso.

### 4.2 Graafin rakentaminen (esimerkkikoodi)

```python
import torch
import torch_geometric as tg

# Esimerkkipohja
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=[])

# Kytketään kysymykset kontrolleihin
edge_qc = tg.utils.links.edge_index_from_adj(adj_qc)

# Kytketään kontrollit todisteisiin
edge_ce = tg.utils.links.edge_index_from_adj(adj_ce)

# Yhdistetään kaikki yhdeksi heterogeeniseksi graafiksi
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 Mallirakenne

Relational Graph Convolutional Network (RGCN) soveltuu hyvin heterogeenisiin graafeihin.

```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)  # confidence score

    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'])  # map to evidence space later
        return torch.sigmoid(scores)
```

**Koulutustavoite:** binäärinen risti-entropia todellisten ja tarkastajien vahvistamien linkkien välillä.

### 4.4 Käyttöönoton näkökulmat

| Näkökulma | Suositus |
|-----------|----------|
| **Inferenssin viive** | Välimuistita tuoreet graafikäsitteet; käytä ONNX‑vientiä alitason inferenssiin. |
| **Mallin retraining** | Yön erätyö GPU‑nodeilla; säilytä versioidut tarkistuspisteet. |
| **Skaalautuvuus** | Graafin horisontaalinen partiointi viitekehyksen mukaan; jokainen siru ajaa oman GNN‑instanssinsa. |
| **Turvallisuus** | Mallin painot salataan levossa; inferenssipalvelu käynnistetään nollaluottamuksen VPC:ssä. |

---

## 5. AEAE:n integrointi Procurize‑työnkulkuun

### 5.1 Käyttäjäkokemuksen kulku

1. **Kyselyn tuonti** – Tiimi lataa uuden kyselyn tiedostona.  
2. **Automaattinen kartoitus** – AEAE ehdottaa todisteita jokaiselle vastaukselle; luottamuspiste näkyy jokaisen ehdotuksen vieressä.  
3. **Yksi‑klikkaus‑liittäminen** – Käyttäjä klikkaa pistettä hyväksyäkseen ehdotuksen; tiedosto linkitetään, ja toiminto kirjataan.  
4. **Palaute‑silmu** – Jos ehdotus on virheellinen, tarkastaja voi vetää toisen dokumentin paikalleen ja antaa lyhyen kommentin (“Todiste vanhentunut – käytä 2025‑Q3 audit”). Tämä tallentuu negatiiviseksi reunaksi GNN:lle oppimista varten.  
5. **Auditointijälki** – Kaikki automaattiset ja manuaaliset toimet aikaleimataan, allekirjoitetaan ja tallennetaan muuttumattomalle lokille (esim. Hyperledger Fabric).  

### 5.2 API‑sopimus (yksinkertaistettu)

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

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

**Vastaus**

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

Suorituksen tulokset haetaan kutsumalla `GET /api/v1/attribution/result/{run_id}`.

---

## 6. Vaikutuksen mittaaminen – KPI‑koontinäyttö

| KPI | Perinteinen (manuaalinen) | AEAE:n jälkeen | Parannus % |
|-----|---------------------------|----------------|------------|
| Keski‑aika per kysymys | 7 min | 1 min | 86 % |
| Todisteiden uudelleenkäyttöaste | 32 % | 71 % | +121 % |
| Tarkastajan korjausprosentti | 22 % (manuaalinen) | 5 % (AI‑jälkeen) | -77 % |
| Auditointivirheiden määrä | 4 % | 1,2 % | -70 % |
| Kaupan sulkemisaika | 45 vrk | 28 vrk | -38 % |

**Todellinen** “Todisteiden Attribuutiokoontinäyttö” (rakennettu Grafana‑pohjaisesti) visualisoi nämä mittarit, jotta johtajat näkevät pullonkaulat ja osa-alueet, joihin kannattaa panostaa.

---

## 7. Turvallisuus‑ ja hallintoperiaatteet

1. **Datan yksityisyys** – AEAE käyttää vain metatietoja ja upotuksia; arkaluontoista sisältöä ei koskaan syötetä malliin, vaan se lasketaan suojatussa eristysympäristössä.  
2. **Selitettävyys** – Luottamuspisteen tooltip näyttää kolme tärkeintä perusteita (esim. “avainsana‑yhteensopivuus: ‘encryption at rest’, tiedoston päivämäärä 90 vrk sisällä, match SOC 2‑CC6.1”). Tämä täyttää auditointien **selitettävän AI** -vaatimukset.  
3. **Versionhallinta** – Jokainen liitetty todiste versioidaan. Jos politiikadokumentti päivittyy, moottori suorittaa uudelleenarvioinnin ja merkitsee mahdolliset luottamuspisteiden laskut.  
4. **Pääsynhallinta** – Roolipohjaiset politiikat rajoittavat, kuka voi käynnistää retrainingin tai tarkastella mallin logiikkaa.

---

## 8. Käytännön menestystarina

**Yritys**: FinTech‑SaaS‑toimija (Series C, 250 henkilöä)  
**Haaste**: Keskimäärin 30 tuntia kuukaudessa vastaten SOC 2‑ ja ISO 27001‑kyselyihin, toistuvia puuttuvia todisteita.  
**Ratkaisu**: AEAE otettiin käyttöön olemassa olevan Procurize‑instanssin päälle. Koulutettiin GNN kahden vuoden historiallisen kysymys‑todiste‑parien (≈ 12 k) perusteella.  
**Tulokset (ensimmäiset 3 kk)**:

* **Vastausaika** lyheni 48 vrk → 6 vrk per kysely.  
* **Manuaalinen tiedonhaku** väheni 78 %.  
* **Auditointivirheet** liittyen puuttuviin todisteisiin pudotivat nollaan.  
* **Liikevaihto‑vaikutus**: Nopeampi kaupan sulkeminen lisäsi ARR:aa 1,2 M USD.

Yritys kiittää AEAE:ta siitä, että “noudattamiskriisi muutettiin kilpailueduksi”.

---

## 9. Käyttöönoton ohje – askel askeleelta

1. **Arvioi datan valmius** – Listaa kaikki olemassa olevat todisteet, politiikat ja kontrollit.  
2. **Ota käyttöön graafitietokanta** – Neo4j Aura tai hallinnoitu JanusGraph; tuo solmut/reunat CSV‑tai ETL‑putkilla.  
3. **Luo perus‑GNN** – Forkkaa avoimen lähdekoodin `rgcn-evidence-attribution`‑repo, sovita ominaisuuksien poiminta omaan domainiin.  
4. **Pilotoi** – Valitse yksi viitekehys (esim. SOC 2) ja pieni otos kyselyitä. Arvioi luottamuspisteet tarkastajien palautteeseen verrattuna.  
5. **Iteroi palautteesta** – Lisää tarkastajien kommentteja, säädä reunapainoja, retrenaa.  
6. **Skaalaa** – Lisää viitekehyksiä, ota käyttöön yö‑retraining, integroi CI/CD‑putkeen jatkuvaa käyttöönottoa varten.  
7. **Seuraa & optimoi** – Hyödynnä KPI‑koontinäyttöä; aseta hälytykset, kun luottamus laskee alle määritellyn rajan (esim. 70 %).  

---

## 10. Tulevaisuuden suuntaukset

* **Federatiiviset GNN‑verkot** – Useat organisaatiot voivat kouluttaa yhteisen globaalin mallin jakamatta raaka‑todisteita, säilyttäen luottamuksellisuuden mutta hyödyntäen laajempia kaavoja.  
* **Zero‑Knowledge‑todisteet** – Äärimmäisen luottamuksellisten todistusten osalta moottori voi luoda zk‑todistuksen, että liitetty dokumentti täyttää vaatimuksen paljastamatta sen sisältöä.  
* **Monimodaalinen todiste** – Laajenna malli ymmärtämään kuvakaappauksia, konfiguraatiotiedostoja sekä infrastruktuuri‑as‑koodia käyttäen vision‑language‑transformereja.  
* **Regulaatiomuutosten radar** – Kytke AEAE reaaliaikaisiin sääntely‑syötteisiin; graafi lisää automaattisesti uudet kontrolli‑solmut ja käynnistää todisteiden uudelleenattribuution.  

---

## 11. Yhteenveto

**Adaptatiivinen Todisteiden Attribuutiomoottori, jota tukevat graafiset neuroverkot** muuttaa manuaalisen todisteiden parinannon tarkan, auditointikelpoisen ja jatkuvasti kehittyvän prosessin. Mallintamalla noudattamisyhteisön tietämysgraafin ja opettamalla GNN tarkastajien käyttäytymisen perusteella organisaatiot:

* Nopeuttavat kyselyiden läpimenoa, kiihdyttävät myyntisyklejä.  
* Lisäävät todisteiden uudelleenkäyttöä ja vähentävät säilytys‑puherrusta.  
* Vahvistavat auditointikelpukkuutta selitettävän AI:n läpinäkyvyyden avulla.  

Olipa kyse sitten Procurize AI:stä tai omasta noudattavuusalustasta, investointi GNN‑pohjaiseen attribuutiomoottoriin ei ole enää “kiva kokeilu” – se on strateginen välttämättömyys, kun halutaan skaalata turvallisuuskyselyjen automaatiota enterprise‑tasolla.