Skip to main content
คู่มือ·2 นาทีในการอ่าน·

การสกัด Certificates แบบหลายรายการ: ความท้าทายและการแก้ปัญหา

คำตอบด่วน

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 การประมวลผลหลังการสกัดตอนนี้ต้อง:

  1. ระบุว่าแถวใดเป็นส่วนหัว
  2. เชื่อมโยงแต่ละค่าในแต่ละแถวข้อมูลกับส่วนหัวคอลัมน์
  3. ตรวจจับหมายเลขลอที่ระบุแต่ละแถว
  4. จัดการกรณีที่หมายเลขลออยู่ในคอลัมน์ก่อนหน้าแยกต่างหากหรือในเซลล์ที่ผสาน

ตรรมชาติการเชื่อมโยงคอลัมน์นี้ขาดการสนับสนุน:

  • ตารางที่มีเซลล์หัวผสาน (ขยายไปหลายคอลัมน์)
  • ตารางที่มีส่วนหัวตามลำดับชั้น (กลุ่มหลัก + องค์ประกอบย่อย)
  • ตารางที่ความกว้างของคอลัมน์แตกต่างกันมากพอสมควร
  • ตารางที่มีเซลล์ว่างเปล่า (ไม่มีการทดสอบขององค์ประกอบนั้น)
  • ตารางที่มีการอ้างอิงเชิงอรรถฝังในเซลล์

วิธีที่โมเดล Vision-Language จัดการโครงสร้างตาราง

VLM ประมวลผลหน้าเป็นภาพและเข้าใจโครงสร้างตารางด้วยสายตา มันเห็นว่าส่วนหัวคอลัมน์มีช่วงความกว้างบางอย่างและค่าด้านล่างสังกัดอยู่ในคอลัมน์เหล่านั้นโดยไม่คำนึงถึงลำดับอักขระตามลำดับการอ่าน โมเดลนี้สามารถ:

  • ระบุเซลล์หัวผสานและใช้ส่วนหัวกับคอลัมน์ย่อยทั้งหมด
  • ตรวจจับเซลล์ว่างเปล่าเป็น "ไม่ได้ทดสอบ" โดยชัดแจ้งแทนค่าที่อ่านผิด
  • รับรู้ส่วนหัวตามลำดับชั้น (เช่น "เคมี %" พร้อมกับส่วนหัวย่อยสำหรับแต่ละองค์ประกอบ)
  • เชื่อมโยงหมายเลขลอในคอลัมน์ซ้ายสุดกับแต่ละแถวของค่า

สำหรับตารางแบบหลายหน้า โมเดลต้องการการจัดการอย่างชัดแจ้งของกรณีการแบ่งหน้า: ส่วนหัวคอลัมน์จากหน้า 1 ต้องเผยแพร่ไปยังแถวข้อมูลบนหน้า 2 ที่ไม่ปรากฏ สิ่งนี้ต้องใช้บริบทระดับเอกสารที่ประมวลผลหน้าตามลำดับแทนที่จะเป็นอิสระ


การแบ่งส่วน: จากตารางไปยังระเบียน

หลังจากการสกัดตาราง ระบบต้องแบ่งตารางออกเป็นระเบียนแต่ละรายการ—หนึ่งรายการต่อลอหรือรายการบรรทัด ขั้นตอนการแบ่งส่วนนี้แยกออกจากขั้นตอนการสกัดฟิลด์โดยตรรมชาติและต้องใช้ตรรมชาติของมัน:

การแบ่งส่วนตามแถว: แต่ละแถวในตารางเป็นระเบียน หมายเลขลอในคอลัมน์แรกเป็นกุญแจหลัก นี่คือกรณีทั่วไปสำหรับ Certificate รวมแบบหลายลอ

การแบ่งส่วนตามกลุ่ม: แถวหลายแถวอยู่ในลอเดียวกัน (ผลลัพธ์ตัวอย่างหลายตัวอย่าง) ระบบต้องตรวจจับขอบเขตกลุ่ม—โดยทั่วไปเป็นเซลล์ผสานหรือหมายเลขลอที่ซ้ำกัน—และรวมแถวเป็นระเบียนลอเดียวกับอาร์เรย์ซ้อนกันสำหรับข้อมูลตัวอย่างหลายตัวอย่าง

การแบ่งส่วนอ้างอิงข้าม: รายการบรรทัดอ้างอิงหมายเลขลอที่ปรากฏในที่อื่นในเอกสาร (เช่น ตารางรายการการบรรจุหีบห่อระบุหมายเลขลอที่จัดตารางในส่วนเคมีแยก) การสกัดต้องการการอ้างอิงข้ามในเอกสารเพื่อสร้างระเบียนที่สมบูรณ์

แพลตฟอร์มเช่น TestCert จัดการลวดลายการแบ่งส่วนทั้งสามลวดผ่าน Pipeline การสกัดที่ขับเคลื่อนโดยโครงร่าง ซึ่งลวดการแบ่งส่วนที่ใช้ได้จะถูกเลือกตามการจำแนกประเภทเอกสารเมื่อบริการรับ


การจัดการการแบ่งหน้าในตารางแบบหลายหน้า

กรณีตารางแบบหลายหน้าทั่วไปสำหรับชุดเอกสารโครงการขนาดใหญ่ วิธีการที่ถูกต้อง:

  1. ตรวจจับตารางบนหน้า 1 รวมถึงส่วนหัวคอลัมน์และตำแหน่งของพวกเขา
  2. ตรวจจับว่าตารางดำเนินต่อไป (โดยทั่วไปผ่านป้ายกำกับ "ดำเนินต่อ" โครงสร้างคอลัมน์ที่ตรงกัน หรือไม่มีเส้นขอบปิด)
  3. เก็บการทำแผนที่ส่วนหัวคอลัมน์จากหน้า 1
  4. ใช้การทำแผนที่นั้นกับแถวข้อมูลบนหน้าต่อมา
  5. สร้างตารางทั้งหมดใหม่ก่อนแบ่งส่วนเป็นระเบียน

ตัวสกัดที่ประมวลผลหน้าแบบอิสระ—การออกแบบทั่วไปด้วยเหตุผลด้านต้นทุน—ล้มเหลวแบบเงียบในกรณีนี้ พวกเขาสกัดหน้า 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

คู่มือที่เกี่ยวข้อง