Chương 1 giới thiệu chung về đề tài, mục tiêu đề tài và tổng quan của báo cáo. Chương 2 trình bày các kiến thức nền tảng về Quy trình phân loại văn bản,K-Nearest Neighbors. Chương 3 trình bày các nghiên cứu liên quan đến đề tài. Chương 4 trình bày hướng tiếp cận luận văn.
Chương 5 trình bày các thí nghiệm trong giai đoạn luận văn. Chương 6 Ứng dụng. Chương 7 Tổng kết. 2 Chương 2 Kiến thức nền tảng 2.1 Tesseract OCR Các tài liệu hoặc bài báo có chức năng cập nhật về Tesseract đã không được phát hành kể từ năm 2007.
Tuy nhiên, những chi tiết thú vị đã được trình bày trong hội nghị DAS 2014. Tesseract hiện có thể nhận ra một số ngôn ngữ đồng thời và có thể chạy trong nhiều trường hợp trong các luồng riêng biệt.1 Kiến trúc Kiến trúc phân tích Tesseract được xây dựng trong một quy trình lặp đi lặp lại, ngoại trừ nó truy cập lại các bước cũ. Việc công nhận được thực hiện hai lần; trong lần chạy nhận dạng đầu tiên, bộ phân loại tĩnh được sử dụng và trong lần thứ hai, bộ phân loại thích ứng được sử dụng. Tesseract được thiết kế để nhận dạng văn bản ngay cả khi nó có một độ lệch nhỏ mà không cần phải giải mã hình ảnh, mặc dù tốt hơn là để văn bản nằm ngang để nhận dạng tốt hơn.
Phần đầu tiên của quá trình công nhận là phân tích thành phần được kết nối. Nó bao gồm tìm dòng, điều chỉnh đường cơ sở, phân đoạn ký tự và từ. Sau đó, mọi từ được truyền trong bộ phân loại tĩnh được đưa vào bộ phân loại thích ứng để đào tạo. Trong lần nhận dạng thứ hai, bộ phân loại thích ứng được sử dụng và các từ không được bộ phân loại tĩnh nhận dạng trước đây giờ có thể được nhận dạng, xem Hình 2.
Nhận diện thông tin thành phần sản phẩm 3 Kiến thức nền tảng 4 Hình 2.1: Thành phần kiến trúc Tesseract 2.1 Tìm đường cơ sở Thành phần quan trọng để tìm đường cơ sở là lọc đốm màu và xây dựng đường. Một đốm màu là một từ, hoặc một ký hiệu hoặc bất kỳ nội dung nào không được kết nối với phần còn lại của hình ảnh (Hình 2. Chiều cao trung bình của các đốm màu là gần đúng, giúp động cơ lọc ra và loại bỏ tất cả các đốm màu nhỏ, thường là dấu chấm câu hoặc là nhiễu.2: Một ví dụ về việc tìm hai đường cơ sở từ 7 dòng đốm màu, một đường cho mỗi từ. Các đốm màu có khả năng phù hợp mà không chồng lên nhau và song song với cùng một độ dốc.
Các đốm màu không nhất thiết phải được nhận ra sau cái khác theo đúng thứ tự. Để theo dõi vị trí của các đốm màu, chúng được gán một tọa độ x. Điều này làm giảm tác động xấu cuối cùng của việc gán một văn bản không chính xác khi có hiện tượng lệch. Sau khi mọi đốm màu được gán cho một dòng, trung vị nhỏ nhất của các ô vuông vừa vặn được sử dụng để tính gần đúng các đường cơ sở.
Các đốm màu sau đó được lắp trở lại vào các dòng được chỉ định của chúng 4 Kiến thức nền tảng 5 2.2 Cơ sở phù hợp Khi các đường đốm màu đã được tìm thấy, Tesseract sẽ kiểm tra chúng kỹ hơn một chút. Các đường cơ sở được sắp xếp chính xác hơn với một đường spline bậc hai, tức là bốn đường thẳng song song phân tích đốm màu. Tính năng này rất hữu ích giúp Tesseract xử lý các từ cong; ví dụ: những cuốn sách được quét trong đó các từ thường được uốn cong ở giữa gần các bìa sách.3 Phân đoạn từ Các từ có các ký tự có cùng độ rộng chính xác (cao độ cố định) được coi là một trường hợp đặc biệt, các từ được cắt bằng nhau dựa trên cao độ và được đánh dấu để nhận dạng. Tuy nhiên, hầu hết các ký tự trong từ có các cao độ khác nhau và phải được xử lý riêng biệt, có thể thấy trong Hình 2.3: Ví dụ về một từ có biên độ gần như cố định (n).
Chỉ có biên độ của chữ cái i là có sự khác biệt với các ký tự khác. Tesseract xử lý các cao độ khác nhau bằng cách đo các khoảng trống trong một phạm vi dọc giới hạn giữa đường cơ sở và đường trung bình [16]. Khi nó tìm thấy không gian quá gần ngưỡng, nó đánh dấu không gian đó là không gian mờ. Tesseract sau đó chuyển nó đi để đưa ra quyết định sau này trong lần ghi nhận thứ hai khi bộ phân loại thích ứng có thể đã học được nhiều thông tin hữu ích hơn.
Phân đoạn ký tự Tesseract cố gắng giải quyết việc phân đoạn các ký tự bằng cách cắt nhỏ các đốm màu được bộ phân loại ký tự gán cho độ tin cậy kém nhất. Các điểm chặt ứng cử viên tiềm năng được tìm thấy từ các đỉnh lõm của một hình gần đúng đa giác của các đường viền ngoài [16] (xem Hình 2. 5 Kiến thức nền tảng 6 Hình 2.4: Candidate chop points in the blob Các lát cắt được xếp theo thứ tự ưu tiên. Bất kỳ bước cắt nào không cải thiện được độ tin cậy của kết quả sẽ được hoàn tác, nhưng không bị loại bỏ hoàn toàn.
Nó sẽ được phân tích một lần nữa bởi liên kết ký tự bị hỏng 2.4 Liên kết các ký tự bị hỏng Nếu tất cả các phần tiềm năng đã được thử và từ đó vẫn không đủ tốt, nó sẽ được trao cho người cộng sự. Công cụ kết hợp thử các đoạn ứng cử viên khác nhau từ hàng đợi được ưu tiên và đánh giá chúng bằng cách phân loại các tổ hợp đoạn chưa được phân loại. Smith tuyên bố rằng cách tiếp cận này tốt nhất là không hiệu quả, tệ nhất là có thể bỏ lỡ các bước quan trọng. Nhưng ưu điểm là các từ bị thiếu các mảnh vụn quan trọng vẫn có thể được nhận ra [16], ví dụ về có thể thấy trong Hình 2.5: Một từ dễ dàng được nhận ra nhờ cách tiếp cận liên kết 2.5 Phân loại ký tự Việc phân loại ký tự được chia thành hai lần vượt qua, vượt qua 1 và vượt qua 2.
Lần vượt qua đầu tiên là thông qua bộ phân loại tĩnh và lần thứ hai là thông qua bộ phân loại thích ứng. Bước đầu tiên bao gồm chuyển qua bộ phân loại tĩnh, các đường viền được trích xuất từ ký tự được nhận dạng. Các đối tượng địa lý có độ dài cố định có kích thước khác nhau được trích xuất từ các phác thảo và so khớp nhiều đối một với một tham chiếu từ dữ liệu đào tạo. Mặc dù các phác thảo ký tự đôi khi thiếu các chi tiết cụ thể để được xác minh trực tiếp với một tham chiếu, công cụ có thể sử dụng phép gần đúng đa giác để khớp các ký tự bị hỏng liên quan với một tham chiếu (xem Hình ??).
6 Kiến thức nền tảng 7 Hình 2.6: Bộ phân loại ký tự tĩnh có thể nhận ra các ký tự hoàn chỉnh và bị hỏng Mọi ký tự được so khớp thành công bởi bộ phân loại tĩnh sẽ được gửi vào bộ phân loại thích ứng để đào tạo. Việc đào tạo này là cần thiết cho bước thứ hai của quá trình nhận dạng, nơi nó sẽ sử dụng thông tin chung thu thập được từ bộ phân loại tĩnh để giúp nó khớp với các ký tự bị lỗi trước đó. Tất cả các khoảng trống mờ cùng với các từ hiện được bộ phân loại thích ứng xem xét, khi một ký tự vượt qua bộ phân loại thích ứng thì có thể yên tâm coi đó là một ký tự phù hợp.6 Phân loại từ Tesseract cũng hỗ trợ chức năng nhận dạng từ. Nó được thực hiện bằng cách tách các ký tự trong một từ, và sau đó nối chúng lại với nhau từng chữ một.
Trong khi ghép các ký tự lại với nhau, thuật toán liên tục so sánh từ hiện tại với một mô hình ngôn ngữ. Nếu ký tự hiện tại không cải thiện được độ tin cậy của từ thì kết quả sẽ được hoàn tác. Nếu độ tin cậy cao nhất đủ cao thì nó được coi là một từ hoàn chỉnh. Một ví dụ trực quan từ DAS 2014 [29] được hiển thị trong Hình 2.7: Tesseract Word recognizer 2.2 Ngôn ngữ Tesseract hỗ trợ nhiều ngôn ngữ (xem Phụ lục A.1 để biết đầy đủ chi tiết) và dễ dàng cho rằng thống kê nhận dạng có chung các lỗi bất kể ngôn ngữ.1 dưới đây cho thấy khác nhau, tỷ lệ lỗi khác nhau phần lớn tùy thuộc vào ngôn ngữ được chọn.
Việc nhận dạng phụ thuộc vào dữ liệu đào tạo của nó, ngôn ngữ càng có nhiều dữ liệu thì khả năng nhận dạng càng chính xác. Công cụ OCR được phát triển và thử nghiệm với ngôn ngữ tiếng Anh, làm cho việc học các ngôn ngữ khác có cùng ký tự chữ cái trở nên đơn giản và khá dễ dàng. Nhưng các ngôn ngữ không có chung các chữ cái trong bảng chữ cái 7 Kiến thức nền tảng 8 Ngôn ngữ Tỉ lệ ký tự lỗi Tỉ lệ từ lỗi English 0.1: Tesseract error rate result from 2014 có thể bị ảnh hưởng như chúng ta thấy trong bảng bên dưới. Mặc dù tỷ lệ lỗi là khá thấp, nhưng xu hướng dường như là Tesseract có khả năng nhận dạng ổn định khi nhận dạng các chữ cái theo bảng chữ cái.
Có thể nói rằng tỷ lệ lỗi liên tục tăng lên khi các ngôn ngữ không phải bảng chữ cái khác được nhận dạng. Điều này có thể có nghĩa là các ngôn ngữ thiếu dữ liệu đào tạo để có kết quả chính xác hơn, nhưng cũng có thể là động cơ không có khả năng phân loại các chữ cái "giống như biểu tượng" từ các ngôn ngữ khác. Như đã nêu trước đây: bằng cách sử dụng trình phân loại Mạng thần kinh (NN) mới, tỷ lệ lỗi ngôn ngữ Hindi đã giảm 50%. Tuy nhiên, đây không phải là dấu hiệu trực tiếp cho thấy bộ phân loại của Tesseracts được thiết kế kém; nó có thể là một lỗ hổng tiềm ẩn trong thuật toán cắt, nơi có thể rất khó cắt các từ tiếng Hindi, vốn có thiết kế bố cục rất khác so với các chữ cái trong bảng chữ cái.
Sự khác biệt lớn nhất giữa ngôn ngữ và biểu tượng là các ký tự có xu hướng có đường viền độc đáo mà không có bất cứ thứ gì bên trong. Nơi mà các biểu tượng có thể chia sẻ các đường viền với các bên trong phức tạp. Điều này chỉ ra rằng Tesseract có thể sẽ gặp khó khăn khi nhận ra các ký hiệu có chung đường viền, nhưng sẽ thành công nhận ra các biểu tượng đường viền độc đáo.