Mô phỏng cơ chế tính toán trong mô hình GAT Nguồn [36]

Một phần của tài liệu Xây dựng mô hình trích xuất thông tin trong các văn bản hành chính (Trang 60 - 65)

8 Tổng kết

5.8 Mô phỏng cơ chế tính toán trong mô hình GAT Nguồn [36]

Việc thêmattention coefficientđã giúp mô hình tập trung vào những đặc trưng của các nút quan trọng, ảnh hưởng nhiều đến nút đang xét và loại bỏ nhiễu trong quá trình tổ hợp.

Bên cạnh đó, để ổn định cho quá trình tổ hợp thông tin, tác giả đã đề xuất mở rộng thêm cơ

chế tính toán hệ sốattentionbằng cơ chếmulti-head attention (Hình 5.8b), mỗihead sẽ thực

hiện tính toán độc lập với nhau. Sự mở rộng này nhằm mục đích đa dạng hơn cách các nút chú ý vào các nút khác, từ đó đa dạng và tổng quát hơn cách tổ hợp thông tin cũng như thông tin tổ hợp được.

Chương 6

Hiện thực hệ thống 6.1 Phát hiện vùng văn bản 6.1.1 Tiền xử lý và làm giàu dữ liệu

Về phần tiền xử lý, chúng tôi đã tiến hành thu giảm chiều cao của textline xuống còn 70% so với chiều cao thực tế nhằm giúp cho mô hình tập trung vào textline hơn và tránh hiện tượng bị gộp nhiều textline với nhau. Cùng với đó, dữ liệu được chuẩn hóa với trung bình và độ lệch chuẩn đều có độ lớn 127.5. Cuối cùng, một kỹ thuật được gọi là Padding to square được áp dụng để tiền xử lý ảnh đầu vào giúp cho ảnh đầu vào không bị hiện tượng méo mó, gây mất thông tin. Và rồi ảnh đầu vào sẽ được thay đổi về một kích thước cố định (trong trường hợp này là 1024×1024).

Đối với phần làm giàu dữ liệu, đây là một điều cần thiết đối với một mô hình học sâu để giúp mô hình học một cách tổng quát nhất có thể. Điều này lại càng bắt buộc đối với các bài toán với dữ liệu ít như trong hệ thống này. Vì thế, chúng tôi đã áp dụng một số kỹ thuật làm giàu dữ liệu đơn giản như biến đổi hình học (Geometric transformation), thêm nhiễu,... Các kỹ thuật làm giàu dữ liệu này được làm giàu ngẫu nhiên trong quá trình huấn luyện. Điều này giúp mô hình học một cách khách quan hơn.

6.1.2 Huấn luyện

Việc huấn luyện mô hình được thực hiện dựa trên hàm lỗi CrossEntropy và DiceLoss, bộ tối ưu (optimizer) Stochastic gradient descent (SGD) với tốc độ học 0.01, momentum 0.9.

Về môi trường huấn luyện, chúng tôi đã tận dụng Google Colab Pro với các thông số như sau:

• OS: Ubuntu 18.04.5 LTS.

• CPU: Intel(R) Xeon(R) CPU @ 2.30GHz x 4 Cores.

• GPU: 1 x Tesla K80, 2496 CUDA cores, 12GB GDDR5 VRAM.

• RAM: 26GB.

• Disk: 226GB SSD.

6.1.3 Hậu xử lý

Hậu xử lý là một bước không thể thiếu trong một mô hình học sâu hoàn chỉnh. Trong mô-đun này, chúng tôi thực hiện ba bước hậu xử lý chính như sau:

• Dùng toán từ hình thái học Opening với kernel kích thước 3x3 để khử các trường hợp

nhiễu nhằm tránh hiện tượng bị gộp vùng văn bản.

• Xóa những vùng bản bản nhỏ không mong muốn bằng ngưỡng theo diện tích vùng văn

bản.

• Mở rộng chiều cao của vùng văn bản để giúp mô hình tránh cắt xén vùng văn bản.

6.2 Nhận diện ký tự quang học6.2.1 Tiền xử lý và làm giàu dữ liệu 6.2.1 Tiền xử lý và làm giàu dữ liệu

Trong mô-đun này, chúng tôi sẽ huấn luyện lại công cụ Tesseract OCR cho việc nhận diện ký tự tiếng Việt từ bộ trọng số có sẵn. Công cụ này cần một lượng rất lớn dữ liệu để huấn luyện, do đó chúng tôi phải tiến hành làm giàu dữ liệu từ bộ dữ liệu gốc mà chúng tôi có.

Dữ liệu gốc

Về bộ dữ liệu gốc, chúng tôi có 162 hình chụp văn bản với yêu cầu:

• Là văn bản có cấu trúc, tức là văn bản được đánh máy, có hàng lối, font chữ tiêu chuẩn.

• Đều là văn bản có chữ đen, nền trắng.

• Độ lệch của từng dòng văn bản không quá5độ.

Do cách tiếp cận của chúng tôi áp dụng lên công cụ Tesseract là từng dòng độc lập (textline), coi hình ảnh là một dòng văn bản duy nhất, nên từ một văn bản lớn, chúng tôi tiến hành bóc tách từng dòng độc lập. Mỗi dòng là một mẫu dữ liệu đi kèm với nhãn, chính là nội dung của dòng đó.

Dữ liệu làm giàu

Do công cụ Tesseract OCR cần lượng rất lớn dữ liệu để huấn luyện, nên chúng tôi bắt buộc phải sử dụng các phương pháp tăng cường dữ liệu áp dụng vào bộ dữ liệu chúng tôi có để giải quyết vấn đề này. Các phương pháp làm giàu chúng tôi sử dụng bao gồm làm giàu về nội dung và làm giàu về hình ảnh. Về nội dung, chúng tôi tiến hành thu thập thêm các mẫu dữ liệu ở bên ngoài, là các đoạn văn bản tiếng Việt, đánh máy, có font chữ giống với font chữ được sử dụng trong văn bản hành chính. Về hình ảnh, chúng tôi dùng các phương pháp như: làm mờ, thêm nhiễu, tăng-giảm độ sáng, tăng-giảm độ tương phản, thay đổi nền.

6.2.2 Huấn luyện

Về công cụ, chúng tôi sử dụng Tesseract OCR phiên bản 4.0.0-beta.1, leptonica-1.75.3. Chúng tôi sử dụng phiên bản này do đây là phiên bản có rất nhiều cải tiến, hoạt động ổn định, được hỗ trợ lâu dài và là phiên bản mặc định khi cài đặt.

Về môi trường, chúng tôi tiến hành huấn luyện lại bằng CPU do Tesseract OCR không hỗ trợ trên GPU. Công cụ chúng tôi sử dụng để hiện thực là Google Colab Pro với các thông số:

• OS Ubuntu 18.04.5 LTS.

• CPU Intel(R) Xeon(R) CPU @ 2.30GHz x 4 Cores.

• RAM 26GB.

6.3 Trích xuất thông tin6.3.1 Mô hình hóa đồ thị 6.3.1 Mô hình hóa đồ thị

Để giải quyết vấn đề trích xuất thông tin dựa trên Graph Neural Network, trước hết chúng ta cần biểu diễn thông tin của hình ảnh văn bản dưới dạng đồ thị. Ý tưởng chính trong phần graph modeling này được dựa trên đề xuất của tác giả D. Lohani, A. Belaıd và Y. Belaıd [39].

Một phần của tài liệu Xây dựng mô hình trích xuất thông tin trong các văn bản hành chính (Trang 60 - 65)

Tải bản đầy đủ (PDF)

(89 trang)