Document AI Workbench - การฝึกปรับปรุง

1. บทนำ

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

เมื่อใช้ความเชี่ยวชาญพิเศษผ่าน Document AI Workbench คุณสามารถยกระดับความแม่นยำในการประมวลผลเอกสารได้ โดยการให้ตัวอย่างป้ายกำกับเพิ่มเติมสำหรับประเภทเอกสารเฉพาะทางและการสร้างเวอร์ชันใหม่ของโมเดล

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

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

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

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

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

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

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

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

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

2. การตั้งค่า

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

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

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

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

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

docai-uptraining-codelab-01

  1. คลิกสร้างตัวประมวลผล เลื่อนลงไปที่เฉพาะทาง (หรือพิมพ์ "โปรแกรมแยกวิเคราะห์ใบแจ้งหนี้" ในแถบค้นหา) แล้วเลือกโปรแกรมแยกวิเคราะห์ใบแจ้งหนี้

docai-uptraining-codelab-02

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

docai-uptraining-codelab-03

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

docai-uptraining-codelab-04

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

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

คุณจะต้องสร้างที่เก็บข้อมูลใหม่ใน Cloud Storage เพื่อจัดเก็บชุดข้อมูล หมายเหตุ: ข้อมูลนี้ไม่ควรเป็นที่เก็บข้อมูลเดียวกันกับที่จัดเก็บเอกสารของคุณในปัจจุบัน

  1. เปิด Cloud Shell แล้วเรียกใช้คำสั่งต่อไปนี้เพื่อสร้างที่เก็บข้อมูล หรือจะสร้างที่เก็บข้อมูลใหม่ใน Cloud Console ก็ได้ บันทึกชื่อที่เก็บข้อมูลนี้ไว้เพราะต้องใช้ในภายหลัง
export PROJECT_ID=$(gcloud config get-value project)

gsutil mb -p $PROJECT_ID "gs://${PROJECT_ID}-uptraining-codelab"
  1. ไปที่แท็บชุดข้อมูล แล้วคลิกสร้างชุดข้อมูล

