การติดฉลากล่วงหน้า PDF อัตโนมัติสำหรับ Amazon Comprehend | อเมซอนเว็บเซอร์วิส

การติดฉลากล่วงหน้า PDF อัตโนมัติสำหรับ Amazon Comprehend | อเมซอนเว็บเซอร์วิส

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

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

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

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

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

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

อินพุตและเอาต์พุต

เครื่องมือการติดฉลากล่วงหน้าจะใช้เอกสาร PDF ที่มีข้อความมาใส่คำอธิบายประกอบในขณะที่ป้อนข้อมูล สำหรับการสาธิต เราใช้ใบแจ้งยอดจากธนาคารจำลองตามตัวอย่างต่อไปนี้

การติดฉลากล่วงหน้า PDF อัตโนมัติสำหรับ Amazon Comprehend | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

เครื่องมือนี้ยังใช้ไฟล์รายการซึ่งแมปเอกสาร PDF กับเอนทิตีที่เราต้องการแยกจากเอกสารเหล่านี้ เอนทิตีประกอบด้วยสองสิ่ง: expected_text เพื่อดึงข้อมูลจากเอกสาร (เช่น AnyCompany Bank) และสิ่งที่เกี่ยวข้อง entity_type (ตัวอย่างเช่น, bank_name). ต่อไปในโพสต์นี้ เราจะแสดงวิธีสร้างไฟล์ Manifest จากเอกสาร CSV ตามตัวอย่างต่อไปนี้

การติดฉลากล่วงหน้า PDF อัตโนมัติสำหรับ Amazon Comprehend | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

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

หรือคุณสามารถสร้างงานติดป้ายกำกับ SageMaker Ground Truth สำหรับการตรวจสอบและแก้ไขโดยมนุษย์ได้ ดังที่แสดงในภาพหน้าจอต่อไปนี้

การติดฉลากล่วงหน้า PDF อัตโนมัติสำหรับ Amazon Comprehend | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

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

สถาปัตยกรรม

เครื่องมือติดฉลากล่วงหน้าประกอบด้วยหลายเครื่องมือ AWS แลมบ์ดา ฟังก์ชันที่ควบคุมโดยเครื่องสถานะ Step Functions มีสองเวอร์ชันที่ใช้เทคนิคที่แตกต่างกันเพื่อสร้างคำอธิบายประกอบล่วงหน้า

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

การจับคู่แบบคลุมเครือจะค้นหาสตริงในเอกสารที่คล้ายกัน (แต่ไม่จำเป็นต้องเหมือนกัน) กับเอนทิตีที่คาดไว้ซึ่งแสดงอยู่ในไฟล์รายการล่วงหน้า ขั้นแรกจะคำนวณคะแนนความคล้ายคลึงกันของข้อความระหว่างข้อความที่คาดหวังและคำในเอกสาร จากนั้นจะจับคู่คู่ทั้งหมดที่อยู่เหนือเกณฑ์ ดังนั้น แม้ว่าจะไม่ตรงกันทุกประการ แต่การจับคู่แบบคลุมเครือก็สามารถค้นหารูปแบบต่างๆ เช่น คำย่อและการสะกดผิดได้ ซึ่งช่วยให้เครื่องมือสามารถติดป้ายกำกับเอกสารล่วงหน้าได้โดยไม่ต้องให้เอนทิตีปรากฏเป็นคำต่อคำ ตัวอย่างเช่น ถ้า 'AnyCompany Bank' ถูกระบุว่าเป็นเอนทิตีที่คาดหวัง Fuzzy Matching จะใส่คำอธิบายประกอบเหตุการณ์ต่างๆ 'Any Companys Bank'. ซึ่งให้ความยืดหยุ่นมากกว่าการจับคู่สตริงแบบเข้มงวด และช่วยให้เครื่องมือการติดป้ายกำกับล่วงหน้าสามารถติดป้ายกำกับเอนทิตีได้มากขึ้นโดยอัตโนมัติ

แผนภาพต่อไปนี้แสดงสถาปัตยกรรมของเครื่องสถานะ Step Functions นี้

