Dharma Field Extractor: đưa ảnh tài liệu thành JSON theo schema
Dharma-AI giới thiệu mô hình 2 tỷ tham số nhận ảnh tài liệu và trả JSON có cấu trúc. Mô hình có thể tự tìm trường hoặc điền theo schema, hỗ trợ bảng lồng nhau và trả null cho dữ liệu không xuất hiện.
Một lô hóa đơn vừa vào hệ thống. Điều phần mềm kế toán cần không phải toàn bộ chữ trên trang, mà là tên nhà cung cấp, số hóa đơn, hạn thanh toán, tổng tiền và danh sách dòng hàng.
OCR có thể đọc văn bản, nhưng vẫn cần một bước xác định chuỗi nào tương ứng với từng trường trong cơ sở dữ liệu. Dharma Field Extractor của Dharma-AI nhắm vào chính đoạn chuyển đổi này: nhận ảnh tài liệu và trả về JSON có cấu trúc để hệ thống phía sau tiếp tục xử lý.
Không chỉ đọc chữ, mà trích xuất trường dữ liệu
OCR phù hợp khi cần số hóa toàn bộ tài liệu để lưu trữ hoặc đọc lại, chẳng hạn hợp đồng hay bản thảo. Nhưng văn bản thuần không tự cho phần mềm biết đâu là ngày đến hạn, tổng tiền hay đơn giá của một dòng hàng.
Dharma Field Extractor được thiết kế để đưa các thành phần đó về dạng trường dữ liệu. Theo Dharma-AI, cùng một checkpoint có thể xử lý hóa đơn, biên lai, biểu mẫu, sao kê ngân hàng, giấy tờ định danh và tài liệu tổng hợp mà không cần tinh chỉnh riêng cho từng loại tài liệu.
Mô hình có hai chế độ hoạt động:
Open mode: Không cần gửi schema. Mô hình tự nhận diện các thành phần có cấu trúc dựa trên ngữ cảnh và bố cục, như nhãn đi kèm giá trị hoặc bảng có hàng tiêu đề.
Schema-directed mode: Người dùng cung cấp cấu trúc đầu ra với tên khóa và kiểu dữ liệu, gồm string, number hoặc boolean. Mô hình trả về đúng các khóa được yêu cầu, kể cả bảng lồng nhau và danh sách dòng hàng.
Nếu schema yêu cầu một trường nhưng tài liệu không có thông tin đó, đầu ra sẽ là null thay vì một giá trị được suy đoán. Với các luồng cần kiểm soát dữ liệu đầu vào, đây là khác biệt quan trọng.
Open mode để khám phá, schema để tích hợp
Hai chế độ phục vụ hai công việc khác nhau.
Open mode phù hợp khi chưa biết rõ tài liệu chứa những trường nào, chẳng hạn khi tiếp nhận một nhóm biểu mẫu mới. Mô hình sẽ cố gắng nhận ra các cặp khóa–giá trị và bảng dữ liệu từ nội dung trang.
Schema-directed mode phù hợp hơn khi đầu ra phải đi vào một cấu trúc đã có, như cơ sở dữ liệu, hệ thống kế toán hoặc CRM. Ví dụ, ứng dụng có thể yêu cầu các khóa serviceprovider, clientcompany, số hóa đơn, hạn thanh toán, tổng tiền và một mảng dòng hàng.
Với bảng hàng hóa, Dharma-AI cho biết mô hình có thể điền từng hàng và từng cột theo schema. Nếu hóa đơn không có hạn thanh toán nhưng trường này vẫn được yêu cầu, kết quả dự kiến là null.
Điểm cần lưu ý: khi dùng schema, đầu ra được mô tả là chỉ chứa các khóa đã yêu cầu, thay vì tự thêm trường mới. Điều này giúp giảm phần xử lý trung gian trước khi dữ liệu được chuyển sang hệ thống tiếp theo.
Nền tảng 2 tỷ tham số, huấn luyện bằng LoRA
Dharma Field Extractor được xây trên DharmaOCR-LITE v1.1, phiên bản 2 tỷ tham số của mô hình OCR Dharma-AI. Trên checkpoint này, nhóm huấn luyện thêm một adapter LoRA với 43.384 ví dụ cho cả hai chế độ trích xuất.
Dữ liệu huấn luyện gồm ba nhóm:
Tài liệu đa lĩnh vực bằng tiếng Anh từ web công khai.
Tài liệu Brazil bằng tiếng Bồ Đào Nha được thu thập nội bộ.
Một phần dữ liệu đa ngôn ngữ, bao gồm các ngôn ngữ châu Âu và châu Á.
Các ví dụ được gán nhãn ở cấp trường dữ liệu, trải trên biên lai, hóa đơn thương mại, biểu mẫu, sao kê ngân hàng, giấy tờ định danh và tài liệu tổng hợp.
Benchmark: kết quả do nhóm phát triển công bố
Dharma-AI đánh giá mô hình trên 546 tài liệu, tương đương 1.638 trường hợp trích xuất. Benchmark gồm ba tình huống:
Trích xuất toàn bộ trường mà không có schema.
Dùng schema chỉ chứa các trường thực sự có trong tài liệu.
Dùng schema có thêm các trường được cố ý đặt là không tồn tại.
Thước đo kết hợp ba yếu tố: F1 ở cấp trường, độ tương đồng Levenshtein của giá trị trích xuất và tỷ lệ đầu ra là JSON hợp lệ.
Theo báo cáo của Dharma-AI, Field Extractor đạt điểm 0,834, cao hơn các cấu hình mô hình tổng quát mà nhóm thử nghiệm. Khoảng chênh được nêu là từ 1,8 đến 9,3 điểm tùy đối thủ so sánh.
Đây là benchmark do chính nhóm phát triển thực hiện, vì vậy doanh nghiệp vẫn nên đánh giá trên tập chứng từ và yêu cầu nghiệp vụ của mình trước khi đưa vào vận hành.
Chi phí không chỉ là giá mô hình
Nhóm cũng ước tính mô hình tự triển khai có chi phí thấp hơn khoảng 6 đến 147 lần so với các API frontier trong phép so sánh của họ.
Tuy nhiên, đây không phải giá bán dịch vụ. Dharma-AI tính chi phí từ thời gian chạy trên một GPU L40S với mức tham chiếu 2,24 USD mỗi giờ; trong khi chi phí của các mô hình khác được tính theo token và bảng giá API công khai.
Vì vậy, các con số này nên được xem là một phép so sánh trong điều kiện benchmark, không phải báo giá triển khai. Chi phí thực tế còn phụ thuộc vào phần cứng, lưu lượng tài liệu, độ trễ mong muốn và cách vận hành hạ tầng.
Cần kiểm thử kỹ trước khi đưa vào quy trình thật
Bài giới thiệu đưa ra ví dụ trên bộ dữ liệu SROIE và FUNSD, gồm hóa đơn, checkbox boolean, trường để trống và ghi chú viết tay. Nhưng hiệu quả trên dữ liệu thực tế vẫn cần được kiểm tra theo từng tổ chức.
Một số điểm nên đánh giá:
Biến thể bố cục: Cùng một đơn vị phát hành có thể dùng nhiều mẫu tài liệu.
Bảng phức tạp: Dòng xuống hàng, ô gộp, chiết khấu và đơn vị tính có thể gây khó cho việc liên kết dữ liệu.
Kiểu dữ liệu: Số tiền, ngày tháng và mã định danh nên được xác thực trước khi ghi vào hệ thống nghiệp vụ.
Trường null: Đây là tín hiệu cần có luồng xử lý tiếp, không nên tự động bỏ qua.
Dữ liệu nhạy cảm: Với giấy tờ định danh, sao kê hoặc hồ sơ y tế, cần xem xét quyền truy cập, nơi xử lý và chính sách lưu trữ dữ liệu.
Dharma Field Extractor đáng chú ý ở chỗ nó đặt mục tiêu sau OCR: biến ảnh tài liệu thành dữ liệu có cấu trúc mà phần mềm có thể dùng ngay. Với tài liệu mới, open mode có thể hỗ trợ khám phá trường dữ liệu. Khi cấu trúc đầu ra đã rõ, schema-directed mode là hướng phù hợp hơn để tích hợp vào quy trình tự động hóa.