Document AI Workbench - ตัวแยกเอกสารที่กำหนดเอง

1. บทนำ

Document AI เป็นโซลูชันความเข้าใจเอกสารที่ใช้ Unstructured Data เช่น เอกสาร อีเมล และอื่นๆ เพื่อให้ข้อมูลเข้าใจ วิเคราะห์ และนำไปใช้ได้ง่ายขึ้น

Document AI Workbench ช่วยให้คุณประมวลผลเอกสารได้อย่างแม่นยำยิ่งขึ้นด้วยการสร้างโมเดลที่ปรับแต่งได้อย่างเต็มที่โดยใช้ข้อมูลการฝึกของคุณเอง

ในแล็บนี้ คุณจะได้สร้างโปรเซสเซอร์การแยกเอกสารที่กำหนดเอง นำเข้าชุดข้อมูล ติดป้ายกำกับเอกสารตัวอย่าง และฝึกโปรเซสเซอร์

ชุดข้อมูลเอกสารที่ใช้ในห้องทดลองนี้มาจากชุดข้อมูลแบบฟอร์ม W-2 ปลอม (แบบฟอร์มภาษีของสหรัฐอเมริกา) ใน Kaggle ซึ่งมีใบอนุญาต CC0: Public Domain

ข้อกำหนดเบื้องต้น

Codelab นี้สร้างขึ้นจากเนื้อหาที่นำเสนอใน Codelab อื่นๆ ของ Document AI

ขอแนะนำให้คุณทำ Codelab ต่อไปนี้ให้เสร็จก่อนดำเนินการต่อ

สิ่งที่คุณจะได้เรียนรู้

  • สร้างโปรเซสเซอร์ตัวแยกเอกสารที่กำหนดเอง
  • ติดป้ายกำกับข้อมูลการฝึก Document AI โดยใช้เครื่องมือประกอบ
  • ฝึกโมเดลเวอร์ชันใหม่
  • ประเมินความแม่นยำของโมเดลเวอร์ชันใหม่

สิ่งที่คุณต้องมี

  • โปรเจ็กต์ Google Cloud
  • เบราว์เซอร์ เช่น Chrome หรือ Firefox

2. การเริ่มตั้งค่า

Codelab นี้ถือว่าคุณได้ทำตามขั้นตอนการตั้งค่า Document AI ที่ระบุไว้ใน Codelab เบื้องต้นแล้ว

โปรดทำตามขั้นตอนต่อไปนี้ก่อนดำเนินการต่อ

3. สร้างโปรเซสเซอร์

คุณต้องสร้างโปรเซสเซอร์ Custom Document Extractor ก่อนจึงจะใช้ในแล็บนี้ได้

  1. ในคอนโซล ให้ไปที่หน้าภาพรวมของ Document AI

DocAIOverviewConsole

  1. คลิกสร้างโปรเซสเซอร์ที่กำหนดเอง แล้วเลือกเครื่องมือแยกเอกสารที่กำหนดเอง

docai-custom-codelab-02

  1. ตั้งชื่อว่า codelab-custom-extractor (หรือชื่ออื่นที่คุณจำได้) แล้วเลือกภูมิภาคที่ใกล้ที่สุดในรายการ

docai-custom-codelab-03

  1. คลิกสร้างเพื่อสร้างโปรเซสเซอร์ จากนั้นคุณจะเห็นหน้าภาพรวมของตัวประมวลผล

docai-custom-codelab-04

4. สร้างชุดข้อมูล

ในการฝึกโปรเซสเซอร์ เราจะต้องสร้างชุดข้อมูลที่มีข้อมูลการฝึกและการทดสอบเพื่อช่วยให้โปรเซสเซอร์ระบุเอนทิตีที่เราต้องการแยก

  1. ในหน้าภาพรวมของโปรเซสเซอร์ ให้คลิกกำหนดค่าชุดข้อมูล

docai-custom-codelab-04

  1. ตอนนี้คุณควรจะอยู่ในหน้ากำหนดค่าชุดข้อมูล หากต้องการระบุที่เก็บข้อมูลของคุณเองเพื่อจัดเก็บเอกสารและป้ายกำกับการฝึก ให้คลิกแสดงตัวเลือกขั้นสูง หรือคลิกดำเนินการต่อ

