คำตอบด่วน
Quick Answer
การสกัด Certificate แบบหลายรายการต้องให้ Parser ตรวจจับขอบเขตของตาราง เชื่อมโยงหัวคอลัมน์กับค่าต่างๆ ในแถว แบ่งลอหลายลอหรือรายการบรรทัดเป็นระเบียนที่แตกต่างกัน และจัดการการแบ่งหน้าตรงกลางตาราง—ความท้าทายที่ทำให้ pipeline OCR ที่เรียบง่ายล้มเหลว แต่สามารถแก้ไขได้ด้วยโมเดล Vision-Language และโครงร่างการสกัดที่มีความรู้เกี่ยวกับตาราง
Certificate ทดสอบโรงสีลอเดียวเป็นกรณีการสกัดที่ง่ายที่สุด: ชุดค่าเคมีหนึ่ง ชุดผลลัพธ์การทดสอบเชิงกล หนึ่ง หมายเลขลอหนึ่ง การไหลของเอกสารในโลกแห่งความเป็นจริงแทบจะไม่บริสุทธิ์เลย ศูนย์บริการเหล็กออก Certificate ที่รวมกันครอบคลุมหลายสิบลอ โรงสีแผ่นเหล็กจัดตารางตำแหน่งทดสอบหลายตำแหน่งในลอเดียว ผู้ผลิตท่อรวมถึงเคมีของตัวเรือนและการเชื่อมในคอลัมน์ข้างเคียง
การสกัดรายการแบบหลายบรรทัดคือที่ที่ Parser ที่เรียบง่ายล้มเหลวและสถาปัตยกรรมการสกัดที่แข็งแรงพิสูจน์คุณค่าของมัน
ประเภทเอกสารรายการแบบหลายบรรทัด
การทำความเข้าใจโหมดความล้มเหลวต้องการให้แยกแยะระหว่างโครงสร้างเอกสารต่างๆ:
ประเภท 1: Certificate รวมแบบหลายลอ PDF เดียวครอบคลุมหมายเลขลอหลายหมายเลข โดยแต่ละหมายเลขมีข้อมูลเคมีและการทดสอบเชิงกลของตัวเอง ทั่วไปจากศูนย์บริการเหล็กและตัวจำหน่ายที่ออก Certificate MTC ของผู้จัดสงใหม่ในรูปแบบรวมกัน โครงสร้างทั่วไป: ตารางที่แต่ละแถวเป็นลอแยกต่างหาก
ประเภท 2: ตารางการทดสอบเชิงกลแบบหลายตัวอย่าง ลอเดียวที่มีผลลัพธ์การทดสอบตัวอย่างหลายตัวอย่าง (เช่น การทดสอบแรงกระแทก Charpy ที่ -20°C จากห้าตำแหน่งบนแผ่นเหล็ก) ข้อมูลลอเป็นเอกพจน์ เฉพาะตารางการทดสอบเชิงกลเท่านั้นที่มีแถวหลายแถว
ประเภท 3: ตารางเคมีหลายองค์ประกอบพร้อมหมายเหตุ ตารางเคมีมาตรฐานบวกองค์ประกอบเสริม (บอรอน ไนโตรเจน ตกค้าง) ในตารางรองบนหน้าเดียวกันหรือหน้าถัดไป ตารางทั้งสองอยู่ในลอเดียวกัน
ประเภท 4: Certificate หลายลอ หลายหน้า Certificate รวมกันที่ตารางขยายไปหลายหน้า โดยแถวหัวคอลัมน์ปรากฏเฉพาะหน้าแรกเท่านั้น
ประเภท 5: Certificate การปรองดองรายการบรรทัดใบสั่งซื้อ Certificate ที่ครอบคลุมรายการบรรทัด PO หลายรายการ โดยแต่ละรายการมีเกรดวัสดุต่างกัน ขนาด และการอ้างอิงลอที่เกี่ยวข้อง ทั่วไปในชุดเอกสารโครงการ EPC
แต่ละโครงสร้างเหล่านี้ต้องใช้กลยุทธ์การสกัดที่แตกต่างกัน
เหตุใด Pipeline OCR ล้มเหลวในตารางแบบหลายบรรทัด
กระบวนการ OCR แบบดั้งเดิมประมวลผลหน้าเป็นสตรีมอักขระตามลำดับการอ่าน สำหรับตารางเคมีที่มี 12 องค์ประกอบในแถวลอ 8 แถว OCR จะส่งกลับบางอย่างเช่น:
C Mn Si P S Cr Mo Ni
0.18 1.42 0.28 0.012 0.008 0.02 0.01 0.08
0.21 1.38 0.31 0.015 0.010 0.02 0.01 0.09
...
แถวหัวเก็บรักษาไว้ และค่าปรากฏตามลำดับ แต่ pipeline การประมวลผลหลังการสกัดตอนนี้ต้อง:
- ระบุว่าแถวใดเป็นส่วนหัว
- เชื่อมโยงแต่ละค่าในแต่ละแถวข้อมูลกับส่วนหัวคอลัมน์
- ตรวจจับหมายเลขลอที่ระบุแต่ละแถว
- จัดการกรณีที่หมายเลขลออยู่ในคอลัมน์ก่อนหน้าแยกต่างหากหรือในเซลล์ที่ผสาน
ตรรมชาติการเชื่อมโยงคอลัมน์นี้ขาดการสนับสนุน:
- ตารางที่มีเซลล์หัวผสาน (ขยายไปหลายคอลัมน์)
- ตารางที่มีส่วนหัวตามลำดับชั้น (กลุ่มหลัก + องค์ประกอบย่อย)
- ตารางที่ความกว้างของคอลัมน์แตกต่างกันมากพอสมควร
- ตารางที่มีเซลล์ว่างเปล่า (ไม่มีการทดสอบขององค์ประกอบนั้น)
- ตารางที่มีการอ้างอิงเชิงอรรถฝังในเซลล์
วิธีที่โมเดล Vision-Language จัดการโครงสร้างตาราง
VLM ประมวลผลหน้าเป็นภาพและเข้าใจโครงสร้างตารางด้วยสายตา มันเห็นว่าส่วนหัวคอลัมน์มีช่วงความกว้างบางอย่างและค่าด้านล่างสังกัดอยู่ในคอลัมน์เหล่านั้นโดยไม่คำนึงถึงลำดับอักขระตามลำดับการอ่าน โมเดลนี้สามารถ:
- ระบุเซลล์หัวผสานและใช้ส่วนหัวกับคอลัมน์ย่อยทั้งหมด
- ตรวจจับเซลล์ว่างเปล่าเป็น "ไม่ได้ทดสอบ" โดยชัดแจ้งแทนค่าที่อ่านผิด
- รับรู้ส่วนหัวตามลำดับชั้น (เช่น "เคมี %" พร้อมกับส่วนหัวย่อยสำหรับแต่ละองค์ประกอบ)
- เชื่อมโยงหมายเลขลอในคอลัมน์ซ้ายสุดกับแต่ละแถวของค่า
สำหรับตารางแบบหลายหน้า โมเดลต้องการการจัดการอย่างชัดแจ้งของกรณีการแบ่งหน้า: ส่วนหัวคอลัมน์จากหน้า 1 ต้องเผยแพร่ไปยังแถวข้อมูลบนหน้า 2 ที่ไม่ปรากฏ สิ่งนี้ต้องใช้บริบทระดับเอกสารที่ประมวลผลหน้าตามลำดับแทนที่จะเป็นอิสระ
การแบ่งส่วน: จากตารางไปยังระเบียน
หลังจากการสกัดตาราง ระบบต้องแบ่งตารางออกเป็นระเบียนแต่ละรายการ—หนึ่งรายการต่อลอหรือรายการบรรทัด ขั้นตอนการแบ่งส่วนนี้แยกออกจากขั้นตอนการสกัดฟิลด์โดยตรรมชาติและต้องใช้ตรรมชาติของมัน:
การแบ่งส่วนตามแถว: แต่ละแถวในตารางเป็นระเบียน หมายเลขลอในคอลัมน์แรกเป็นกุญแจหลัก นี่คือกรณีทั่วไปสำหรับ Certificate รวมแบบหลายลอ
การแบ่งส่วนตามกลุ่ม: แถวหลายแถวอยู่ในลอเดียวกัน (ผลลัพธ์ตัวอย่างหลายตัวอย่าง) ระบบต้องตรวจจับขอบเขตกลุ่ม—โดยทั่วไปเป็นเซลล์ผสานหรือหมายเลขลอที่ซ้ำกัน—และรวมแถวเป็นระเบียนลอเดียวกับอาร์เรย์ซ้อนกันสำหรับข้อมูลตัวอย่างหลายตัวอย่าง
การแบ่งส่วนอ้างอิงข้าม: รายการบรรทัดอ้างอิงหมายเลขลอที่ปรากฏในที่อื่นในเอกสาร (เช่น ตารางรายการการบรรจุหีบห่อระบุหมายเลขลอที่จัดตารางในส่วนเคมีแยก) การสกัดต้องการการอ้างอิงข้ามในเอกสารเพื่อสร้างระเบียนที่สมบูรณ์
แพลตฟอร์มเช่น TestCert จัดการลวดลายการแบ่งส่วนทั้งสามลวดผ่าน Pipeline การสกัดที่ขับเคลื่อนโดยโครงร่าง ซึ่งลวดการแบ่งส่วนที่ใช้ได้จะถูกเลือกตามการจำแนกประเภทเอกสารเมื่อบริการรับ
การจัดการการแบ่งหน้าในตารางแบบหลายหน้า
กรณีตารางแบบหลายหน้าทั่วไปสำหรับชุดเอกสารโครงการขนาดใหญ่ วิธีการที่ถูกต้อง:
- ตรวจจับตารางบนหน้า 1 รวมถึงส่วนหัวคอลัมน์และตำแหน่งของพวกเขา
- ตรวจจับว่าตารางดำเนินต่อไป (โดยทั่วไปผ่านป้ายกำกับ "ดำเนินต่อ" โครงสร้างคอลัมน์ที่ตรงกัน หรือไม่มีเส้นขอบปิด)
- เก็บการทำแผนที่ส่วนหัวคอลัมน์จากหน้า 1
- ใช้การทำแผนที่นั้นกับแถวข้อมูลบนหน้าต่อมา
- สร้างตารางทั้งหมดใหม่ก่อนแบ่งส่วนเป็นระเบียน
ตัวสกัดที่ประมวลผลหน้าแบบอิสระ—การออกแบบทั่วไปด้วยเหตุผลด้านต้นทุน—ล้มเหลวแบบเงียบในกรณีนี้ พวกเขาสกัดหน้า 1 อย่างถูกต้องและสร้างระเบียนที่ไม่สมบูรณ์หรือรูปแบบไม่ถูกต้องสำหรับหน้าการดำเนินต่อ
การตรวจสอบหลังการสกัดแบบหลายบรรทัด
แต่ละระเบียนรายการบรรทัดที่สกัดต้องได้รับการตรวจสอบแบบอิสระ:
- การตรวจสอบผลรวมเคมีผ่านหรือไม่ (คาร์บอน + แมงกานีส + ซิลิกอน + ... ควรอาจยอมรับได้สำหรับเกรดที่ระบุ)
- ค่าทางกลอยู่ในขีดจำกัดของมาตรฐานที่ระบุหรือไม่
- หมายเลขลออยู่และไม่ซ้ำกันในชุดหรือไม่
- ฟิลด์ที่จำเป็นเติมครบหรือไม่ (ตารางแบบหลายลอบางตารางละเว้นค่าซ้ำเพื่อความสั้น ค่าที่หายไปควรถูกแสดงให้เห็นไม่ได้รับการยอมรับเงียบๆ เป็นศูนย์)
การตรวจสอบในระดับระเบียนแทนระดับเอกสารจะป้องกันไม่ให้ลอที่ถูกต้องซ่อนปัญหาในลออื่นๆ ในใบรับรองเดียวกัน
คำถามที่ถูกถาม บ่อยครั้ง
จำนวนรายการบรรทัดสูงสุดที่ตัวสกัด Certificate สามารถจัดการได้อย่างน่าเชื่อถือคือเท่าใด
ไม่มีค่าสูงสุดที่กำหนด แต่ความถูกต้องมีแนวโน้มที่จะลดลงด้วยตารางที่ใหญ่มาก (50+ แถว) เนื่องจากข้อผิดพลาดการอนุมานเค้าโครงสะสม สำหรับ Certificate ที่รวมกันขนาดใหญ่มาก การแยกเอกสารตามหน้าหรือหมวดก่อนการสกัดและรวมผลลัพธ์ในภายหลังจะช่วยเพิ่มความน่าเชื่อถือ ในทางปฏิบัติ Certificate MTC ส่วนใหญ่มี 1–20 ลอต่อเอกสาร
ระบบควรจัดการรายการบรรทัดที่มีเคมีหายไปสำหรับองค์ประกอบบางอย่างอย่างไร
เซลล์ว่างควรบันทึกเป็น null (ไม่ได้ทดสอบ) ไม่ใช่ศูนย์ ค่าคาร์บอนเท่ากับศูนย์นั้นไร้ความหมายโดยเคมี null หมายความว่าองค์ประกอบไม่จำเป็นตามข้อกำหนดหรือไม่ได้ทดสอบ ความแตกต่างจะสำคัญเมื่อบันทึกใช้สำหรับการตรวจสอบมาตรฐาน—null ไม่ควรทำให้เกิดความล้มเหลว "ต่ำกว่าขั้นต่ำ"
การสกัดสามารถจัดการ Certificate โดยที่แต่ละลอมีเกรดที่ใช้ได้แตกต่างกันได้หรือไม่
ใช่ หากโครงร่างการสกัดรองรับฟิลด์มาตรฐาน/เกรดต่อแถว Certificate รวมบางรายการระบุเกรดเดียวสำหรับลอทั้งหมด (ง่ายกว่า) ส่วนอื่นๆ ระบุเกรดที่แตกต่างต่อลอ (ซับซ้อนกว่า) ตัวสกัดควรตรวจจับรูปแบบใดที่ใช้ได้และแม็ปตามนั้น การตรวจสอบต้นน้ำจากนั้นต้องตรวจสอบแต่ละลออย่างมีระดับเกรดที่ระบุของตัวเองไม่ใช่เกรดระดับเอกสาร
เกิดอะไรขึ้นเมื่อแถวหัวตารางซ้ำกันตรงกลางตาราง (เช่นบางเครื่องมือแทรกสำหรับการแบ่งหน้า)
แถวหัวที่ซ้ำกันคือ Artifact PDF ที่ทราบ ตัวสกัดที่แข็งแกร่งตรวจจับและเพิกเฉยแถวหัวที่ซ้ำกันในเนื้อหาข้อมูลแทนที่จะถือว่าเป็นแถวข้อมูล เนื้อหาแถวที่ตรงกับรูปแบบหัวคอลัมน์อย่างแน่นอนควรจัดประเภทเป็นส่วนหัวและไม่รวมอยู่ในการสกัดข้อมูล
ฉันจัดการ Certificate โดยที่บางลอมีข้อมูลการทดสอบเสริมและลออื่นๆ ไม่ได้อย่างไร
โครงร่างการสกัดควรกำหนดฟิลด์การทดสอบเสริมเป็นทางเลือก ลอที่มีข้อมูลเสริมเติมฟิลด์เหล่านั้น ลอโดยไม่ปล่อยให้ null อินเทอร์เฟซผู้ตรวจสอบควรทำให้มองเห็นการมีอยู่หรือไม่มีของข้อมูลเสริมเพื่อให้ผู้ตรวจสอบสามารถยืนยันว่าข้อมูลเสริมที่หายไปสะท้อนถึงเนื้อหาเอกสารจริงแทนที่จะเป็นการเว้นช่องว่าง
Ready to automate your certificate workflow?
Try TestCert free