Tự động hóa việc gắn nhãn trước PDF cho Amazon Comprehend | Dịch vụ web của Amazon

Tự động hóa việc gắn nhãn trước PDF cho Amazon Comprehend | Dịch vụ web của Amazon

Amazon hiểu là dịch vụ xử lý ngôn ngữ tự nhiên (NLP) cung cấp các API tùy chỉnh và được đào tạo trước để rút ra thông tin chuyên sâu từ dữ liệu văn bản. Khách hàng của Amazon Comprehend có thể huấn luyện các mô hình nhận dạng thực thể được đặt tên (NER) tùy chỉnh để trích xuất các thực thể quan tâm, chẳng hạn như vị trí, tên người và ngày tháng, dành riêng cho doanh nghiệp của họ.

Để huấn luyện một mô hình tùy chỉnh, trước tiên bạn chuẩn bị dữ liệu huấn luyện bằng cách chú thích thủ công các thực thể trong tài liệu. Điều này có thể được thực hiện với Hiểu công cụ chú thích tài liệu bán cấu trúc, điều này tạo ra một Sự thật về mặt đất của Amazon SageMaker công việc với mẫu tùy chỉnh, cho phép người chú thích vẽ các hộp giới hạn xung quanh các thực thể trực tiếp trên tài liệu PDF. Tuy nhiên, đối với các công ty có sẵn dữ liệu thực thể dạng bảng trong hệ thống ERP như SAP, việc chú thích thủ công có thể lặp đi lặp lại và tốn thời gian.

Để giảm bớt công sức chuẩn bị dữ liệu huấn luyện, chúng tôi đã xây dựng một công cụ gắn nhãn trước bằng cách sử dụng Chức năng bước AWS tự động chú thích trước tài liệu bằng cách sử dụng dữ liệu thực thể dạng bảng hiện có. Điều này làm giảm đáng kể công việc thủ công cần thiết để đào tạo các mô hình nhận dạng thực thể tùy chỉnh chính xác trong Amazon Comprehend.

Trong bài đăng này, chúng tôi sẽ hướng dẫn bạn các bước thiết lập công cụ gắn nhãn trước và hiển thị các ví dụ về cách công cụ này tự động chú thích tài liệu từ một nguồn công khai. tập dữ liệu báo cáo ngân hàng mẫu ở định dạng PDF. Mã đầy đủ có sẵn trên Repo GitHub.

Tổng quan về giải pháp

Trong phần này, chúng tôi thảo luận về đầu vào và đầu ra của công cụ gắn nhãn trước và cung cấp tổng quan về kiến ​​trúc giải pháp.

Đầu vào và đầu ra

Làm đầu vào, công cụ gắn nhãn trước lấy tài liệu PDF có chứa văn bản để chú thích. Đối với bản demo, chúng tôi sử dụng bảng sao kê ngân hàng mô phỏng như ví dụ sau.

Tự động hóa việc gắn nhãn trước PDF cho Amazon Comprehend | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Công cụ này cũng lấy một tệp kê khai ánh xạ các tài liệu PDF với các thực thể mà chúng tôi muốn trích xuất từ ​​các tài liệu này. Các thực thể bao gồm hai thứ: expected_text để trích xuất từ ​​tài liệu (ví dụ: AnyCompany Bank) và tương ứng entity_type (ví dụ, bank_name). Ở phần sau của bài đăng này, chúng tôi sẽ trình bày cách tạo tệp kê khai này từ tài liệu CSV như ví dụ sau.

Tự động hóa việc gắn nhãn trước PDF cho Amazon Comprehend | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Công cụ gắn nhãn trước sử dụng tệp kê khai để tự động chú thích tài liệu với các thực thể tương ứng. Sau đó, chúng tôi có thể trực tiếp sử dụng các chú thích này để huấn luyện mô hình Amazon Comprehend.

Ngoài ra, bạn có thể tạo công việc gắn nhãn SageMaker Ground Truth để con người xem xét và chỉnh sửa, như minh họa trong ảnh chụp màn hình sau.

Tự động hóa việc gắn nhãn trước PDF cho Amazon Comprehend | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Khi quá trình xem xét hoàn tất, bạn có thể sử dụng dữ liệu chú thích để huấn luyện mô hình trình nhận dạng thực thể tùy chỉnh Amazon Comprehend.

