แยกแพ็คเกจเอกสารหลายรูปแบบอย่างชาญฉลาดด้วย Amazon Texttract และ Amazon Comprehend

โหนดต้นทาง: 1372716

องค์กรจำนวนมากที่มีขนาดและประเภทอุตสาหกรรมต่างกันยังคงต้องพึ่งพาเอกสารจำนวนมากเพื่อดำเนินการในแต่ละวัน เพื่อแก้ปัญหาทางธุรกิจนี้ ลูกค้าใช้บริการประมวลผลเอกสารอัจฉริยะจาก AWS เช่น Amazon Text และ เข้าใจ Amazon เพื่อช่วยด้วย การสกัดและกระบวนการอัตโนมัติ. ก่อนที่คุณจะสามารถแยกข้อความ คู่คีย์-ค่า ตาราง และเอนทิตี คุณจะต้องสามารถแยกเอกสาร PDF แบบหลายหน้าที่มักประกอบด้วยฟอร์มประเภทต่างๆ ได้ ตัวอย่างเช่น ในการดำเนินการจำนอง นายหน้าหรือผู้ดำเนินการด้านสินเชื่ออาจต้องแยกแพ็คเกจเงินกู้ PDF รวมที่มีใบสมัครจำนอง (Fannie Mae form 1003), W2s, การตรวจสอบรายได้, แบบฟอร์มภาษี 1040 และอีกมากมาย

เพื่อแก้ไขปัญหานี้ องค์กรใช้การประมวลผลตามกฎ: ระบุประเภทเอกสารผ่านชื่อแบบฟอร์ม หมายเลขหน้า ความยาวแบบฟอร์ม และอื่นๆ วิธีการเหล่านี้มักเกิดข้อผิดพลาดและปรับขนาดได้ยาก โดยเฉพาะอย่างยิ่งเมื่อประเภทแบบฟอร์มอาจมีรูปแบบที่หลากหลาย ดังนั้น การแก้ปัญหาชั่วคราวเหล่านี้จะพังลงอย่างรวดเร็วในทางปฏิบัติ และเพิ่มความจำเป็นในการแทรกแซงของมนุษย์

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

ภาพรวมโซลูชัน

สำหรับโพสต์นี้ เราใช้ชุดแบบฟอร์มใบสมัครจำนองทั่วไปเพื่อสาธิตวิธีที่คุณสามารถใช้ Amazon Text และ Amazon Comprehend เพื่อสร้างตัวแยกเอกสารอัจฉริยะที่มีประสิทธิภาพมากกว่าวิธีการก่อนหน้านี้ เมื่อประมวลผลเอกสารสำหรับการขอสินเชื่อที่อยู่อาศัย ผู้ยืมจะส่ง PDF หลายหน้าที่ประกอบด้วยประเภทเอกสารที่แตกต่างกันซึ่งมีความยาวหน้าที่แตกต่างกัน ในการดึงข้อมูล ผู้ใช้ (เช่น ธนาคาร) ต้องแยกไฟล์ PDF นี้ออก

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

เราใช้ Amazon Texttract เพื่อดึงข้อมูลจากเอกสารและสร้างชุดข้อมูลที่เข้ากันได้กับ Amazon Comprehend เพื่อฝึก a แบบจำลองการจัดประเภทเอกสาร. ต่อไป เราฝึกโมเดลการจัดประเภทและสร้างจุดสิ้นสุดการจัดประเภทที่สามารถทำการวิเคราะห์เอกสารแบบเรียลไทม์ได้ โปรดทราบว่าปลายทางการจัดประเภท Amazon Text และ Amazon Comprehend มีค่าใช้จ่าย ดังนั้นโปรดอ้างอิง ราคา Amazon Text และ การกำหนดราคา Amazon Comprehen สำหรับข้อมูลเพิ่มเติม. สุดท้าย เราแสดงให้เห็นว่าเราสามารถจัดประเภทเอกสารด้วยจุดสิ้นสุดนี้ได้อย่างไร และแยกเอกสารตามผลการจัดประเภท