การติดฉลากล่วงหน้า PDF อัตโนมัติสำหรับ Amazon Comprehend | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

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

การติดฉลากล่วงหน้า PDF อัตโนมัติสำหรับ Amazon Comprehend | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

แผนภาพต่อไปนี้แสดงสถาปัตยกรรมทั้งหมด

การติดฉลากล่วงหน้า PDF อัตโนมัติสำหรับ Amazon Comprehend | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

ในส่วนต่อไปนี้ เราจะอธิบายขั้นตอนต่างๆ เพื่อนำโซลูชันไปใช้

ปรับใช้เครื่องมือการติดฉลากล่วงหน้า

โคลนที่เก็บไปยังเครื่องของคุณ:

git clone https://github.com/aws-samples/amazon-comprehend-automated-pdf-prelabeling-tool.git

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

เครื่องมือการติดฉลากล่วงหน้าประกอบด้วยทั้งทรัพยากรเครื่องมือคำอธิบายประกอบเอกสารกึ่งโครงสร้าง Comprehend เช่นเดียวกับทรัพยากรบางอย่างเฉพาะสำหรับเครื่องมือการติดฉลากล่วงหน้า คุณสามารถปรับใช้โซลูชันด้วย โมเดลแอปพลิเคชัน AWS Serverless (AWS SAM) เฟรมเวิร์กโอเพ่นซอร์สที่คุณสามารถใช้เพื่อกำหนดโค้ดโครงสร้างพื้นฐานแอปพลิเคชันแบบไร้เซิร์ฟเวอร์

หากคุณเคยใช้งาน Comprehend Semi-Structured Documents Annotation Tool มาก่อน โปรดดูส่วนคำถามที่พบบ่อยใน Pre_labeling_tool/README.md สำหรับคำแนะนำเกี่ยวกับวิธีการปรับใช้เฉพาะทรัพยากรเฉพาะสำหรับเครื่องมือการติดฉลากล่วงหน้า

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

เปลี่ยนไดเร็กทอรีปัจจุบันเป็นโฟลเดอร์เครื่องมือคำอธิบายประกอบ:

cd amazon-comprehend-semi-structured-documents-annotation-tools

สร้างและปรับใช้โซลูชัน:

make ready-and-deploy-guided

สร้างไฟล์ Manifest ล่วงหน้า

ก่อนที่คุณจะใช้เครื่องมือการติดฉลากล่วงหน้าได้ คุณต้องเตรียมข้อมูลของคุณก่อน อินพุตหลักคือเอกสาร PDF และไฟล์รายการล่วงหน้า ไฟล์รายการล่วงหน้าประกอบด้วยตำแหน่งของเอกสาร PDF แต่ละฉบับที่อยู่ด้านล่าง 'pdf' และตำแหน่งของไฟล์ JSON โดยมีเอนทิตีที่คาดว่าจะติดป้ายกำกับ 'expected_entities'.

คอมพิวเตอร์พกพา Generate_premanifest_file.ipynb แสดงวิธีการสร้างไฟล์นี้ ในการสาธิต ไฟล์รายการล่วงหน้าจะแสดงรหัสต่อไปนี้:

[ { 'pdf': 's3://<bucket>/data_aws_idp_workshop_data/bank_stmt_0.pdf', 'expected_entities': 's3://<bucket>/prelabeling-inputs/expected-entities/example-demo/fuzzymatching_version/file_bank_stmt_0.json' }, ...
]

ไฟล์ JSON แต่ละไฟล์ที่แสดงอยู่ในไฟล์รายการล่วงหน้า (ภายใต้ expected_entities) มีรายการพจนานุกรม หนึ่งรายการสำหรับแต่ละเอนทิตีที่คาดหวัง พจนานุกรมมีปุ่มต่างๆ ดังต่อไปนี้:

  • 'คาดหวัง_ข้อความ' – รายการสตริงข้อความที่เป็นไปได้ที่ตรงกับเอนทิตี
  • 'เอนทิตี_ประเภท' – ประเภทเอนทิตีที่เกี่ยวข้อง
  • 'ignore_list' (ไม่บังคับ) – รายการคำศัพท์ที่ควรละเว้นในการแข่งขัน ควรใช้พารามิเตอร์เหล่านี้เพื่อป้องกันการจับคู่แบบคลุมเครือจากการจับคู่ชุดคำเฉพาะที่คุณรู้ว่าผิด วิธีนี้จะมีประโยชน์หากคุณต้องการละเว้นตัวเลขหรือที่อยู่อีเมลเมื่อดูชื่อ

