1. Giới thiệu
Document AI là một giải pháp hiểu tài liệu, lấy dữ liệu không có cấu trúc (chẳng hạn như tài liệu, email, v.v.) và giúp dữ liệu dễ hiểu, dễ phân tích và dễ sử dụng hơn.
Bằng cách sử dụng tính năng đào tạo nâng cao thông qua Document AI Workbench, bạn có thể đạt được độ chính xác cao hơn khi xử lý tài liệu bằng cách cung cấp thêm các ví dụ được gắn nhãn cho Các loại tài liệu chuyên biệt và tạo một phiên bản mô hình mới.
Trong phòng thí nghiệm này, bạn sẽ tạo một trình xử lý Trình phân tích cú pháp hoá đơn, định cấu hình trình xử lý để đào tạo thêm, gắn nhãn các tài liệu mẫu và đào tạo thêm trình xử lý.
Tập dữ liệu tài liệu được dùng trong lớp học này bao gồm các hoá đơn được tạo ngẫu nhiên cho một công ty đường ống giả tưởng.
Điều kiện tiên quyết
Lớp học lập trình này dựa trên nội dung được trình bày trong các Lớp học lập trình khác về Document AI.
Bạn nên hoàn thành các lớp học lập trình sau đây trước khi tiếp tục.
- Nhận dạng ký tự quang học (OCR) bằng Document AI (Python)
- Phân tích cú pháp biểu mẫu bằng Document AI (Python)
- Bộ xử lý chuyên dụng có Document AI (Python)
- Quản lý các bộ xử lý Document AI bằng Python
- Document AI: Sự tham gia của con người vào quy trình
Kiến thức bạn sẽ học được
- Định cấu hình tính năng Huấn luyện thêm cho bộ xử lý Trình phân tích cú pháp hoá đơn.
- Gắn nhãn dữ liệu huấn luyện Document AI bằng công cụ chú thích.
- Huấn luyện một phiên bản mô hình mới.
- Đánh giá độ chính xác của phiên bản mô hình mới.
Bạn cần có
2. Thiết lập
Lớp học lập trình này giả định rằng bạn đã hoàn thành các bước Thiết lập Document AI được liệt kê trong Lớp học lập trình giới thiệu.
Vui lòng hoàn tất các bước sau trước khi tiếp tục:
3. Tạo một Bộ xử lý
Trước tiên, bạn phải tạo một trình xử lý Trình phân tích cú pháp hoá đơn để sử dụng cho lớp học này.
- Trong bảng điều khiển, hãy chuyển đến trang Tổng quan về Document AI.

- Nhấp vào Tạo bộ xử lý, di chuyển xuống phần Chuyên biệt (hoặc nhập "Trình phân tích cú pháp hoá đơn" vào thanh tìm kiếm) rồi chọn Trình phân tích cú pháp hoá đơn.

- Đặt tên cho
codelab-invoice-uptraining(Hoặc một tên khác mà bạn sẽ nhớ) rồi chọn khu vực gần nhất trong danh sách.

- Nhấp vào Tạo để tạo bộ xử lý. Sau đó, bạn sẽ thấy trang Tổng quan về bộ xử lý.

4. Tạo tập dữ liệu
Để huấn luyện bộ xử lý, chúng ta sẽ phải tạo một tập dữ liệu có dữ liệu huấn luyện và kiểm thử để giúp bộ xử lý xác định các thực thể mà chúng ta muốn trích xuất.
Bạn sẽ cần tạo một bộ chứa mới trong Cloud Storage để lưu trữ tập dữ liệu. Lưu ý: Đây không được là nhóm mà bạn đang lưu trữ tài liệu.
- Mở Cloud Shell rồi chạy các lệnh sau để tạo một vùng chứa. Hoặc tạo một vùng chứa mới trong Cloud Console. Lưu tên nhóm này, bạn sẽ cần đến tên này sau.
export PROJECT_ID=$(gcloud config get-value project)
gsutil mb -p $PROJECT_ID "gs://${PROJECT_ID}-uptraining-codelab"
- Chuyển đến thẻ Tập dữ liệu rồi nhấp vào Tạo tập dữ liệu

- Dán tên nhóm từ nhóm mà bạn đã tạo ở bước một vào trường Đường dẫn đích. (Không bao gồm
gs://)

- Đợi quá trình tạo tập dữ liệu hoàn tất, sau đó, bạn sẽ được chuyển đến trang Quản lý tập dữ liệu.

5. Nhập tài liệu kiểm thử
Bây giờ, hãy nhập một tệp PDF hoá đơn mẫu vào tập dữ liệu của chúng ta.
- Nhấp vào Nhập chứng từ

- Chúng tôi có một tệp PDF mẫu để bạn sử dụng trong phòng thí nghiệm này. Sao chép và dán đường liên kết sau vào hộp Đường dẫn nguồn. Tạm thời, hãy để "Phân chia dữ liệu" ở trạng thái "Chưa chỉ định". Nhấp vào Nhập.
cloud-samples-data/documentai/codelabs/uptraining/pdfs

- Đợi tài liệu được nhập. Quá trình này mất chưa đến 1 phút trong các thử nghiệm của tôi.

- Khi quá trình nhập hoàn tất, bạn sẽ thấy tài liệu trong giao diện người dùng Quản lý tập dữ liệu. Nhấp vào biểu tượng này để chuyển đến bảng điều khiển gắn nhãn.

6. Gắn nhãn cho Tài liệu thử nghiệm
Tiếp theo, chúng ta sẽ xác định các phần tử văn bản và nhãn cho những thực thể mà chúng ta muốn trích xuất. Các nhãn này sẽ được dùng để huấn luyện mô hình của chúng tôi phân tích cấu trúc tài liệu cụ thể này và xác định các loại chính xác.
- Bây giờ, bạn sẽ thấy bảng điều khiển gắn nhãn có dạng như sau.

- Nhấp vào Công cụ "Chọn văn bản", sau đó đánh dấu văn bản "McWilliam Piping International Piping Company" và chỉ định nhãn
supplier_name. Bạn có thể sử dụng bộ lọc văn bản để tìm tên nhãn.

- Đánh dấu văn bản "14368 Pipeline Ave Chino, CA 91710" rồi chỉ định nhãn
supplier_address.

- Đánh dấu văn bản "10001" và chỉ định nhãn
invoice_id.

- Đánh dấu văn bản "2020-01-02" rồi chỉ định nhãn
due_date.

- Chuyển sang công cụ "Khung viền". Đánh dấu văn bản "Knuckle Couplers" (Khớp nối dạng nắm đấm) rồi chỉ định nhãn
line_item/description.

- Đánh dấu văn bản "9" và chỉ định nhãn
line_item/quantity.

- Đánh dấu văn bản "74.43" và chỉ định nhãn
line_item/unit_price.

- Đánh dấu văn bản "669,87" rồi chỉ định nhãn
line_item/amount.

- Lặp lại 4 bước trước đó cho 2 mục hàng tiếp theo. Sau khi hoàn tất, ứng dụng sẽ có dạng như sau.

- Đánh dấu văn bản "1.419,57" (bên cạnh Tổng tiền) và chỉ định nhãn
net_amount.

- Đánh dấu văn bản "113.57" (bên cạnh Thuế) và chỉ định nhãn
total_tax_amount.

- Đánh dấu văn bản "1.533,14" (bên cạnh Tổng cộng) và chỉ định nhãn
total_amount.

- Làm nổi bật một trong các ký tự "$" và chỉ định nhãn
currency.

- Sau khi hoàn tất, tài liệu được gắn nhãn sẽ có dạng như sau. Xin lưu ý rằng bạn có thể điều chỉnh các nhãn này bằng cách nhấp vào khung viền trong tài liệu hoặc tên/giá trị nhãn trên trình đơn bên trái. Nhấp vào Lưu khi bạn đã hoàn tất việc gắn nhãn.

- Sau đây là danh sách đầy đủ các nhãn và giá trị
Tên nhãn | Văn bản |
| McWilliam Piping International Piping Company |
| 14368 Pipeline Ave Chino, CA 91710 |
| 10001 |
| 2020-01-02 |
| Khớp nối |
| 9 |
| 74,43 |
| 669,87 |
| Ống PVC 12 inch |
| 7 |
| 15,9 |
| 111,30 |
| Ống đồng |
| 7 |
| 91,20 |
| 638,40 |
| 1.419,57 |
| 113,57 |
| 1.533,14 |
| $ |
7. Chỉ định tài liệu cho Tập dữ liệu huấn luyện
Giờ đây, bạn sẽ quay lại Bảng điều khiển quản lý tập dữ liệu. Lưu ý rằng số lượng tài liệu Được gắn nhãn và Chưa được gắn nhãn cũng như số lượng nhãn đang hoạt động đã thay đổi.

- Chúng ta cần chỉ định tài liệu này cho tập hợp "Đào tạo" hoặc "Kiểm thử". Nhấp vào Tài liệu.

- Nhấp vào Chỉ định cho bộ, rồi nhấp vào Đào tạo.

- Lưu ý rằng số liệu về Phân chia dữ liệu đã thay đổi.

8. Nhập dữ liệu được gắn nhãn trước
Tính năng Huấn luyện thêm của Document AI yêu cầu tối thiểu 10 tài liệu trong cả tập huấn luyện và tập kiểm thử, cùng với 10 thực thể của mỗi nhãn trong mỗi tập.
Bạn nên có ít nhất 50 tài liệu trong mỗi bộ với 50 thực thể của mỗi nhãn để đạt được hiệu suất tốt nhất. Nói chung, càng có nhiều dữ liệu huấn luyện thì độ chính xác càng cao.
Việc gắn nhãn 100 tài liệu theo cách thủ công sẽ mất nhiều thời gian. Vì vậy, chúng tôi có sẵn một số tài liệu đã được gắn nhãn mà bạn có thể nhập cho lớp học lập trình này.
Bạn có thể nhập các tệp tài liệu đã được gắn nhãn trước ở định dạng Document.json. Đây có thể là kết quả từ việc gọi một bộ xử lý và xác minh độ chính xác bằng cách sử dụng Con người tham gia vào quy trình (HITL).
- Nhấp vào Nhập tài liệu.

- Sao chép/Dán đường dẫn Cloud Storage sau đây và chỉ định đường dẫn đó cho tập dữ liệu Đào tạo.
cloud-samples-data/documentai/codelabs/uptraining/training
- Nhấp vào Thêm nhóm khác. Sau đó, hãy sao chép/dán đường dẫn Cloud Storage sau đây rồi chỉ định đường dẫn đó cho bộ Kiểm thử.
cloud-samples-data/documentai/codelabs/uptraining/test

- Nhấp vào Nhập rồi đợi tài liệu được nhập. Quá trình này sẽ mất nhiều thời gian hơn lần trước vì có nhiều giấy tờ cần xử lý hơn. Trong các thử nghiệm của tôi, quá trình này mất khoảng 6 phút. Bạn có thể rời trang này rồi quay lại sau.

- Sau khi hoàn tất, bạn sẽ thấy các tài liệu trong trang Quản lý tập dữ liệu.

9. Chỉnh sửa nhãn
Các tài liệu mẫu mà chúng tôi đang sử dụng cho ví dụ này không chứa mọi nhãn mà Trình phân tích cú pháp hoá đơn hỗ trợ. Chúng ta cần đánh dấu những nhãn không sử dụng là không hoạt động trước khi huấn luyện. Bạn cũng có thể làm theo các bước tương tự để thêm nhãn tuỳ chỉnh trước khi Đào tạo nâng cao.
- Nhấp vào Quản lý nhãn ở góc dưới cùng bên trái.

- Giờ đây, bạn sẽ thấy Bảng điều khiển quản lý nhãn.

- Sử dụng hộp đánh dấu và nút Tắt/Bật để chỉ đánh dấu các nhãn sau đây là Đã bật.
currencydue_dateinvoice_idline_item/amountline_item/descriptionline_item/quantityline_item/unit_pricenet_amountsupplier_addresssupplier_nametotal_amounttotal_tax_amount
- Bảng điều khiển sẽ có dạng như sau khi hoàn tất. Sau khi hoàn tất, hãy nhấp vào Lưu.

- Nhấp vào mũi tên Quay lại để quay lại bảng điều khiển Quản lý tập dữ liệu. Xin lưu ý rằng những nhãn có 0 thực thể đã được đánh dấu là Không hoạt động.

10. Không bắt buộc: Tự động gắn nhãn cho các tài liệu mới nhập
Khi nhập tài liệu chưa được gắn nhãn cho một đơn vị xử lý có phiên bản đơn vị xử lý đã triển khai hiện tại, bạn có thể sử dụng tính năng Tự động gắn nhãn để tiết kiệm thời gian gắn nhãn.
- Trên trang Huấn luyện, hãy nhấp vào Nhập tài liệu.
- Sao chép và dán đường dẫn sau đây. Thư mục này chứa 5 tệp PDF hoá đơn không có nhãn. Trong danh sách thả xuống Phân chia dữ liệu, hãy chọn Đào tạo.
cloud-samples-data/documentai/Custom/Invoices/PDF_Unlabeled - Trong mục Gắn nhãn tự động, hãy đánh dấu vào hộp Nhập bằng tính năng gắn nhãn tự động.
- Chọn một phiên bản bộ xử lý hiện có để gắn nhãn cho tài liệu.
- Ví dụ:
pretrained-invoice-v1.3-2022-07-15
- Nhấp vào Nhập rồi đợi tài liệu được nhập. Bạn có thể rời trang này rồi quay lại sau.
- Sau khi hoàn tất, các tài liệu sẽ xuất hiện trên trang Huấn luyện trong phần Được gắn nhãn tự động.
- Bạn không thể dùng tài liệu được gắn nhãn tự động để huấn luyện hoặc kiểm thử mà không đánh dấu chúng là đã được gắn nhãn. Chuyển đến phần Được gắn nhãn tự động để xem các tài liệu được gắn nhãn tự động.
- Chọn tài liệu đầu tiên để nhập vào bảng điều khiển gắn nhãn.
- Xác minh nhãn, khung hình chữ nhật và giá trị để đảm bảo chúng chính xác. Gắn nhãn cho mọi giá trị bị bỏ qua.
- Chọn Đánh dấu là đã gắn nhãn khi hoàn tất.
- Lặp lại quy trình xác minh nhãn cho từng tài liệu được gắn nhãn tự động, sau đó quay lại trang Huấn luyện để sử dụng dữ liệu cho việc huấn luyện.
11. Huấn luyện mô hình
Giờ đây, chúng ta đã sẵn sàng bắt đầu huấn luyện Trình phân tích cú pháp hoá đơn.
- Nhấp vào Huấn luyện phiên bản mới

- Đặt tên cho phiên bản mà bạn sẽ nhớ, chẳng hạn như
codelab-uptraining-test-1. Phiên bản cơ sở là phiên bản mô hình mà phiên bản mới này sẽ được xây dựng dựa trên. Nếu bạn đang sử dụng một bộ xử lý mới, thì lựa chọn duy nhất sẽ là Google Pretrained Next with Uptraining

- (Không bắt buộc) Bạn cũng có thể chọn Xem số liệu thống kê về nhãn để xem các chỉ số về nhãn trong tập dữ liệu.

- Nhấp vào Bắt đầu đào tạo để bắt đầu quy trình Đào tạo nâng cao. Bạn sẽ được chuyển hướng đến trang Quản lý tập dữ liệu. Bạn có thể xem trạng thái huấn luyện ở bên phải. Quá trình huấn luyện sẽ mất vài giờ để hoàn tất. Bạn có thể rời trang này rồi quay lại sau.

- Nếu nhấp vào tên phiên bản, bạn sẽ được chuyển đến trang Quản lý phiên bản. Trang này cho biết Mã phiên bản và trạng thái hiện tại của Công việc huấn luyện.

12. Thử nghiệm Phiên bản mô hình mới
Sau khi hoàn tất Training Job (mất khoảng 1 giờ trong các thử nghiệm của tôi), bạn có thể kiểm thử phiên bản mô hình mới và bắt đầu sử dụng phiên bản đó để dự đoán.
- Chuyển đến trang Quản lý phiên bản. Tại đây, bạn có thể xem trạng thái hiện tại và Điểm F1.

- Chúng tôi cần triển khai phiên bản mô hình này thì mới có thể sử dụng. Nhấp vào dấu chấm dọc ở bên phải rồi chọn Triển khai phiên bản.

- Chọn Triển khai trong cửa sổ bật lên khi chờ phiên bản triển khai. Quá trình này sẽ mất vài phút để hoàn tất. Sau khi triển khai, bạn cũng có thể đặt phiên bản này làm Phiên bản mặc định.

- Sau khi quá trình triển khai hoàn tất, hãy chuyển đến thẻ Đánh giá. Sau đó, nhấp vào trình đơn thả xuống Phiên bản rồi chọn phiên bản mới tạo.

- Trên trang này, bạn có thể xem các chỉ số đánh giá, bao gồm điểm F1, Độ chính xác và Độ thu hồi cho toàn bộ tài liệu cũng như từng nhãn. Bạn có thể đọc thêm về các chỉ số này trong Tài liệu về AutoML.
- Tải tệp PDF được liên kết bên dưới xuống. Đây là một tài liệu mẫu không có trong tập hợp Huấn luyện hoặc tập kiểm định.
- Nhấp vào Tải tài liệu kiểm thử lên rồi chọn tệp PDF.

- Các thực thể được trích xuất sẽ có dạng như sau.

13. Kết luận
Xin chúc mừng! Bạn đã sử dụng thành công Document AI để huấn luyện thêm một Trình phân tích cú pháp hoá đơn. Giờ đây, bạn có thể sử dụng bộ xử lý này để phân tích cú pháp hoá đơn giống như cách bạn làm đối với bất kỳ Bộ xử lý chuyên dụng nào.
Bạn có thể tham khảo Lớp học lập trình về bộ xử lý chuyên dụng để xem cách xử lý phản hồi xử lý.
Dọn dẹp
Để tránh phát sinh phí cho tài khoản Google Cloud của bạn đối với các tài nguyên được dùng trong hướng dẫn này, hãy làm như sau:
- Trong Cloud Console, hãy chuyển đến trang Quản lý tài nguyên.
- Trong danh sách dự án, hãy chọn dự án của bạn rồi nhấp vào Xoá.
- Trong hộp thoại, hãy nhập mã dự án rồi nhấp vào Tắt để xoá dự án.
Tài nguyên
- Tài liệu về Document AI Workbench
- The Future of Documents – YouTube Playlist
- Tài liệu về Document AI
- Thư viện ứng dụng Document AI Python
- Mẫu Document AI
Giấy phép
Tác phẩm này được cấp phép theo giấy phép Ghi công theo Creative Commons 2.0 Chung.