โซลูชันนี้ใช้บริการของ AWS ต่อไปนี้:

เบื้องต้น

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

  1. การติดตั้ง ไพทอน 3.8.x
  2. การติดตั้ง เจคิว
  3. การติดตั้ง AWS SAM CLI
  4. การติดตั้ง นักเทียบท่า.
  5. ให้แน่ใจว่าคุณมี pip ติดตั้งแล้ว.
  6. ติดตั้งและกำหนดค่า อินเทอร์เฟซบรรทัดคำสั่ง AWS AWS (AWS CLI)
  7. กำหนดค่า ข้อมูลประจำตัว AWS ของคุณ

โซลูชันได้รับการออกแบบมาให้ทำงานอย่างเหมาะสมใน us-east-1 และ us-west-2 ภูมิภาคเพื่อใช้ประโยชน์จากโควตาเริ่มต้นที่สูงขึ้นสำหรับ Amazon Texttract สำหรับปริมาณงานระดับภูมิภาค โปรดดูที่ จุดปลายและโควตาของ Amazon Text. ตรวจสอบให้แน่ใจว่าคุณใช้ภูมิภาคเดียวสำหรับโซลูชันทั้งหมด

โคลนที่เก็บ

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

git clone https://github.com/aws-samples/aws-document-classifier-and-splitter.git
cd aws-document-classifier-and-splitter

เวิร์กโฟลว์โซลูชัน

โซลูชันประกอบด้วยสามเวิร์กโฟลว์:

  • เวิร์กโฟลว์ 1_endpointbuilder – รับเอกสารการฝึกอบรมและสร้างปลายทางการจัดหมวดหมู่แบบกำหนดเองบน Amazon Comprehend
  • เวิร์กโฟลว์2_docsplitter – ทำหน้าที่เป็นบริการแยกเอกสาร โดยแยกเอกสารตามชั้นเรียน ใช้ปลายทางการจัดหมวดหมู่ที่สร้างขึ้นใน workflow1.
  • เวิร์กโฟลว์3_local – มีไว้สำหรับลูกค้าที่อยู่ในอุตสาหกรรมที่มีการควบคุมอย่างเข้มงวดและไม่สามารถคงข้อมูลไว้ใน Amazon S3 ได้ เวิร์กโฟลว์นี้มีเวอร์ชันท้องถิ่นของ workflow1 และ workflow2.

มาเจาะลึกลงไปในแต่ละขั้นตอนการทำงานและวิธีการทำงานกัน

เวิร์กโฟลว์ 1: สร้างตัวแยกประเภท Amazon Comprehend จากเอกสาร PDF, JPG หรือ PNG

เวิร์กโฟลว์แรกใช้เอกสารที่จัดเก็บใน Amazon S3 และส่งผ่านชุดขั้นตอนเพื่อดึงข้อมูลจากเอกสารผ่าน Amazon Texttract จากนั้น ข้อมูลที่แยกออกมาจะใช้เพื่อสร้างจุดสิ้นสุดการจัดหมวดหมู่แบบกำหนดเองของ Amazon Comprehend นี่แสดงให้เห็นในแผนภาพสถาปัตยกรรมต่อไปนี้

ที่จะเปิดตัว workflow1คุณต้องใช้ Amazon S3 URI ของโฟลเดอร์ที่มีไฟล์ชุดข้อมูลการฝึก (อาจเป็นรูปภาพ, PDF หน้าเดียว หรือ PDF หลายหน้า) โครงสร้างของโฟลเดอร์ต้องเป็นดังนี้:

root dataset directory
---- class directory
-------- files

อีกทางหนึ่ง โครงสร้างสามารถมีไดเร็กทอรีย่อยที่ซ้อนกันเพิ่มเติม:

root dataset directory
---- class directory
-------- nested subdirectories
------------ files

ชื่อของไดเรกทอรีย่อยของคลาส (ระดับไดเรกทอรีที่สอง) จะกลายเป็นชื่อของคลาสที่ใช้ในแบบจำลองการจัดหมวดหมู่แบบกำหนดเองของ Amazon Comprehend ตัวอย่างเช่น ในโครงสร้างไฟล์ต่อไปนี้ คลาส for form123.pdf is tax_forms:

