Kỹ thuật và kiến trúc
Nhận dạng bảng là gì: Cách biến số liệu trong bảng thành dữ liệu nghiệp vụ, hướng dẫn đầy đủ
Korea Deep LearningĐăng
Nhận dạng bảng (Table Recognition) là quá trình xác định ranh giới các hàng và cột của bảng vẽ trong tài liệu cùng phạm vi các ô gộp, rồi khôi phục xem từng giá trị thuộc mục nào, và chuyển thành dữ liệu có cấu trúc để máy móc sử dụng trực tiếp.
Vì sao cần nhận dạng bảng
Chữ đã đọc đúng nhưng các con số không khớp với nhau.
Công nghệ trích xuất văn bản từ tài liệu đã có từ lâu. Với tài liệu in, việc đạt độ chính xác cao ở mức ký tự không khó, và có những đánh giá tài liệu công khai ghi nhận độ tương đồng văn bản rất cao. Tuy nhiên, trong cùng đánh giá đó, độ tương đồng cấu trúc bảng lại thấp hơn nhiều. Gần như toàn bộ ký tự đã được đọc, nhưng khoảng cách lớn nằm ở việc khôi phục xem từng ký tự nằm trong ô nào.
Vấn đề là khoảng cách này gây ra hậu quả gì cho nghiệp vụ. Tờ khai thuế giá trị gia tăng gồm loại lớn, loại trung, phân loại, số thứ tự mục, số tiền, thuế suất và số thuế đều nằm trong một bảng. Ngay cả khi đọc đúng con số 5.000.000, nó vẫn không dùng được nếu không biết liên kết với số thuế của hóa đơn đã phát hành hay số thuế của hóa đơn do người mua tự phát hành. Tệ hơn, người phụ trách phải mở lại bản gốc để kiểm tra, khiến công việc tăng thêm. Nhận dạng bảng không phải bài toán đọc giá trị, mà là bài toán khôi phục vị trí của từng giá trị.
Định nghĩa chính xác của nhận dạng bảng: khác gì OCR
Ba tiêu chí phân biệt OCR và nhận dạng bảng
Thứ nhất, đối tượng xử lý khác nhau. OCR xử lý các ký tự trong hình ảnh. Nhận dạng bảng, ngoài ký tự, còn xử lý ranh giới ô, phạm vi gộp, sự phân tách giữa vùng tiêu đề và vùng dữ liệu, cùng quan hệ tọa độ của từng giá trị. Nhiều bảng không có đường kẻ, nên phải xác định ranh giới được ngầm hiểu qua lề và căn lề, chứ không chỉ dựa vào đường kẻ nhìn thấy.
Thứ hai, mục tiêu khác nhau. Mục tiêu của OCR là chép đầy đủ các ký tự đã viết. Mục tiêu của nhận dạng bảng là tạo ra dữ liệu có cùng cấu trúc với bảng gốc. Với cùng một bảng, OCR xếp chuỗi ký tự trong từng ô theo thứ tự, còn nhận dạng bảng khôi phục một lưới có tọa độ hàng và cột rồi điền giá trị vào đó.
Thứ ba, chỉ số đánh giá khác nhau. OCR được đo bằng độ chính xác theo ký tự hoặc độ chính xác dựa trên độ tương đồng. Nhận dạng bảng được đo bằng độ tương đồng cấu trúc bảng (TEDS). Chỉ số này chuyển bảng đã trích xuất thành cây rồi đo mức độ khớp với cây của bảng gốc, nên dù mọi giá trị ô đều đúng, điểm vẫn giảm nếu phạm vi gộp sai. Đây là lý do việc quyết định áp dụng chỉ dựa trên độ chính xác văn bản có thể cho kết quả khác với dự kiến đối với tài liệu chủ yếu là bảng.
Hai công nghệ này không thay thế lẫn nhau. Ký tự mà OCR không đọc được thì nhận dạng bảng cũng không thể điền vào, còn khi nhận dạng bảng thất bại, những ký tự đã đọc đúng cũng không có chỗ để đặt. Thứ tự đúng là xếp khôi phục cấu trúc lên trên nhận dạng ký tự.
Để đưa nhận dạng bảng vào nghiệp vụ cần những gì
Sáu điều kiện để chạy nhận dạng bảng trong vận hành thực tế
Thứ nhất, phải xác định chính xác phạm vi ô gộp. Một ô được gộp đồng thời theo hàng và cột sẽ làm một giá trị đại diện cho nhiều hàng. Lấy ví dụ tài liệu của chính quyền địa phương về thủ tục hoàn trả kinh phí chi tiêu. Giá trị "trực tiếp" ở cột phân loại bao trùm cả ba hàng bên dưới, tiền quốc gia và tiền tỉnh được chia nhỏ thành số dư và lãi, bên dưới nữa lại chia thành mục thu và mục chi. Nếu phạm vi gộp bị xác định sai, tài khoản hoàn trả của một dự án ủy thác sẽ bị gắn vào tài khoản của một dự án trực tiếp của tỉnh.
Thứ hai, phải khôi phục đường dẫn mục mà giá trị thuộc về trong tiêu đề nhiều tầng. Biểu mẫu hành chính và tờ khai thuế thường có tiêu đề xếp hai hoặc ba tầng. Để lấy một giá trị, cần toàn bộ đường dẫn từ tiêu đề cấp trên xuống, chứ không chỉ một tên cột. Trong tờ khai thuế thu nhập tổng hợp, giá trị 39.460.000 chỉ có nghĩa rõ ràng khi đi qua ba tầng: thuế quyết định, mục đánh thuế tổng hợp, và thuế thu nhập tổng hợp.
Thứ ba, phải xử lý các yếu tố che khuất bảng. Tài liệu tiếp nhận thực tế có con dấu đóng lên bảng, nét gạch ngang xuyên qua và hình mờ chồng lên. Người có thể đọc tự nhiên con số dưới con dấu, nhưng với mô hình phán đoán cấu trúc, con dấu là vật cản làm mờ ranh giới ô. Chỉ một con dấu cũng có thể làm lệch sự phân tách hàng của cả bảng, khiến việc liên kết mục của mọi giá trị bên dưới bị trượt.
Thứ tư, phải liên kết với thông tin nằm ngoài bảng. Đơn vị số tiền thường được ghi trong tiêu đề bảng là nghìn won, điều kiện ngoại lệ được đính kèm bằng ký hiệu chú thích cuối trang, còn công thức kiểm tra tổng thường được mô tả bằng câu văn bên dưới bảng. Nếu chỉ cắt bảng ra, thông tin này sẽ mất và giá trị có thể sai lệch cả nghìn lần.
Thứ năm, phải đo hiệu năng bằng chỉ số cấu trúc. Nếu con số duy nhất nhận được ở giai đoạn xem xét đưa vào sử dụng là độ chính xác ký tự, thì hiệu năng bảng vẫn chưa được kiểm chứng. Hãy yêu cầu riêng độ tương đồng cấu trúc bảng và lấy giá trị đo trên chính tài liệu của mình. Ngay cả trong các đánh giá tài liệu công khai, mức khôi phục cấu trúc bảng cũng khác nhau giữa các trường hợp, cho thấy chỉ số này dao động mạnh theo loại tài liệu.
Thứ sáu, phải trả về vị trí nguồn của từng giá trị cùng với giá trị đó. Nếu không xác định được giá trị lấy từ tọa độ nào trong bản gốc, người kiểm tra sẽ phải đọc lại toàn bộ bảng chỉ để kiểm tra một giá trị đáng ngờ. Khi có thông tin vị trí, người kiểm tra có thể chỉ xem đúng ô đó trên màn hình.
Cách áp dụng nhận dạng bảng trong thực tế
Quyết định định dạng đầu ra trước
Quyết định đầu tiên của dự án không phải là chọn mô hình mà là chọn định dạng đầu ra. Bảng được nhận dưới dạng HTML, Markdown hay lược đồ JSON sẽ quyết định toàn bộ các công đoạn sau.
Với bảng có ô gộp, HTML là lựa chọn an toàn hơn. Việc gộp hàng và gộp cột có thể được biểu diễn bằng thuộc tính, nên hầu như không mất cấu trúc. Markdown dễ đọc với con người và dễ đưa vào mô hình ngôn ngữ, nhưng không có cách biểu diễn ô gộp, nên phải hoặc trải phẳng ô gộp thành các giá trị lặp lại, hoặc từ bỏ cấu trúc. Nếu tài liệu dùng để tìm kiếm và sinh nội dung, việc tạo cả hai định dạng là cách thực tế. Nếu mục đích là nhập giá trị vào hệ thống nghiệp vụ, JSON với khóa là đường dẫn mục sẽ phù hợp hơn ngay từ đầu.
Xây dựng trên phân tích bố cục, không chỉ nhận dạng ký tự
Nhận dạng bảng không phải chức năng độc lập. Nó hoạt động trên kết quả của phân tích bố cục. Thứ tự là trước hết phát hiện vùng bảng trên trang, sau đó xác định cấu trúc hàng và cột bên trong, rồi mới nhận dạng ký tự trong từng ô. Vì vậy, độ chính xác của bước phát hiện phần tử phía trước sẽ đặt giới hạn trên cho hiệu năng bảng. Trong một trường hợp, mọi phần tử đều được phát hiện và vị trí chính xác, nhưng độ tương đồng cấu trúc bảng vẫn thấp. Điều này cho thấy việc tìm vùng bảng và việc khôi phục bên trong bảng là hai bài toán có độ khó khác nhau.
Xét về mặt kỹ thuật, các phương pháp xác định tọa độ bằng quy tắc chỉ phù hợp với bảng có bố cục cố định. Các mô hình diễn giải đồng thời bố cục và ngữ cảnh của tài liệu tạo ra khác biệt với bảng không có đường kẻ hoặc bảng gộp phức tạp. Đây là lý do điểm mục bảng trong các bộ đánh giá phân tích tài liệu quốc tế vẫn chênh lệch lớn ngay cả giữa các mô hình hàng đầu.
Kiểm tra cấu trúc trên màn hình kiểm tra
Nhận dạng bảng khó đánh giá chất lượng nếu không nhìn trực tiếp kết quả. Trên màn hình chỉ liệt kê giá trị các ô, không thể biết các ô gộp đã được phát hiện đúng hay chưa, hay đường dẫn tiêu đề có đúng không.
Vì vậy, môi trường kiểm tra cần đặt ảnh tài liệu gốc và bảng đã khôi phục cạnh nhau, và khi chọn một giá trị thì ô tương ứng trong bản gốc được hiển thị. Hiển thị thêm đường dẫn tiêu đề cho phép thấy ngay giá trị thuộc mục nào. Khi người kiểm tra có thể chỉ vào những ô đáng ngờ thay vì đọc lại toàn bộ bảng, việc vận hành theo hướng tập trung vào ngoại lệ trở nên khả thi ngay cả với tài liệu có nhiều bảng.
Trong giai đoạn vận hành, nên thu thập các chỉnh sửa mà người kiểm tra đã thực hiện. Nếu cùng một ô ở cùng một mẫu biểu bị sửa lặp đi lặp lại, đó là căn cứ để bổ sung quy tắc xử lý cho mẫu biểu đó.
Nhận dạng bảng trong môi trường tại Hàn Quốc
Tài liệu tại Hàn Quốc có một số điều kiện mà các giải pháp nước ngoài thường không chuẩn bị sẵn.
Trước hết là định dạng tài liệu. Các cơ quan công quyền và nhiều doanh nghiệp dùng tài liệu của trình soạn thảo chữ Hàn, và bảng trong định dạng này có cách xử lý thuộc tính ô và lề khác với các định dạng khác. Nếu thông tin gộp bị mất trong quá trình chuyển đổi định dạng, các bước sau không thể khôi phục, nên phải kiểm tra việc hỗ trợ định dạng này ngay từ bước chuyển đổi tài liệu.
Tiếp theo là cấu trúc của chính biểu mẫu. Biểu mẫu hành chính và tờ khai thuế có số thứ tự mục, ký hiệu số khoanh tròn và câu hướng dẫn cách tính ngay trong một bảng. Một ô trong bảng thường là hướng dẫn cách điền chứ không phải dữ liệu. Nếu trích xuất những ô này như giá trị, dữ liệu nghiệp vụ sẽ bị nhiễm bẩn, nên cần có phán đoán để phân biệt câu hướng dẫn với giá trị đầu vào.
Cuối cùng là tình trạng của tài liệu. Các bản fax độ phân giải thấp, ảnh chụp trên sàn nhà có nếp nhăn và bóng đổ, cùng tài liệu được gửi lại nhiều lần khiến tiêu đề chồng lên nhau đều xuất hiện trong khay tiếp nhận thực tế. Trong những điều kiện này, các đường kẻ bị đứt hoặc nhòe, nên chỉ bám theo đường kẻ không thể khôi phục bảng.
Ngoài ra, các tổ chức tài chính và công quyền thường chịu quy định tách mạng nên bị hạn chế gọi API bên ngoài. Việc toàn bộ quy trình xử lý tài liệu, bao gồm nhận dạng bảng, có thể chạy trong mạng nội bộ hay không là cửa ải đầu tiên của việc thẩm định kỹ thuật.
Câu hỏi thường gặp
Nếu độ chính xác nhận dạng văn bản cao thì bảng cũng sẽ tốt chứ?
Không. Trong cùng một đánh giá, đã có trường hợp độ tương đồng văn bản cao nhưng độ tương đồng cấu trúc bảng thấp hơn nhiều. Hai chỉ số đo những thứ khác nhau nên hiệu năng bảng phải được kiểm tra riêng.
Độ tương đồng cấu trúc bảng bao nhiêu phần trăm là đủ?
Tùy tài liệu. Đã có trường hợp mức khôi phục cấu trúc bảng khác nhau rất nhiều giữa tài liệu công quyền có cấu trúc đơn giản, tài liệu hành chính có tiêu đề nhiều tầng và ô gộp, và biểu mẫu khai thuế. Lấy giá trị đo trên tài liệu của chính đơn vị làm chuẩn sẽ chính xác hơn.
Có xử lý được bảng có nhiều ô gộp không?
Được. Tuy nhiên, phải cùng lúc quyết định định dạng đầu ra. Nếu không nhận kết quả ở định dạng có thể biểu diễn thông tin gộp, thì dù mô hình xác định đúng cấu trúc, thông tin đó vẫn biến mất trong kết quả.
Nếu có con dấu đóng lên bảng thì sao?
Vẫn xử lý được. Con dấu là yếu tố che ranh giới ô, nên nó ảnh hưởng đến việc phán đoán cấu trúc nhiều hơn là nhận dạng ký tự. Khi kiểm chứng bằng tài liệu tiếp nhận thực tế, nên đưa cả các trường hợp như vậy vào.
Bảng trong tài liệu của trình soạn thảo chữ Hàn có được hỗ trợ không?
Có. Định dạng này xử lý thuộc tính bảng theo cách riêng, nên cấu trúc dễ bị mất trong bước chuyển đổi. Khi thẩm định đưa vào sử dụng, hãy kiểm tra xem có xử lý được ngay trên định dạng gốc hay không.
Bảng không có đường kẻ có được nhận dạng không?
Có. Ngay cả khi không có đường kẻ nhìn thấy, ranh giới được ngầm hiểu qua lề và căn lề vẫn được xác định. Tuy nhiên, các bảng này khó hơn, nên nhất thiết phải đưa vào tài liệu kiểm chứng.
Có chạy được trong môi trường tách mạng không?
Được. Nếu triển khai dạng cài đặt trên máy chủ bên trong mạng của khách hàng thì hoạt động mà không cần giao tiếp với bên ngoài.
Chỉ cần gửi cho chúng tôi một loại tài liệu nhiều bảng, chúng tôi sẽ trả lại kết quả khôi phục cấu trúc đúng như vậy.
Liên hệ