docai-uptraining-codelab-05

  1. วางชื่อที่เก็บข้อมูลจากที่เก็บข้อมูลที่คุณสร้างในขั้นตอนที่ 1 ลงในช่องเส้นทางปลายทาง (ไม่รวม gs://)

docai-uptraining-codelab-06

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

docai-uptraining-codelab-07

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

คราวนี้ให้นำเข้าตัวอย่าง PDF ใบแจ้งหนี้ไปยังชุดข้อมูลของเรา

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

docai-uptraining-codelab-08

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

docai-uptraining-codelab-09

  1. รอให้เอกสารนำเข้า การทดสอบนี้ใช้เวลาไม่ถึง 1 นาที

docai-uptraining-codelab-10

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

docai-uptraining-codelab-11

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

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

  1. ตอนนี้คุณควรอยู่ในคอนโซลการติดป้ายกำกับ ซึ่งจะมีลักษณะดังนี้

docai-uptraining-codelab-12

  1. คลิกที่ "เลือกข้อความ" เครื่องมือ แล้วไฮไลต์ข้อความ "McWilliam Piping International Piping Company" และกำหนดป้ายกำกับ supplier_name คุณใช้ตัวกรองข้อความเพื่อค้นหาชื่อป้ายกำกับได้

docai-uptraining-codelab-13

  1. ไฮไลต์ข้อความ "14368 Pipeline Ave Chino, CA 91710" และกำหนดป้ายกำกับ supplier_address

docai-uptraining-codelab-14

  1. ไฮไลต์ข้อความ "10001" และกำหนดป้ายกำกับ invoice_id

docai-uptraining-codelab-15

  1. ไฮไลต์ข้อความ "2020-01-02" และกำหนดป้ายกำกับ due_date

docai-uptraining-codelab-16

  1. เปลี่ยนเป็น "กล่องขอบเขต" ของ Google ไฮไลต์ข้อความ "ข้อต่อข้อนิ้วมือ" และกำหนดป้ายกำกับ line_item/description

docai-uptraining-codelab-17

  1. ไฮไลต์ข้อความ "9" และกำหนดป้ายกำกับ line_item/quantity

docai-uptraining-codelab-18

  1. ไฮไลต์ข้อความ "74.43" และกำหนดป้ายกำกับ line_item/unit_price

docai-uptraining-codelab-19

  1. ไฮไลต์ข้อความ "669.87" และกำหนดป้ายกำกับ line_item/amount

docai-uptraining-codelab-20

  1. ทำซ้ำ 4 ขั้นตอนก่อนหน้าสำหรับ 2 รายการโฆษณาถัดไป ซึ่งควรมีลักษณะดังนี้เมื่อเสร็จสมบูรณ์แล้ว

docai-uptraining-codelab-21

  1. ไฮไลต์ข้อความ "1,419.57" (ถัดจากยอดรวมย่อย) และกำหนดป้ายกำกับ net_amount

docai-uptraining-codelab-22

  1. ไฮไลต์ข้อความ "113.57" (ถัดจากภาษี) และกำหนดป้ายกำกับ total_tax_amount

docai-uptraining-codelab-23

  1. ไฮไลต์ข้อความ "1,533.14" (ถัดจากผลรวม) และกำหนดป้ายกำกับ total_amount

docai-uptraining-codelab-24

  1. ไฮไลต์อักขระ "$" อันใดอันหนึ่ง อักขระและกำหนดป้ายกำกับ currency

docai-uptraining-codelab-25

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

docai-uptraining-codelab-26

  1. รายการป้ายกำกับและค่าทั้งหมดมีดังนี้

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

Text

supplier_name

บริษัทท่อนานาชาติแมควิลเลียมไปปิง

supplier_address

14368 Pipeline Ave Chino, CA 91710

invoice_id

10001

due_date

2020-01-02

line_item/description

ขั้วต่อแบบข้อต่ออ่อน

line_item/quantity

9

line_item/unit_price

74.43

line_item/amount

669.87

line_item/description

ท่อ PVC ขนาด 12 นิ้ว

line_item/quantity

7

line_item/unit_price

159.00 THB

line_item/amount

111.30

line_item/description

ท่อทองแดง

line_item/quantity

7

line_item/unit_price

91.20

line_item/amount

638.40

net_amount

1,419.57

total_tax_amount

113.57

total_amount

1,533.14

currency

$

7. มอบหมายเอกสารให้กับชุดการฝึก

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

docai-uptraining-codelab-27

  1. เราจำเป็นต้องมอบหมายเอกสารนี้ให้กับฝ่าย "การฝึกอบรม" หรือ "Test" ตั้งค่า คลิกที่เอกสาร

docai-uptraining-codelab-28

  1. คลิกมอบหมายให้กับชุด แล้วคลิกการฝึก

docai-uptraining-codelab-29

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

docai-uptraining-codelab-30

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

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

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

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

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

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

docai-uptraining-codelab-30

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

docai-uptraining-codelab-31

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

docai-uptraining-codelab-32

  1. เมื่อดําเนินการเสร็จแล้ว คุณควรเห็นเอกสารในหน้าการจัดการชุดข้อมูล

docai-uptraining-codelab-33

9. แก้ไขป้ายกำกับ

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

  1. คลิกจัดการป้ายกำกับที่มุมล่างซ้าย

docai-uptraining-codelab-33

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

docai-uptraining-codelab-34

  1. เลือกช่องทำเครื่องหมายและปุ่มปิดใช้/เปิดใช้เพื่อทำเครื่องหมายเฉพาะป้ายกำกับต่อไปนี้เป็นเปิดใช้
    • currency
    • due_date
    • invoice_id
    • line_item/amount
    • line_item/description
    • line_item/quantity
    • line_item/unit_price
    • net_amount
    • supplier_address
    • supplier_name
    • total_amount
    • total_tax_amount
  2. คอนโซลควรมีลักษณะดังนี้เมื่อเสร็จสมบูรณ์แล้ว คลิกบันทึกเมื่อเสร็จสิ้น

docai-uptraining-codelab-35

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

docai-uptraining-codelab-36

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

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

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

11. ฝึกโมเดลให้เรียนรู้

ตอนนี้ เราพร้อมแล้วที่จะเริ่มต้นการฝึกอบรมโปรแกรมแยกวิเคราะห์ใบแจ้งหนี้ของเรา

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

docai-uptraining-codelab-36

  1. ตั้งชื่อเวอร์ชันที่คุณจำได้ เช่น codelab-uptraining-test-1 เวอร์ชันพื้นฐานคือเวอร์ชันโมเดลที่เวอร์ชันใหม่นี้สร้างขึ้น หากใช้โปรเซสเซอร์ใหม่ ตัวเลือกเดียวที่ควรใช้คือ Google Pretrained Next with Uptraining

docai-uptraining-codelab-37

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

docai-uptraining-codelab-38

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

docai-uptraining-codelab-39

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

docai-uptraining-codelab-40

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

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

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

docai-uptraining-codelab-41

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

docai-uptraining-codelab-42

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

docai-uptraining-codelab-43

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

docai-uptraining-codelab-44

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

  1. คลิกอัปโหลดเอกสารทดสอบ และเลือกไฟล์ PDF

docai-uptraining-codelab-45

  1. เอนทิตีที่ดึงมาควรมีลักษณะดังนี้

docai-uptraining-codelab-46

13. บทสรุป

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

โปรดดู Codelab ผู้ประมวลผลข้อมูลเฉพาะทางเพื่อดูวิธีจัดการคำตอบในการประมวลผล

ล้างข้อมูล

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

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

แหล่งข้อมูล

ใบอนุญาต

ผลงานนี้ได้รับอนุญาตภายใต้ใบอนุญาตทั่วไปครีเอทีฟคอมมอนส์แบบระบุแหล่งที่มา 2.0