Datalab เปิดตัว OmniExtractBench เบนช์มาร์กการดึงข้อมูลโปร่งใส
Datalab ได้เปิดตัว OmniExtractBench เบนช์มาร์กโอเพนซอร์สสำหรับการดึงข้อมูลเอกสารแบบมีโครงสร้าง (Structured Document Extraction) โดยจะทดสอบความแม่นยำในการเปลี่ยนข้อมูลจากไฟล์ PDF ให้อยู่ในรูปแบบ JSON Schema
ชุดทดสอบนี้รวบรวมเอกสารรวม 620 ฉบับจาก 4 เบนช์มาร์กเดิมที่ได้รับความนิยม โดยมีจุดเด่นคือตัวให้คะแนนแบบดีเทอร์มินิสติก (Deterministic Scorer) ที่สามารถอธิบายเหตุผลเบื้องหลังการตัดสินใจในแต่ละส่วนได้อย่างชัดเจน
การเปิดตัวนี้มีขึ้นท่ามกลางการแข่งขันของผู้ให้บริการด้านการดึงข้อมูลที่ต่างเผยแพร่ลีดเดอร์บอร์ดของตนเอง ซึ่ง Datalab มองว่าตรวจสอบและเปรียบเทียบได้ยาก OmniExtractBench จึงถูกสร้างขึ้นเพื่อเป็นบรรทัดฐานกลางที่ทุกคนสามารถตรวจสอบได้
สำหรับผู้ที่สนใจใช้งาน ตัวให้คะแนนสามารถติดตั้งได้ผ่าน PyPI ในชื่อ omni-extract-bench (เวอร์ชัน 0.1.7) ภายใต้ลิขสิทธิ์ Apache 2.0 อย่างไรก็ตาม การรันผลทดสอบซ้ำกับผู้ให้บริการรายอื่นจำเป็นต้องใช้ API Key และค่าใช้จ่ายของคุณเอง
OmniExtractBench คืออะไร?
OmniExtractBench คือระบบทดสอบการดึงข้อมูลที่มอบไฟล์ PDF และ JSON Schema ให้ระบบประมวลผล จากนั้นจะเปรียบเทียบผลลัพธ์ JSON ที่ได้กับไฟล์คำตอบมาตรฐาน (Gold File) แบบทีละค่า (Value by Value) เพื่อหาความถูกต้อง
ผู้สนใจสามารถเข้าถึงซอร์สโค้ดได้บน GitHub และชุดข้อมูลบน Hugging Face ภายใต้ลิขสิทธิ์ CC BY 4.0
แก้ไข 4 ข้อบกพร่องหลักของเบนช์มาร์กเดิม
Datalab ระบุว่าเบนช์มาร์กการดึงข้อมูลในปัจจุบันมักพบปัญหา 4 ประการ ได้แก่:
- ความลำเอียง (Bias): การให้คะแนนที่เอื้อประโยชน์ต่อผู้สร้างเบนช์มาร์กเอง
- กลไกไม่โปร่งใส (Opaque harnesses): คะแนนต่ำอาจเกิดจากตัวระบบทดสอบขัดข้อง ไม่ใช่ความผิดของโมเดล
- การให้คะแนนไม่ชัดเจน (Unclear scoring): ไม่สามารถระบุได้ว่าทำไมเอกสารบางฉบับถึงได้คะแนนน้อย
- ความหลากหลายจำกัด (Narrow document variety): ขาดความสมดุลระหว่างเอกสารทั่วไปกับตารางที่ซับซ้อน
ที่มาและรายละเอียดของเอกสาร 620 ฉบับ
| ชุดทดสอบ | จำนวนเอกสาร | ผู้เผยแพร่ต้นทาง | เนื้อหา |
|---|---|---|---|
| ExtractBench | 329 | LlamaIndex | แบบฟอร์ม, เอกสารยื่นคำร้อง, สไลด์นำเสนอ |
| Internal | 202 | Datalab (สังเคราะห์) | สกีมาแบบสเกลาร์ที่หนาแน่น, เอกสารขนาดเล็ก |
| LongExtractBench | 47 | micro1 (สั่งทำโดย Reducto) | ตารางขนาดใหญ่มาก |
| LongArray-Extract | 42 | Extend | ตารางขนาดใหญ่ที่มีค่าสเกลาร์ซ้ำกัน |
ข้อมูลที่นำมาทดสอบประกอบด้วยแบบฟอร์มตามกฎระเบียบ 88 ฉบับ เอกสารหน้าเดียว 128 ฉบับ และเอกสารขนาดยาวกว่า 100 หน้าอีก 33 ฉบับ ซึ่งคิดเป็น 40% ของจำนวนหน้าทั้งหมดในชุดข้อมูล
กลไกการทำงานของตัวให้คะแนน
ระบบจะทำการปรับรูปแบบค่าให้เป็นมาตรฐาน (Normalize) เช่น แปลงวันที่ให้อยู่ในรูปแบบเดียวกันก่อนเปรียบเทียบ โดยเฉพาะในส่วนของตารางที่มักมีปัญหาหากเปรียบเทียบตามตำแหน่งแถว
OmniExtractBench เลือกใช้ Hungarian algorithm ในการจับคู่ข้อมูลตามเนื้อหา วิธีนี้ช่วยให้ได้คะแนนที่เที่ยงตรงแม้จะมีบางแถวขาดหายไป โดยจากการทดสอบตาราง 100 แถวที่แถวแรกหายไป ระบบนี้ยังให้คะแนนสูงถึง 99% ในขณะที่การวัดแบบเดิมจะได้ 0%
คำวินิจฉัย 6 รูปแบบเพื่อความละเอียด
ระบบจะระบุสถานะของแต่ละค่าข้อมูลออกมาเป็น 6 รูปแบบ:
- matched: ข้อมูลถูกต้องตรงกัน
- misread: พบข้อมูลแต่ค่าผิด
- unfound: มีในคำตอบมาตรฐานแต่ระบบหาไม่เจอ
- fabricated: ระบบเติมข้อมูลมาเองทั้งที่มาตรฐานไม่มี
- invented_item: แถวที่ระบบสร้างขึ้นเองโดยจับคู่ไม่ได้
- invented_field: ฟิลด์ที่ระบบสร้างขึ้นโดยไม่มีใน Schema
นอกจากนี้ยังมี กฎค่าว่าง (The null rule) ที่จะตัดสตริงว่างหรือช่องว่างทิ้ง เพื่อป้องกันการปั่นคะแนนด้วยการถมฟิลด์ว่างเข้ามา
เปรียบเทียบผลการทดสอบ
จากการทดสอบระบบ 10 รูปแบบ พบว่าโหมด Datalab accurate ทำคะแนนนำที่ 93.85 ตามมาด้วย Datalab balanced (93.48) และ Reducto deep_extract v2 (93.47) ซึ่งมีประสิทธิภาพใกล้เคียงกันมาก
การวิเคราะห์เชิงลึกยังพบพฤติกรรมที่น่าสนใจ เช่น GPT 5.6-sol มักมีปัญหาข้อมูลขาดหาย (Recall ต่ำ) ขณะที่ LlamaExtract มีแนวโน้มที่จะกุข้อมูลขึ้นมาเอง (Fabricated values) ทำให้ Precision ลดลง
วิธีการรันผลทดสอบด้วยตัวเอง
uv pip install omni-extract-bench
oeb score --pred pred.json --gt gold.json --schema schema.json --verdictsผู้ใช้งานสามารถติดตั้งส่วนเสริม [benchmark] เพื่อรันการทดสอบกับผู้ให้บริการรายต่างๆ ได้ทันที โดย Datalab แนะนำให้ทดลองใช้ผ่าน playground ของทางค่ายได้เช่นกัน
หมายเหตุ: ข้อมูลเปรียบเทียบล่าสุดตรวจสอบเมื่อวันที่ 27 กันยายน 2026
ความคิดเห็น (0)
เข้าสู่ระบบเพื่อร่วมแสดงความเห็น
สมัครสมาชิกมาเป็นคนแรกที่แสดงความเห็นกันเลยโบร