training_dataset
---- tax_forms
-------- page_1
------------ form123.pdf

ในการเปิดเวิร์กโฟลว์ ให้ทำตามขั้นตอนต่อไปนี้:

  1. อัปโหลดชุดข้อมูลไปยังบัคเก็ต S3 ที่คุณเป็นเจ้าของ

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

  1. สร้าง sam-app โดยรันคำสั่งต่อไปนี้ (แก้ไขคำสั่งที่ให้มาตามต้องการ):
cd workflow1_endpointbuilder/sam-app
sam build
sam deploy --guided
Stack Name [sam-app]: endpointbuilder
AWS Region []: us-east-1
#Shows you resources changes to be deployed and require a 'Y' to initiate deploy
Confirm changes before deploy [y/N]: n
#SAM needs permission to be able to create roles to connect to the resources in your template
Allow SAM CLI IAM role creation [Y/n]: y
Save arguments to configuration file [Y/n]: n Looking for resources needed for deployment:
Creating the required resources...
Successfully created!
Managed S3 bucket: {your_bucket}
#Managed repositories will be deleted when their functions are removed from the template and deployed
Create managed ECR repositories for all functions? [Y/n]: y

เอาต์พุตของบิลด์คือ ARN สำหรับเครื่องสถานะ Step Functions

  1. เมื่อสร้างเสร็จแล้ว ให้ไปที่ เครื่องรัฐ หน้าบนคอนโซล Step Functions
  2. เลือกเครื่องสถานะที่คุณสร้างขึ้น
  3. Choose เริ่มดำเนินการ.
  4. ป้อนพารามิเตอร์อินพุตที่จำเป็นต่อไปนี้:
{
“folder_uri”: “s3://{your dataset}”
}

  1. Choose เริ่มดำเนินการ.

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

เมื่อเครื่องสถานะเสร็จสมบูรณ์ แต่ละขั้นตอนในกราฟจะเป็นสีเขียว ดังที่แสดงในภาพหน้าจอต่อไปนี้

คุณสามารถนำทางไปยังคอนโซล Amazon Comprehend เพื่อดูปลายทางที่ปรับใช้

ตอนนี้คุณได้สร้างตัวแยกประเภทที่กำหนดเองโดยใช้เอกสารของคุณ นี่เป็นจุดสิ้นสุดของ workflow1.

เวิร์กโฟลว์ 2: สร้างปลายทาง

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

ที่จะเปิดตัว workflow2, เราสร้าง sam-app. แก้ไขคำสั่งที่ให้มาตามต้องการ:

cd workflow2_docsplitter/sam-app
sam-app % sam build
Build Succeeded sam-app % sam deploy --guided
Configuring SAM deploy
=========================================
Stack Name [sam-app]: docsplitter
AWS Region []: us-east-1
#Shows you resources changes to be deployed and require a 'Y' to initiate deploy
Confirm changes before deploy [y/N]: n
#SAM needs permission to be able to create roles to connect to the resources in your template
Allow SAM CLI IAM role creation [Y/n]: y
Save arguments to configuration file [Y/n]: n Looking for resources needed for deployment:
Managed S3 bucket: {bucket_name}
#Managed repositories will be deleted when their functions are removed from the template and deployed
Create managed ECR repositories for all functions? [Y/n]: y

หลังจากสร้างสแตกแล้ว คุณจะได้รับ Load Balancer DNS บน Outputs แท็บของกอง CloudFormation คุณสามารถเริ่มส่งคำขอไปยังปลายทางนี้ได้

คำขอตัวอย่างมีอยู่ใน workflow2_docsplitter/sample_request_folder/sample_s3_request.py ไฟล์. API ใช้พารามิเตอร์สามตัว: ชื่อบัคเก็ต S3, เอกสาร Amazon S3 URI และ ARN ปลายทางการจัดหมวดหมู่ของ Amazon Comprehend Workflow2 รองรับเฉพาะอินพุต PDF เท่านั้น