docai-custom-codelab-05

  1. รอให้ระบบสร้างชุดข้อมูล จากนั้นระบบจะนำคุณไปยังหน้าการฝึก

docai-custom-codelab-07

5. นำเข้าเอกสารทดสอบ

ตอนนี้เรามานำเข้า PDF ของ W2 ตัวอย่างลงในชุดข้อมูลกัน

  1. คลิกนำเข้าเอกสาร

docai-custom-codelab-08

  1. เรามีไฟล์ PDF ตัวอย่างให้คุณใช้ในแล็บนี้ คัดลอกและวางลิงก์ต่อไปนี้ลงในช่องเส้นทางแหล่งที่มา ปล่อยให้ "การแยกข้อมูล" เป็น "ไม่ได้กำหนด" ไว้ก่อน ปล่อยช่องอื่นๆ ทั้งหมดให้ว่างไว้ คลิกนำเข้า
cloud-samples-data/documentai/codelabs/custom/extractor/pdfs

docai-custom-codelab-09

  1. รอให้นำเข้าเอกสาร การดำเนินการนี้จะใช้เวลาไม่ถึง 1 นาที
  2. เมื่อการนำเข้าเสร็จสมบูรณ์แล้ว คุณควรเห็นเอกสารในหน้าการฝึก

docai-custom-codelab-10

6. สร้างป้ายกำกับ

เนื่องจากเรากำลังสร้างประเภทโปรเซสเซอร์ใหม่ จึงต้องสร้างป้ายกำกับที่กำหนดเองเพื่อบอก Document AI ว่าเราต้องการแยกช่องใด

  1. คลิกแก้ไขสคีมาที่มุมซ้ายล่าง

docai-custom-codelab-11

  1. ตอนนี้คุณควรอยู่ในคอนโซลการจัดการสคีมา

docai-custom-codelab-12

  1. สร้างป้ายกำกับต่อไปนี้โดยใช้ปุ่มสร้างป้ายกำกับ

ชื่อ

ประเภทข้อมูล

เหตุการณ์

CONTROL_NUMBER

ตัวเลข

ต้องระบุหลายรายการ

EMPL_SSN

ข้อความล้วน

ต้องระบุหลายรายการ

EMPLR_ID_NUMBER

ข้อความล้วน

ต้องระบุหลายรายการ

EMPLR_NAME_ADDRESS

ที่อยู่

ต้องระบุหลายรายการ

FEDERAL_INCOME_TAX_WH

เงินทอง

ต้องระบุหลายรายการ

SS_TAX_WH

เงินทอง

ต้องระบุหลายรายการ

SS_WAGES

เงินทอง

ต้องระบุหลายรายการ

WAGES_TIPS_OTHER_COMP

เงินทอง

ต้องระบุหลายรายการ

  1. เมื่อเสร็จแล้ว คอนโซลควรมีลักษณะดังนี้ จากนั้นคลิกบันทึก

docai-custom-codelab-13

  1. คลิกลูกศรย้อนกลับเพื่อกลับไปที่หน้าการฝึกอบรม โปรดสังเกตว่าป้ายกำกับที่เราสร้างจะปรากฏที่มุมล่างซ้าย

docai-custom-codelab-14

7. ติดป้ายกำกับเอกสารทดสอบ

จากนั้น เราจะระบุองค์ประกอบข้อความและป้ายกำกับสำหรับเอนทิตีที่ต้องการแยก ระบบจะใช้ป้ายกำกับเหล่านี้เพื่อฝึกโมเดลให้แยกวิเคราะห์โครงสร้างเอกสารที่เฉพาะเจาะจงนี้และระบุประเภทที่ถูกต้อง

  1. ดับเบิลคลิกที่เอกสารที่เรานำเข้าก่อนหน้านี้เพื่อเข้าสู่คอนโซลการติดป้ายกำกับ ซึ่งควรมีหน้าตาเช่นนี้

docai-custom-codelab-15

  1. คลิกเครื่องมือ "กรอบล้อม" จากนั้นไฮไลต์ข้อความ "1173038" แล้วกำหนดป้ายกำกับ CONTROL_NUMBER คุณสามารถใช้ตัวกรองข้อความเพื่อค้นหาชื่อป้ายกำกับได้

docai-custom-codelab-16

  1. ทำซ้ำสำหรับอินสแตนซ์อื่นๆ ของ CONTROL_NUMBER โดยควรมีลักษณะดังนี้เมื่อติดป้ายกำกับแล้ว

