การคำนวณคะแนนความเสี่ยง (Risk Scoring)

ระบบประเมินคะแนนความเสี่ยงของรูปภาพตามแนวทาง Recommended Hybrid Approach Worst-Case Trigger with Multi-Factor Breakdown ตามมาตรฐานวิศวกรรมความมั่นคงปลอดภัย Fraud Detection & Forensics โดยประเมิน 3 มิติแยกอิสระ 0–100% และรวมผลลัพธ์…

หมวด แนวคิดและเทคนิคต้นฉบับ concepts/risk-scoring.md
risk-scoreweighted-averagegradingoutput

การคำนวณคะแนนความเสี่ยง (Risk Scoring)

ระบบประเมินคะแนนความเสี่ยงของรูปภาพตามแนวทาง Recommended Hybrid Approach (Worst-Case Trigger with Multi-Factor Breakdown) ตามมาตรฐานวิศวกรรมความมั่นคงปลอดภัย (Fraud Detection & Forensics) โดยประเมิน 3 มิติแยกอิสระ (0–100%) และรวมผลลัพธ์เป็น Overall Risk Score (0–100) พร้อมผลแจกแจงแยกมิติ


1. การประเมินคะแนนแยกมิติ (Independent Factors - 0–100%)

มิติการวิเคราะห์ ตัวแปร ช่วงคะแนน บทบาทและการวัดผล
Visual Anomaly S_visual 0–100% วัดระดับการตัดต่อ/สังเคราะห์ภาพโดยตรง (Splicing, Copy-Move, AI Diffusion) ด้วย SegFormer และ Heatmap (สูตร canonical ดู Document/model/configs.md §3)
Textual Analysis S_textual 0–100% วัดความอันตรายของข้อความ/คีย์เวิร์ดหลอกลวง (Blacklist, คำเร่งโอนเงิน, สัญญาผลตอบแทนสูง) ด้วย Surya-OCR
Source Verification S_source 0–100% วัดประวัติการถูกนำไปใช้ซ้ำบนอินเทอร์เน็ต (Reverse Image Search) ผ่าน Google Vision API (ที่มา: นโยบาย heuristic v1 — พบ ≥3 แหล่ง = สูง, =2 = ปานกลาง/ไม่แน่ชัด, ≤1 = ต่ำ)

2. สูตรคำนวณคะแนนรวม (Overall Risk Score Formulation)

ระบบใช้หลักการ Maximum Impact (Worst-Case Trigger) ร่วมกับ Multi-Factor Compounding Penalty เพื่อป้องกันปัญหาคะแนนเจือจาง (Dilution Problem) เช่น ภาพตัดต่อชัดเจนแต่ไม่มีข้อความ (S_text = 0) คะแนนรวมจะไม่ถูกดึงลง:

ภาษา text
S_base = max(S_visual, S_textual, S_source)
ภาษา text
S_total = min(100, S_base + Σ_i ∈ secondary [S_i ≥ 40] × 5)
  • S_base: คะแนนความเสี่ยงของมิติที่รุนแรงที่สุด
  • Multi-Factor Compounding: หากตรวจพบความเสี่ยงระดับปานกลางขึ้นไปในมิติอื่น (≥ 40) จะบวกคะแนนเพิ่ม +5 ต่อมิติ (สูงสุดไม่เกิน 100)
  • Visual Override Rule: หากตรวจพบร่องรอยการดัดแปลงภาพในระดับวิกฤต (S_visual ≥ 80) ระบบจะบังคับระดับผลลัพธ์เป็น High Risk ทันที

3. ระดับความเสี่ยง (Risk Grade)

ระบบแบ่งเกณฑ์การตัดสินเป็น 3 ระดับ (3-level Scale):

ช่วงคะแนน ระดับ สี ความหมายและข้อแนะนำ
0 – 39 Low (เสี่ยงต่ำ) เขียว (Success) ไม่พบร่องรอยการตัดต่อหรือข้อความหลอกลวงที่ชัดเจน ควรใช้วิจารณญาณประกอบ
40 – 69 Medium (น่าสงสัย) Amber (Warning) พบสัญญาณน่าสงสัยระดับปานกลาง หรือพบความเสี่ยงหลายมิติควบคู่กัน
70 – 100 High (อันตราย) แดง พบหลักฐานการตัดต่อชัดเจน ข้อความหลอกลวงรุนแรง หรือภาพถูกใช้ซ้ำในหลายแหล่ง (S_visual ≥ 80 ปรับเป็น High อัตโนมัติ)

4. การนำเสนอผลบนหน้าจอ (UI Presentation)

  1. ระดับภาพรวม (Overview Banner): แสดง Risk Level สูงสุดที่พบ (Low / Medium / High) พร้อมคะแนนรวม Overall Score
  2. รายละเอียดการวิเคราะห์ (Breakdown Cards): แสดง Progress Bar และคำอธิบายแยกแต่ละมิติตามที่ตรวจพบจริง:
    • ตรวจพบร่องรอยตัดต่อภาพ: S_visual% (ระดับความเสี่ยงของภาพ)
    • ตรวจพบข้อความน่าสงสัย: S_textual% (หรือ "ไม่พบข้อความ")
    • ประวัติแหล่งที่มา: S_source% (จำนวนแหล่งที่พบบนอินเทอร์เน็ต)
  3. หลักฐานเชิงภาพ (Explainable Heatmap): แสดง Mask จุดที่โมเดลตรวจพบความผิดปกติซ้อนทับภาพต้นฉบับ

5. พฤติกรรมการ Cache

เมื่อคำนวณ Risk Score สำหรับภาพใดแล้ว จะเก็บผล inference ไว้ใน Redis (TTL 30 วัน) ถ้ามีการส่งรูปเดิมซ้ำจะใช้ผลที่แคชไว้ทันทีโดยไม่รัน AI Pipeline ซ้ำ ทำให้ latency ลดจาก ≤15 วินาทีเหลือ ≤3 วินาทีสำหรับภาพที่เคยวิเคราะห์แล้ว


6. การจัดการ Partial Failure

ถ้าชั้นการวิเคราะห์ใดชั้นหนึ่งล้มเหลว (เช่น Reverse Image Search API timeout) ระบบจะตัดมิตินั้นทิ้งแล้วคำนวณค่าสูงสุดจากมิติที่มีข้อมูลจริงเท่านั้น และระบุใน response ว่ามิติใดบ้างที่มีส่วนร่วมในการคำนวณ


7. ประเด็นสำคัญ

  • คะแนนเป็นตัวเลขต่อเนื่อง 0–100
  • การใช้ Worst-Case Trigger แก้ปัญหาเรื่อง False Negative จากการเฉลี่ยน้ำหนักได้อย่างสมบูรณ์
  • UI แสดงผลทั้งระดับสรุปและ Breakdown แยกมิติครบถ้วน
  • การ Cache ขจัดการคำนวณซ้ำบนรูปที่เคยส่งมาแล้ว

หน้าที่เกี่ยวข้อง