สำหรับการทดสอบของเรา เราใช้เอกสารจำนอง 11 หน้าพร้อมเอกสารห้าประเภทที่แตกต่างกัน

การตอบสนองสำหรับ API คือ URI ของ Amazon S3 สำหรับไฟล์ .zip ที่มีเอกสารแยกทั้งหมด คุณยังค้นหาไฟล์นี้ในบัคเก็ตที่คุณระบุในการเรียก API ได้อีกด้วย

ดาวน์โหลดวัตถุและตรวจทานเอกสารที่แยกตามชั้นเรียน

นี่เป็นจุดสิ้นสุดของ workflow2. ตอนนี้เราได้แสดงให้เห็นว่าเราสามารถใช้ปลายทางการจัดหมวดหมู่ Amazon Comprehend แบบกำหนดเองเพื่อจัดประเภทและแยกเอกสารได้อย่างไร

เวิร์กโฟลว์ 3: การแยกเอกสารในเครื่อง

เวิร์กโฟลว์ที่สามของเรามีจุดมุ่งหมายที่คล้ายคลึงกันเพื่อ workflow1 และ workflow2 เพื่อสร้างปลายทาง Amazon Comprehend; อย่างไรก็ตาม การประมวลผลทั้งหมดทำได้โดยใช้เครื่องในพื้นที่ของคุณเพื่อสร้างไฟล์ CSV ที่เข้ากันได้กับ Amazon Comprehend เวิร์กโฟลว์นี้สร้างขึ้นสำหรับลูกค้าในอุตสาหกรรมที่มีการควบคุมอย่างเข้มงวดซึ่งอาจไม่สามารถคงเอกสาร PDF ใน Amazon S3 ได้ ไดอะแกรมสถาปัตยกรรมต่อไปนี้เป็นการแสดงภาพของเวิร์กโฟลว์ตัวสร้างปลายทางในเครื่อง

ไดอะแกรมต่อไปนี้แสดงสถาปัตยกรรมตัวแยกเอกสารในเครื่อง

รหัสทั้งหมดสำหรับโซลูชันมีอยู่ใน workflow3_local/local_endpointbuilder.py เพื่อสร้างปลายทางการจัดหมวดหมู่ Amazon Comprehend และ workflow3_local/local_docsplitter.py เพื่อส่งเอกสารแยก

สรุป

การแยกเอกสารเป็นกุญแจสำคัญในการสร้างเวิร์กโฟลว์การประมวลผลเอกสารที่ประสบความสำเร็จและชาญฉลาด ยังคงเป็นปัญหาที่เกี่ยวข้องอย่างมากสำหรับธุรกิจ โดยเฉพาะอย่างยิ่งองค์กรที่รวบรวมเอกสารหลายประเภทสำหรับการดำเนินงานในแต่ละวัน ตัวอย่างบางส่วน ได้แก่ การประมวลผลเอกสารการเคลมประกัน การยื่นขอกรมธรรม์ประกันภัย เอกสาร ก.ล.ต. แบบฟอร์มภาษี และแบบฟอร์มยืนยันรายได้

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


เกี่ยวกับผู้เขียน

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

ราชปฏัก เป็นสถาปนิกโซลูชันและที่ปรึกษาด้านเทคนิคสำหรับลูกค้า Fortune 50 และ FSI ขนาดกลาง (การธนาคาร ประกันภัย ตลาดทุน) ทั่วแคนาดาและสหรัฐอเมริกา Raj เชี่ยวชาญด้านแมชชีนเลิร์นนิงด้วยแอปพลิเคชันในการดึงเอกสาร การแปลงศูนย์การติดต่อ และคอมพิวเตอร์วิทัศน์

ที่มา: https://aws.amazon.com/blogs/machine-learning/intelligently-split-multi-form-document-packages-with-amazon-texttract-and-amazon-comprehend/

ประทับเวลา:

เพิ่มเติมจาก บล็อก AWS Machine Learning