
# AI Destekli Politika Maddelerinin Anket Gereksinimlerine Otomatik Haritalanması

SaaS çözümleri satan işletmeler, potansiyel müşterilerden, ortaklardan ve denetçilerden sürekli bir güvenlik ve uyum anketi akışıyla karşı karşıyadır. Her anket—[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), [ISO 27001](https://www.iso.org/standard/27001), GDPR([GDPR](https://gdpr.eu/)) ya da özel bir satıcı risk değerlendirmesi olsun—genellikle aynı iç politika, prosedür ve kontrol setinde bulunan kanıtlar ister. Doğru maddeyi bulmak, ilgili metni kopyalamak ve soruya göre uyarlamak manuel süreç, değerli mühendislik ve hukuk kaynaklarını tüketir.

*Bir sistem her politikayı okuyup amacını anlayarak her anket maddesine tam olarak uyan paragrafı anında önerebilseniz?*  

Bu makalede **benzersiz bir AI‑destekli otomatik haritalama motoru**na derinlemesine göz atacağız. Temel teknoloji yığını, iş akışı bütünleşme noktaları, veri yönetişimi düşünceleri ve Procurize ile çözümü hayata geçirmenize yönelik adım‑adım rehber konularını ele alacağız. Sonuna geldiğinizde, bu yaklaşımın anket dönüş süresini **%80’e kadar** azaltırken tutarlı, denetlenebilir yanıtlar sağladığını göreceksiniz.

---

## Geleneksel Haritalamanın Neden Yetersiz Kaldığı

| Zorluk | Tipik Manuel Yaklaşım | AI‑Destekli Çözüm |
|--------|----------------------|-------------------|
| **Ölçeklenebilirlik** | Analistler politika kütüphanesinden kopyala‑yapıştır yapar. | LLM’ler ilgili maddeleri anında indeksler ve getirir. |
| **Anlamsal Boşluklar** | Anahtar kelime araması bağlamı kaçırır (ör. “dinlenme sırasında şifreleme”). | Anlamsal benzerlik niyeti, sadece kelimeleri değil, anlamı eşleştirir. |
| **Sürüm Kayması** | Güncel olmayan politikalar eski yanıtlar üretir. | Sürekli izleme, eski maddeleri işaretler. |
| **İnsan Hatası** | Kaçırılan maddeler, tutarsız ifadeler. | Otomatik öneriler aynı dili korur. |

Bu sorunlar, her çeyrekte onlarca anket yanıtlaması gereken hızlı büyüyen SaaS firmalarında daha da belirginleşir. Otomatik haritalama motoru, kanıt arama tekrarını ortadan kaldırarak güvenlik ve hukuk ekiplerinin daha üst düzey risk analizine odaklanmasını sağlar.

---

## Temel Mimari Genel Bakış

Aşağıda, **Mermaid** sözdizimiyle ifade edilmiş yüksek‑seviye bir otomatik haritalama boru hattının diyagramı bulunuyor. Tüm düğüm etiketleri gerektiği gibi çift tırnak içinde yer alıyor.

```mermaid
flowchart TD
    A["Policy Repository (Markdown / PDF)"] --> B["Document Ingestion Service"]
    B --> C["Text Extraction & Normalization"]
    C --> D["Chunking Engine (200‑400 word blocks)"]
    D --> E["Embedding Generator (OpenAI / Cohere)"]
    E --> F["Vector Store (Pinecone / Milvus)"]
    G["Incoming Questionnaire (JSON)"] --> H["Question Parser"]
    H --> I["Query Builder (Semantic + Keyword Boost)"]
    I --> J["Vector Search against F"]
    J --> K["Top‑N Clause Candidates"]
    K --> L["LLM Re‑rank & Contextualization"]
    L --> M["Suggested Mapping (Clause + Confidence)"]
    M --> N["Human Review UI (Procurize)"]
    N --> O["Feedback Loop (Reinforcement Learning)"]
    O --> E
```

**Her aşamanın açıklaması**

1. **Document Ingestion Service** – Politika depolama alanınıza (Git, SharePoint, Confluence) bağlanır. Yeni veya güncellenmiş dosyalar boru hattını tetikler.  
2. **Text Extraction & Normalization** – Formatlama kaldırılır, şablon metinler silinir ve terminoloji normalize edilir (ör. “access control” → “kimlik & erişim yönetimi”).  
3. **Chunking Engine** – Politikalar mantıksal sınırları (bölüm başlıkları, madde listeleri) koruyarak yönetilebilir metin bloklarına bölünür.  
4. **Embedding Generator** – Bir LLM gömme modeli kullanarak yüksek‑boyutlu vektör temsilleri üretilir. Bu temsiller yalnızca anahtar kelimelerden öte semantik anlamı yakalar.  
5. **Vector Store** – Hızlı benzerlik araması için gömmeler saklanır. Çerçeve, sürüm, yazar gibi meta‑etiketler filtrasyon için desteklenir.  
6. **Question Parser** – Gelen anket maddeleri normalleştirilir, önemli varlıklar (ör. “data encryption”, “incident response time”) çıkarılır.  
7. **Query Builder** – Anahtar kelime artırıcıları (ör. “PCI‑DSS” veya “SOC 2”) ile anlamsal sorgu vektörü birleştirilir.  
8. **Vector Search** – En benzer politika blokları alınır ve sıralı bir liste döndürülür.  
9. **LLM Re‑rank & Contextualization** – İkinci bir geçişte üretken bir model sıralamayı iyileştirir ve maddeyi doğrudan soruya yanıt verecek şekilde biçimlendirir.  
10. **Human Review UI** – Procurize öneriyi güven puanlarıyla sunar; gözden geçiriciler kabul, düzenleme ya da reddetme yapar.  
11. **Feedback Loop** – Onaylanan haritalamalar eğitim sinyalleri olarak geri beslenir, gelecekteki alaka düzeyi artar.

---

## Adım‑Adım Uygulama Kılavuzu

### 1. Politika Kütüphanenizi Tek Bir Yerde Toplayın

- **Sürüm Kontrolü**: Tüm güvenlik politikalarını bir Git deposunda (GitHub, GitLab vb.) tutun. Bu, sürüm geçmişi ve webhook entegrasyonu sağlar.  
- **Doküman Türleri**: PDF ve Word dosyalarını `pdf2text` ya da `pandoc` gibi araçlarla düz metne dönüştürün. Orijinal başlıkları koruyun; chunk‑lama için kritiktir.

### 2. Ingestion Boru Hattını Kurun

```bash
# Örnek Docker compose kesiti
services:
  ingest:
    image: procurize/policy-ingest:latest
    environment:
      - REPO_URL=https://github.com/yourorg/security-policies.git
      - VECTOR_DB_URL=postgres://vector_user:pwd@vector-db:5432/vectors
    volumes:
      - ./data:/app/data
```

Servis, repoyu klonlar, GitHub webhookları ile değişiklikleri algılar ve işlenmiş chunk‑ları vektör veritabanına iter.

### 3. Bir Gömme Modeli Seçin

| Sağlayıcı | Model | Yaklaşık Maliyet (1k token) | Tipik Kullanım |
|-----------|-------|-----------------------------|----------------|
| OpenAI    | `text-embedding-3-large` | $0.00013 | Genel amaç, yüksek doğruluk |
| Cohere    | `embed‑english‑v3` | $0.00020 | Büyük veri kümeleri, hızlı çıkarım |
| HuggingFace | `sentence‑transformers/all‑mpnet‑base‑v2` | Ücretsiz (self‑hosted) | Yerinde ortamlar |

Veri gizliliği, gecikme ve maliyet ihtiyaçlarınıza göre seçim yapın.

### 4. Procurize Anket Motoru ile Entegre Edin

- **API Uç Noktası**: `POST /api/v1/questionnaire/auto‑map`
- **İstek Örneği**:

```json
{
  "questionnaire_id": "q_2025_09_15",
  "questions": [
    {
      "id": "q1",
      "text": "Describe your data encryption at rest mechanisms."
    },
    {
      "id": "q2",
      "text": "What is your incident response time SLA?"
    }
  ]
}
```

Procurize, bir haritalama nesnesi döndürür:

```json
{
  "mappings": [
    {
      "question_id": "q1",
      "policy_clause_id": "policy_2025_08_12_03",
      "confidence": 0.93,
      "suggested_text": "All customer data stored in our PostgreSQL clusters is encrypted at rest using AES‑256 GCM with unique per‑disk keys."
    }
  ]
}
```

### 5. İnsan Gözden Geçirme ve Sürekli Öğrenme

- Gözden geçirme UI’si, orijinal soruyu, önerilen maddeyi ve **güven puanını** gösterir.  
- Gözden geçiriciler **kabul**, **düzenle** ya da **reddet** seçeneklerini kullanır. Her işlem bir webhook tetikleyerek sonucu kaydeder.  
- Pekiştirme‑öğrenme optimizasyonu, haftalık olarak yeniden‑sıralama modelini günceller; zamanla kesinlik artar.

### 6. Yönetişim ve Denetim İzleri

- **Değişmez Günlükler**: Her haritalama kararını ek‑yazma günlüğünde (AWS CloudTrail, Azure Log Analytics vb.) saklayın. Bu, denetim gereksinimlerini karşılar.  
- **Sürüm Etiketleri**: Her politika bloğu bir sürüm etiketi taşır. Politika güncellendiğinde sistem otomatik olarak eski haritalamaları geçersiz kılar ve yeniden doğrulama talep eder.

---

## Gerçek Dünya Faydaları: Sayısal Özet

| Ölçüt | Otomatik Haritalamadan Önce | Otomatik Haritalamadan Sonra |
|-------|------------------------------|------------------------------|
| Ortalama anket süresi | 12 saat (manuel) | 2 saat (AI‑yardımlı) |
| Manuel arama çabası (kişi‑saat) | 30 saat / ay | 6 saat / ay |
| Haritalama doğruluğu (gözden geçirme sonrası) | %78 | %95 |
| Uyum kayması olayları | 4 / çeyrek | 0 / çeyrek |

≈ 200 çalışanlı orta ölçekli bir SaaS şirketi, **%70** zaman tasarrufu elde etti; bu da satış süreçlerinin hızlanmasına ve kazanma oranlarının artmasına doğrudan yansıdı.

---

## En İyi Uygulamalar & Yaygın Tuzaklar

### En İyi Uygulamalar
1. **Zengin Meta‑Veri Katmanı Oluşturun** – Her politika bloğunu çerçeve etiketleri (SOC 2, ISO 27001, GDPR) ile işaretleyin. Bu, çerçeve‑özgül anketlerde seçici getirme sağlar.  
2. **Gömme Modelinizi Periyodik Olarak Yeniden Eğitin** – Dönemsel (çeyrek‑yıllık) yeniden eğitim, yeni terminoloji ve düzenleyici değişiklikleri yakalar.  
3. **Çok‑Modlu Kanıtları Kullanın** – Metin maddelerini, tarama raporları ve konfigürasyon ekran görüntüleri gibi destekleyici varlıklarla birleştirin; bu varlıklar Procurize’da bağ‑lantılı olarak tutulabilir.  
4. **Güven Eşiği Belirleyin** – %0.90 üzerindeki haritalamaları otomatik kabul edin; daha düşük puanlar mutlaka insan incelemesinden geçsin.  
5. **SLA’ları Belgelendirin** – “Hizmet Düzeyi Anlaşması” (SLAs) belgelerinize referans vererek yanıtların izlenebilirliğini sağlayın: https://www.ibm.com/think/topics/service-level-agreement

### Yaygın Tuzaklar
- **Aşırı Parçalama** – Politikaları çok küçük parçalara bölmek bağlamı kaybettirir ve alakasız eşleşmelere yol açar. Mantıksal bölümler baz alınmalıdır.  
- **Olumsuzlama İhmal Edilmesi** – Politikalar sıklıkla “unless required by law” gibi istisnalar içerir. LLM yeniden‑sıralama adımının bu nitelemeleri koruduğundan emin olun.  
- **Regülasyon Güncellemelerini Görmezden Gelmek** – Standart kuruluşlarından gelen değişiklik güncellemelerini ingestion boru hattına besleyerek eski maddelerin işaretlenmesini otomatikleştirin.

---

## Gelecek Geliştirmeler

1. **Çerçeve‑Arası Haritalama** – Kontrol aileleri arasındaki ilişkiyi (ör. NIST 800‑53 AC‑2 ↔ ISO 27001 A.9.2) temsil eden bir grafik veritabanı kullanın; doğrudan eşleşme bulunamadığında alternatif maddeler önerilebilsin.  
2. **Dinamik Kanıt Üretimi** – Otomatik haritalamayı, altyapı‑kodundan (IaC) alınan veri akış diyagramları gibi gerçek zamanlı kanıt üretimiyle birleştirerek “nasıl” sorularına yanıt sağlayın.  
3. **Sıfır‑Atış Satıcı‑Özel Özelleştirme** – LLM’e satıcı‑özel tercihleri (“SOC 2 Type II kanıtlarını tercih ederim”) iletmek, ekstra yapılandırma gerektirmeden yanıtları özelleştirsin.

---

## 5 Dakikada Başlangıç

```bash
# 1. Başlangıç deposunu klonlayın
git clone https://github.com/procurize/auto‑map‑starter.git && cd auto‑map‑starter

# 2. Ortam değişkenlerini ayarlayın
export OPENAI_API_KEY=sk-xxxxxxxxxxxx
export REPO_URL=https://github.com/yourorg/security-policies.git
export VECTOR_DB_URL=postgres://vector_user:pwd@localhost:5432/vectors

# 3. Yığını başlatın
docker compose up -d

# 4. Politikaları indeksleyin (ilk kez)
docker exec -it ingest python index_policies.py

# 5. API’yi test edin
curl -X POST https://api.procurize.io/v1/questionnaire/auto‑map \
  -H "Content-Type: application/json" \
  -d '{"questionnaire_id":"test_001","questions":[{"id":"q1","text":"Do you encrypt data at rest?"}]}'
```

Bir JSON yanıtı, önerilen maddeyi ve güven skorunu içermelidir. Ardından, uzmanın bu öneriyi Procurize kontrol paneli üzerinden incelemesi için davet edin.

---

## Sonuç

Politika maddelerinin anket gereksinimlerine otomatik olarak eşlenmesi artık bir gelecek vizyonu değil; mevcut LLM’ler, vektör veritabanları ve Procurize platformu ile bugün uygulanabilir bir AI‑odaklı yetenektir. **Anlamsal indeksleme**, **gerçek zamanlı getirme** ve **insan‑dahil pekiştirme** sayesinde, kuruluşlar güvenlik anketi iş akışlarını dramatik biçimde hızlandırabilir, yanıt tutarlılığını artırabilir ve minimum manuel çabayla denetime hazır kalabilir.

Eğer uyum operasyonlarınızı dönüştürmeye hazırsanız, öncelikle politika kütüphanenizi tek bir yerde toplayarak otomatik haritalama boru hattını çalıştırın. Tekrarlayan kanıt toplama için harcanan zaman, stratejik risk azaltma, ürün yeniliği ve daha hızlı gelir elde etme için yeniden kullanılabilir.