ยกตัวอย่างเช่น expected_entities ของ PDF ที่แสดงก่อนหน้านี้มีลักษณะดังนี้:

[ { 'expected_texts': ['AnyCompany Bank'], 'entity_type': 'bank_name', 'ignore_list': [] }, { 'expected_texts': ['JANE DOE'], 'entity_type': 'customer_name', 'ignore_list': ['JANE.DOE@example_mail.com'] }, { 'expected_texts': ['003884257406'], 'entity_type': 'checking_number', 'ignore_list': [] }, ...
]

เรียกใช้เครื่องมือการติดฉลากล่วงหน้า

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

หากต้องการเริ่มใช้เครื่องมือการติดฉลากล่วงหน้า ให้จัดเตรียม event ด้วยคีย์ดังต่อไปนี้:

  • ประจักษ์แจ้งล่วงหน้า – แมปเอกสาร PDF แต่ละเอกสารเข้ากับมัน expected_entities ไฟล์. ซึ่งควรจะประกอบด้วย บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (Amazon S3) ที่ฝากข้อมูล (ใต้ bucket) และคีย์ (ภายใต้ key) ของไฟล์
  • อุปสรรค – ใช้ในการสร้าง execution_idซึ่งตั้งชื่อโฟลเดอร์ S3 สำหรับพื้นที่จัดเก็บเอาต์พุตและชื่องานการติดป้ายกำกับ SageMaker Ground Truth
  • เอนทิตี_ประเภท – แสดงใน UI เพื่อให้คำอธิบายประกอบติดป้ายกำกับ สิ่งเหล่านี้ควรรวมประเภทเอนทิตีทั้งหมดในไฟล์เอนทิตีที่คาดหวัง
  • work_team_name (ไม่บังคับ) – ใช้สำหรับสร้างงานการติดป้ายกำกับ SageMaker Ground Truth สอดคล้องกับบุคลากรเอกชนที่ต้องการใช้ หากไม่ได้ระบุไว้ ระบบจะสร้างเฉพาะไฟล์ Manifest แทนงานติดป้ายกำกับ SageMaker Ground Truth คุณสามารถใช้ไฟล์ Manifest เพื่อสร้างงานติดป้ายกำกับ SageMaker Ground Truth ในภายหลังได้ โปรดทราบว่าในขณะที่เขียนบทความนี้ คุณไม่สามารถจัดหาบุคลากรภายนอกเมื่อสร้างงานการติดป้ายกำกับจากสมุดบันทึกได้ อย่างไรก็ตาม คุณสามารถโคลนงานที่สร้างขึ้นและมอบหมายงานให้กับพนักงานภายนอกบนคอนโซล SageMaker Ground Truth ได้
  • comprehend_parameters (ไม่บังคับ) – พารามิเตอร์เพื่อฝึกโมเดลตัวจดจำเอนทิตีแบบกำหนดเองของ Amazon Comprehend โดยตรง หากละเว้น ขั้นตอนนี้จะถูกข้ามไป

หากต้องการสตาร์ทเครื่องสถานะ ให้รันโค้ด Python ต่อไปนี้:

import boto3
stepfunctions_client = boto3.client('stepfunctions')

response = stepfunctions_client.start_execution(
stateMachineArn=fuzzymatching_prelabeling_step_functions_arn,
input=json.dumps(<event-dict>)
)

นี่จะเป็นการเริ่มการทำงานของเครื่องสถานะ คุณสามารถติดตามความคืบหน้าของเครื่องสถานะได้บนคอนโซล Step Functions แผนภาพต่อไปนี้แสดงขั้นตอนการทำงานของเครื่องสถานะ

การติดฉลากล่วงหน้า PDF อัตโนมัติสำหรับ Amazon Comprehend | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

