1. บทนำ
Document AI เป็นโซลูชันความเข้าใจเอกสารที่ใช้ Unstructured Data เช่น เอกสาร อีเมล และอื่นๆ เพื่อให้ข้อมูลเข้าใจ วิเคราะห์ และนำไปใช้ได้ง่ายขึ้น
Document AI Workbench ช่วยให้คุณประมวลผลเอกสารได้อย่างแม่นยำยิ่งขึ้นด้วยการสร้างโมเดลที่ปรับแต่งได้อย่างเต็มที่โดยใช้ข้อมูลการฝึกของคุณเอง
ในแล็บนี้ คุณจะได้สร้างโปรเซสเซอร์การแยกเอกสารที่กำหนดเอง นำเข้าชุดข้อมูล ติดป้ายกำกับเอกสารตัวอย่าง และฝึกโปรเซสเซอร์
ชุดข้อมูลเอกสารที่ใช้ในห้องทดลองนี้มาจากชุดข้อมูลแบบฟอร์ม W-2 ปลอม (แบบฟอร์มภาษีของสหรัฐอเมริกา) ใน Kaggle ซึ่งมีใบอนุญาต CC0: Public Domain
ข้อกำหนดเบื้องต้น
Codelab นี้สร้างขึ้นจากเนื้อหาที่นำเสนอใน Codelab อื่นๆ ของ Document AI
ขอแนะนำให้คุณทำ Codelab ต่อไปนี้ให้เสร็จก่อนดำเนินการต่อ
- การรู้จำอักขระด้วยภาพ (OCR) ด้วย Document AI (Python)
- การแยกวิเคราะห์แบบฟอร์มด้วย Document AI (Python)
- โปรเซสเซอร์เฉพาะทางด้วย Document AI (Python)
- การจัดการโปรเซสเซอร์ของ Document AI ด้วย Python
- Document AI: Human in the Loop
- Document AI: การฝึกเพิ่มเติม
สิ่งที่คุณจะได้เรียนรู้
- สร้างโปรเซสเซอร์ตัวแยกเอกสารที่กำหนดเอง
- ติดป้ายกำกับข้อมูลการฝึก Document AI โดยใช้เครื่องมือประกอบ
- ฝึกโมเดลเวอร์ชันใหม่
- ประเมินความแม่นยำของโมเดลเวอร์ชันใหม่
สิ่งที่คุณต้องมี
2. การเริ่มตั้งค่า
Codelab นี้ถือว่าคุณได้ทำตามขั้นตอนการตั้งค่า Document AI ที่ระบุไว้ใน Codelab เบื้องต้นแล้ว
โปรดทำตามขั้นตอนต่อไปนี้ก่อนดำเนินการต่อ
3. สร้างโปรเซสเซอร์
คุณต้องสร้างโปรเซสเซอร์ Custom Document Extractor ก่อนจึงจะใช้ในแล็บนี้ได้
- ในคอนโซล ให้ไปที่หน้าภาพรวมของ Document AI

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

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

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

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

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

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

5. นำเข้าเอกสารทดสอบ
ตอนนี้เรามานำเข้า PDF ของ W2 ตัวอย่างลงในชุดข้อมูลกัน
- คลิกนำเข้าเอกสาร

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

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

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

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

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

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

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

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

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

- ไฮไลต์อินสแตนซ์ทั้งหมดของค่าข้อความต่อไปนี้และกำหนดป้ายกำกับที่เหมาะสม
ชื่อป้ายกำกับ | Text |
| 24-3188810 |
| 19127.2 |
| 5093.71 |
| 66584.46 |
| 56081.18 |
| 714-32-2105 |
| Adams, Chase and Gilbert Inc 972 Gonzalez Dam South Katherine NC 95869-5178 |
- เมื่อติดป้ายกำกับเสร็จแล้ว เอกสารควรมีลักษณะดังนี้ โปรดทราบว่าคุณปรับป้ายกำกับเหล่านี้ได้โดยคลิกช่องสี่เหลี่ยมล้อมรอบในเอกสาร หรือชื่อ/ค่าป้ายกำกับในเมนูด้านซ้าย คลิกทำเครื่องหมายว่าติดป้ายกำกับแล้วเมื่อติดป้ายกำกับเสร็จแล้ว จากนั้นกลับไปที่คอนโซลการจัดการชุดข้อมูล

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- ดาวน์โหลดไฟล์ PDF ที่ลิงก์ไว้ด้านล่าง นี่คือตัวอย่าง W2 ที่ไม่ได้รวมอยู่ในชุดการฝึกหรือชุดทดสอบ
- คลิกอัปโหลดเอกสารทดสอบ แล้วเลือกไฟล์ PDF
- เอนทิตีที่แยกออกมาควรมีลักษณะดังนี้

12. ไม่บังคับ: ติดป้ายกำกับเอกสารที่นำเข้าใหม่โดยอัตโนมัติ
หลังจากติดตั้งใช้งานเวอร์ชันโปรเซสเซอร์ที่ฝึกแล้ว คุณจะใช้การติดป้ายกำกับอัตโนมัติเพื่อประหยัดเวลาในการติดป้ายกำกับเมื่อนำเข้าเอกสารใหม่ได้
- ในหน้าฝึก ให้คลิกนำเข้าเอกสาร
- คัดลอกและวางเส้นทาง ต่อไปนี้ ไดเรกทอรีนี้มี PDF ของ W2 ที่ไม่มีป้ายกำกับ 5 รายการ เลือกการฝึกจากรายการแบบเลื่อนลงการแยกข้อมูล
cloud-samples-data/documentai/Custom/W2/AutoLabel - ในส่วนการติดป้ายกำกับอัตโนมัติ ให้เลือกช่องทําเครื่องหมายนําเข้าด้วยการติดป้ายกํากับอัตโนมัติ
- เลือกเวอร์ชันโปรเซสเซอร์ที่มีอยู่เพื่อติดป้ายกำกับเอกสาร
- เช่น
2af620b2fd4d1fcf
- คลิกนำเข้าและรอให้นำเข้าเอกสาร คุณออกจากหน้านี้และกลับมาใหม่ภายหลังได้
- เมื่อดำเนินการเสร็จแล้ว เอกสารจะปรากฏในหน้าฝึกในส่วนติดป้ายกำกับอัตโนมัติ
- คุณไม่สามารถใช้เอกสารที่มีป้ายกำกับอัตโนมัติในการฝึกหรือทดสอบได้โดยไม่ทำเครื่องหมายว่ามีป้ายกำกับ ไปที่ส่วนติดป้ายกำกับอัตโนมัติเพื่อดูเอกสารที่ติดป้ายกำกับอัตโนมัติ
- เลือกเอกสารแรกเพื่อเข้าสู่คอนโซลการติดป้ายกำกับ
- ยืนยันป้ายกำกับ กรอบล้อม และค่าเพื่อให้แน่ใจว่าถูกต้อง ติดป้ายกำกับค่าที่ละไว้
- เลือกทำเครื่องหมายว่าติดป้ายกำกับแล้วเมื่อเสร็จแล้ว
- ทำซ้ำการยืนยันป้ายกำกับสำหรับเอกสารที่ติดป้ายกำกับอัตโนมัติแต่ละรายการ จากนั้นกลับไปที่หน้าฝึกเพื่อใช้ข้อมูลในการฝึก
13. บทสรุป
ยินดีด้วย คุณใช้ Document AI เพื่อฝึกโปรเซสเซอร์โปรแกรมแยกข้อมูลเอกสารที่กำหนดเองเรียบร้อยแล้ว ตอนนี้คุณสามารถใช้โปรเซสเซอร์นี้เพื่อแยกวิเคราะห์เอกสารในรูปแบบนี้ได้เช่นเดียวกับโปรเซสเซอร์เฉพาะทางอื่นๆ
คุณดูวิธีจัดการการตอบกลับการประมวลผลได้ใน Specialized Processors Codelab
การล้างข้อมูล
โปรดดำเนินการดังนี้เพื่อเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้
- ใน Cloud Console ให้ไปที่หน้าจัดการทรัพยากร
- เลือกโปรเจ็กต์ในรายการโปรเจ็กต์ แล้วคลิกลบ
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเพื่อลบโปรเจ็กต์
แหล่งข้อมูล
- เอกสารประกอบเกี่ยวกับ Document AI Workbench
- อนาคตของเอกสาร - เพลย์ลิสต์ YouTube
- เอกสารประกอบเกี่ยวกับ Document AI
- ไลบรารีของไคลเอ็นต์ Python สำหรับ Document AI
- ตัวอย่าง Document AI
ใบอนุญาต
ผลงานนี้ได้รับอนุญาตภายใต้สัญญาอนุญาตครีเอทีฟคอมมอนส์สำหรับยอมรับสิทธิของผู้สร้าง (Creative Commons Attribution License) 2.0 แบบทั่วไป