Nếu bạn từng thử trích xuất dữ liệu có cấu trúc từ vận đơn bằng một dịch vụ OCR đa dụng, bạn đã biết kết cục: nó không hiệu quả. Ít nhất là không đáng tin cậy. Và trong tuân thủ thương mại quốc tế, "không đáng tin cậy" cũng giống như "hoàn toàn không hiệu quả".
Tại Atlas Verify, chúng tôi xử lý hàng nghìn tài liệu thương mại — vận đơn, chứng nhận hữu cơ, chứng nhận kiểm dịch thực vật, chứng nhận xuất xứ, hóa đơn thương mại, phiếu đóng gói và hàng chục loại khác. Ngay từ đầu, chúng tôi đã đánh giá mọi nền tảng OCR lớn trên thị trường. Tất cả đều không vượt qua cùng một phép thử: đưa cho chúng một tài liệu mà chúng chưa được đào tạo riêng để xử lý, và đầu ra có thể từ thiếu đầy đủ đến sai một cách nguy hiểm.
Bài viết này giải thích vì sao chúng tôi xây dựng một quy trình xử lý tài liệu riêng, điều gì khiến tài liệu thương mại đặc biệt khó xử lý và các nguyên tắc kỹ thuật định hướng cách tiếp cận của chúng tôi.
Vấn đề đa dạng tài liệu
Phần lớn dịch vụ OCR được tối ưu cho một nhóm loại tài liệu hẹp. Google Document AI nổi trội với hóa đơn và biên lai. AWS Textract xử lý tốt các biểu mẫu có cấu trúc. Azure Form Recognizer có thể được đào tạo trên các mẫu tùy chỉnh. Nhưng thương mại quốc tế tạo ra một số lượng loại giấy tờ đa dạng đến kinh ngạc.
Chỉ riêng trong hệ thống của chúng tôi đã có hơn 35 loại tài liệu khác nhau. Vận đơn trông hoàn toàn khác chứng nhận hữu cơ. Chứng nhận kiểm dịch thực vật của USDA gần như không có điểm tương đồng về cấu trúc với chứng nhận do EU cấp. Thông báo hàng đến của một hãng tàu có thể là PDF có cấu trúc với các bảng rõ ràng; của một hãng khác lại là bản fax được quét với ghi chú viết tay.
Điểm nhận thức then chốt là mỗi loại tài liệu có lược đồ riêng — một nhóm trường cụ thể quan trọng đối với xác minh tuân thủ. Vận đơn cần người gửi hàng, người nhận hàng, bên được thông báo, số container, tên tàu, cảng xếp và dỡ hàng, cùng mô tả hàng hóa. Chứng nhận hữu cơ cần tổ chức chứng nhận, tên cơ sở hoạt động, mã NOP, các sản phẩm được chứng nhận và ngày hiệu lực.
Các công cụ OCR thông thường không hiểu các lược đồ này. Chúng trích xuất văn bản. Chúng có thể xác định bảng. Nhưng chúng không biết chuỗi "MEDU4107760" là số container, hay "NOP ID: 7880315519" là một mã định danh quan trọng cần được xác minh với USDA Organic Integrity Database. Nếu không nhận biết lược đồ, OCR chỉ là việc chuyển đổi văn bản tốn kém.
Vì sao "đủ tốt" lại nguy hiểm
Trong hầu hết ứng dụng phần mềm, tỷ lệ chính xác 95% là xuất sắc. Trong tuân thủ thương mại, đó là một nguy cơ trách nhiệm.
Hãy xét một số container. Định dạng tiêu chuẩn (ISO 6346) gồm bốn chữ cái theo sau là bảy chữ số, trong đó chữ số cuối là chữ số kiểm tra. Nếu OCR đọc sai chỉ một ký tự — "0" thành "O", "8" thành "B" — số container trở nên không hợp lệ. Các hệ thống phía sau cố gắng theo dõi container đó sẽ không trả về kết quả, và chuỗi xác minh bị đứt gãy mà không có cảnh báo.
Nguyên tắc tương tự áp dụng cho mã NOP, mã HS, số IMO và ngày chứng nhận. Chỉ một lỗi ký tự có thể thay đổi hoàn toàn ý nghĩa. Mã HS 0901.11 (cà phê, chưa rang, chưa khử caffeine) so với 0901.12 (cà phê, chưa rang, đã khử caffeine) dẫn đến mức thuế, yêu cầu quản lý và hồ sơ rủi ro khác nhau.
Kiến trúc của chúng tôi
Quy trình xử lý tài liệu của chúng tôi có ba giai đoạn, mỗi giai đoạn được thiết kế để tối đa hóa độ chính xác trước những thách thức cụ thể của hồ sơ thương mại.
Giai đoạn 1: Phân loại tài liệu — Trước khi trích xuất bất kỳ dữ liệu nào, chúng tôi xác định loại tài liệu đang xem. Việc phân loại này quyết định lược đồ trích xuất cần áp dụng, những trường cần tìm và cách xác nhận kết quả.
Giai đoạn 2: Trích xuất có nhận biết lược đồ — Sau khi phân loại tài liệu, chúng tôi áp dụng một mô hình trích xuất riêng cho từng loại, biết chính xác các trường cần tìm và vị trí chúng thường xuất hiện trong loại tài liệu đó. Điều này khác căn bản với OCR thông thường, vốn trích xuất mọi thứ rồi để người dùng diễn giải.
Giai đoạn 3: Xác nhận chéo — Dữ liệu được trích xuất tự động được đối chiếu chéo với các nguồn bên ngoài. Số container được xác nhận với API của hãng tàu. Mã NOP được kiểm tra với USDA Organic Integrity Database. Mã cảng được xác minh với World Port Index. Giai đoạn này phát hiện cả lỗi OCR lẫn dữ liệu gian lận.
Những bài học rút ra
Sau khi xử lý hàng chục nghìn tài liệu thương mại, một số nguyên tắc đã trở nên rõ ràng:
1. Giải pháp chuyên biệt cho lĩnh vực tốt hơn giải pháp đa dụng. Mỗi lần thử sử dụng dịch vụ OCR thông thường đều đòi hỏi quá nhiều công việc xử lý sau đó, khiến chúng tôi dành nhiều thời gian kỹ thuật để sửa đầu ra hơn thời gian cần để xây dựng một giải pháp riêng.
2. Phân loại là nền tảng. Xác định sai loại tài liệu tạo ra lỗi dây chuyền ở mọi bước tiếp theo. Chúng tôi đầu tư mạnh vào độ chính xác của phân loại vì mọi công đoạn phía sau đều phụ thuộc vào nó.
3. Xác nhận quan trọng hơn trích xuất. Trích xuất số container là hữu ích. Nhưng xác nhận rằng đó là một container có thật trên một con tàu có thật tại đúng cảng mới là điều thực sự quan trọng đối với tuân thủ.
4. Đầu ra có cấu trúc cho phép tự động hóa. Mục tiêu không phải là số hóa tài liệu để con người đọc. Mục tiêu là tạo ra dữ liệu có cấu trúc mà máy có thể đọc, được đưa trực tiếp vào các quy trình xác minh tự động.
Xây dựng một quy trình xử lý tài liệu đáng tin cậy cho thương mại quốc tế thực sự rất khó. Tài liệu đa dạng, yêu cầu về độ chính xác cực kỳ cao và hậu quả của sai sót rất đáng kể. Nhưng đây cũng là nền tảng — mọi khả năng xác minh mà chúng tôi xây dựng đều phụ thuộc vào việc đọc và hiểu chính xác những tài liệu đi cùng hàng hóa qua các chuỗi cung ứng toàn cầu.
