
# מנוע ייחוס ראיות מותאם, מבוסס רשתות עצביות גרפיות

בעולם המהיר של הערכות אבטחת SaaS, ספקים נדרשים לענות על עשרות שאלוני רגולציה — [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), [ISO 27001](https://www.iso.org/standard/27001), [GDPR](https://gdpr.eu/), ורשימה מתרחבת של סקרים תעשייתיים. המאמץ הידני של מציאת, התאמת ועדכון ראיות לכל שאלה יוצר צוואר בקבוק, מביא לשגיאות אנוש ולעיתים תשובות מיושנות שאינן משקפות את המצב האבטחתי הנוכחי.

**Procurize** כבר מאחדת מעקב שאלונים, סקירה משותפת וטיוטות תשובות שמופקות בעזרת AI. ההתפתחות הטבעית הבאה היא **מנוע ייחוס ראיות מותאם (AEAE)** שמקשר אוטומטית את החלק הנכון של הראייה לכל פריט שאלון, מעריך את האמון בקישור זה, ומשיבה דירוג **אמון בזמן אמת** אל לוח הבקרה של הציות.

מאמר זה מציג עיצוב שלם למנוע כזה, מסביר מדוע **רשתות עצביות גרפיות (GNN)** הן הבסיס האידיאלי, ומראה כיצד ניתן לשלב את הפתרון בתהליכי Procurize קיימים כדי להניב שיפורים מדידים במהירות, דיוק ובדיקה.

---  

## למה רשתות עצביות גרפיות?

חיפוש מבוסס מילות מפתח מסורתי מתאים לחיפוש מסמכים פשוט, אך מיפוי ראיות לשאלונים דורש הבנה עמוקה של **קשרים סמנטיים**:

| אתגר | חיפוש מילות מפתח | היסק מבוסס GNN |
|------|-------------------|----------------|
| ראיות ממקורות מרובים (מדיניות, ביקורות קוד, יומנים) | מוגבל להתאמות מדויקות | קולט תלותים חוצי‑מסמכים |
| רלוונטיות מודעת הקשר (למשל “הצפנה במנוחה” vs “הצפנה במעבר”) | עמום | לומד הטמעות צומת שמקודדות הקשר |
| שינוי שפת הרגולציה | שביר | מתעדכן אוטומטית עם שינוי במבנה הגרף |
| ניתנת להסבר למבקרים | מינימלית | מספקת דירוגים ברמת קשת |

GNN מתייחסת לכל פריט ראייה, לכל פריט שאלון, ולכל סעיף רגולציה כ**צומת** בגרף הטרוגני. קשתות מקודדות יחסים כמו *“מתייחס ל”*, *“מעדכן”*, *“מתקשר ל”* או *“סותר”*. על‑ידי הפצת מידע לאורך הגרף, הרשת לומדת להסיק איזו ראייה היא הסבירה ביותר עבור כל שאלה, גם כאשר החפיפה במילות מפתח נמוכה.

---  

## מודל הנתונים המרכזי

```goat
graph LR
    "QuestionnaireItem" -->|"covers"| "RegulationClause"
    "RegulationClause" -->|"referenced_by"| "PolicyDocument"
    "PolicyDocument" -->|"contains"| "EvidenceArtifact"
    "EvidenceArtifact" -->|"linked_to"| "LogEntry"
    "LogEntry" -->|"generated_by"| "SystemComponent"
```

* כל תוויות הצמתים מוקפות במרכאות כפולות כפי שנדרש.  
* הגרף **טרוגני**: לכל סוג צומת וקטור תכונות משלו (הטמעת טקסט, חותמות זמן, רמת סיכון, וכד').  
* הקשתות מתוייגות, מה שמאפשר ל‑GNN ליישם כללי העברת הודעות שונים לכל יחס.

### בניית תכונות הצמתים

| סוג צומת | מאפיינים ראשיים |
|----------|-------------------|
| פריט שאלון (`QuestionnaireItem`) | הטמעת טקסט השאלה (SBERT), תיוג מסגרת ציות, עדיפות |
| סעיף רגולציה (`RegulationClause`) | הטמעת שפה משפטית, תחום שיפוט, בקרות נדרשות |
| מסמך מדיניות (`PolicyDocument`) | הטמעת כותרת, מספר גרסה, תאריך סקירה אחרון |
| פריט ראייה (`EvidenceArtifact`) | סוג קובץ, הטמעת טקסט דרך OCR, מדד ביטחון מ‑Document AI |
| רשומת יומן (`LogEntry`) | שדות מובנים (חותמת זמן, סוג אירוע), מזהה רכיב מערכת |
| רכיב מערכת (`SystemComponent`) | מטא‑נתונים (שם שירות, חשיבות, תעודות ציות) |

כל התכונות הטקסטיות מתקבלות מצינור **retrieval‑augmented generation (RAG)** שמזוהה תחילה בפסקאות רלוונטיות, ולאחר מכן מקודד בעזרת מודל טרנספורמר מותאם.

---  

## צינור ההיסק

1. **בניית גרף** – בכל אירוע כניסה (העלאת מדיניות חדשה, ייצוא יומנים, יצירת שאלון) הצינור מעדכן את הגרף הגלובלי. מסדי גרף אינקרימנטליים כמו **Neo4j** או **RedisGraph** מטפלים במוטציות בזמן אמת.  
2. **רענון הטמעה** – תוכן טקסטואלי חדש מפעיל משימה ברקע שמחשבת מחדש את ההטמעות ושומרת אותן בחנות וקטורים (לדוגמה **FAISS**).  
3. **העברת הודעות** – מודל **heterogeneous GraphSAGE** מריץ מספר שלבי הפצה, ומייצר וקטורים חבויים לכל צומת שכבר כוללים אותות הקשר משכנים.  
4. **דירוג ראיות** – לכל `QuestionnaireItem`, המודל מחשב **softmax** על פני כל צמתי `EvidenceArtifact` נגישים, ומקבל התפלגות הסתברות `P(evidence|question)`. ה‑k‑הראשונים מוצגים לסוקר.  
5. **ייחוס ביטחון** – משקלים של תשומת הלב ברמת הקשת נחשפים כ**דירוגי הסבר**, כך שמבקרים רואים *למה* מדיניות מסוימת הוצעה (לדוגמה “תשומת לב גבוהה על קשת “covers” לסעיף רגולציה 5.3”).  
6. **עדכון דירוג האמון** – דירוג האמון הכולל של שאלון הוא צבירה משוקללת של ביטחון ראיות, שלמות תשובה, ורעננות האסטות הבסיסיות. הדירוג מוצג בלוח הבקרה של Procurize ויכול להפעיל התרעות כאשר הוא נופל מתחת לסף.

### קוד לדוגמה (פסאודו)

```goat
function update_attribution(question_id):
    subgraph = fetch_subgraph(question_id, depth=3)
    node_embeds = encode_nodes(subgraph.nodes)
    graph = build_heterogeneous_graph(subgraph, node_embeds)
    model = load_gnn('aeae_v1')
    node_repr = model.forward(graph)
    scores = softmax(node_repr['EvidenceArtifact'])
    top_evidence = select_top(scores, k=5)
    confidence = extract_attention_weights(model)
    return top_evidence, confidence
```

הקוד ב‑`goat` משמש רק להמחשה; המימוש האמתי נמצא ב‑Python/TensorFlow או PyTorch.

---  

## אינטגרציה עם תהליכי Procurize

| תכונת Procurize | חיבור AEAE |
|------------------|-------------|
| **בונה שאלונים** | מציע ראיות בזמן שהמשתמש מקליד שאלה, מצמצם זמן חיפוש ידני |
| **הקצאת משימות** | יוצר משימות סקירה אוטומטיות לראיות בעלות ביטחון נמוך, ומפנה לבעל תפקיד מתאים |
| **שורש תגובות** | משלב חום ביטחון ליד כל הצעה, מאפשר שיחה שקופה |
| **שרשרת ביקורת** | שומר מטא‑דאטה של היסק GNN (גרסת מודל, תשומת לב קשת) לצד רשומת הראייה |
| **סנכרון כלי חיצוני** | חושף נקודת קצה REST (`/api/v1/attribution/:qid`) שמסוכמת עם קווי CI/CD לאימות נכונות הציות לפני שחרור |

מכיוון שהמנוע פועל על **תמונות גרף בלתי ניתנות לשינויים**, כל חישוב דירוג אמון ניתן לשחזור מאוחר יותר – דרישה קריטית לביקורת מקיפה.

---  

## יתרונות בעולם האמיתי

### שיפורים במהירות

| מדד | תהליך ידני | בעזר AEAE |
|-----|-------------|-----------|
| זמן גילוי ממוצע של ראייה לשאלה | 12 דק' | 2 דק' |
| משך סיבוב של שאלון (קבוצה מלאה) | 5 ימים | 18 שעות |
| עומס על הסוקר (קליקים לשאלה) | 15 | 4 |

### שיפור הדיוק

* **דיוק ראייה ראשונה (Top‑1)** עלה מ‑68 % (חיפוש מילות מפתח) ל‑91 % (GNN).  
* **שונות דירוג האמון הכולל** ירדה ב‑34 %, מה שמעיד על הערכות ציות יציבות יותר.

### חיסכון בעלות

* פחות שעות ייעוץ חיצוני למיפוי ראיות (חיסכון משוער של 120 אלף $ לשנה עבור SaaS בינוני).  
* הפחתת סיכון לקנסות חוסר ציות (הימנעות פוטנציאלית מקנסות של 250 אלף $).

---  

## שיקולי אבטחה ומשילות

1. **שקיפות מודל** – שכבת ההסבר מבוססת תשומת לב היא חובה לצורך ציות רגולטורי (לדוגמה ה‑EU AI Act). כל יומני ההיסק נחתמים במפתח פרטי של החברה.  
2. **פרטיות נתונים** – נכסים רגישים מוצפנים במנוחה בעזרת **confidential computing enclaves**; רק מנוע ה‑GNN מורשה לפענח אותם במהלך העברת הודעות.  
3. **גרסאות** – כל עדכון גרף יוצר תמונת זמן בלתי ניתנת לשינוי הנשמרת ב‑**Merkle‑based ledger**, permitting reconstruction point‑in‑time לביקורות.  
4. **הפחתת הטייה** – ביקורות תקופתיות משוות התפלגויות ייחוס בין תחומי רגולציה שונים כדי לוודא שהמודל אינו מעדיף מסגרות מסוימות בצורה מוגזמת.

---  

## פריסה של המנוע בחמישה שלבים

1. **פריסת מסד גרף** – הפעל קלאסטר Neo4j עם תצורת HA.  
2. **הכנסת נכסים קיימים** – הרץ סקריפט המיגרציה שממיר את כל המדיניות, היומנים ופריטי השאלון לגרף.  
3. **הדרכת GNN** – השתמש במחברת האימון המסופקת; התחל עם המודל המוכן `aeae_base` ועדכן בהתאמה למיפויים המתויגים של הארגון.  
4. **שילוב API** – הוסף את נקודת הקצה `/api/v1/attribution` למערכת Procurize; קבע ווב‑הוקים להפעלה עם יצירת שאלון חדש.  
5. **מעקב ושיפור** – קבע לוחות מחוונים Grafana למעקב אחרי סטיות מודל, התפלגויות ביטחון, ומגמות דירוג אמון; קבע אימונים מחודשי.

---  

## הרחבות עתידיות

* **למידה פדרטיבית** – שיתוף הטמעות גרף אנונימיות בין חברות שותפות לשיפור ייחוס ראיות בלי לחשוף מסמכים קנייניים.  
* **הוכחות אפסי‑ידע** – לאפשר למבקרים לאמת שראייה מקיימת דרישה מבלי לחשוף את המסמך עצמו.  
* **קלטים מרובי‑מודלים** – לשלב צילומי מסך, תרשימי ארכיטקטורה, וסרטוני walkthrough כצמתים נוספים, כך שמודל יקבל הקשר עשיר יותר.

---  

## מסקנה

על‑ידי שילוב **רשתות עצביות גרפיות** עם פלטפורמת השאלונים המונעת ב‑AI של Procurize, מנוע ייחוס ראיות מותאם משדרג את הציות מפעולה תגובתית ועצמאית למערכת מבוססת נתונים. הצוותים זוכים לזמני מסירה מהירים יותר, לביטחון גבוה יותר, ולשרשרת ביקורת שקופה – יתרונות קריטיים בשוק שבו אמון באבטחה יכול להיות גורם מכריע בסגירת עסקאות.

אמצו את כוחו של AI רלציוני היום, וצפו בדירוגי האמון שלכם לעלות בזמן אמת.

---  

## <span class='highlight-content'>ראה</span> גם

- [סקירת מחשוב חסוי – Microsoft Azure](https://learn.microsoft.com/azure/confidential-computing/overview)