docai-custom-codelab-17

  1. ไฮไลต์อินสแตนซ์ทั้งหมดของค่าข้อความต่อไปนี้และกำหนดป้ายกำกับที่เหมาะสม

ชื่อป้ายกำกับ

Text

EMPLR_ID_NUMBER

24-3188810

FEDERAL_INCOME_TAX_WH

19127.2

SS_TAX_WH

5093.71

SS_WAGES

66584.46

WAGES_TIPS_OTHER_COMP

56081.18

EMPL_SSN

714-32-2105

EMPLR_NAME_ADDRESS

Adams, Chase and Gilbert Inc 972 Gonzalez Dam South Katherine NC 95869-5178

  1. เมื่อติดป้ายกำกับเสร็จแล้ว เอกสารควรมีลักษณะดังนี้ โปรดทราบว่าคุณปรับป้ายกำกับเหล่านี้ได้โดยคลิกช่องสี่เหลี่ยมล้อมรอบในเอกสาร หรือชื่อ/ค่าป้ายกำกับในเมนูด้านซ้าย คลิกทำเครื่องหมายว่าติดป้ายกำกับแล้วเมื่อติดป้ายกำกับเสร็จแล้ว จากนั้นกลับไปที่คอนโซลการจัดการชุดข้อมูล

docai-custom-codelab-20

8. กำหนดเอกสารให้กับชุดการฝึก

ตอนนี้คุณควรจะกลับไปที่คอนโซลการจัดการชุดข้อมูลแล้ว โปรดสังเกตว่าจำนวนเอกสารที่มีป้ายกำกับและไม่มีป้ายกำกับ รวมถึงจำนวนอินสแตนซ์ต่อป้ายกำกับมีการเปลี่ยนแปลง

docai-custom-codelab-21

  1. เราต้องกำหนดเอกสารนี้ให้กับชุด "การฝึก" หรือ "การทดสอบ" คลิกเอกสาร คลิกกำหนดให้กับชุด แล้วคลิกการฝึก

docai-custom-codelab-22

  1. โปรดสังเกตว่าตัวเลขการแยกข้อมูลมีการเปลี่ยนแปลง

docai-custom-codelab-23

9. นำเข้าข้อมูลที่ติดป้ายกำกับไว้ล่วงหน้า

โปรเซสเซอร์ที่กำหนดเองของ Document AI ต้องมีเอกสารอย่างน้อย 10 รายการทั้งในชุดการฝึกและชุดการทดสอบ รวมถึงอินสแตนซ์ของป้ายกำกับแต่ละรายการ 10 รายการในแต่ละชุด

เราขอแนะนำให้มีเอกสารอย่างน้อย 50 รายการในแต่ละชุดที่มีอินสแตนซ์ของป้ายกำกับแต่ละรายการ 50 รายการเพื่อให้ได้ประสิทธิภาพสูงสุด โดยทั่วไปแล้ว ข้อมูลการฝึกที่มากขึ้นจะทำให้ความแม่นยำสูงขึ้น

การติดป้ายกำกับเอกสารทั้งหมดด้วยตนเองจะใช้เวลานานมาก เราจึงมีเอกสารที่ติดป้ายกำกับไว้ล่วงหน้าซึ่งคุณสามารถนำเข้าไปใช้ใน Lab นี้ได้

คุณสามารถนำเข้าไฟล์เอกสารที่ติดป้ายกำกับไว้ล่วงหน้าในรูปแบบ Document.json ซึ่งอาจเป็นผลลัพธ์จากการเรียกใช้โปรเซสเซอร์และยืนยันความถูกต้องโดยใช้การตรวจสอบโดยมนุษย์ (HITL)

ข้างๆ ในเชิงลบ

หมายเหตุ: เมื่อนําเข้าข้อมูลที่ติดป้ายกำกับไว้ล่วงหน้า เราขอแนะนำเป็นอย่างยิ่งให้ตรวจสอบคำอธิบายประกอบด้วยตนเองก่อนฝึกโมเดล

  1. คลิกนำเข้าเอกสาร

docai-custom-codelab-24

  1. คัดลอก/วางเส้นทาง Cloud Storage ต่อไปนี้และกำหนดให้กับชุดการฝึก
cloud-samples-data/documentai/codelabs/custom/extractor/training
  1. คลิกเพิ่มโฟลเดอร์อื่น จากนั้นคัดลอก/วางเส้นทาง Cloud Storage ต่อไปนี้และกำหนดให้กับชุดทดสอบ
cloud-samples-data/documentai/codelabs/custom/extractor/test

docai-custom-codelab-25

  1. คลิกนำเข้าและรอให้นำเข้าเอกสาร การดำเนินการนี้จะใช้เวลานานกว่าครั้งที่แล้วเนื่องจากมีเอกสารที่ต้องประมวลผลมากขึ้น การดำเนินการนี้อาจใช้เวลาประมาณ 6 นาที คุณออกจากหน้านี้และกลับมาใหม่ภายหลังได้

docai-custom-codelab-26

  1. เมื่อดำเนินการเสร็จแล้ว คุณควรเห็นเอกสารในหน้าการฝึกอบรม

docai-custom-codelab-27

10. ฝึกโมเดล

ตอนนี้เราพร้อมที่จะเริ่มฝึกเครื่องมือแยกข้อมูลเอกสารที่กำหนดเองแล้ว

  1. คลิกฝึกเวอร์ชันใหม่

docai-custom-codelab-28

  1. ตั้งชื่อเวอร์ชันที่คุณจะจำได้ เช่น codelab-custom-1 สำหรับ "วิธีการฝึก" ให้เลือก "ฝึกจากศูนย์"

docai-custom-codelab-29

  1. (ไม่บังคับ) คุณยังเลือกดูสถิติป้ายกำกับเพื่อดูเมตริกเกี่ยวกับป้ายกำกับในชุดข้อมูลได้ด้วย

docai-custom-codelab-30

  1. คลิกเริ่มการฝึกเพื่อเริ่มกระบวนการฝึก ระบบควรเปลี่ยนเส้นทางคุณไปยังหน้าการจัดการชุดข้อมูล คุณดูสถานะการฝึกได้ทางด้านขวา การฝึกจะใช้เวลา 2-3 ชั่วโมงจึงจะเสร็จสิ้น คุณออกจากหน้านี้และกลับมาใหม่ภายหลังได้

docai-custom-codelab-31

  1. หากคลิกชื่อเวอร์ชัน ระบบจะนำคุณไปยังหน้าจัดการเวอร์ชัน ซึ่งจะแสดงรหัสเวอร์ชันและสถานะปัจจุบันของงานการฝึก

docai-custom-codelab-32

11. ทดสอบโมเดลเวอร์ชันใหม่

เมื่อ Training Job เสร็จสมบูรณ์ (ใช้เวลาประมาณ 1 ชั่วโมงในการทดสอบของฉัน) คุณจะทดสอบโมเดลเวอร์ชันใหม่และเริ่มใช้เพื่อการคาดการณ์ได้

  1. ไปที่หน้าจัดการเวอร์ชัน คุณดูสถานะปัจจุบันและคะแนน F1 ได้ที่นี่

docai-custom-codelab-33

  1. เราจะต้องติดตั้งใช้งานโมเดลเวอร์ชันนี้ก่อนจึงจะใช้งานได้ คลิกจุดแนวตั้งทางด้านขวา แล้วเลือกติดตั้งใช้งานเวอร์ชัน

docai-custom-codelab-34

  1. เลือกติดตั้งใช้งานจากหน้าต่างป๊อปอัปเมื่อรอให้เวอร์ชันติดตั้งใช้งาน ซึ่งอาจใช้เวลาดำเนินการสักครู่ หลังจากที่ติดตั้งใช้งานแล้ว คุณยังตั้งค่าเวอร์ชันนี้เป็นเวอร์ชันเริ่มต้นได้ด้วย

docai-custom-codelab-35

  1. เมื่อติดตั้งใช้งานเสร็จแล้ว ให้ไปที่แท็บประเมิน ในหน้านี้ คุณสามารถดูเมตริกการประเมิน รวมถึงคะแนน F1, ความแม่นยำ และการเรียกคืนสำหรับทั้งเอกสารและป้ายกำกับแต่ละรายการ อ่านข้อมูลเพิ่มเติมเกี่ยวกับเมตริกเหล่านี้ได้ในเอกสารประกอบของ AutoML

docai-custom-codelab-36

  1. ดาวน์โหลดไฟล์ PDF ที่ลิงก์ไว้ด้านล่าง นี่คือตัวอย่าง W2 ที่ไม่ได้รวมอยู่ในชุดการฝึกหรือชุดทดสอบ

  1. คลิกอัปโหลดเอกสารทดสอบ แล้วเลือกไฟล์ PDF
  2. เอนทิตีที่แยกออกมาควรมีลักษณะดังนี้

docai-custom-codelab-37

12. ไม่บังคับ: ติดป้ายกำกับเอกสารที่นำเข้าใหม่โดยอัตโนมัติ

หลังจากติดตั้งใช้งานเวอร์ชันโปรเซสเซอร์ที่ฝึกแล้ว คุณจะใช้การติดป้ายกำกับอัตโนมัติเพื่อประหยัดเวลาในการติดป้ายกำกับเมื่อนำเข้าเอกสารใหม่ได้

  1. ในหน้าฝึก ให้คลิกนำเข้าเอกสาร
  2. คัดลอกและวางเส้นทาง ต่อไปนี้ ไดเรกทอรีนี้มี PDF ของ W2 ที่ไม่มีป้ายกำกับ 5 รายการ เลือกการฝึกจากรายการแบบเลื่อนลงการแยกข้อมูล
    cloud-samples-data/documentai/Custom/W2/AutoLabel
    
  3. ในส่วนการติดป้ายกำกับอัตโนมัติ ให้เลือกช่องทําเครื่องหมายนําเข้าด้วยการติดป้ายกํากับอัตโนมัติ
  4. เลือกเวอร์ชันโปรเซสเซอร์ที่มีอยู่เพื่อติดป้ายกำกับเอกสาร
  • เช่น 2af620b2fd4d1fcf
  1. คลิกนำเข้าและรอให้นำเข้าเอกสาร คุณออกจากหน้านี้และกลับมาใหม่ภายหลังได้
  • เมื่อดำเนินการเสร็จแล้ว เอกสารจะปรากฏในหน้าฝึกในส่วนติดป้ายกำกับอัตโนมัติ
  1. คุณไม่สามารถใช้เอกสารที่มีป้ายกำกับอัตโนมัติในการฝึกหรือทดสอบได้โดยไม่ทำเครื่องหมายว่ามีป้ายกำกับ ไปที่ส่วนติดป้ายกำกับอัตโนมัติเพื่อดูเอกสารที่ติดป้ายกำกับอัตโนมัติ
  2. เลือกเอกสารแรกเพื่อเข้าสู่คอนโซลการติดป้ายกำกับ
  3. ยืนยันป้ายกำกับ กรอบล้อม และค่าเพื่อให้แน่ใจว่าถูกต้อง ติดป้ายกำกับค่าที่ละไว้
  4. เลือกทำเครื่องหมายว่าติดป้ายกำกับแล้วเมื่อเสร็จแล้ว
  5. ทำซ้ำการยืนยันป้ายกำกับสำหรับเอกสารที่ติดป้ายกำกับอัตโนมัติแต่ละรายการ จากนั้นกลับไปที่หน้าฝึกเพื่อใช้ข้อมูลในการฝึก

13. บทสรุป

ยินดีด้วย คุณใช้ Document AI เพื่อฝึกโปรเซสเซอร์โปรแกรมแยกข้อมูลเอกสารที่กำหนดเองเรียบร้อยแล้ว ตอนนี้คุณสามารถใช้โปรเซสเซอร์นี้เพื่อแยกวิเคราะห์เอกสารในรูปแบบนี้ได้เช่นเดียวกับโปรเซสเซอร์เฉพาะทางอื่นๆ

คุณดูวิธีจัดการการตอบกลับการประมวลผลได้ใน Specialized Processors Codelab

การล้างข้อมูล

โปรดดำเนินการดังนี้เพื่อเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้

  • ใน Cloud Console ให้ไปที่หน้าจัดการทรัพยากร
  • เลือกโปรเจ็กต์ในรายการโปรเจ็กต์ แล้วคลิกลบ
  • ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเพื่อลบโปรเจ็กต์

แหล่งข้อมูล

ใบอนุญาต

ผลงานนี้ได้รับอนุญาตภายใต้สัญญาอนุญาตครีเอทีฟคอมมอนส์สำหรับยอมรับสิทธิของผู้สร้าง (Creative Commons Attribution License) 2.0 แบบทั่วไป