Kiến trúc

Công cụ ghi nhãn trước bao gồm nhiều AWS Lambda các chức năng được điều phối bởi máy trạng thái Step Functions. Nó có hai phiên bản sử dụng các kỹ thuật khác nhau để tạo chú thích trước.

Kỹ thuật đầu tiên là kết hợp mờ. Điều này yêu cầu một tệp kê khai trước với các thực thể dự kiến. Công cụ này sử dụng thuật toán so khớp mờ để tạo chú thích trước bằng cách so sánh độ giống nhau của văn bản.

So khớp mờ tìm kiếm các chuỗi trong tài liệu tương tự (nhưng không nhất thiết phải giống hệt) với các thực thể dự kiến ​​được liệt kê trong tệp kê khai trước. Đầu tiên, nó tính toán điểm tương đồng về văn bản giữa văn bản và các từ dự kiến ​​trong tài liệu, sau đó khớp với tất cả các cặp trên ngưỡng. Do đó, ngay cả khi không có kết quả khớp chính xác, kết hợp mờ có thể tìm thấy các biến thể như từ viết tắt và lỗi chính tả. Điều này cho phép công cụ gắn nhãn trước cho tài liệu mà không yêu cầu các thực thể xuất hiện đúng nguyên văn. Ví dụ, nếu 'AnyCompany Bank' được liệt kê như một thực thể dự kiến, Fuzzy Matching sẽ chú thích các lần xuất hiện của 'Any Companys Bank'. Điều này mang lại sự linh hoạt hơn so với việc khớp chuỗi nghiêm ngặt và cho phép công cụ gắn nhãn trước tự động gắn nhãn cho nhiều thực thể hơn.

Sơ đồ sau minh họa kiến ​​trúc của máy trạng thái Step Functions này.

Tự động hóa việc gắn nhãn trước PDF cho Amazon Comprehend | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Kỹ thuật thứ hai đòi hỏi một mô hình nhận dạng thực thể Amazon Comprehend được đào tạo trước. Công cụ này tạo chú thích trước bằng mô hình Amazon Comprehend, tuân theo quy trình làm việc được hiển thị trong sơ đồ sau.

Tự động hóa việc gắn nhãn trước PDF cho Amazon Comprehend | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Sơ đồ sau minh họa kiến ​​trúc đầy đủ.

Tự động hóa việc gắn nhãn trước PDF cho Amazon Comprehend | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Trong các phần sau, chúng tôi sẽ hướng dẫn các bước để triển khai giải pháp.

Triển khai công cụ ghi nhãn trước

Sao chép kho lưu trữ vào máy cục bộ của bạn:

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

Kho lưu trữ này đã được xây dựng dựa trên Công cụ chú thích tài liệu bán cấu trúc toàn diện và mở rộng các chức năng của nó bằng cách cho phép bạn bắt đầu công việc gắn nhãn SageMaker Ground Truth với các chú thích trước đã được hiển thị trên giao diện người dùng SageMaker Ground Truth.

Công cụ gắn nhãn trước bao gồm cả tài nguyên Công cụ chú thích tài liệu bán cấu trúc toàn diện cũng như một số tài nguyên dành riêng cho công cụ gắn nhãn trước. Bạn có thể triển khai giải pháp với Mô hình ứng dụng không có máy chủ AWS (AWS SAM), một framework nguồn mở mà bạn có thể sử dụng để xác định mã cơ sở hạ tầng ứng dụng serverless.

Nếu trước đây bạn đã triển khai Công cụ chú thích tài liệu bán cấu trúc toàn diện, hãy tham khảo phần Câu hỏi thường gặp trong Pre_labeling_tool/README.md để biết hướng dẫn về cách chỉ triển khai các tài nguyên dành riêng cho công cụ gắn nhãn trước.

Nếu bạn chưa triển khai công cụ này trước đây và đang bắt đầu làm mới, hãy làm như sau để triển khai toàn bộ giải pháp.

Thay đổi thư mục hiện tại thành thư mục công cụ chú thích:

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

Xây dựng và triển khai giải pháp:

make ready-and-deploy-guided

Tạo tệp kê khai trước

Trước khi có thể sử dụng công cụ ghi nhãn trước, bạn cần chuẩn bị dữ liệu của mình. Đầu vào chính là tài liệu PDF và tệp kê khai trước. Tệp kê khai trước chứa vị trí của từng tài liệu PDF trong 'pdf' và vị trí của tệp JSON có các thực thể dự kiến ​​được gắn nhãn 'expected_entities'.

Cuốn tập generate_premanifest_file.ipynb chỉ ra cách tạo tập tin này. Trong bản demo, tệp kê khai trước hiển thị mã sau:

[ { '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' }, ...
]

Mỗi tệp JSON được liệt kê trong tệp kê khai trước (trong expected_entities) chứa danh sách các từ điển, một từ điển cho mỗi thực thể dự kiến. Từ điển có các phím sau:

  • 'mong đợi_texts' – Danh sách các chuỗi văn bản có thể phù hợp với thực thể.
  • ‘loại_thực thể’ – Kiểu thực thể tương ứng.
  • ‘bỏ qua_list’ (tùy chọn) – Danh sách các từ nên bỏ qua trong trận đấu. Các tham số này nên được sử dụng để ngăn việc so khớp mờ khớp với các kết hợp từ cụ thể mà bạn biết là sai. Điều này có thể hữu ích nếu bạn muốn bỏ qua một số số hoặc địa chỉ email khi xem tên.

Ví dụ, các expected_entities của tệp PDF được hiển thị trước đó trông giống như sau:

[ { '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': [] }, ...
]

Chạy công cụ ghi nhãn trước

Với tệp kê khai trước mà bạn đã tạo ở bước trước, hãy bắt đầu chạy công cụ gắn nhãn trước. Để biết thêm chi tiết, hãy tham khảo sổ ghi chép start_step_functions.ipynb.

Để khởi động công cụ ghi nhãn trước, hãy cung cấp một event với các phím sau:

  • Biểu hiện trước – Ánh xạ từng tài liệu PDF tới tài liệu đó expected_entities tài liệu. Điều này nên chứa Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) nhóm (dưới bucket) và khóa (dưới key) của tệp.
  • Tiếp đầu ngữ - Dùng để tạo ra execution_id, đặt tên cho thư mục S3 để lưu trữ đầu ra và tên công việc ghi nhãn SageMaker Ground Truth.
  • thực thể_types – Hiển thị trong giao diện người dùng để người chú thích gắn nhãn. Chúng phải bao gồm tất cả các loại thực thể trong tệp thực thể dự kiến.
  • tên_nhóm_làm việc (tùy chọn) – Được sử dụng để tạo công việc gắn nhãn SageMaker Ground Truth. Nó tương ứng với lực lượng lao động tư nhân để sử dụng. Nếu nó không được cung cấp thì chỉ tệp kê khai sẽ được tạo thay vì công việc gắn nhãn SageMaker Ground Truth. Bạn có thể sử dụng tệp kê khai để tạo công việc gắn nhãn SageMaker Ground Truth sau này. Lưu ý rằng tại thời điểm viết bài này, bạn không thể cung cấp lực lượng lao động bên ngoài khi tạo công việc ghi nhãn từ sổ ghi chép. Tuy nhiên, bạn có thể sao chép công việc đã tạo và giao nó cho lực lượng lao động bên ngoài trên bảng điều khiển SageMaker Ground Truth.
  • hiểu_parameters (tùy chọn) – Các tham số để huấn luyện trực tiếp mô hình trình nhận dạng thực thể tùy chỉnh của Amazon Comprehend. Nếu bỏ qua, bước này sẽ bị bỏ qua.

Để khởi động máy trạng thái, hãy chạy mã Python sau:

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

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

Điều này sẽ bắt đầu chạy máy trạng thái. Bạn có thể theo dõi tiến trình của máy trạng thái trên bảng điều khiển Step Functions. Sơ đồ sau minh họa quy trình làm việc của máy trạng thái.

Tự động hóa việc gắn nhãn trước PDF cho Amazon Comprehend | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Khi máy trạng thái hoàn tất, hãy làm như sau:

  • Kiểm tra các đầu ra sau được lưu trong prelabeling/ thư mục của comprehend-semi-structured-docs Xô S3:
    • Các tệp chú thích riêng lẻ cho từng trang của tài liệu (mỗi trang một tài liệu) trong temp_individual_manifests/
    • Bản kê khai cho công việc gắn nhãn SageMaker Ground Truth trong consolidated_manifest/consolidated_manifest.manifest
    • Một bảng kê khai có thể được sử dụng để huấn luyện mô hình Amazon Comprehend tùy chỉnh trong consolidated_manifest/consolidated_manifest_comprehend.manifest
  • Trên bảng điều khiển SageMaker, hãy mở công việc gắn nhãn SageMaker Ground Truth đã được tạo để xem lại các chú thích
  • Kiểm tra và kiểm tra mô hình Amazon Comprehend tùy chỉnh đã được đào tạo

Như đã đề cập trước đó, công cụ này chỉ có thể tạo công việc ghi nhãn SageMaker Ground Truth cho lực lượng lao động tư nhân. Để thuê ngoài nỗ lực ghi nhãn của con người, bạn có thể sao chép công việc ghi nhãn trên bảng điều khiển SageMaker Ground Truth và gắn bất kỳ lực lượng lao động nào vào công việc mới.

Làm sạch

Để tránh phát sinh thêm phí, hãy xóa tài nguyên bạn đã tạo và xóa ngăn xếp mà bạn đã triển khai bằng lệnh sau:

make delete

Kết luận

Công cụ gắn nhãn trước cung cấp một cách thức mạnh mẽ để các công ty sử dụng dữ liệu dạng bảng hiện có nhằm đẩy nhanh quá trình đào tạo các mô hình nhận dạng thực thể tùy chỉnh trong Amazon Comprehend. Bằng cách tự động chú thích trước các tài liệu PDF, nó giúp giảm đáng kể nỗ lực thủ công cần thiết trong quá trình ghi nhãn.

Công cụ này có hai phiên bản: đối sánh mờ và dựa trên Amazon Comprehend, mang lại sự linh hoạt về cách tạo chú thích ban đầu. Sau khi tài liệu được gắn nhãn trước, bạn có thể nhanh chóng xem xét chúng trong công việc gắn nhãn SageMaker Ground Truth hoặc thậm chí bỏ qua việc xem xét và trực tiếp đào tạo mô hình tùy chỉnh Amazon Comprehend.

Công cụ gắn nhãn trước cho phép bạn nhanh chóng khai thác giá trị của dữ liệu thực thể lịch sử và sử dụng dữ liệu đó để tạo các mô hình tùy chỉnh phù hợp với miền cụ thể của bạn. Bằng cách tăng tốc phần thường sử dụng nhiều công sức nhất của quy trình, nó giúp việc nhận dạng thực thể tùy chỉnh với Amazon Comprehend trở nên dễ tiếp cận hơn bao giờ hết.

Để biết thêm thông tin về cách gắn nhãn tài liệu PDF bằng tác vụ gắn nhãn SageMaker Ground Truth, hãy xem Chú thích tài liệu tùy chỉnh để trích xuất các thực thể được đặt tên trong tài liệu bằng Amazon Toàn diệnSử dụng Amazon SageMaker Ground Truth để gắn nhãn dữ liệu.


Giới thiệu về tác giả

Tự động hóa việc gắn nhãn trước PDF cho Amazon Comprehend | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Oskar Schnaack là Nhà khoa học ứng dụng tại Trung tâm đổi mới AI sáng tạo. Anh ấy đam mê nghiên cứu khoa học đằng sau công nghệ máy học để giúp khách hàng có thể tiếp cận nó. Ngoài công việc, Oskar thích đạp xe và theo kịp các xu hướng về lý thuyết thông tin.

Tự động hóa việc gắn nhãn trước PDF cho Amazon Comprehend | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Romain Besombes là Kiến trúc sư Deep Learning tại Trung tâm Đổi mới Sáng tạo AI. Anh ấy đam mê xây dựng các kiến ​​trúc đổi mới để giải quyết các vấn đề kinh doanh của khách hàng bằng học máy.

Dấu thời gian:

Thêm từ Học máy AWS