เมื่อเครื่องสถานะเสร็จสมบูรณ์ ให้ทำดังต่อไปนี้:

  • ตรวจสอบผลลัพธ์ต่อไปนี้ที่บันทึกไว้ใน prelabeling/ โฟลเดอร์ของไฟล์ comprehend-semi-structured-docs ที่เก็บข้อมูล S3:
    • ไฟล์คำอธิบายประกอบแต่ละไฟล์สำหรับแต่ละหน้าของเอกสาร (หนึ่งไฟล์ต่อหน้าต่อเอกสาร) temp_individual_manifests/
    • ไฟล์ Manifest สำหรับงานติดป้ายกำกับ SageMaker Ground Truth consolidated_manifest/consolidated_manifest.manifest
    • Manifest ที่สามารถใช้เพื่อฝึกโมเดล Amazon Comprehend แบบกำหนดเองได้ consolidated_manifest/consolidated_manifest_comprehend.manifest
  • บนคอนโซล SageMaker ให้เปิดงานการติดป้ายกำกับ SageMaker Ground Truth ที่สร้างขึ้นเพื่อตรวจสอบคำอธิบายประกอบ
  • ตรวจสอบและทดสอบโมเดล Amazon Comprehend แบบกำหนดเองที่ได้รับการฝึกอบรม

ตามที่กล่าวไว้ก่อนหน้านี้ เครื่องมือนี้สามารถสร้างได้เฉพาะงานการติดป้ายกำกับ SageMaker Ground Truth ให้กับบุคลากรส่วนตัวเท่านั้น หากต้องการจ้างบุคคลภายนอกในการจัดทำป้ายกำกับโดยมนุษย์ คุณสามารถลอกแบบงานการติดป้ายกำกับบนคอนโซล SageMaker Ground Truth และแนบพนักงานเข้ากับงานใหม่ได้

ทำความสะอาด

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

make delete

สรุป

เครื่องมือติดป้ายกำกับล่วงหน้าเป็นวิธีที่มีประสิทธิภาพสำหรับบริษัทต่างๆ ในการใช้ข้อมูลแบบตารางที่มีอยู่เพื่อเร่งกระบวนการฝึกอบรมโมเดลการรับรู้เอนทิตีแบบกำหนดเองใน Amazon Comprehend ด้วยการใส่คำอธิบายประกอบล่วงหน้าในเอกสาร PDF โดยอัตโนมัติ จะช่วยลดภาระที่ต้องใช้คนในกระบวนการติดฉลากได้อย่างมาก

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

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการติดป้ายกำกับเอกสาร PDF โดยใช้งานการติดป้ายกำกับ SageMaker Ground Truth โปรดดู คำอธิบายประกอบเอกสารที่กำหนดเองสำหรับการแยกเอนทิตีที่มีชื่อในเอกสารโดยใช้ Amazon Comprehend และ ใช้ Amazon SageMaker Ground Truth เพื่อติดป้ายกำกับข้อมูล.


เกี่ยวกับผู้แต่ง

การติดฉลากล่วงหน้า PDF อัตโนมัติสำหรับ Amazon Comprehend | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.ออสการ์ ชนาค เป็นนักวิทยาศาสตร์ประยุกต์ที่ศูนย์นวัตกรรม Generative AI เขาหลงใหลในการดำดิ่งสู่วิทยาศาสตร์เบื้องหลังแมชชีนเลิร์นนิงเพื่อให้ลูกค้าสามารถเข้าถึงได้ นอกเหนือจากงาน Oskar สนุกกับการปั่นจักรยานและติดตามกระแสทางทฤษฎีสารสนเทศ

การติดฉลากล่วงหน้า PDF อัตโนมัติสำหรับ Amazon Comprehend | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.โรเมน บีซอมเบส เป็นสถาปนิกการเรียนรู้เชิงลึกที่ศูนย์นวัตกรรม Generative AI เขามีความหลงใหลในการสร้างสถาปัตยกรรมที่เป็นนวัตกรรมเพื่อแก้ไขปัญหาทางธุรกิจของลูกค้าด้วยการเรียนรู้ของเครื่อง

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS