Files
poc_system/doc/10.Appendix-Document-Type-Classification-and-Processing-Strategy.md

5.0 KiB
Raw Permalink Blame History

10.Appendix-Document-Type-Classification-and-Processing-Strategy.md

Phụ lục chiến lược phân loại & xử lý tài liệu cho toàn bộ hệ thống SharePoint → Search → RAG.

⚠️ Nguyên tắc sử dụng

  • Đây là phụ lục độc lập, không chỉnh sửa các file 19.
  • Được coi là luật xử lý file của hệ thống.
  • Mọi pipeline hiện tại và mở rộng trong tương lai PHẢI tuân theo phụ lục này.
  • Mục tiêu: an toàn, mở rộng được, không xử lý sai loại tài liệu.

1. Mục tiêu của phụ lục

Phụ lục này nhằm:

  • Chuẩn hoá cách hệ thống hiểu và xử lý từng loại file
  • Ngăn việc:
    • OCR / MarkItDown bừa bãi
    • Đưa bản vẽ kỹ thuật vào RAG
    • Xử lý sai Excel/dữ liệu bảng
  • Tạo luồng ngoại lệ có kiểm soát cho file mới hoặc hiếm gặp

2. Nguyên tắc cốt lõi (BẮT BUỘC)

  1. Không có "one-size-fits-all" cho tài liệu
  2. Phân loại file xảy ra TRƯỚC OCR và MarkItDown
  3. Extension là rule đầu, KHÔNG phải rule cuối
  4. Tài liệu không có giá trị ngôn ngữ → không RAG
  5. File lạ vẫn được ingest, nhưng xử lý an toàn

3. Document Classification Engine (DCE)

3.1 Vai trò

DCE chịu trách nhiệm quyết định file đi vào pipeline nào.

Nếu chưa quyết định được → file KHÔNG được xử lý sâu hơn.


3.2 Input của DCE

  • Extension (vd: .pdf, .dwg, .xlsx)
  • MIME type
  • File size
  • Header bytes (chống giả extension)
  • Với PDF:
    • Có text layer hay không
    • Pattern nhanh (drawing vs text)

3.3 Output của DCE (bắt buộc)

{
  "doc_type": "textual_document | technical_drawing | structured_data | binary_unsupported",
  "processing_policy": "text_pipeline | metadata_only | table_pipeline | skip",
  "confidence": 0.95,
  "reason": "PDF detected as engineering drawing based on layout"
}

4. Các nhóm tài liệu và chiến lược xử lý

4.1 Nhóm A Textual Documents (Tài liệu ngôn ngữ)

Ví dụ

  • PDF văn bản (scan hoặc text)
  • DOCX, PPTX
  • PDF quy định, hợp đồng

Xử lý

  • OCR (nếu scan)
  • MarkItDown
  • Chunking
  • Search
  • RAG Chat

Ghi chú

  • Đây là nguồn chính cho RAG

4.2 Nhóm B Technical Drawings (Bản vẽ kỹ thuật)

Ví dụ

  • PDF bản vẽ kỹ thuật
  • DWG / DXF / IFC

Xử lý

  • Metadata indexing
  • Thumbnail / preview (nếu có)
  • OCR giới hạn title block (tuỳ chọn)

KHÔNG làm

  • OCR toàn bộ
  • MarkItDown
  • RAG

Lý do

  • Nội dung chính là hình học, không phải ngôn ngữ
  • RAG sẽ dễ hallucinate và gây rủi ro nghiệp vụ

4.3 Nhóm C Structured Data Documents (Dữ liệu bảng)

Ví dụ

  • Excel (XLSX)
  • CSV

Sub-case 1: Excel có mô tả nghiệp vụ

  • Trích xuất giới hạn
  • Convert sang Markdown có kiểm soát
  • Search
  • ⚠️ RAG chỉ áp dụng phần text

Sub-case 2: Excel số liệu / danh sách lớn

  • Extract header + key columns
  • Index theo field
  • MarkItDown toàn file
  • OCR
  • RAG ngôn ngữ tự do

4.4 Nhóm D Binary / Unsupported Documents

Ví dụ

  • .acad, .psd, .step, .zip

Xử lý

  • Metadata-only ingestion
  • Search theo tên / project
  • Không OCR
  • Không convert
  • Không RAG

5. Luồng xử lý ngoại lệ (Exception Flow)

5.1 Khi nào kích hoạt

  • Extension chưa có rule
  • MIME / header không khớp extension
  • File có pattern bất thường

5.2 Luồng chi tiết

File mới
  ↓
Basic metadata ingest
  ↓
DCE classify = UNKNOWN
  ↓
Flag: Pending Classification
  ↓
Rule-based auto guess (nếu có)
  ↓
Manual admin review (hiếm)
  ↓
Update classification rule
  ↓
Optionally re-process file

5.3 Nguyên tắc an toàn

  • Không OCR file chưa rõ loại
  • Không cho RAG đọc file pending
  • Vẫn search được theo metadata

6. Tác động tới Search & RAG

  • Search
    • Phải tôn trọng processing_policy
  • RAG
    • Chỉ dùng textual_document
    • Skip toàn bộ nhóm B, C(subcase 2), D

7. Lợi ích dài hạn của chiến lược này

  • Không phá pipeline khi có file mới
  • An toàn AI (no hallucination)
  • Tối ưu chi phí OCR
  • Mở rộng không cần sửa core
  • Dễ audit

8. Kết luận phụ lục

  • Phân loại tài liệu là điểm quyết định sống còn của hệ thống
  • Extension là điểm bắt đầu, không phải kết luận
  • OCR và MarkItDown là công cụ, không phải mục tiêu
  • RAG chỉ dùng khi có giá trị ngôn ngữ thật

Phụ lục này là tài liệu tham chiếu nền tảng khi mở rộng hoặc audit toàn hệ thống.