1. บทนำ
Document AI เป็นโซลูชันการทำความเข้าใจเอกสารซึ่งนำข้อมูลที่ไม่มีโครงสร้าง เช่น เอกสาร อีเมล และอื่นๆ รวมถึงช่วยให้เข้าใจ วิเคราะห์ และใช้ข้อมูลได้ง่ายขึ้น
คุณสามารถใช้ Document AI Workbench เพื่อเพิ่มความแม่นยำในการประมวลผลเอกสารได้โดยการสร้างโมเดลที่กำหนดเองอย่างเต็มรูปแบบโดยใช้ข้อมูลการฝึกของคุณเอง
ในห้องทดลองนี้ คุณจะสร้างตัวประมวลผลการแยกเอกสารที่กำหนดเอง นำเข้าชุดข้อมูล ติดป้ายกำกับเอกสารตัวอย่าง และฝึกระบบประมวลผล
ชุดข้อมูลเอกสารที่ใช้ในห้องทดลองนี้มาจากชุดข้อมูล Fake W-2 (แบบฟอร์มภาษีของสหรัฐอเมริกา) บน Kaggle ที่มี CC0: ใบอนุญาตเป็นสาธารณสมบัติ
ข้อกำหนดเบื้องต้น
Codelab นี้สร้างขึ้นจากเนื้อหาที่แสดงใน Codelab อื่นๆ สำหรับ Document AI
เราขอแนะนำให้คุณทำ Codelab ต่อไปนี้ให้เสร็จก่อนดำเนินการต่อ
- การรู้จำอักขระด้วยภาพ (OCR) ด้วย Document AI (Python)
- การแยกวิเคราะห์แบบฟอร์มด้วย Document AI (Python)
- โปรเซสเซอร์เฉพาะทางที่มี Document AI (Python)
- การจัดการตัวประมวลผล Document AI ด้วย Python
- Document AI: การทำงานของมนุษย์
- Document AI: การฝึกอบรม
สิ่งที่คุณจะได้เรียนรู้
- สร้างตัวประมวลผลตัวแยกเอกสารที่กำหนดเอง
- ติดป้ายกำกับข้อมูลการฝึก AI ของเอกสารโดยใช้เครื่องมือคำอธิบายประกอบ
- ฝึกโมเดลเวอร์ชันใหม่
- ประเมินความแม่นยำของโมเดลเวอร์ชันใหม่
สิ่งที่คุณต้องมี
2. การตั้งค่า
Codelab นี้จะจะถือว่าคุณได้ทำตามขั้นตอนการตั้งค่า Document AI ใน Codelab เบื้องต้นเรียบร้อยแล้ว
โปรดทำตามขั้นตอนต่อไปนี้ก่อนดำเนินการต่อ
3. สร้างโปรเซสเซอร์
คุณต้องสร้างตัวประมวลผลตัวแยกเอกสารที่กำหนดเองเพื่อใช้กับห้องทดลองนี้ก่อน
- ในคอนโซล ให้ไปที่หน้าภาพรวมของ 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 และ Gilbert Inc 972 Gonzalez Dam ใต้ Katherine NC 95869-5178 |
- เอกสารที่ติดป้ายกำกับควรมีลักษณะดังนี้เมื่อเสร็จสมบูรณ์ โปรดทราบว่าคุณปรับเปลี่ยนป้ายกำกับเหล่านี้ได้โดยคลิกที่กรอบล้อมรอบในเอกสาร หรือชื่อ/ค่าของป้ายกำกับในเมนูด้านซ้าย คลิกทำเครื่องหมายว่าติดป้ายกำกับแล้วเมื่อติดป้ายกำกับเสร็จแล้ว แล้วกลับไปที่คอนโซลการจัดการชุดข้อมูล
8. มอบหมายเอกสารให้กับชุดการฝึก
จากนั้น คุณควรกลับมาที่คอนโซลการจัดการชุดข้อมูล โปรดสังเกตว่าจำนวนเอกสารที่ติดป้ายกำกับและไม่ได้ติดป้ายกำกับ และจำนวนอินสแตนซ์ต่อป้ายกำกับมีการเปลี่ยนแปลง
- เราจำเป็นต้องมอบหมายเอกสารนี้ให้กับฝ่าย "การฝึกอบรม" หรือ "Test" ตั้งค่า คลิกเอกสาร แล้วคลิกมอบหมายเพื่อตั้งค่า แล้วคลิกการฝึก
- โปรดทราบว่าตัวเลขการแยกข้อมูลมีการเปลี่ยนแปลง
9. นำเข้าข้อมูลที่ติดป้ายกำกับล่วงหน้า
ตัวประมวลผลที่กำหนดเองของ AI สำหรับเอกสารกำหนดให้มีเอกสารอย่างน้อย 10 รายการทั้งในชุดการฝึกและชุดทดสอบ รวมถึงต้องมี 10 อินสแตนซ์ของแต่ละป้ายกำกับในแต่ละชุด
แต่ละชุดควรมีเอกสารอย่างน้อย 50 ฉบับ โดยแต่ละป้ายมี 50 อินสแตนซ์เพื่อประสิทธิภาพที่ดีที่สุด โดยทั่วไปแล้ว ข้อมูลการฝึกที่มากขึ้นจะหมายถึงความแม่นยำที่สูงขึ้น
การติดป้ายกำกับเอกสารทั้งหมดด้วยตนเองจะใช้เวลานาน ดังนั้นเราจึงมีเอกสารที่ติดป้ายกำกับไว้ล่วงหน้าซึ่งคุณสามารถนำเข้าสำหรับห้องทดลองนี้ได้
คุณสามารถนำเข้าไฟล์เอกสารที่ติดป้ายกำกับไว้ล่วงหน้าในรูปแบบ Document.json
ซึ่งอาจเกิดจากการเรียกใช้โปรเซสเซอร์และยืนยันความถูกต้องโดยใช้ Human in the Loop (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. ทดสอบเวอร์ชันใหม่
เมื่องานการฝึกเสร็จสิ้น (การทดสอบใช้เวลาประมาณ 1 ชั่วโมง) คุณก็จะทดสอบโมเดลเวอร์ชันใหม่และเริ่มใช้งานคาดการณ์ได้แล้ว
- ไปที่หน้าจัดการเวอร์ชัน ดูสถานะปัจจุบันและคะแนน F1 ได้ที่นี่
- เราจะต้องทำให้โมเดลเวอร์ชันนี้ใช้งานได้ก่อนจึงจะใช้งานได้ คลิกที่จุดแนวตั้งทางด้านขวา แล้วเลือกทำให้เวอร์ชันใช้งานได้
- เลือกติดตั้งใช้งานจากหน้าต่างป๊อปอัป เมื่อรอให้เวอร์ชันใช้งานได้ ซึ่งอาจใช้เวลาดำเนินการสักครู่ หลังจากติดตั้งใช้งานแล้ว คุณยังตั้งค่าเวอร์ชันนี้เป็นเวอร์ชันเริ่มต้นได้ด้วย
- เมื่อติดตั้งใช้งานเสร็จแล้ว ให้ไปที่แท็บประเมิน ในหน้านี้ คุณจะดูเมตริกการประเมินรวมถึงคะแนน F1, ความแม่นยำ และความอ่อนไหวของเอกสารฉบับเต็ม รวมถึงป้ายกำกับแต่ละรายการได้ อ่านข้อมูลเพิ่มเติมเกี่ยวกับเมตริกเหล่านี้ได้ในเอกสารประกอบ AutoML
- ดาวน์โหลดไฟล์ PDF ที่ลิงก์ไว้ด้านล่าง นี่คือตัวอย่าง W2 ที่ไม่ได้รวมอยู่ในชุดการฝึกหรือการทดสอบ
- คลิกอัปโหลดเอกสารทดสอบ และเลือกไฟล์ PDF
- เอนทิตีที่ดึงมาควรมีลักษณะดังนี้
12. ไม่บังคับ: ติดป้ายกำกับเอกสารที่นำเข้าใหม่โดยอัตโนมัติ
หลังจากทำให้โปรเซสเซอร์เวอร์ชันที่ผ่านการฝึกอบรมใช้งานได้แล้ว คุณจะใช้การติดป้ายกำกับอัตโนมัติเพื่อประหยัดเวลาในการติดป้ายกำกับเมื่อนำเข้าเอกสารใหม่ได้
- คลิกนำเข้าเอกสารในหน้ารถไฟ
- คัดลอกและวางเส้นทาง ต่อไปนี้ ไดเรกทอรีนี้มี PDF W2 ที่ไม่มีป้ายกำกับ 5 รายการ เลือกการฝึกจากรายการแบบเลื่อนลงการแยกข้อมูล
cloud-samples-data/documentai/Custom/W2/AutoLabel
- ในส่วนการติดป้ายกำกับอัตโนมัติ ให้เลือกช่องทำเครื่องหมายนำเข้าด้วยการติดป้ายกำกับอัตโนมัติ
- เลือกเวอร์ชันผู้ประมวลผลข้อมูลที่มีอยู่เพื่อติดป้ายกำกับเอกสาร
- เช่น
2af620b2fd4d1fcf
- คลิกนำเข้าและรอให้เอกสารนำเข้า คุณออกจากหน้านี้และกลับมาได้ในภายหลัง
- เมื่อเสร็จแล้ว เอกสารจะปรากฏในหน้ารถไฟในส่วนติดป้ายกำกับอัตโนมัติ
- คุณไม่สามารถใช้เอกสารที่ติดป้ายกำกับอัตโนมัติสำหรับการฝึกหรือการทดสอบโดยไม่ทำเครื่องหมายว่าติดป้ายกำกับแล้ว ไปที่ส่วนติดป้ายกำกับอัตโนมัติเพื่อดูเอกสารที่ติดป้ายกำกับอัตโนมัติ
- เลือกเอกสารแรกเพื่อเข้าสู่คอนโซลการติดป้ายกำกับ
- ยืนยันป้ายกำกับ กรอบล้อมรอบ และค่าเพื่อให้แน่ใจว่าถูกต้อง ติดป้ายกำกับค่าที่ละเว้น
- เลือกทำเครื่องหมายว่าติดป้ายกำกับเมื่อเสร็จสิ้น
- ยืนยันป้ายกำกับซ้ำสำหรับเอกสารที่ติดป้ายกำกับอัตโนมัติแต่ละฉบับ จากนั้นกลับไปที่หน้าฝึกเพื่อใช้ข้อมูลสำหรับการฝึก
13. บทสรุป
ยินดีด้วย คุณใช้ Document AI ในการฝึกตัวประมวลผลตัวแยกเอกสารที่กำหนดเองเรียบร้อยแล้ว ตอนนี้คุณสามารถใช้โปรเซสเซอร์นี้เพื่อแยกวิเคราะห์เอกสารในรูปแบบนี้เช่นเดียวกับที่คุณใช้สำหรับโปรเซสเซอร์พิเศษ
โปรดดู Codelab ผู้ประมวลผลข้อมูลเฉพาะทางเพื่อดูวิธีจัดการคำตอบในการประมวลผล
ล้างข้อมูล
โปรดทำดังนี้เพื่อเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้
- ใน Cloud Console ให้ไปที่หน้าจัดการทรัพยากร
- ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ของคุณ แล้วคลิกลบ
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์แล้วคลิกปิดเครื่องเพื่อลบโปรเจ็กต์
แหล่งข้อมูล
- เอกสารประกอบเกี่ยวกับ Workbench ของ Document AI
- อนาคตของเอกสาร - เพลย์ลิสต์ YouTube
- เอกสารประกอบสำหรับ Document AI
- ไลบรารีของไคลเอ็นต์ Python สำหรับ Document AI
- ตัวอย่าง Document AI
ใบอนุญาต
ผลงานนี้ได้รับอนุญาตภายใต้ใบอนุญาตทั่วไปครีเอทีฟคอมมอนส์แบบระบุแหล่งที่มา 2.0