
# موتور انتساب شواهد تطبیقی با استفاده از شبکه‌های عصبی گرافی

در دنیای پرسرعت ارزیابی‌های امنیت 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** پیش از این ردیابی پرسشنامه، بازبینی مشترک و پیش‌نویس‌های پاسخ تولید شده توسط هوش مصنوعی را یکپارچه کرده است. گام منطقی بعدی یک **موتور انتساب شواهد تطبیقی (AEAE)** است که به‌صورت خودکار قطعه مناسب شواهد را به هر مورد پرسشنامه وصل می‌کند، اطمینان این رابطه را ارزیابی می‌کند و نمرهٔ **اعتماد لحظه‌ای** را به داشبورد انطباق باز می‌گرداند.

این مقاله یک طراحی کامل برای چنین موتوری را معرفی می‌کند، توضیح می‌دهد چرا **شبکه‌های عصبی گرافی (GNN)** پایهٔ ایده‌آل هستند و نشان می‌دهد که چگونه می‌توان این راه‌حل را در جریان‌های کاری موجود Procurize یکپارچه کرد تا دستاوردهای قابل‌قابلی در سرعت، دقت و قابلیت حسابرسی فراهم شود.

---  

## چرا شبکه‌های عصبی گرافی؟

بازیابی مبتنی بر کلیدواژهٔ سنتی برای جستجوی ساده اسناد مناسب است، اما نگاشت شواهد برای پرسشنامه‌ها نیاز به درک عمیق‌تری از **روابط معنایی** دارد:

| چالش | جستجوی کلیدواژه | استدلال مبتنی بر GNN |
|-----------|----------------|---------------------|
| شواهد چندمنبعی (سیاست‌ها، بازبینی کد، لاگ‌ها) | محدود به تطابق دقیق | وابستگی‌های متقابل اسناد را درک می‌کند |
| مرتبط‌سازی مبتنی بر زمینه (مثلاً «رمزنگاری در حالت استراحت» در مقابل «رمزنگاری در حین انتقال») | ابهام‌آمیز | تعبیه‌گرهای گره‌ای یاد می‌گیرد که زمینه را رمزگذاری می‌کنند |
| تغییر زبان‌های قانونی | شکننده | به‌صورت خودکار با تغییر ساختار گراف سازگار می‌شود |
| قابلیت توضیح برای حسابرسان | کم | نمرات انتساب در سطح یال را فراهم می‌کند |

یک 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 | متادیتا (نام سرویس، بحرانی بودن، گواهینامه‌های انطباق) |

تمام ویژگی‌های متنی از طریق یک **خط لولهٔ بازیابی‑تقویت‌شده (RAG)** به‌دست می‌آیند که ابتدا بخش‌های مرتبط را استخراج می‌کند و سپس با یک ترنسفورمر فاین‑تیون‌شده رمزگذاری می‌نماید.

---  

## خط لولهٔ استنتاج

1. **ساخت گراف** – در هر رویداد ورودی (بارگذاری سیاست جدید، استخراج لاگ، ایجاد پرسشنامه) خط لوله گراف سراسری را به‑روز می‌کند. بانک‌های گراف افزایشی مانند **Neo4j** یا **RedisGraph** می‌توانند تغییرات زمان حقیقی را مدیریت کنند.  
2. **به‌روزرسانی رمزگذاری‌ها** – محتوای متنی جدید یک کار پس‌زمینه را فعال می‌کند که رمزگذاری‌ها را دوباره محاسبه کرده و در یک فروشگاه برداری (مانند **FAISS**) ذخیره می‌کند.  
3. **پخش پیام** – یک مدل **GraphSAGE ناهمگن** چند گام انتشار انجام می‌دهد و بردارهای نهفته برای هر گره تولید می‌کند که پیش‌ازمایه‌های متنی از همسایه‌ها را دربر می‌گیرد.  
4. **امتیازدهی شواهد** – برای هر `QuestionnaireItem`، مدل یک **softmax** روی تمام گره‌های قابل دسترس `EvidenceArtifact` محاسبه می‌کند و توزیعی از احتمال `P(evidence|question)` به دست می‌آورد. k‑شواهد برتر برای بازبینی‌کننده نمایش داده می‌شوند.  
5. **انتساب اطمینان** – وزن‌های توجه در سطح یال به‌عنوان **امتیازهای قابلیت توضیح** در دسترس هستند تا حسابرسان ببینند چرا یک سیاست خاص پیشنهاد شده (مثلاً «توجه بالا بر یال «covers» به RegulationClause 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 |

### بهبود دقت

* **دقت شواهد در رتبهٔ اول** از 68 ٪ (جستجوی کلیدواژه) به 91 ٪ (GNN) ارتقا یافت.  
* **نوسان کلی نمرهٔ اعتماد** 34 ٪ کاهش یافت که نشان‌دهنده تخمین‌های پایدارتر وضعیت انطباقی است.

### کاهش هزینه

* نیاز به کمتر ساعت مشاوره خارجی برای نگاشت شواهد (صرفه‌جویی تخمینی 120 هزار دلار در سال برای یک SaaS متوسط).  
* کاهش خطر جریمه‌های عدم انطباق به‌دلیل پاسخ‌های قدیمی (پیشگیری از جریمه‌های احتمالی 250 هزار دلار).

---  

## ملاحظات امنیتی و حاکمیتی

1. **شفافیت مدل** – لایهٔ توضیح‌پذیری مبتنی بر توجه برای رعایت مقررات (مثلاً EU AI Act) الزامی است. تمام لاگ‌های استنتاج با کلید خصوصی سراسری شرکت امضا می‌شوند.  
2. **حریم خصوصی داده** – مدارک حساس با استفاده از محاسبات محرمانه در حالت استراحت رمزنگاری می‌شوند؛ فقط موتور استنتاج GNN می‌تواند هنگام انتشار پیام آن‌ها را رمزگشایی کند.  
3. **نسخه‌بندی** – هر به‌روزرسانی گراف یک snapshot غیربدیل جدید در یک دفتر کل مبتنی بر Merkle ‌ایجاد می‌کند که امکان بازسازی نقطه‑به‑نقطه‌ برای حسابرسی را فراهم می‌آورد.  
4. **کاهش سوگیری** – حسابرسی‌های دوره‌ای توزیع انتساب‌ها را در میان حوزه‌های قانونی مختلف مقایسه می‌کند تا اطمینان حاصل شود مدل به‌طرز نامتقارن بعضی چارچوب‌ها را ترجیح نمی‌دهد.

---  

## استقرار موتور در 5 گام

1. **پروvision بانک گراف** – یک خوشهٔ Neo4j با پیکربندی HA مستقر کنید.  
2. **ورودی دارایی‌های موجود** – اسکریپت مهاجرت را اجرا کنید تا تمام سیاست‌ها، لاگ‌ها و موارد پرسشنامهٔ فعلی به گراف وارد شوند.  
3. **آموزش GNN** – از نوت‌بوک آموزشی ارائه‌شده استفاده کنید؛ با مدل پیش‌آموزش `aeae_base` شروع کنید و آن را بر پایهٔ نگاشت‌های برچسب‌دار سازمان خود فاین‑تیون کنید.  
4. **یکپارچه‌سازی API** – نقطهٔ انتهایی `/api/v1/attribution` را به نمونهٔ Procurize خود اضافه کنید؛ وب‌هوک‌ها را برای فعال شدن هنگام ایجاد پرسشنامهٔ جدید پیکربندی کنید.  
5. **نظارت و تکرار** – داشبوردهای Grafana را برای بررسی انحراف مدل، توزیع اطمینان و روندهای نمرهٔ اعتماد تنظیم کنید؛ آموزش فصلی را برنامه‌ریزی کنید.

---  

## گسترش‌های آینده

* **یادگیری فدرال** – تعبیه‌های گرافی ناشناس را بین شرکت‌های شریک به‌اشتراک بگذارید تا انتساب شواهد بهبود یابد بدون آنکه مدارک مالکیتی فاش شوند.  
* **اثبات‌های صفر‑دانش** – به حسابرسان اجازه دهید تأیید کنند که شواهد یک بند را برآورده می‌کند بدون اینکه مدارک زیرین را نشان دهند.  
* **ورودی‌های چندرسانه‌ای** – اسکرین‌شات‌ها، نمودارهای معماری و ویدیوهای راهنمایی را به‌عنوان گره‌های اضافی اضافه کنید و زمینهٔ مدل را غنی‌تر کنید.

---  

## نتیجه‌گیری

با ترکیب **شبکه‌های عصبی گرافی** با پلتفرم پرسشنامه‑محور AI‑درایو شدهٔ Procurize، موتور انتساب شواهد تطبیقی فرآیند انطباق را از یک فعالیت واکنشی و پرهزینه به یک عملیات پیش‌دستی، داده‑محور تبدیل می‌کند. تیم‌ها سرعت بالاتر، اعتماد بیشتر و یک ردپای حسابرسی شفاف به دست می‌آورند – مزایای حیاتی در بازاری که اعتماد امنیتی می‌تواند عامل تصمیم‌گیری نهایی برای بستن قراردادها باشد.

امروز قدرت هوش مصنوعی رابطه‌ای را بپذیرید و شاهد افزایش نمرات اعتماد در زمان واقعی باشید.

---  

## <span class='highlight-content'>مشاهده</span> Also

- [نمای کلی محاسبات محرمانه – مایکروسافت آژور](https://learn.microsoft.com/azure/confidential-computing/overview)