Trang - i- ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN&TRUYỀN THÔNG -----------------------------------
NGÔ MINH HIẾU TÌM HIỂU PHƯƠNG PHÁP ĐÁNH GIÁ ĐỘ CHÍNH XÁC
CỦA CÁC HỆ THỐNG NHẬN DẠNG CHỮ VIỆT
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên 2015
Trang - ii- ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN&TRUYỀN THÔNG =================== NGÔ MINH HIẾU TÌM HIỂU PHƯƠNG PHÁP ĐÁNH GIÁ ĐỘ CHÍNH XÁC
CỦA CÁC HỆ THỐNG NHẬN DẠNG CHỮ VIỆT
Chuyên ngành: Khoa học máy tính Mã số:60 48 01 01
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC TS. NGUYỄN THỊ THANH TÂN Thái Nguyên 2015
Trang - 1-
LỜI CAM ĐOAN
Tôi xin cam đoan rằng bản luận văn này là tự thân nghiên cứu và hoàn
thành dưới sự hướng dẫn khoa học của TS. Nguyễn Thị Thanh Tân. Nếu có gì
vi phạm tôi xin hoàn toàn chịu trách nhiệm.
Thái Nguyên, ngày tháng năm 2015
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
Ngô Minh Hiếu
Trang - 2-
LỜI CẢM ƠN
Lời đầu tiên tôi xin gửi lời cảm ơn chân thành và lòng biết ơn sâu sắc tới
TS Nguyễn Thị Thanh Tân, người đã chỉ bảo và hướng dẫn tận tình cho tôi và
đóng góp ý kiến quý báu trong suốt quá trình học tập, nghiên cứu và thực hiện
luận văn này.
Tôi xin trân trọng cảm ơn Ban giám hiệu Trường Đại học Công nghệ
Thông tin và Truyền thông, Đại học Thái Nguyên, khoa CNTT đã giúp đỡ và
tạo các điều kiện cho chúng tôi được học tập và làm khóa luận một cách thuận
lợi.
Và cuối cùng tôi xin gửi lời cảm ơn đến gia đình, người thân và bạn bè,
những người luôn bên tôi và là chỗ dựa giúp cho tôi vượt qua những khó khăn
nhất. Họ luôn động viên tôi khuyến khích và giúp đỡ tôi trong cuộc sống và
công việc cho tôi quyết tâm hoàn thành luận văn này.
Tuy nhiên do thời gian có hạn, mặc dù đã nỗ lực cố gắng hết mình nhưng
chắc rằng luận văn khó tránh khỏi những thiếu sót. Rất mong được sự chỉ bảo,
góp ý tận tình của quý Thầy Cô và các bạn.
Tôi xin chân thành cảm ơn! Thái Nguyên, ngày tháng năm 2015
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
Ngô Minh Hiếu
Trang - 3-
MỤC LỤC
LỜI CAM ĐOAN ......................................................................................... 1 LỜI CẢM ƠN ............................................................................................... 2 MỤC LỤC .................................................................................................... 3 HÌNH VẼ ...................................................................................................... 5 BẢNG ............................................................................................................ 6 DANH MỤC CÁC TỪ VIÊT TẮT .............................................................. 7 MỞ ĐẦU ....................................................................................................... 8 CHƯƠNG 1 - TỔNG QUAN VỀ NHẬN DẠNG CHỮ ............................ 12 1.1.Qui trình chung của một hệ nhận dạng chữ .................................... 12 1.1.1.Phân lớp mẫu ............................................................................... 12 1.1.2.Nhận dạng văn bản ....................................................................... 13 1.2.Tìm hiểu một số phần mềm nhận dạng chữ .................................... 16 1.2.1.VnDOCR .................................................................................. 16 1.2.2.FineReader ................................................................................... 18 1.2.3.OmniPage ..................................................................................... 20 1.2.4. VietOCR ..................................................................................... 20 1.3. Những vấn đề ảnh hưởng tới chất lượng của một phần mềm nhận dạng ......................................................................................................... 22 1.3.1.Chữ bị dính, nhòe ......................................................................... 23 1.3.2.Văn bản bị đứt hoặc mất nét ......................................................... 24 1.3.3.Văn bản bị nhiễu .......................................................................... 25 1.3.4.Văn bản được in với các kiểu font chữ đặc biệt ............................ 26 1.3.5.Cỡ chữ quá lớn hoặc quá nhỏ ....................................................... 26 1.4.Kết luận ............................................................................................. 27 CHƯƠNG 2 - PHƯƠNG PHÁP ĐÁNH GIÁ HIỆU QUẢ CỦA CÁC
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
THUẬT TOÁN NHẬN DẠNG CHỮ VIỆT .............................................. 28 2.1. Một số khái niệm ............................................................................... 28 2.2. Bài toán hiệu chỉnh chuỗi ký tự (string editing) ................................. 29 2.3. Thuật toán Ukkonen........................................................................... 34
Trang - 4-
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
2.4. Đánh giá độ chính xác mức ký tự ....................................................... 40 2.5. Đánh giá độ chính xác mức ký tự theo lớp mẫu ................................. 44 2.6. Hiệu quả của các ký tự đánh dấu ........................................................ 44 2.7. Độ chính xác mức từ .......................................................................... 46 CHƯƠNG 3 :THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ ................... 51 3.1.Phân tích, cài đặt chương trình ........................................................ 51 3.1.1.Quy trình thực hiện ...................................................................... 51 3.1.2.Các cấu trúc dữ liệu ...................................................................... 52 3.1.3.Danh sách các từ dừng trong tiếng Việt ........................................ 54 3.1.4 Danh sách các ký tự đặc biệt ........................................................ 55 3.1.5.Module đánh giá độ chính xác mức ký tự ..................................... 56 3.1.6.Module đánh giá độ chính xác mức từ .......................................... 58 3.2.Đánh giá thực nghiệm ....................................................................... 65 3.2.1Dữ liệu thực nghiệm ...................................................................... 65 3.2.2 Kết quả thực nghiệm .................................................................... 68 3.3.Kết luận chương 3 ............................................................................. 70 KẾT LUẬN ................................................................................................. 71 DANH MỤC TÀI LIỆU THAM KHẢO ................................................... 72
Trang - 5-
HÌNH VẼ
Hình 1.1: Qui trình chung của một hệ thống nhận dạng chữ ......................... 15
Hình 1.2. Màn hình làm việc của VnDOCR ................................................. 17
Hình 1.3. Màn hình kết quả phân tích và nhận dạng ảnh hình 1.7 ................. 18
Hình 1.4 Màn hình làm việc của OmniPage ................................................. 20
Hình 1.5 Màn hình làm việc của VietOCR ................................................... 21
Hình 1.6 Trường hợp văn bản in đậm ........................................................... 23
Hình 1.7: Một số hình ảnh bị biến dạng của các ký tự .................................. 23
Hình 1.8 Hình ảnh các ký tự tiếng Việt bị nhập nhằng phần dấu .................. 24
Hình 1.9 Trường hợp văn bản bị đứt và mất nét ........................................... 24
Hình 1.10 Hình ảnh của ký tự bị biến dạng do lỗi đứt nét ............................. 24
Hình 1.11 Một số dạng nhiễu thường gặp trên văn bản................................. 25
Hình 1.12 Văn bản bị các nhiễu đánh dấu .................................................... 25
Hình 1.13 Văn bản bị nhiễu do bị chồng chữ ký/con dấu ............................. 26
Hình 1.14 Văn bản được in với kiểu font chữ đặc biệt .................................. 26
Hình 2.1: Đồ thị G(A,B), với A = zxy và B = xyxz ...................................... 32
Hình 2.2: Các đường đi trên đồ thị G(A, B) .................................................. 33
Hình 2.3: Sự tương ứng giữa chuỗi văn bản nhận dạng và văn bản mẫu ....... 42
Hình 2.4: Độ chính xác mức từ..................................................................... 48
Hình 3.1 Quy trình thực hiện của chương trình ............................................ 52
Hình 3.2: Kết quả đánh giá độ chính xác mức ký tự trên một văn bản tiếng Anh
..................................................................................................................... 61
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
Hình 3.3: Đánh giá độ chính xác mức từ trên 1 file văn bản tiếng Anh ......... 65
Trang - 6-
BẢNG Bảng 2.1: Giải thuật cho bài toán chỉnh sửa chuỗi ........................................ 33
Bảng 2.2: Độ chính xác mức ký tự ............................................................... 43
Bảng 3.1 Bảng danh sách các từ dùng trong tiếng Việt ................................. 55
Bảng 3.2 Thông tin các thao tác hiệu chỉnh .................................................. 57
Bảng 3.3 Thông tin về đánh giá độ chính xác mức ký tự .............................. 57
Bảng 3.4: Các tập dữ liệu tiếng Anh ............................................................. 66
Bảng 3.5: Các tập dữ liệu Tiếng Việt............................................................ 67
Bảng 3.6: Độ chính xác mức ký tự trên tập dữ liệu tiếng Anh ...................... 68
Bảng 3.7: Độ chính xác mức ký tự trên các tập dữ liệu tiếng Việt ................ 69
Bảng 3.8: Độ chính xác mức từ trêntập dữ liệu tiếng Anh ............................ 69
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
Bảng 3.9: Độ chính xác mức từ tập dữ liệu tiếng Việt .................................. 69
Trang - 7-
DANH MỤC CÁC TỪ VIÊT TẮT
STT Từ viết tắt Ý nghĩa Nội dung
1 NLP
2 LCS Xử lý ngôn ngữ tự nhiên Dãy chung dài nhất
3 OCR
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
Natural Language Processing Longest common subsequence Optical Character Recognition Nhận dạng ký tự quang học
Trang - 8-
MỞ ĐẦU
1. Tính cấp thiết của luận văn
Nhận dạngmẫu là một ngành khoa học mà vai trò của nó là phân lớp các
đối tượng thành một số loại hoặc một số lớp riêng biệt.Tuỳ thuộc vào lĩnh vực
ứng dụng, các đối tượng có thể ở dạng ảnh, dạng tín hiệu sóng hoặc một kiểu
dữ liệu bất kỳ nào đó mà cần phải phân lớp. Những đối tượng này được gọi
bằng một thuật ngữ chung đó là “mẫu” (pattern). Nhận dạng mẫu đã được biết
đến từ rất lâu, nhưng trước những năm 1960 nó hầu như chỉ là kết quả nghiên
cứu về mặt lý thuyết trong lĩnh vực thống kê. Tuy nhiên, với sự phát triển không
ngừng của khoa học kỹ thuật về phần cứng cũng như phần mềm, các yêu cầu
về mặt ứng dụng thực tế của lĩnh vực nhận dạng mẫu ngày càng tăng lên và
hiện nay nhận dạng mẫu đã được sử dụng trong rất nhiều lĩnh vực như y học,
tự động hoá một số qui trình sản xuất công nghiệp, dự báo thời tiết, dự báo cháy
rừng,v.v. Ngoài ra nhận dạng mẫu còn là thành phần quan trọng trong hầu hết
các hệ thống máy tính thông minh được xây dựng để thực hiện việc ra quyết
định.
Cùng với sự phát triển của nhận dạng mẫu, nhận dạng chữ đã và đang ngày
càng trở thành một ứng dụng không thể thiếu được trong đời sống xã hội của
con người.Nhận dạng chữ là quá trình chuyển đổi từ dạng hình ảnh của một
hay nhiều trang ảnh chứa các thông tin văn bảnthành tệp văn bản thực sự có thể
soạn thảo được trên máy tính. Ngoài ứng dụng số hóa các trang văn bản, tài
liệu, hiện tại nhận dạng chữ còn được ứng dụng rộng rãi trong các hoạt động
giao dịch hàng ngày và qui trình tự động hóa các công việc văn phòng, chẳng
hạn như nhập liệu tự động phiếu chấm thi trắc nghiệm, phiếu điều tra, nhận
dạng các dòng địa chỉ trên phong bì thư, nhận dạng nhãn sản phẩm, nhận dạng
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
thông tin cá nhân trên chứng minh nhân, hộ chiếu, card visit,v.v.
Trang - 9-
Trên thế giới, bài toán nhận dạng chữ đã được đầu tư nghiên cứu từ những
năm 50 của thế kỷ trước. Những sản phẩm nhận dạng chữ hiện đã được thương
mại hóa rộng rãi trên thị trường, điển hình như ABBYY FineReader 11 (có khả
năng nhận dạng được 189 ngôn ngữ khác nhau, kể cả tiếng Việt).Bên cạnh đó,
còn có các dòng sản phẩm được tích hợp với phần cứng của máy tính như
OmniPage, Omniform, Scanshell, v.v.. Với lợi thế có một cộng đồng nghiên
cứu rộng lớn, từ những năm 1996, Viện nghiên cứu khoa học thông tin (The
Information Science Research Institute – ISRI), thuộc trường Đại học Nevada,
Las Vegas đã kết hợp với các nhóm nghiên cứu tại Mỹ và Anh để xây dựng
một một bộ công cụ đánh giá hiệu quả của các engine nhận dạng (OCRtk) và
một cơ sở dữ liệu văn bản mẫu lớn (gồm trên 2229 trang văn bản), đa dạng về
chủng loại (sách , báo, tạp chí, fax, thư tín, báo cáo tài chính của các doanh
nghiệp, tài liệu khoa học kỹ thuật, văn bản luật, v.v.) và chất lượng. Mỗi trang
văn bản được quét với lần lượt với 3 ngưỡng độ phân giải 200, 300 và 400 dpi
với các mức độ đậm, nhạt khác nhau. Ngoài ra, để đánh giá hiệu quả của các
thuật toán nhận dạng chữ viết tay còn có các bộ dữ liệu chuẩn như đối với nhận
dạng chữ viết tay còn có các bộ dữ liệu chuẩn như MNIST, USPS, v.v.
Cùng với xu thế phát triển của thế giới, bài toán nhận dạng chữ Việt cũng
đã thu được những kết quả ứng dụng đáng kể, với các sản phẩm thương mại
hóa điển hình như sản phẩm VnDOCR (đã được ứng dụng tại hầu hết các cơ
quan, đơn vị trên toàn quốc), sản phẩm FineReader 11 (đã được ứng dụng để
số hóa tài liệu trong các dự án chính phủ điện tử). Tuy nhiên, do mới chỉ thực
sự được đầu tư nghiên cứu trong khoảng hơn chục năm trở lại đây nên các sản
phẩm nhận dạng chữ Việt chưa thể đáp ứng được hết các yêu cầu của người sử
dụng, chẳng hạn như độ chính xác nhận dạng không cao đối với chữ viết tay và
các văn bản đầu vào kém chất lượng, chỉ làm việc với ảnh đa cấp xám hoặc ảnh
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
nhị phân có nền đồng nhất,...[1]. Vì những lý do nêu trên, việc đầu tư nghiên
Trang - 10-
cứu để tiếp tục nâng cao độ chính xác của các thuật toán nhận dạng chữ Việt là
một vấn đề thực sự cần thiết, có cả ý nghĩa khoa học lẫn thực tiễn. Vấn đề lớn
nhất mà hiện nay các nhóm nghiên cứu về nhận dạng chữ Việt đang phải đối
mặt là chưa có được một bộ công cụ cũng như cơ sở dữ liệu mẫu chuẩn, phục
vụ cho việc thử nghiệm và đánh giá các thuật toán nhận dạng.
2. Mục tiêu của luận văn
Nội dung nghiên cứu của luận văn hướng tới 2 mục tiêu chính:
Xây dựng bộ công cụ đánh giá độ chính xác của các phần mềm nhận
dạng chữ Việt.
Xây dựng cơ sở dữ liệu mẫu chuẩn, phục vụ cho việc nghiên cứu,
đánh giá và thử nghiệm các thuật toán nhằm nâng cao chất lượng nhận
dạng.
Phần thực nghiệm, luận văn sẽ tiến hành đánh giá độ chính xác của một
sốphần mềm nhận dạng chữ hiện đang được thương mại hóa hoặc công
bố rộng rãi trên thị trường như VnDOCR,FineReader, Omnipage,
VietOCR...
3. Bố cục của luận văn
Các nội dung trình bày trong luận văn được chia thành 3 chương:
Chương I: Tổng quan về nhận dạng chữ
Chương này trình bày tổng quan về bài toán nhận dạng chữ, những yếu tố
ảnh hưởng tới độ chính xác của các phần mềm nhận dạng chữ.
Chương II: Phương pháp đánh giá hiệu quả của các phần mềm nhận dạng
chữ Việt
Chương này trình bày cơ sở lý thuyết của các độ đo và phương phápđánh
giá chất lượng (độ chính xác) của các hệ thống nhận dạng được đề xuất trên cơ
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
sở bài toán đối sánh hai chuỗi ký tự dựa trên ý tưởng quy hoạch động với họ
Trang - 11-
các hàmmục tiêu được xây dựng từ các chi phí của các bước hiệu chỉnh để biến
văn bản được nhận dạng thành văn bản mẫu.
Chương III: Thực nghiệm và đánh giá kết quả
Trong chương III, luận văn sẽ mô tả chi tiết quá trình cài đặt chương trình
thử nghiệm tự động đánh giá chất lượng (độ chính xác) của các phần mềm
(thuật toán) nhận dạng chữ. Chương trình được kiểm thử với các phần mềm
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
VnDOCR, FineReader, Omnipage, VietOCR, v.v.
Trang - 12-
CHƯƠNG1 - TỔNG QUAN VỀ NHẬN DẠNG CHỮ
Nhận dạng chữ là lĩnh vực được nhiều nhà nghiên cứu quan tâm và cho
đến nay lĩnh vực này cũng đã đạt được nhiều thành tựu cả về mặt lý thuyết lẫn
ứng dụng thực tế.Chương này sẽ trình bày các khía cạnh tổng quan về bài toán
nhận dạng chữ. Trong đó, phần đầu tiên của chương sẽ đề cập đến các thao tác
xử lý cơ bản trong qui trình chung của bài toán nhận dạng chữ. Phần tiếp theo
là những tìm hiểu, khảo sát về các phần mềm nhận dạng chữ đang được công
bố và thương mại hóa trên thị trường như phần mềm FineReader, VnDOCR,
Omnipage, VietOCR. Phần cuối cùng trình bày và hệ thống lại những vấn đề
thường gặp trong bài toán nhận dạng cũng như các yếu tố ảnh hưởng đến chất
lượng của một hệ thống nhận dạng.
1.1. Qui trình chung của một hệ nhận dạng chữ
Qui trình chung của một hệ thống nhận dạng chữ thường gồm hai giai đoạn
là: Phân lớp mẫu và nhận dạng văn bản.
1.1.1. Phân lớp mẫu
Phân lớp (sắp lớp) mẫu là giai đoạn quyết định trong quá trình nhận dạng.
Hai kiểu phân lớp điển hình thường được sử dụng là: phân lớp có giám sát(học
có giám sát) và phân lớp không giám sát (học không giám sát). Các vấn đề
thường được đặt ra trong bước phân lớp là:
Độ chính xác: Độ tin tưởng của một luật phân lớp được thể hiện bởi tỷ
lệ phân lớp đúng. Nhìn chung, độ chính xác được đo bởi tập dữ liệu học
và độ chính xác được đo bởi tập dữ liệu thử nghiệm là khác nhau. Đây
không phải là một điều bất thường, đặc biệt trong các ứng dụng học máy,
đối với tập dữ liệu học thì có thể đúng hoàn toàn, nhưng trên tập dữ liệu
thử nghiệm có khi kết quả lại rất tồi tệ. Khi nói đến độ chính xác của một
thuật toán phân lớp thì thường là nói đến độ chính xác trên tập dữ liệu
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
thử nghiệm. Kinh nghiệm thực tế cho thấy, độ chính xác của một thuật
Trang - 13-
toán phân lớp phụ thuộc khá nhiều vào tập dữ liệu học (cả về mặt số
lượng lẫn chất lượng) nói một cách khác là việc trích chọn đặc trưng của
các mẫu có ảnh hưởng lớn tới độ chính xác của quá trình phân lớp.
Tốc độ phân lớp:Đây là yếu tố đặc biệt quan trọng đối với các hệ thống
có tính thời gian thực, chẳng hạn như nhận dạng chữ viết tay trực tuyến
(online), ...
Tính dễ hiểu:Thuật toán phân lớp đơn giản, dễ cài đặt và hiệu quả.
Thời gian học: Nhất là trong một môi trường thường xuyên thay đổi,
cần phải học một luật phân lớp một cách nhanh chóng hoặc hiệu chỉnh
một luật đã có trong thời gian thực. Để học nhanh, nhiều khi ta chỉ cần
sử dụng một số lượng nhỏ các mẫu huấn luyện để thiết lập các luật phân
lớp.
1.1.2. Nhận dạng văn bản
Các bước cần thực hiện trong giai đoạn này được thể hiện cụ thể trênHình
1.1[1]bao gồm:
1. Thu nhận và lưu trữ ảnh: Đây là công đoạn đầu tiên trong một quá trình
nhận dạng ảnh. Trong một hệ thống nhận dạng, ảnh thường được thu nhận
qua scanner, sau đó được lưu trữ dưới các định dạng file (.pcx, .bmp,
.jpg, .tif, .gif, .png, ...). Nhìn chung việc lựa chọn định dạng file lưu
trữ sẽ tuỳ thuộc vào các văn bản đầu vào cần nhận dạng và các yêu cầu cụ
thể của từng hệ thống.
2. Tiền xử lý ảnh: Đây là công đoạn sử dụng các kỹ thuật xử lý ảnh để nâng
cao chất lượng ảnh đầu vào. Nhìn chung, chất lượng của ảnh đầu vào sẽ
ảnh hưởng nhiều đến chất lượng nhận dạng. Vì vậy, tiền xử lý ảnh là một
bước không thể thiếu được trong một hệ thống nhận dạng hay xử lý ảnh.
Các kỹ thuật thường được sử dụng trong quá trình tiền xử lý là: Phân
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
ngưỡng, căn chỉnh độ lệch trang văn bản, lọc nhiễu, nối nét đứt trên ảnh,...
Trang - 14-
3. Phân đoạn ảnh:Đây là một trong những công đoạn quan trọng nhất trọng
nhất của quá trình nhận dạng và có ảnh hưởng lớn đến kết quả nhận dạng.
Hai cách tiếp cận phổ biến được đề xuất trong quá trình phân đoạn ảnh là:
Cách tiếp cận trên xuống (top-down): Toàn bộ ảnh văn bản cần phân
đoạn được coi là một khối lớn, sau đó khối này được phân thành các khối
nhỏ hơn, các khối nhỏ này lại tiếp tục được phân thành các khối nhỏ hơn
nữa cho đến khi thu được các ký tự hoặc không thể phân nhỏ hơn được
nữa. Nhìn chung, với cách tiếp cận này, phương pháp thường dùng để
phân đoạn ảnh là sử dụng các biểu đồ tần suất ngang và dọc. Tuy nhiên,
do biểu đồ tần suất bị ảnh hưởng nhiều bởi độ nghiêng trang văn bản nên
trước khi xử lý phân đoạn, ta thường phải căn chỉnh độ lệch của trang
văn bản.
Cách tiếp cận dưới lên (bottom-up): Quá trình phân đoạn bắt đầu bằng
việc xác định những thành phần nhỏ nhất, sau đó gộp chúng lại thành
những thành phần lớn hơn, cho đến khi thu được tất cả các khối trong
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
trang văn bản.
Trang - 15-
Thu nhận ảnh
Tiền xử lý
Phân trang văn bản
Cơ sở tri thức
Nhận dạng
Cập nhật tri thức (thông qua huấn luyện mẫu mới)
Hậu xử lý
Lưu văn bản
Hình 1.1: Qui trình chung của một hệ thống nhận dạng chữ
4. Nhận dạng:Đây chính là thao tác gán nhãn cho đối tượng dựa trên những
tri thức đã học được, nói cách khác đâylà thao tác tìm kiếm một lớp mẫu
phù hợp nhất với đối tượng đầu vào.
5. Học mẫu mới:Do tập mẫu huấn luyện không thể bao quát được toàn bộ
các mẫu trong thực tế nên trong quá trình nhận dạng có thể sẽ gặp những
mẫu mới mới mà hệ thống không thể nhận dạng chính xác được. Khi đó việc
học thêm những mẫu này sẽ góp phần làm tăng chất lượng của hệ thống
nhận dạng.
6. Hậu xử lý: Đây là một trong những công đoạn cuối cùng của quá trình
nhận dạng. Trong nhận dạng chữ, có thể hiểu hậu xử lý là bước ghép nối các
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
ký tự đã nhận dạng được thành các từ, các câu, các đoạn văn nhằm tái hiện
Trang - 16-
lại văn bản đồng thời phát hiện ra các lỗi nhận dạng bằng cách kiểm tra
chính tả dựa trên cấu trúc và ngữ nghĩa của câu, đoạn văn. Việc phát hiện ra
các lỗi, các sai sót trong nhận dạng ở bước này đã góp phần đáng kể vào
việc nâng cao kết quả nhận dạng. Đặc biệt đối với các ảnh văn bản đầu vào
không tốt (chẳng hạn: Bản in bị mờ, bị đứt nét do photo nhiều lần,...) hoặc
các văn bản in chứa nhiều thông tin hỗn hợp (chẳng hạn: Trong văn bản có
cả số lẫn chữ và các ký hiệu), điều này rất dễ gây nhầm lẫn trong nhận dạng.
Thậm chí có những trường hợp nhập nhằng chỉ có thể giải quyết được bằng
ngữ cảnh bằng cách phân tích ngữ cảnh của câu, chẳng hạn như trường hợp
nhập nhằng giữa từ “lO” với số “10”.
7. Lưu văn bản: Sau khi văn bản cần nhận dạng đã được tái tạo về dạng
nguyên bản sẽ được lưu lại ở các định dạng file được hệ thống hỗ trợ, chẳng
hạn như file dạng (.doc, .rtf, .xls, ...).
1.2.Tìm hiểu một số phần mềm nhận dạng chữ
1.2.1.VnDOCR
Phần mềm nhận dạng tiếng Việt VnDOCR là một sản phẩm của Viện
Công nghệ Thông tin. VnDOCR có khả năng nhận dạng ký tự tiếng Việt từ
máy scan hoặc file ảnh và chuyển đổi về dạng file văn bản như: *.doc.*.txt,
*.xls, *.rtf,...[18]và có thể đọc và sửa trên các phần mềm soạn thảo văn bản
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
thông dụng như Office, Wordpad, Notepad...
Trang - 17-
Hình 1.2: Màn hình làm việc của VnDOCR
Môi trường
+ PC với hệ điều hành Windows 9x, Windows ME, Windows 2000, Windows
XP hoặc Windows NT
Tiện ích: Bộ gõ chữ Việt và bộ phông ABC, VNI, Unicode..
Thông tin đưa vào
+ Quét trực tiếp các loại sách báo, văn bản qua máy quét (scanner).
+ Đọc và xử lý hơn 30 dạng tệp tin ảnh phổ dụng nhất như PCX, BMP, TIF,
GIF, JPG, ...
Có thể nhận dạng trực tiếp tài liệu quét qua scanner. Các trang tài liệu có thể
được quét và lưu trữ dưới dạng tệp tin nhiều trang.
Có thể là các dạng tệp tin của Microsoft Word (.doc), tệp ký tự ASCII (.txt),
Rich Text Format (.rtf), *.xls (đối với bảng biểu).
Theo công bố, độ chính xác của phần mềm có thể đạt tới 99 % trong trường
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
hợp các file ảnh cần nhận dạng có chất lượng tốt.
Trang - 18-
Các tính năng chính:
- Tiền xử lý: Căn chỉnh độ nghiêng, tăng cường chất ảnh (xóa nhiễu, làm
dày nét chữ nhằm nối nét đứt, làm mỏng nét chữ,… ).
- Phân tích cấu trúc trang văn bản nhằm xác định các vùng thông tin khác
nhau (chẳng hạn vùng ảnh, vùng văn bản, vùng bảng, các dạng tiêu
đề…).
- Nhận dạng văn bản: Nhận dạng các khối văn bản đã được xác định ở
bước phân trang.
- Hậu xử lý: Định dạng lại trang văn bản ban đầu, chỉnh lỗi chính tả,…
Một số hạn chế của phần mềm (Tính đến phiên bản 4.0)
- VnDOCR chỉ làm việc với ảnh đen trắng.
- Với ảnh có cấu trúc vật lí phức tạp thì hiệu quả phân tích trang và độ
chính xác nhận dạng còn chưa cao.
1.2.2.FineReader
FineReader là một sản phẩm của hãng ABBYY, có khả năng nhận dạng đa
ngôn ngữ (198 ngôn ngữ) bao gồm cả ngôn ngữ tiếng Việt.[19]
Hình 1.3:Màn hình làm việc của FineReader
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
Trang - 19-
Môi trường làm việc:
PC với hệ điều hành: Windows XP, 2003, Vista, 2008, Windows 7,
Windows 8, Windows 8.1.
Các tính năng cơ bản của phần mềm:
Tiền xử lý: Căn chỉnh độ nghiêng, tăng cường chất ảnh (xóa nhiễu, làm
dày nét chữ nhằm nối nét đứt, làm mỏng nét chữ,… )
Phân tích cấu trúc trang văn bản nhằm xác định các vùng thông tin
khác nhau (chẳng hạn vùng ảnh, vùng văn bản, vùng bảng, các dạng
tiêu đề…).
Nhận dạng:
Nhận dạng các khối văn bản
Nhận dạng công thức toán.
Nhận dạng mã vạch.
Văn bản: Nhận dạng các khối văn bản đã được xác định ở bước
phân trang.
Hậu xử lý: Định dạng lại trang văn bản ban đầu, chỉnh lỗi chính tả,…
Ngoài ra còn có các tính năng mở rộng như:
Xuất ra XML và tích hợp với Microsoft Office Word
Hỗ trợ các fiel ảnh đầu vào có định dạng file PDF.
Kết quả nhận dạng có thể được xuất ra nhiều định dạng file như:
DOC, DOCX, XLS, XLSX, PPTX, RTF, PDF,PDF/A, HTML,
CSV, TXT, ODT, EPUB, FB2, DjVu...
Chức năng tìm kiếm với Morphology Support
Các tùy chọn lưu ảnh cao cấp
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
Các ứng dụng thêm cho việc hoàn thành và in ấn các Form.
Trang - 20-
1.2.3.OmniPage
OmniPage là phần mềm nhận dạng văn bản của Nuance, có khả năng nhận
dạng trên 120 ngôn ngữ, độ chính xác có thể đạt tới 99% trên các file ảnh đầu
vào chất lượng tốt.[20]
Hình 1.4: Màn hình làm việc của OmniPage
Các tính năng cơ bản của phần mềm:
Hỗ trợ nhiều định dạng file ảnh, bao gồm cả file pdf.
Nhận dạng chính xác tới 99% trên hơn 120 ngôn ngữ khác nhau
Nhận dạng được các trang có nhiều loại font, kiểu font hoặc có nền
là ảnh màu.
Hạn chế của phần mềm:
OminiPage chưa hiệu quả với các ảnh có cấu trúc phức tạp.
1.2.4. VietOCR
Phần mềm VietOCR được xây dựng từ engine nhận dạng mã nguồn mở
Tesseract của Google. VietOCR có thể hoạt động trên nhiều hệ điều hành khác
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
nhau như: Windows, Linux,…
Trang - 21-
Hình 1.5: Màn hình làm việc của VietOCR
Các tính năng cơ bản của phần mềm:
Tính năng nhận dạng:
- OCR nhận dạng tốt nhất ảnh ở độ phân giải từ 200 DPI trở lên
tới 400 trong trắng đen hoặc grayscale
- Chế độ Screenshot Mode cung cấp độ nhận dạng tốt hơn cho
những hình ảnh có độ phân giải thấp
- Ngoài ra VietOCR cho phép nhận dạng trên các vùng khoanh
chọn để cho ra kết quả chính xác hơn.
- Tính năng hậu xử lý: Định dạng lại trang văn bản ban đầu, chỉnh lỗi
chính tả,…
Hạn chế của phần mềm: Độ chính xác nhận dạng không cao, các module
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
phân trang văn bản chưa tốt.
Trang - 22-
1.3.Những vấn đề ảnh hưởng tới chất lượng của một phần mềm nhận
dạng
Chất lượng của ảnh đầu vào là yếu tố quyết định tới độ chính xác của một
hệ thống nhận dạng.Hầu hết các hệ thống nhận dạng chữ hiện đang được thương
mại hóa trên thị trường đều cho độ chính xác cao trên những ảnh đầu vào có
chất lượng tốt.Tuy nhiên, độ chính xác này thường không được đảm bảo trong
trường hợp ngược lại. Ngay cả khi văn bản được in thông thường, dễ dàng nhận
dạng mặt chữ và định dạng, vẫn có rất nhiều lỗi sinh ra do ảnh đầu vào có chất
lượng thấp hay nói một cách khác là do những lỗi về mặt hình ảnh (imaging
defect). Những lỗi này thường bao gồm các ký tự bị dính, bị nhiễu, in quá đậm,
các ký tự bị mờ, đứt hoặc mất nét. Ngoài ra các nhiễu vệt và các đường baseline
cong cũng là những nguyên nhân gây ảnh hưởng đến chất lượng nhận dạng.
Các lỗi hình ảnh thường sinh ra trong quá trình in ấn (printing process) hoặc
quá trình thu nhận hình ảnh (scanning process). Các băng mực máy in quá đậm
có thể tạo ra các ký tự bị nhòe hoặc có vết bẩn, trong khi các băng mực bị mòn
sẽ sinh ra các bản in mờ nhạt. Việc sao chụp (photocopy) các văn bản nhiều lần
sẽ làm mất dần các thông tin làm cho các ký tự trên đó bị đứt, gẫy và mất nét.Ở
bước thu nhận hình ảnh, các phần mềm điều khiển thiết bị quét thường cho
phép người dùng hiệu chỉnh ngưỡng độ sáng thông qua chức năng điều khiển
độ sáng (brightness control). Việc lựa chọn giá trị ngưỡng này ảnh hưởng trực
tiếp tới độ chính xác của hệ thống OCR bởi vì nếu chọn ngưỡng thấp sẽ làm
cho các ký tự bị đứt, mất nét (broken characters), nếu chọn ngưỡng cao sẽ làm
cho các ký tự bị dính (touching characters). Giá trị ngưỡng này đôi khi cũng
bất thường do các nhiễu nhiệt hoặc nhiễu điện, bản thân độ nhạy cảm
(sensitivity) cũng có thể rất khác nhau giữa các phần tử cảm ứng của máy quét
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
do sự không hoàn hảo của qui trình sản xuất. Do đó, các ký tự giống hệt nhau
Trang - 23-
trên các phần khác nhau trên trang văn bản có thể có hình ảnh nhị phân khác
nhau[1].
1.3.1.Chữ bị dính, nhòe
Tách ký tự (character segmentation) là quá trình xác định vị trí của các ký
tự riêng biệt trong một từ. Khi các ký tự bị dính nhau hoặc bị nhòe do chữ được
quá đậm, các hệ thống OCR cần phải áp dụng những kỹ thuật đặc biệt để phân
tách chúng (xem Hình 1.6)
Hình 1.6: Trường hợp văn bản in đậm
Thậm chí đối với những ký tự có thể phân tách một cách dễ dàng, việc in
quá đậm cũng có thể làm biến dạng hình ảnh của chúng, làm cho việc nhận
dạng chúng rất khó khăn.Với kiểu in đậm, hình dạng của các ký tự hoa thường
có xu hướng tương tự nhau và giống như các hình khối.Điều này gây khó khăn
cho việc phân tách và nhận dạng chúng (xem Hình 1.7)
Hình 1.7: Một số hình ảnh bị biến dạng của các ký tự
Ngoài ra, đối với các văn bản kém chất lượng, đã qua nhiều bước tiền xử
lý, hình ảnh của các ký tự tiếng Việt có thể bịbiến dạng do phần dấu bị nhòe,
bị dính vào các thành phần khác của chữ và rất khó để phân biệt (xem Hình
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
1.8)
Trang - 24-
Hình 1.8: Hình ảnh các ký tự tiếng Việt bị nhập nhằng phần dấu
1.3.2.Văn bản bị đứt hoặc mất nét
Thực tế cho thấy là các ký tự bị đứt/mất nét gây ra nhiều lỗi hơn các ký tự
in đậm hoặc mờ. Đây có thể là hệ quả của một thực tế là thông thường sẽ có
nhiều điểm trắng hơn điểm đen cho dù là trong trong các vùng văn bản của
trang ảnh. Như vậy, việc chuyển từ một điểm đen sang điểm trắng sẽ mất nhiều
thông tin hơn là trường hợp ngược lại. Các nguyên nhân điển hình gây ra sự
đứt/mất nét ký tự thường là do băng mực máy in bị mòn, các văn bản cần nhận
dạng đã qua sao chụp nhiều lần hoặc ảnh được quét với độ phân giải thấp(xem
Hình 1.9).
Hình 1.9: Trường hợp văn bản bị đứt và mất nét
Hình ảnh của các ký tự thu được từ các văn bản này có thể bịthiếu hoặc
mất đi những đặc trưng quan trọng giúp nhận biết được ký tự (xem Hình 1.10).
Hình 1.10: Hình ảnh của ký tự bị biến dạng do lỗi đứt nét
Nhìn chung, thách thức đối với một thuật toán phân lớp ký tự hiện vẫn là
trường hợp chỉ còn lại một vài điểm ảnh của một ký tự, thậm chí không đủ để
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
con người nhận biết ký tự đó một cách riêng biệt.Khi có quá nhiều ký tự bị đứt
Trang - 25-
nét có thể làm hỏng cả đoạn văn bản. Các hệ thống nhận dạng rất khó xử lý
những trường hợp như vậy, và có thể sinh ra những kết quả sai lệch hoàn
toàn.Trong những trường hợp đứt nét phức tạp, việc xác định mảnh nào thuộc
vào ký tự nào là một công việc rất khó đối với một hệ thống OCR.
1.3.3.Văn bản bị nhiễu
Các dạng nhiễu đặc biệt là nhiễu dạng vệt rất dễ gây nhầm lẫn cho các hệ
thống OCR. Nhiễu thường sinh ra do chất lượng in thấp hoặc do giấy in không
tốt (chẳng hạn giấy báo). Mặc dù nhiễu thường bắt nguồn từ các trang văn bản
cần nhận dạng, nhưng chúng cũng có thể được sinh ra bởi các đốm bụi trên trục
lăn của máy quét, bởi các vết hằn từ mặt kia của trang văn bản (xemHình 1.11).
Hình 1.11: Một số dạng nhiễu thường gặp trên văn bản
Bên cạnh những nhiễu liên quan đến chất lượng in ấn và chất lượng máy
quét, còn có rất nhiều dạng nhiễu có thể xuất hiện trên văn bản gốc cần nhận
dạng. Chẳng hạn như các dạng nhiễu do người đọc cố tình khoanh tròn hoặc
gạch chân vào các vùng văn bản (xemHình 1.12).
Hình 1.12: Văn bản bị các nhiễu đánh dấu
Đặc biệt với các văn bản ở dạng công văn, biên bản hoặc quyết định,
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
thường xuất hiện các loại nhiễu do con dấu hoặc chữ kí bị chờm lên các vùng
Trang - 26-
văn bản cần nhận dạng (xemHình 1.13).Những nhiễu dạng này hiện vẫn là vấn
đề khó đối với bài toán nhận dạng.
Hình 1.13: Văn bản bị nhiễu do bị chồng chữ ký/con dấu
1.3.4.Văn bản được in với các kiểu font chữ đặc biệt
Các hệ thống nhận dạng thường được huấn luyện để nhận dạng các ký tự
của các kiểu font chữ thông thường chẳng hạn đối với tiếng Việt có các font
chữ Unicode thường dùng như Arial, Courier, Tahoma, Times New Roman và
Verdana. Do các ký tự của font chữ .VnTime không khác biệt nhiều so với các
ký tự của font chữ Times, một hệ thống OCR có khả năng nhận dạng các ký tự
của font chữ .VnTime một cách dễ dàng mà không cần phải được huấn luyện
với font chữ này.
Tuy nhiên khi văn bản được in với font chữ đặc biệt chẳng hạn như
.VnGothic (xem Hình 1.14). Đây là font chữ khác hẳn với các loại font chữ
trên, hệ thống nhận dạng có thể sẽ bị thất bại hoàn toàn nếu nó không được
huấn luyện trước với kiểu font chữ này.
Hình 1.14:Văn bản được in với kiểu font chữ đặc biệt
1.3.5.Cỡ chữ quá lớn hoặc quá nhỏ
Cỡ chữ quá lớn về bản chất là không khó để nhận dạng.Tuy nhiên các hệ
thống OCR thường được tối ưu cho các cỡ chữ thông thường. Để đối phó với
các các ký tự có kích cỡ quá lớn, các hệ thống OCR có thể chuẩn hóa chúng,
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
tức là giảm kích thước của chúng tới kích thước chuẩn trước khi nhận dạng
Trang - 27-
chúng. Tuy nhiên, quá trình xử lý này có thể làm biến dạng hình ảnh của ký
tự.Điều này có thể gây ra các lỗi nhập nhằng cho thuật toán phân lớp ký tự.
Ngược lại, đối với những văn bản được in với cỡ chữ quá bé, rất nhiều chi
tiết quan trọng của ký tự có thể bị mất đi khi được quét với độ phân giải 30
DPI. Trong trường hợp này, việc quét văn bản với độ phân giải cao hơn có thể
khắc phục được vấn đề trên. Tuy nhiên, điều này lại có thể gây ra hiện tượng
nhòe và dính nét ký tự gây khó khăn cho các hệ thống nhận dạng trong việc
phân tách các ký tự
1.4.Kết luận
Trong chương này, luận văn đã đề cập đến các bước cơ bản của một quá
trình nhận dạng chữ với 6 bước cơ bản, bao gồm thu nhận ảnh, tiền xử lý, phân
trang văn bản, nhận dạng, hậu xử lý, lưu văn bản. Bên cạnh đó, luận văn đã tập
trung khảo sát một số phần mềm nhận dạng chữ hiện đang được công bố và
thương mại hóa trên thị trường như phần mềm VnDOCR của Viện Công nghệ
Thông tin, viện Hàn Lâm Khoa Học và Công Nghệ Việt Nam, phần mềm
FineReader của hãng ABBYY, phần mềm OmniPage của hãng Nuance và phần
mềm VietOCR, được xây dựng từ thư viện mã nguồn mở Tesseract của Google.
Ngoài ra, phần cuối của chương cũng đã tìm hiểu và hệ thống lại những vấn đề
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
ảnh hưởng tới chất lượng của một hệ thống nhận dạng.
Trang - 28-
CHƯƠNG 2 - PHƯƠNG PHÁP ĐÁNH GIÁ HIỆU QUẢ CỦA
CÁC PHẦN MỀM NHẬN DẠNG CHỮ VIỆT
Một hệ thống nhận dạng chữ có thể được định nghĩa một cách hình thức
là một hệ thống máy tính có khả năng chuyển đổi có khả năng chuyển đổi các
văn bản in trên giấy thành các văn bản điện tử có khả năng soạn thảo, hiệu
chỉnh và tìm kiếm,v.v.
Trong chương này, luận văn trình bày cơ sở lý thuyết của các độ đo và
phương pháp đánh giá chất lượng (độ chính xác) của các hệ thống nhận dạng
dựa trên ý tưởng tìm kiếm một ánh xạ (sự tương ứng) giữa các ký tự trong file
văn bản được nhận dạng với các ký tự trong file văn bản mẫu.
Các kết quả khảo sát từ thực tế cho thấy các lỗi chính tả trên các file văn
bản được nhận dạng thường sinh ra do bị mất (không nhận dạng được) hoặc
thừa ký tự (do việc phân tách ký tự bị sai). Do vậy, chúng ta không thể giả
thuyết ký tự thứ i trong file văn bản được nhận dạng tương ứng với ký tự thứ i
trong file văn bản mẫu. Trong thực tế, có thể tìm kiếm ánh xạ giữa hai chuỗi
ký tự bằng cách xác định một chuỗi các thao tác hiệu chỉnh để biến chuỗi ký tự
này thành chuỗi ký tự kia với chi phí tối thiểu. Việc tìm kiếm sự tương ứng tối
ưu này được biết đến như bài toán hiệu chỉnh chuỗi ký tự.
2.1.Một số khái niệm
Tỷ lệ nhận dạng (recognition rate): Tỷ lệ phần trăm của các ký tự được
phân lớp một cách chính xác.
Tỷ lệ loại bỏ (rejection rate): Tỷ lệ phần trăm của các ký tự mà hệ thống
không có khả năng nhận dạng. Trong quá trình xử lý, một hệ thống nhận
dạng dạng có thể đánh dấu lại các ký tự bị loại bỏ và không cần xét đến
ở các bước hiệu chỉnh sau đó.
Tỷ lệ lỗi (error rate): Tỷ lệ phần trăm của các ký tự bị phân lớp sai. Các
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
ký tự bị phân lớp sai không được phát hiện bởi hệ thống, việc kiểm tra
Trang - 29-
lại văn bản đã nhận dạng là cần thiết để phát hiện và hiệu chỉnh những
lỗi này.
Chuỗi ký tự: Chuỗi ký tự là một dãy các ký tự được kết thúc bằng ký
tự NULL (‘\0’). Ở đây, mỗi văn bản mẫu và mỗi văn bản được nhận
dạng sẽ được coi là một chuỗi ký tự.
Chuỗi con (subsequence): Nếu một chuỗi A bất kỳ có thể biến đổi
được thành chuỗi ký tự C bởi không hoặc nhiều thao tác xóa thì C được
gọi là chuỗi con (subsequence) của A.
Chuỗi con chung (common subsequence): Một chuỗi ký tự C được
gọi là chuỗi con chung của 2 chuỗi A và B nếu và chỉ nếu C là chuỗi
con của A và C là chuỗi con của B.
Chuỗi con chung lớn nhất (longest common subsequence -LCS):
Nếu C là một chuỗi con chung của hai chuỗi A, B và không tồn tại bất
kỳ một chuỗi con nào khác của A, B mà có số ký tự nhiều hơn C thì C
được gọi là chuỗi con chung lớn nhất của A và B, ký hiệu C =
LCS(A,B).
Cụ thể, giả sử LA,B là số lượng ký tự trong LCS(A,B) của A và B.
Nếu A = yxzyyx và B = yyxx, thì:
- Chuỗi yzyx là một chuỗi con của A.
- Chuỗi yxx và yyx là các chuỗi con chung dài nhất của A và B, LA,B =3.
- Chuỗi xx là một chuỗi con chung của A và B.
2.2.Bài toán hiệu chỉnh chuỗi ký tự (string editing)
Cho 𝐴 = 𝑎1𝑎2 … 𝑎𝑚 là chuỗi gồm mký tự và chuỗi 𝐵 = 𝑏1𝑏2 … 𝑏𝑛gồm
n ký tự trong bảng chữ cái ∑. Trong bài toán hiệu chỉnh chuỗi ký tự, 3 thao
tác hiệu chỉnh có thể được áp dụng cho A:
1. Thao tác chèn (Insertion): chèn bất kì ký hiệu nào trong bảng chữ cái ∑
http://www.lrc.tnu.edu.vn
Số hóa bởi Trung tâm Học liệu – ĐHTN
vào trước 𝑎1, sau 𝑎𝑚 hoặc giữa 𝑎𝑖 và 𝑎𝑖+1(1 ≤i Trang - 30- 2. Thao tác xóa (Deletion): một ký tự𝑎𝑖 có thể bị xóa (1 ≤i ≤m); 3. Thao tác thay thế (Substitution): một ký tự ai nào đó có thể bị thay thế bởi một ký tự x bất kỳ (x≠ai) (1 ≤i ≤m); Một hàm chi phí γ= (𝛾𝐼,𝛾𝐷 ,𝛾𝑆) xác định chi phí của chèn, xóa và thay thế, tương ứng, với 𝛾𝐼,𝛾𝐷 ,𝛾𝑆 là các số thực không âm. Giả sử 𝑑𝐴,𝐵,𝛾là chi phí tối thiểu để biến chuỗi A thành chuỗi B sử dụng hàm chi phí γ. Khi γ là (1,1,1) hoặc (1,1,2) thì𝑑𝐴,𝐵,𝛾 được gọi là khoảng cách Levenshtein(Levenshtein distance) giữa A và B. Hàm khoảng cách này còn được gọi là không gianLevenshtein(Levenshtein metric) bởi vì nó đáp ứng được các tính chất của một metric: 1. 𝑑𝐴,𝐵,𝛾 >0 nếu A≠ B; 𝑑𝐴,𝐴,𝛾=0; 2. 𝑑𝐴,𝐵,𝛾 = 𝑑𝐵,𝐴,𝛾; 3. 𝑑𝐴,𝐶,𝛾≤ 𝑑𝐴,𝐵,𝛾+ 𝑑𝐵,𝐶,𝛾; Đối với một hàm chi phí tùy ý γ= (γI,γD,γS), dA,B,γđược gọi là khoảng cách hiệu chỉnh (edit distance) hoặc khoảng cách Levenshtein có trọng số (weighted Levenshtein distance) giữa A và B. Hàm khoảng cách này là một metric khi γI= γD>0 và γS>0. Từ đây chúng ta có thể đưabài toán hiệu chỉnh chuỗi thành bài toán tìm đường đi ngắn nhất trên một đồ thị hiệu chỉnh (edit graph) được định nghĩa cụ thể như sau: Giả sử𝐴 = 𝑎1𝑎2 … 𝑎𝑚và 𝐵 = 𝑏1𝑏2 … 𝑏𝑛là các chuỗi ký tự, có độ dài tương ứng m và n (m≥0, n≥0). Đồ thị hiệu chỉnh của A và B, ký hiệu 𝐺𝐴,𝐵 là một đồ thị có hướng, không có chu trình, có (m+1)(n+1) đỉnh, được ký hiệu 𝑣𝑖,𝑗 với 0≤i≤m và 0≤j≤n. Các cạnh (cung) của đồ thị 𝐺𝐴,𝐵 được chia thành ba http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN nhóm: Trang - 31- 1. Cạnh ngang (horizontal arcs): các cạnh (𝑣𝑖,𝑗−1, 𝑣𝑖,𝑗 ), với 0≤ i ≤m và 0 2. Cạnh dọc (vertical arcs): các cạnh (𝑣𝑖−1,𝑗, 𝑣𝑖,𝑗 ), với 0< i ≤m và 0≤j≤n; 3. Cạnh chéo (diagonal arcs): các cạnh (𝑣𝑖−1,𝑗−1, 𝑣𝑖,𝑗 ), với 0< i ≤m và 0 Nếu ai= bj thì cạnh chéo (𝑣𝑖−1,𝑗−1, 𝑣𝑖,𝑗 ) được gọi là cạnh phù hợp (matching arc), ngược lại thì được gọi là một cạnh không phù hợp (non- matching arc). Một đường hiệu chỉnh (edit path) là một đường đi có hướng bất kỳ từ đỉnh𝑣0,0 đến 𝑣𝑚,𝑛 trên đồ thị 𝐺𝐴,𝐵. Đường đi này xác định một chuỗi các thao táchiệu chỉnh để biến chuỗi A thành chuỗi B. Một cạnh ngang (𝑣𝑖,𝑗−1, 𝑣𝑖,𝑗) trên đường đi xác định rằng ký tự𝑏𝑗 được chèn vào, trong khi đó một cạnh dọc (𝑣𝑖−1,𝑗 , 𝑣𝑖,𝑗) xác định rằng ký tự 𝑎𝑖 bị xóa. Một cạnh không phù hợp (𝑣𝑖−1,𝑗−1, 𝑣𝑖,𝑗) xác định rằng 𝑏𝑗 bị thay thế bởi 𝑎𝑖, và một cạnh phù hợp ngầm định rằng không có thao tác hiệu chỉnh nào được thực hiện. Trong thực tế, các cạnh phù hợp trên đường đi sẽ xác định một chuỗi con chung của A và B. Nếu trọng số của mỗi cung bằng với chi phí của bước hiệu chỉnh mà nó đang biểu diễn thì một đường hiệu chỉnh có trọng số nhỏ nhất sẽ được coi là một đường đi tối ưu (đường đi ngắn nhất) trên đồ thị hiệu chỉnh 𝐺𝐴,𝐵 và tổng trọng số (độ dài) của đường đi đó được gọi là khoảng cách hiệu chỉnh giữa 2 chuỗi. Hình 2.1 thể hiện đồ thị hiệu chỉnhcho các chuỗi A = zxy và B = xyxz. http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Mỗi cạnhbiểu diễn một thao tác hiệu chỉnhđã được gán nhãn với I là thao tác Trang - 32- chèn, D là thao tác xóa, S là thao tác thay thế. Các cạnh phù hợp không được gán nhãn. Hai đường đi trên đồ thị G(A,B) được chỉ ra trên Hình 2.2.Mỗi đường đi xác định một chuỗi các thao tác để chuyển chuỗi A thành chuỗi B. Trong đó, đường đi thứ nhất (đường nét đứt) chứa 1 thao tác xóa (D) và 2 thao tác chèn (I), trong khi đường đi thứ 2 (đường nét chấm) chỉ chứa 1 thao tác chèn (I) và 2 thao tác thay thế (S). Nếu sử dụng hàm chi phí (1,1,2) thì đường nét đứt sẽ là đường đi ngắn nhất trên đồ thị và khoảng cách chỉnh sửa được tính bằng 3. Nếu sử dụng hàm chi phí (2,1,1) thì đường nét chấm là đường đi ngắn nhất trên đồ thị và khoảng http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN cách chỉnh sửa bằng 4. Trang - 33- Một vài giá trị cận dưới đã được đề xuất đối với độ phức tạp của thuật toán hiệu chỉnh chuỗi. Trong [15], các tác giả đã chứng minh đối với các chuỗi có độ dài n bao gồm các ký tự từ một bảng chữ cái vô hạn, độ phức tạp tính toán được ước lượng là(𝑛2). Tuy nhiên, đối với một bảng chữ cái hữu hạn, Masek và Paterson[2] đã đề xuất một thuật toán chỉ yêu cầu độ phức tạp thời gian O(𝑛2/log n) trong trường hợp xấu nhất. Đối với bài toán LCS, một số độ phức tạp thời gian sau đây đã được chứng minh và công nhận: 1. (ns) đối với một bảng chữ cái kích thước hữu hạn[2]. 2. (nlog n) đối với một bảng chữ cái vô hạn[7]. Rất nhiều thuật toán đã được đề xuất cho bài toán hiệu chỉnh chuỗi. Bảng 2.1 liệt kê một số thuật toán tiêu biểu cùng với độ phức tạp được ước lượng tương ứng, trong đó n là độ dài của mỗi chuỗi ký tự, d là khoảng cách hiệu chỉnh, L là chiều dài của một LCS. http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Trang - 34- Hàm Độ phức tạp Thuật toán Thời gian Không gian chi phí Wagner & Fischer[14] Bất kỳ (1,1,2) O(𝑛2)
O(nL + nlog Hirschberg[7] (1,1,2) Masek & Paterson[9] Bất kỳ O(𝑛2)
O(nL)
O(d2 + n)
O(dLlogn)
n)
O(𝑛2/log n) O(𝑛2/log n) Nakatsu, Kambayashi, & (1,1,2) O(nd) O(nd) Bất kỳ O(nd) O(nd) Yajima[12]
Ukkonen[13] (1,1,1) O(nd) O(𝑑2 + n) Wu, Manber, Myers, & Miller[16]
Apostolico, Browne, & Guerra[3] (1,1,2)
(1,1,2) O(nd)
O(nd) O(n)
O(n) Thuật toánUkkonen với hàm chi phí (1,1,1) có thể được sử dụng để tính toán độ chính xác mức ký tự cho một hệ thống nhận dạng chữ (OCR). Trong thực tế, các thuật toán hiệu chỉnh chuỗi ký tự có độ phức tạp thời gian𝑂(𝑛2) là không khả thi đối với bài toán tìm kiếm sự tương ứng tối ưu giữa một chuỗi văn bản nhận dạng được với một chuỗi văn bản mẫu do số lượng ký tự trên các chuỗi này thường khá lớn (vài chục nghìn ký tự). Do các chuỗi văn bản này thường khá giống nhau và khoảng cách hiệu chỉnh nhỏ. Vì vậy, một thuật toán yêu cầu độ phức tạp về thời gian và không gian cỡ O(nd) sẽ khả thi. Thuật toán Ukkonen[13] với hàm chi phí (1,1,1) là lý tưởng, cần O(nd) thời gian và O(d2 + n) không gian. Giả sử cho chuỗi đầu vàoA = a1a2 … amvà B = b1b2 … bn, phần sau đây sẽ mô tả các bước của thuật toánmột cách cụ thể và chi tiết hơn. http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Trang - 35- row = mảng của các đường đi trên đồ thị i max row [k-1,d-1], row[k+1,d-1]+1, row [k,d-1]+1}; j i+k; i i+1; j j+1; row [k,d] i d -1; d d+1; r d - min {m, n}; compute_row(k, d) compute_row(k, d) Mảng row là một mảng 2 chiều, thưa. Trong đó, chỉ lưu trữ những phần tử được định nghĩa (mục đích để giảm độ phức tạp tính toán). Những phần tử http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN không được định nghĩa sẽ được coi là có giá trị bằng -1. Đường chéo k của Trang - 36- đồ thị G(A, B) chứa tất cả các đỉnh vi,j sao cho j – i = k. Vì vậy, các đường chéo của đồ thị sẽ thuộc phạm vi từ -m tới n. Phần tử row[k][d] xác định chỉ số hàng xa nhất trên đồ thị G(A,B) mà có thể đi đến được bởi một đường đi có độ dài d từ đỉnh v0,0 tới một đỉnh trên đường chéo k. Trước tiên, xuất phát từ đỉnh khởi đầu v0,0, đường đi có độ dài 0,thuật toán chỉ cần xét đường chéo 0. Bước tiếp theo, thuật toán sẽ tiến hành tìm kiếm các đường xa nhất có độ dài bằng 1 bằng cách xét các đường chéo -1, 0, +1. Sau đó, tiếp tục sử dụng các đường đi này để tìm kiếm các đường đi xa nhất có độ dài bằng 2 đối với các đường chéo -2, 0, +2, thực hiện tương tự như vậy cho đến khi gặp được đỉnh đích vm,n. Độ dài của đường đi này chính là khoảng cách hiệu chỉnh và mảng row sẽ chứa các thông tin cần thiết để dò lại đường đi ngắn nhất đã được xác định. Thông thường, row(k,d) được tính với mỗi k trong đoạn [-d, +d]. Tuy nhiên, một số đường chéo có thể sẽ bị loại bỏ do chúng không nằm trong kết quả cuối cùng. Vì vậy, thuật toán sử dụng biến r để tránh những đường đi mà biết chắc chắn là không cần thiết. Ngoài ra, các kết quả trung gian của thuật toán cũng có thể được sử dụng để loại bỏ thêm các đường chéo không cần thiết. Thuật toán dò lại đường đi ngắn nhất từ mảng row được mô tả cụ thể http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN như sau: Trang - 37- i m; j n; k j-i; horizontal-arc(vi,j-1,vi,j) thuộc đường đi ngắn nhất; j j-1; d d-1; vertical-arc (vi-1,j, vi,j) thuộc đường đi ngắn nhất; i i-1; d d-1; non-matching arc(vi-1,j-1,vi,j) thuộc đường đi ngắn nhất; i i-1; j j-1; d d-1; matching-arc(vi-1,j-1,vi,j) thuộc đường đi ngắn nhất; i i -1; j j -1; http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Trang - 38- Giả sử vi1,j1 và vi2,j2 là các đỉnh của đồ thị G(A,B) sao cho 0i1i2 m và 0 j1 j2 n, D(vi1,j1vi2,j2) là độ dài đường đi ngắn nhất từ đỉnh vi1,j1 đến đỉnh vi2,j2. Có thể dễ dàng chỉ ra rằng: (2.1) |(i2- i1)-(j2- j1)| D(vi1,j1vi2,j2) max{i2- i1, j2- j1} Chú ý rằng row(k,d) = i có nghĩa là D(v0,0vi,i+k) =d. Có thể sử dụng kết quả trung gian này để tính giá trị cận trên cho khoảng cách hiệu chỉnh giữa A và B, từ công thức (2.1) ta thấy: D(vi,i+kvm,n) max{m, n- k} – i Do vậy: D(v0,0vm,n)D(v0,0vi,i+k)+D(vi,i+kvm,n) d+max{m, n- k} – i=. Đối với một đường chéo k bất kỳ, ta có thể suy ra giá trị cận dưới của độ dài đường đi chứa 1 đỉnh trên đường chéo này như sau: D(v0,0vi,i+k) + D(vi,i+kvm,n) |k| + |k - (n - m)|. Nếu |k| + |k - (n - m)| > thì có thể bỏ qua đường chéo k do nó không thể chứa đỉnh nằm trên đường đi ngắn nhất. Điều này có nghĩa là tất cả các đường chéo k mà hoặc sẽ bị bỏ qua. Từ đó, một phiên bản cải tiến của thuật toán Ukkonen được đề xuất như sau: row = mảng của các đường đi trên đồ thị i max row [k-1, d-1], row [k+1, d-1]+1, row [k, d-1]+1}; http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Trang - 39- ji+k; i i+1; j j+1; row [k, d] i ; lower k +1 upper k -1 𝛽 d+ max { m, n-k} - i; 𝑛−𝑚−𝛽 lower max { lower,⌈ ⌉}; 2 𝑛−𝑚+𝛽 upper min { upper,⌈ ⌉}; 2 lower -m; upper n; d -1; d d+1; compute_row(k,d) compute_row(k,d) http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Trang - 40- compute_row (k,d) compute_row (k,d) Trong thuật toán Ukkonen cải tiến, các biến lower và upper được sử dụng để giới hạn phạm vi của các đường chéo khi row(k,d) được tính. Khi một đường đi dài nhất đi tới đỉnh vm,m+k có nghĩa là nó đã đi đến hàngcuối cùng của đồ thị hiệu chỉnh và chỉ có những đường chéo lớn hơn k mới cần xét tiếp. Tương tự, khi một đường dài nhất đi tới đỉnh vn-k,n thì nó đã đi được đến cột cuối cùng của đồ thị hiệu chỉnh và chỉ có những đường chéo nhỏ hơn k mới cần xét tiếp. Mặc dù những cải tiến này không cải thiện được tiệm cận thời gian hoặc độ phức tạp không gian của thuật toán Ukkonen, nhưng các kết quả thực nghiệm trên các văn bản được nhận dạng và văn bản mẫu đã chỉ ra rằng số phần tử cần lưu trữ trong mảng row của thuật toán Ukkonen cải tiến đã giảm đi khoảng 25% so với thuật toán Ukkonen ban đầu. 2.4.1. Đánh giá độ chính xác mức ký tự Mục tiêu chính của một hệ thống OCR là nhận dạng chính xác các ký http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN tự trên các trang ảnh đầu vào. Có thể nói, độ chính xác là thước đo cơ bản Trang - 41- nhất để đánh giá hiệu quả của một hệ thống OCR. Độ chính xác thường được tính toán dựa trên sự khác biệt của văn bản nhận dạng được so với văn bản mẫu (ground-truth). Có rất nhiều cách để ước lượng sự khác biệt này, tuy nhiên hướng tiếp cận dựa trên chi phí của việc hiệu chỉnh văn bản nhận dạng được thành văn bản gốc hiện nay vẫn là hướng tiếp cận hợp lý và được sử dụng nhiều nhất. Trong ứng dụng thực tế, các biên tập viên thường phải hiệu chỉnh các văn bản nhận dạng trước khi chúng được sử dụng, vì vậy chi phí hiệu chỉnh là quan trọng. Trong quá trình hiệu chỉnh, các biên tập viên thường thực hiện các thao tác chèn, xóa, thay thế trên văn bản được nhận dạng. Vì vậy, việc định nghĩa khoảng cách hiệu chỉnh (edit distance) giữa chuỗi văn bản nhận dạng được và chuỗi văn bản mẫu dựa trên chi phí của các thao tác hiệu chỉnh (chèn, xóa, thay thế) là hoàn toàn hợp lý. Cụ thể, giả sử A = a1a2 … am là một chuỗi văn bản được nhận dạng và B = b1b2 … bnlà chuỗi văn bản mẫu tương ứng của trang ảnh cần nhận dạng. Số lỗi nhận dạng trên trang này được xác định bằng: E=𝑑𝐴,𝐵,𝛾, trong đó hàm chi phí γ=(1,1,1) Như vậy, số lỗi nhận dạng được tính bằng khoảng cách Levenshtein giữa A và B hay nói một cách khác số lỗi nhận dạng được tính bằng số thao tác hiệu chỉnh cần thiết tối thiểu để hiệu chỉnh văn bản nhận dạng được. Trên cơ sở đó, độ chính xác mức ký tự trên trang văn bản nhận dạng được tính bởi công thức: 𝑛 − 𝐸
𝑛 Nếu không có lỗi thì E=0, độ chính xác mức ký tự là 100%. Nếu có 23 lỗi trên một trang chứa tổng cộng 1000 ký tự thì độ chính xác mức ký tự là http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN 97,7%. Nếu A và B không có ký tự chung thì E=max{m,n}. Trang - 42- Hình 2.3 chỉ ra sự tương ứng tối ưu giữa chuỗi văn bản nhận dạng và chuỗi văn bản mẫu. Trong đó, các chuỗi được tách thành các chuỗi con phù hợp (matching) và không phù hợp (non-matching), các chuỗi con phù hợp được bao trong các hình chữ nhật. Các chuỗi con không phù được tạo ra từ một tập các ký tự bị nhận dạng nhầm (nhận dạng sai). Để rõ ràng và trực quan hơn, chúng ta sẽ xây dựng một tập cáclỗi nhầm lẫn (confusion), trong đó mỗi lỗi nhầm lẫn sẽ liên kết một chuỗi con được nhận http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN dạng, ký hiệu𝑔1𝑔2 … 𝑔𝑝 với một chuỗi mẫu, ký hiệu𝑐1𝑐2 … 𝑐𝑞(xem Trang - 43- Bảng 2. 2.1). Một trong 2 chuỗi có thể rỗng, ký hiệu . Như vậy, mỗi lỗi nhầm lẫn có thể hiệu chỉnh bởi: q- min{p,q} thao tác chèn (insertions) p- min{p,q} thao tác xóa (deletions) min{p,q} thao tác thay thế (substitutions) http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Với tổng số max{p,q}thao tác hiệu chỉnh hoặc lỗi (xem Bảng 2.2). Trang - 44- Nhầm lẫn Thao tác chèn Thao tác xóa Thao tác thay thế (confusions) (insertions) (deletions) (substitution) 1 0 2 ~ l V A N 0 1 0 - 1 0 1 r n m 0 0 1 5 s 1 0 0 . 0 1 1 v l y 0 0 2 % B 9 8 3 2 7 Có thể mở rộng phương pháp đếm lỗi này để cho phép các ký tự đặc biệt(wildcard) hoặc các ký tự không cần quan tâm trong chuỗi văn bản mẫu.Một trang văn bản có thể chứa một hoặc nhiều ký hiệu mà các hệ thống OCR không có khả năng nhận dạng chúng, chẳng hạn các ký hiệu toán học (, , , , , ,…) hoặc các ký hiệu bullet (•). Những ký hiệu này có thể được biểu diễn bởi một hoặc nhiều ký tự đặc biệt trong chuỗi văn bản mẫu, trong đó với mỗi ký hiệu wildcard sẽ cho phép các hệ thống OCR sinh ra một hoặc nhiều ký tự bất kỳ mà không bị tính là lỗi. Độ chính xác mức ký tựtrung bình trên một tập các trang văn bảnđược tính bởi công thức: ∑ 𝑛𝑖 − ∑ 𝐸𝑖
∑ 𝑛𝑖 http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Trong đó𝑛𝑖 là số ký tự, 𝐸𝑖 là số lỗi trong trang thứ i. Trang - 45- Bằng cách chia tập các trang thành các nhóm theo một số thuộc tính của trang, độ chính xác mức ký tự trung bình cho mỗi nhóm có thể được xác định và đối sánh với các nhóm khác để có được các đánh giá mức độ phụ thuộc của độ chính xác nhận dạng vào thuộc tính của trang ảnh một cách chính xác và trực quan hơn. 2.4.2. Đánh giá độ chính xác mức ký tự theo lớp mẫu Trong thực tế, việc đánh giá độ chính xác nhận dạng trên từng lớp ký tự rất hữu dụng đối với các nhà phát triển phần mềm OCR. Chẳng hạn, chúng ta cầnbiết bao nhiêu phần trăm của các chữ cái thường, chữ cái hoa hoặc chữ số được nhận dạng chính xác. Giả sử ∑ là bảng chữ cái chứa các ký tự trong chuỗi văn bản mẫu. Một lớp ký tự C làmột tập con bất kỳ của ∑. Gọi A là chuỗi văn bản nhận dạng được và B là chuỗi văn bản mẫu của trang ảnh đầu vào. Giả sử một sự tương ứng tối ưu giữa A và B được tính bởi hàm chi phí (1,1,1). Gọi là số ký hiệu trong B thuộc vào lớp C, là số ký hiệu trong B thuộc vào lớp C và thuộc vào chuỗi con không phù hợp (non-matching substring). Khi đó, độ chính xác mức ký tự theo từng được tính bởi công thức: n′ − E′
n′
và cho độ chính xác nức ký tự trung bình trên một tập các trang đượ tính bởi: i − ∑ E′i
∑ n′i ∑n′ Trở lại ví dụ trên Hình 2.,độ chính xác mức ký tự trên lớp chữ thường là 82,6% ( =23, =4), trên lớp chữ số là 80% ( = 10, = 2). 2.4.3. Hiệu quả của các ký tự đánh dấu Việc tìm kiếm và hiệu chỉnh lỗi trên các văn bản nhận dạng thường là một công việc buồn tẻ và tiêu tốn rất nhiều thời gian và công sức của người http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN dùng. Để hạn chế điều đó, các hệ thống nhận dạng thường cung cấp các cơ chế Trang - 46- hỗ trợ người dùng bằng cách đánh dấu (gắn cờ) cho các ký tự không nhận dạng được hoặc bị nghi ngờ là lỗi, với một số quy ước chung như sau: - Một ký tự bị loại bỏ (reject character), thường được biểu diễn bằng một dấu ngã (~) sẽ được đưa ra mỗi khi hệ thống không có khả năng nhận dạng ký tự. - Nếu một ký tự được nhận dạng nhưng có độ tin cậy thấp (low confidence), hệ thống sẽ đánh dấu ký tự đó bị nghi ngờ bằng cách đặt một ký hiệu đặc biệt, chẳng hạn như dấu mũ (‘^’) ngay trước ký tự đó. Các ký hiệu bị loại bỏ và các ký hiệu bị nghi ngờ được gọi chung là các ký hiệu được đánh dấu (marked characters). Không phải tất cả các lỗi nhận dạng đều được coi như nhau. Một lỗi được gắn cờ sẽ được gọi là một lỗi được đánh dấu (marked error). Các lỗi dạng này sẽ có chi phí ít hơn các lỗi không được đánh dấu (unmarked error). Gọi𝐴 = 𝑎1𝑎2 … 𝑎𝑚 là một là chuỗi văn bản nhận dạng được và 𝐵 = 𝑏1𝑏2 … 𝑏𝑛 là chuỗi văn bản mẫu của trang ảnh cần nhận dạng. Một ký tự nhận dạng được𝑎𝑖bất kỳ được gọi là một ký tự bị đánh dấu nếu nó là một ký tự loại bỏ (𝑎𝑖=~) hoặc nó được đánh dấu là ký tự bị nghi ngờ bằng một ký hiệu đặc
biệt (ký hiệu này không phải là một trong các kýtự trong A). Giả sử rằng một sự tương ứng tối ưu giữa A và B đã được xác định bằng cách sử dụng hàm chi phí (1,1,1). Nếu một ký tự bị đánh dấu thuộc vào chuỗi con phù hợp (matching substring) thì nó là một đánh dấu sai (false mark). Ngược lại, nó sẽ thuộc vào chuỗi con không phù hợpvà đặt một cờ xác định lỗi nhập nhằng (confusion). Một ký tự bị đánh dấu trong một chuỗi con không phù hợp được coi như đủ để đánh dấu tất cả các lỗi được liên kết với lỗi nhập nhằng. Chẳng hạn, http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN nếu𝑟^𝑛là kết quả nhận dạng của ký tự m thì cả hai lỗi được coi làđánh dấu mặc Trang - 47- dù chỉ có một ký tự dánh dấu được thể hiện. Do vậy,các lỗi không được đánh dấuchỉ được tính đối với các lỗi nhập nhằng mà không chứa các ký tự đánh dấu. Xem xét quá trình kiểm tra các ký tự bị đánh dấu và hiệu chỉnh các lỗi đánh dấu. Nếu U là số lỗi không được đánh đánh dấu thì độ chính xác của văn bản sau quá trình này, được gọi là độ chính xác mức ký tự sau chỉnh sửa, được tính bằng: 𝑛 − 𝑈
𝑛 trên một trang, và được tính bằng: ∑ 𝑛𝑖 − ∑ 𝑈𝑖
∑ 𝑛𝑖
trên một tập trang. Hiệu quả của quá trình này phụ thuộc vào độ chính xác đạt được so với số lượng công việc có liên quan.Nếu tỷ lệ các ký tự đánh dấu sai (false mark) là lớn thì cần phải bỏ ra nhiều công sức mà độ chính xác không cải thiện không đáng kể. 2.5.1. Đánh giá độ chính xác mức từ Giả sử𝐴 = 𝑎1𝑎2 … 𝑎𝑚 là tập các từ trong chuỗi văn bản nhận dạng được và 𝐵 = 𝑏1𝑏2 … 𝑏𝑛 là tập các từ trong chuỗi văn bản mẫu của một trang ảnh cần nhận dạng.Để hiệu chỉnh chuỗi văn bản được nhận dạng, các thao tác chèn thêm, xóa, và thay thế các từ cần phải được thực hiện.Một thao tác chèn là cần thiết để chèn vào một từ còn thiếu; một thao tác xóa được sử dụng để loại bỏ một từ vô nghĩa được tạo ra; thao tác thay thế dùng để thay thế một từ không chính xác bằng từ đúng. Trong ứng dụng thực tế, đôi khi không nhất thiết phải phạt lỗi các hệ thống nhận dạng khi chúng sinh ra các từ vô nghĩa trong trường hợp người dùng không muốn xóa chúng mà để chúng lạitrong cơ sở dữ liệu văn bản, điều này http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN sẽ không ảnh hưởng nhiều tới hiệu quả truy vấn.Như vậy, hàm chi phí thích Trang - 48- hợp được sử dụng để dóng hàng 2 chuỗi A và B là (1,0,1). Khoảng cách hiệu chỉnh giữa A và B sử dụng hàm chi phí này là số các thao tác hiệu chỉnh cần thiết (chèn, thay thế) và cũng là số từ không nhận dạng được bởi vì mỗi thao tác chèn hoặc thay thế sẽ tương ứng với một từ không nhận dạng được (misrecognized). Giả sử E biểu thị giá trị này, ta có: 𝐸 = 𝑑𝐴,𝐵,𝛾 Trong đó γ =(1,0,1). Độ chính xác mức từ của một trang sẽ là: 𝑛 − 𝐸
𝑛 và là tỷ lệ các từ được nhận dạng chính xác.
Gọi LA,B là số ký tự trong LCS của A và B, dễ dàng chỉ ra rằng: 𝐸 = 𝑛 − 𝐿𝐴,𝐵 Vì thế độ chính xác mức từ có thể được tính bằng: 𝐿𝐴,𝐵
𝑛
Thật vậy, một LCS của A và B gồm các từ được nhận dạng chính xác.Do đó, độ chính xác mức từ đối với một tập các trang ảnh đầu vào, được tính bằng: hoặc ∑ 𝑛𝑖 − ∑ 𝐸𝑖
∑ 𝑛𝑖 ∑ 𝐿𝑖
∑ 𝑛𝑖 Trong đó 𝐿𝑖 là độ dài của một LCS của trang thứ i. Hình 2.4 thể hiện kết quả của việc dóng hàng giữa chuỗi văn bản nhận dạng được (Hình 2.4c) với chuỗi văn bản mẫu (Hình 2.4b) của ảnh văn bản đầu vào (Hình 2.4a). Các chuỗi con chúng lớn nhất của 2 chuỗi văn bản này được chỉ ra trên Hình 2.4d, các chuỗi này chứa các từ được nhận dạng đúng. Các từ (words) được so sánh với nhau với giả thiết không phân biệt hoa, thường. Do các hệ thống tìm kiếm văn bản thường không phân biệt hoa, thường nênhoàn toàn hợp lý khi chúng ta chấp nhận "yuCCA" là chuỗi nhận dạng đúng so với chuỗi mẫu "Yucca," và "deriV ED" là chuỗi nhận dạng đúng so với chuỗi http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN mẫu "Derived". Ngoài ra, cũng không tính các lỗi nhận dạng các dấu phẩy thành Trang - 49- dấu chấm bởi vì các lỗi này không ảnh hưởng nhiều đến hiệu quả truy vẫn văn bản. Các chuỗi văn bản nhận dạng được trong ví dụ này được hiệu chỉnh bằng một thao tác chèn, hai thao tác xóa và năm thao tác thay thế, nhưng E=6 do a) Ảnh văn bản đầu vào b) Chuỗi văn bản mẫu thao tác xóa được bỏ qua. c) Chuỗi văn bản nhận dạng được Tập các từ
trên chuỗi
văn bản
mẫu Tập các từ
trên chuỗi
văn bản
nhận dạng
được http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Trang - 50- 2.5.2. Độ chính xác không kể từ dừng Trong truy vấnvăn bản (text retrieval), các từ dừng (stopwords) thường không được đánh chỉ mục bởi chúngmang lại rất ít hoặc không có giá trị truy vấn. Dưới đây là một số ví dụ về từ dừng trong tiếng Anh và tiếng Việt: Trong tiếng Anh: the,of,and,to, a; Trong tiếng Việt: là, lại, nên, nếu; Những từ mà không phải là từ dừng (được gọi là non- stopword)đều được lập chỉ mục. Thông thường, người dùng sẽ tìm kiếm các tài liệu có chứa một hoặc nhiều từ không phải từ dừng. Do đó, độ chính xác nhận dạng các từ không phải từ dừng là hợp lý trong một ứng dụng truy xuất văn bản. Gọi A là một chuỗi các từ được nhận dạng, B là một chuỗi các từ của văn bản mẫu tương ứng của trang ảnh cần nhận dạng. Giả sử một LCS của A và B đã được tính, trong đó chứa các từ của B đã được nhận dạng đúng.GọiS là một tập các các từ dừng, n’ là số các từ không phải từ dừng của B và E’ là số từ không phải từ dừng của B mà không nhận dạng được. Độ chính xác mức từ không kể các từ dừng của trang văn bản được tính bằng: 𝑛′ − 𝐸′
𝑛′ (là tỷ lệ phần trăm củacác từ không phải từ dừng đã được nhận dạng đúng) Trên một tập các trang ảnh đầu vào, độ chính xác mức từ trung bình không kể các từ dừng được tính bằng: ∑ 𝑛′𝑖 − ∑ 𝐸′𝑖
∑ 𝑛′𝑖 http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Chẳng hạn, với ví dụ trên Trang - 51- Hình 2.2.4, nếu tập các từ dừng là: S={a, and, are, in, its, of, on, the, to} Thì độ chính xác không kể từ dừng là 58.33% (n’=12, E’=5) Trong chương này, luận văn trình bày cơ sở lý thuyết của các độ đo và phương pháp đánh giá chất lượng (độ chính xác) của các hệ thống nhận dạng dựa trên ý tưởng tìm kiếm một ánh xạ (sự tương ứng) giữa các ký tự trong file văn bản được nhận dạng với các ký tự trong file văn bản mẫu.Nội dung đánh giá mà chương đã đề cập đến là đánh giá độ chính xác mức ký tự và độ chính http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN xác mức từ. Trang - 52- Trong chương này, luận văn tiến hành cài đặt và kiểm thử chương trình đánh giá tự động độ chính xác của các phần mềm nhận dạng chữ dựa trên cơ sở lý thuyết đã được đề cập trong chương 2. Bên cạnh đó, luận văn đã tiến hành thu thập, xây dựng được một bộ cơ sở dữ liệu bao gồm các file ảnh văn bản tiếng Anh và tiếng Việt, được quét với chế độ đen/trắng (B&W), với 3 ngưỡng độ phân giải: 200DPI, 300DPI và 400DPI. Mỗi file ảnh văn bản được cung cấp kèm với một file văn bản mẫu.Luận văn đã tiến hành thử nghiệm đánh giá trên bốn phần mềm nhận dạng: VnDOCR, FineReader, Omnipage, VietOCR. Trong đó VnDOCR, FineReader, Omnipage là ba phần mềm dạng được thương mại hóa trên thị trường, VietOCR là phần mềm mã nguồn mở được xây dựng từ bộ mã nguồn mở Tesseract, được phát triển bởi Google. 3.1.Phân tích, cài đặt chương trình 3.1.1.Quy trình thực hiện Chương trình thử nghiệm được cài đặt trong môi trường Microsoft Visual VnDOCR Các file văn bản mẫu Kết quả
nhận dạng FineReader Kết quả
nhận dạng Bộ công cụ đánh giá hiệu
quả của các phần mềm nhận
dạng OmniPage Kết quả
nhận dạng Độ chính xác
mức ký tự Độ chính xác
mức từ VietOCR Kết quả
nhận dạng http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Studio 2008. Quy trình thực hiện được mô tả cụ thể trênHình 3.1. Trang - 53- Từ các ảnh văn bản đầu vào, trước tiên sẽ được nhận dạng bởi lần lượt từng phần mềm. Kết quả nhận dạng trên mỗi ảnh đầu vào đối với mỗi phần mềm được lưu vào một file văn bản (*.txt), dạng mã UTF8. Sau đó, bộ công cụ đánh giá sẽ tiến hành đối sánh các file văn bản mẫu với các file kết quả nhận dạng để tính ra các độ đo mức độ chính xác của các phần mềm như độ chính xác mức ký tự, mức từ, mức câu và mức đoạn. Chương trình thử nghiệm bao gồm các module chính như sau: Module đánh giá độ chính xác mức ký tự (character accuracy). + Đánh giá độ chính xác trên toàn bộ các lớp ký tự. + Đánh giá độ chính xác trên từng lớp ký tự. + Đánh giá độ chính xác trong trường hợp có sử dụng các ký tự đặc biệt, ký tự đánh dấu (marked character). Module đánh giá độ chính xác mức từ (word accuracy). + Đánh giá độ chính xác trên toàn bộ các từ có trong văn bản. + Đánh giá độ chính xác trong trường hợp không kể các từ dừng (Non-stopword accuracy). + Đánh giá độ chính xác mức từ trên đoạn văn bản (phrase accuracy) 3.1.2. Các cấu trúc dữ liệu Một số cấu trúc dữ liệu cơ bản sau đây được sử dụng để lưu thông tin trong quá trình xử lý. Cấu trúc Accops: Được sử dụng để lưu số thao tác chèn, xóa, thay thế các ký tự trong quá trình hiệu chỉnh từ văn bản nhận dạng được Struct Accops{ long ins; /* Số thao tác chèn ký tự */ http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN thành văn bản mẫu: Trang - 54- long subst; /* Số thao tác thay thế ký tự*/ long del; /* Số thao tác xóa ký tự*/ long errors; /* Tổng số lỗi = ins + subst + del */ } Accops; Cấu trúc Accclass: Được sử dụng trong quá trình tính độ chính xác Struct Accclass{ long count; /* Số ký tự của một lớp mẫu */ long missed; /*Số ký tự không nhận dạng được*/ }; mức ký tự trên từng lớp : Cấu trúc Accdata: Được sử dụng để lưu trữ thông tin trong quá trình Struct Accdata Struct Accdata{ long characters;/*Số ký tự trong file mẫu */ long errors; /*Tổng số lỗi*/ long reject_characters; /*Số ký tự bị loại bỏ */ long suspect_markers;/*Số ký tự bị nghi ngờ*/ long false_marks; /* Số ký tự đánh dấu sai*/ Accops marked_ops; /* Số các thao tác hiệu chỉnh đối với các lỗi được đánh dấu */ Accops unmarked_ops;/* Số thao tác hiệu chỉnh đối với các lỗi không được đánh dấu*/ Accops total_ops; /* Tổng số các thao tác hiệu chỉnh đối với tất cả các lỗi */ http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN tính độ chính xác mức ký tự trên từng lớp : Trang - 55- Accclass large_class[MAX_CHARCLASSES]; /* Số ký tự trên các lớp*/ Accclass total_class; /* Tổng số lớp ký tự*/ Conftable conftable;/*Bảng ký tự nhậpnhằng*/ }; Cấu trúc Wac: Được sử dụng để lưu số từ của file văn bản mẫu và số Struct Wac{ long count; /* Tổng số từ */ long missed; /* Số từ không nhận dạng được*/ }; từ không nhận dạng được: Cấu trúc Wacdata: Được sử dụng để lưu thông tin trong quá trình struct { Wac total; /*Tổng số từ*/ Wac stopword[MAX_WORDLENGTH + 1];/*Các từ dừng*/ Wac non_stopword[MAX_WORDLENGTH + 1]; /*Mảng các từ không kể từ dừng*/ Wac distinct_non_stopword[MAX_OCCURRENCES + 2]; /*Số từ xuất hiện trên một trang văn bản*/ Wac phrase[MAX_PHRASELENGTH + 1]; /*Mảng các đoạn*/ } Wacdata; tính độ chính xác mức từ: 3.1.3.Danh sách các từ dừng trong tiếng Việt Danh sách các từ dừng (stop-word) sau đây được sử dụng trong quá trình http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN đánh giá độ chính xác mức từ: Trang - 56- không những bị của theo bởi cùng là nơi thì cả cũng lại nữa trên các đã lên phải trước cái đang lúc qua từ cần đây mà ra từng càng để mỗi rằng và chỉ rất vẫn đến_nỗi một_cách chiếc đều này rất vào cho điều nên rồi vậy chứ do nếu sau vì chưa đó ngay sẽ việc chuyện được nhiều so với có dưới như sự vừa có_thể gì nhưng tại cứ khi 3.1.4.Danh sách các ký tự đặc biệt Như đã đề cập trong chương 2, hầu hết các phần mềm nhận dạng đang được thương mại hóa trên thị trường đều có cơ chế sử dụng các ký tự đặc biệt để đánh dấu các ký tự không nhận dạng được hoặc bị nghi ngờ (độ tin cậy thấp). Từ việc khảo sát (thử nghiệm) thực tế, luận văn đã đề xuất quy ước sử dụng các ký tự đặc biệt như sau: - Dấu ngã (~) là các ký tự bị loại bỏ (reject character). Trong thực tế, ký hiệu này thường được các phần mềm nhận dạng sinh ra trong trường hợp không nhận dạng được ký tự (do hình ảnh của ký tự bị biến dạng, mất mát thông tin hoặc ký tự cần nhận dạng là các ký hiệu toán học http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN đặc biệt, chẳng hạn như độ (o), , , , , , , , … ) Trang - 57- - Dấu mũ (^) là ký hiệu đánh dấu nghi ngờ: Các ký tự đặt sau dấu (^) là các ký tự bị nghi ngờ nhận dạng sai. Chẳng hạn trong câu “Tòa nhà ngh^lêng 18~ ”, ký tự ‘l’ trong từ “ngh^lêng” là ký tự bị nghi ngờ, dấu ~ sau con số 18 là ký tự bị loại bỏ (tương ứng với ký hiệu độ o). - Ký tự xuống dòng “<\n>”: Được sử dụng để đánh dấu kết thúc một dòng trong văn bản. 3.1.5. Module đánh giá độ chính xác mức ký tự Độ chính xác mức ký tự được tính toán bởi module CharacterAccuracy. Module này sẽ tiến hành đối sánh nội dung của văn bản mẫu với văn bản được sinh ra bởi các phần mềm nhận dạng để tính toán và đưa ra các thông tin đánh giá, cụ thể như sau: Tổng số ký tự (Characters). Tổng số lỗi (Errors). Độ chính xác (Accuracy). Số ký tự bị loại bỏ (Reject Characters). Số ký tự đánh dấu (Suspect Markers). Số ký tự đánh dấu bị sai (False Marks) . Phần trăm các ký tự đánh dấu (Characters Marked). Số các thao tác hiệu chỉnh: Thông tin về các thao tác hiệu chỉnh bao gồm số các thao tác chèn (Ins), số thao tác thay thế (Subst), số thao tác xóa (Del), tổng số lỗi (Errors). Các tham số này được thống kê trong cả hai trường hợp có sử dụng các ký tự đánh dấu (Marked) và không sử dụng các ký tự đánh dấu (Unmarked), cụ thể như http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN sau: Trang - 58- Marked Ins Subst Del Errors Unmarked Để thuận tiện cho việc thống kê và đánh giá và có khả năng mở rộng cho nhiều ngôn ngữ khác nhau, module này có thể thông kê các kết quả đánh giá theo các nhóm ký tự, chẳng hạn như: - Các ký tự dấu cách (ASCII Spacing Characters). - Các ký hiệu đặc biệt (ASCII Special Symbols). - Các chữ số (ASCII Digits). - Các ký tự in hoa (ASCII Uppercase Letters). - Các ký tự in thường (ASCII Lowercase Letters). Thông tin đánh giá độ chính xác mức ký tự trên các nhóm ký tự bao gồm:Tổng số ký tự trên lớp (Count), số ký tự không nhận dạng được (Missed), phần trăm ký tự nhận dạng đúng (%Right), cụ thể như sau : Count Missed %Right ASCII Spacing Characters ASCII Special Symbols ASCII Digits ASCII Uppercase Letters ASCII Lowercase Letters Total Độ chính xác mức ký tự trên lớp Theo khảo sát thực tế, các phần mềm nhận dạng chữ Việt đều có khả năng nhận dạng khoảng trên 200 lớp ký tự bao gồm: http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN - Các chữ số: 0…9 (10 số) Trang - 59- - Các chữ cái tiếng Anh: A..Z, a..z (52 ký tự) - Các chữ cái tiếng Việt: Ă, Â, Đ, Ê, Ô, Ơ, Ư, ă, â, đ, ê, ô, ơ, ư (14 ký tự) - Các chữ cái tiếng Việt có dấu: à, ả, ã, á, ạ, ằ, ẳ, ẵ, ắ, ặ, ầ, ẩ, ẫ, ấ, ậ, è, ẻ, ẽ,
é, ẹ, ề, ể, ễ, ế, ệ, ì, ỉ, ĩ, í, ị, ò, ỏ, õ, ó, ọ, ồ, ổ, ỗ, ố, ộ, ờ, ở, ỡ, ớ, ợ, ù, ủ, ũ, ú,
ụ, ừ, ử, ữ, ứ, ự, ỳ, ỷ, ỹ, ý, ỵ), À, Ả, Ã, Á, Ạ, Ằ, Ẳ, Ẵ, Ắ, Ặ, Ầ, Ẩ, Ẫ, Ấ,
Ậ, È, Ẻ, Ẽ, É, Ẹ, Ề, Ể, Ễ , Ế, Ệ, Ì, Ỉ, Ĩ, Í, Ị, Ò, Ỏ, Õ, Ó, Ọ, Ồ, Ổ, Ỗ, Ố, Ộ,
Ờ, Ở, Ỡ, Ớ, Ợ, Ù, Ủ, Ũ, Ú, Ụ, Ừ, Ử Ữ, Ứ, Ự, Ỳ, Ỷ, Ỹ, Ý, Ỵ (120 ký tự) - Các ký hiệu thường dùng trong văn bản: {. , - : ; “ ” ‘ ’ ( ) # $ @ ! % ? /}(trên 22 ký tự) Các thông số đánh giá độ chính xác mức ký tự theo lớp tương tự như phần trên (gồm tổng số ký tự trên lớp - Count, số ký tự không nhận dạng được - Missed, phần trăm ký tự nhận dạng đúng %Right. Ngoài ra, để giúp cho các nhà phát triển phần mềm có những kết quả phân tích chính xác và trực quan hơn, chương trình có thể thống kê các lỗi cụ thể gặp phải trên từng văn bản đầu vào.Ví dụ trên Hình Hình 3.3.2 thể hiện kết quả đánh 756 Characters 39 Errors 94.84% Accuracy 6 Reject Characters 7 Suspect Markers 1 False Marks 1.72% Characters Marked 96.96% Accuracy After Correction giá độ chính xác mức ký tự trên một văn bản: 0 10 6 16 Marked 2 17 4 23 Unmarked 2 27 10 39 Total 117 0 100.00 ASCII Spacing Characters http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Trang - 60- 31 4 87.10 ASCII Special Symbols 6 2 66.67 ASCII Digits 24 1 95.83 ASCII Uppercase Letters 578 22 96.19 ASCII Lowercase Letters 756 29 96.16 Total 4 0 {fl}-{n} 3 3 {w}-{~-.} 2 2 {r}-{I.} 2 2 {r}-{l-} 2 2 {sy}-{~v} 2 2 {te}-{~s} 2 2 {w}-{~.} 2 0 {,}-{.} 2 0 {a}-{,r} 2 0 {e}-{c} 2 0 {e}-{tr} 2 0 {g}-{ji} 1 1 {f}-{~} 1 1 {s}-{~} 1 1 {}-{.} 1 0 {/}-{I} 1 0 {2}-{3} 1 0 {8}-{6} 1 0 {I}-{i} 1 0 {]}-{1} 1 0 {e}-{s} 1 0 {f}-{i} 1 0 {t}-{i} 1 0 {}-{-} 20 0 100.00 {<\n>} http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Trang - 61- 97 0 100.00 { } 5 0 100.00 {(} 5 0 100.00 {)} 5 2 60.00 {,} 5 0 100.00 {-} 7 0 100.00 {.} 2 1 50.00 {/} 2 0 100.00 {0} 2 1 50.00 {2} 1 0 100.00 {7} 1 1 0.00 {8} 1 0 100.00 {A} 1 0 100.00 {C} 2 0 100.00 {D} 1 0 100.00 {F} 1 0 100.00 {H} 1 1 0.00 {I} 2 0 100.00 {L} 2 0 100.00 {M} 2 0 100.00 {O} 1 0 100.00 {P} 3 0 100.00 {S} 30 100.00 {T} 1 0 100.00 {V} 3 0 100.00 {W} 1 0 100.00 {[} 1 1 0.00 {]} 56 1 98.21 {a} 7 0 100.00 {b} 26 0 100.00 {c} 27 0 100.00 {d} 88 5 94.32 {e} http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Trang - 62- 14 4 71.43 {f} 16 1 93.75 {g} 20 0 100.00 {h} 37 0 100.00 {i} 21 2 90.48 {l} 13 0 100.00 {m} 44 0 100.00 {n} 28 0 100.00 {o} 7 0 100.00 {p} 1 0 100.00 {q} 45 2 95.56 {r} 312 93.55 {s} 51 2 96.08 {t} 20 0 100.00 {u} 4 0 100.00 {v} 10 2 80.00 {w} 4 0 100.00 {x} 7 1 85.71 {y} 1 0 100.00 {z} 3.1.6. Module đánh giá độ chính xác mức từ Độ chính xác mức từ được tính toán bởi module WordAccuracy. Module này sẽ tiến hành đối sánh nội dung của văn bản mẫu với văn bản được sinh ra bởi các phần mềm nhận dạng để tính toán và đưa ra các thông tin đánh giá, cụ thể như sau: Tổng số từ (Words). Tổng số từ không nhận dạng được (Misrecognized). Độ chính xác (Accuracy). http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Đánh giá độ chính xác trong trường hợp tính cả các từ dừng: Trang - 63- Các thông số đánh giá được thống kê theo độ dài của từ, bao gồm số từ (Count), số từ không nhận dạng được (Missed), tỷ lệ nhận dạng đúng (%Right), độ dài của từ (length), cụ thể như sau: Count Missed %Right Length
1 2 … … … . … … … . … … … . … … … n … … … Total Đánh giá độ chính xác trong trường hợp không kể các từ dừng (Non- stopwords): Các thông số đánh giá tương tự như trên. Đánh giá độ chính xác trên đoạn văn bản: Các thông số đánh giá tương tự như trên. Ngoài ra, để hỗ trợ các nhà phát triển phần mềm có được các thông tin đánh giá chính xác và trực quan hơn, có thể đưa ra các thông số đánh giá chi 43928 Words 2211 Misrecognized 94.97% Accuracy tiết cho từng từ xuất hiện trong văn bản. Xét tiếp với ví dụ trên: Count Missed %Right Length 810 46 94.32 1 6069 128 97.89 2 6065 92 98.48 3 2438 61 97.50 4 http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Trang - 64- 949 27 97.15 5 204 10 95.10 6 232 5 97.84 7 1 0 100.00 9 16768 369 97.80 Total Count Missed %Right Length 2275 250 89.01 1 1050 249 76.29 2 1425 169 88.14 3 3025 160 94.71 4 3705 186 94.98 5 3327 172 94.83 6 3216 139 95.68 7 3132166 94.70 8 2345 125 94.67 9 1560 96 93.85 10 1032 57 94.48 11 599 38 93.66 12 260 17 93.46 13 118 5 95.76 14 58 11 81.03 15 23 2 91.30 16 3 0 100.00 17 5 0 100.00 18 2 0100.00 19 27160 1842 93.22 Total Count Missed %Right Occurs http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Trang - 65- 11889 808 93.201 2437 54 97.782 868 15 98.27 3 431 7 98.38 4 241 1 99.59 5 155 4 97.42 6 107 496.26 7 69 1 98.55 8 621 98.39 9 35 0 100.00 10 112 1 99.11 >10 16406 896 94.54 Total Count Missed %Right Length 43928 2211 94.97 1 43753 3927 91.022 43578 5446 87.50 3 43403 6812 84.31 4 43228 8082 81.30 5 43053 9249 78.52 6 42878 10334 75.90 7 42704 11351 73.42 8 Count Missed %Right 723 32 95.57 a 69 1 98.55 about 32 1 96.88 after 9 1 88.89 again 10 0 100.00 against ... http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Trang - 66- Count Missed %Right 2 2 0.00 ab 3 0 100.00 abbreviations 3 0 100.00 abernethy 6 0 100.00 ability 6 0 100.00 able 3.2.1. Dữ liệu thực nghiệm Chương trình được thử nghiệm trên 2 bộ dữ liệu tiếng Anh và tiếng Việt. Trong đó bộ dữ liệu tiếng Anh là bộ dữ liệu chuẩn, được cung cấp bởi viện nghiên cứu khoa học thông tin ISRI (Information Science Research Institute) Hoa Kỳ. Bộ dữ liệunày bao gồm tổng 7844 trang ảnh văn bản, được chia thành 6 tập dữ liệu, cụ thể như sau: Tập dữ liệu Business Letter (BUS): Chứa tập các trang văn bản ở dạng thư tín do các tổ chức, cá nhân và doanh nghiệp tặng cho ISRI. Tập dữ liệu Corporate Annual Report (REP): Bao gồm các trang văn bản được lựa chọn từ các báo cáo thường niên của các doanh nghiệp và các tổ chức tài chính. Tập dữ liệu DOE (Department of Energy): Là tập dữ liệu mẫu lớn nhất trong số các tập dữ liệu thử nghiệm, được lựa chọn một cách ngẫu nhiên từ tập các văn bản khoa học và kỹ thuật. Tập dữ liệu English Newspaper Sample (NEWS): Chứa các trang báo được lựa chọn một cách ngẫu nhiên từ 50 tạp chí thịnh hành nhất. Tập dữ liệu Legal Document (LEGAL): Chứa các trang được lựa chọn từ tập http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN văn bản luật, được thu thập từ các văn phòng luật và các tòa án địa phương. Trang - 67- Tập dữ liệu Magazine (ZSET): Bao gồm các trang báo được lựa chọn một cách ngẫu nhiên từ 100 tạp chí có số lượng phát hành lớn nhất. Thông tin chi tiết hơn về các tập dữ liệu được thể hiện trên Bảng 3.4: Các tập dữ liệu tiếng Anh Tập dữ liệu Số trang Số khối Tổng số Số ký tự từ Business Letter (BUS) 800 5676 205840 1279024 Corporate Annual Report 1200 6826 12488028 3569064 (REP) DOE (Department of Energy) 1844 854208 5854048 9120 English Newspaper Sample 800 336104 2460400 3124 (NEWS) Legal Document (LEGAL) 1200 3388 58699 1488392 Magazine (ZSET) 800 9328 826592 4976684 7844 Tổng số: 37462 14769471 19627612 Mỗi trang văn bản sẽ được số hóa 4 lần bởi máy quét Fujitsu M3096G đế sinh ra 3 ảnh nhị phân và một ảnh 8-bit grey scale. Các ảnh nhị phân được tạo ra với các độ phân giải lần lượt là 200, 300 và 400dpi (dots per inch). Ảnh gray scale được quét ở độ phân giải 300dpi. Mỗi file ảnh đi kèm với một file văn bản mẫu và một file thông tin (ground truth) xác định tọa độ cũng như thứ tự đọc các khối văn bản trên mỗi ảnh đầu vào. Đối với dữ liệu tiếng Việt, hiện tại chưa có cơ sở dữ liệu mẫu chuẩn nào được công bố để phục vụ cho việc thử nghiệm, đánh giá các thuật toán nhận dạng. Để đánh giá hiệu quả của thuật toán trong nhận dạng văn bản tiếng Việt, ở đây luận án đã thu thập và xây dựng ba tập dữ liệu sau đây phục vụ cho việc http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN thử nghiệm. Trang - 68- Tập dữ liệu Vie Official Documen, bao gồm các trang văn bản, công văn, thư từ, các bản fax bằng tiếng Việt lưu hành trong Viện Công Nghệ Thông Tin. Tập dữ liệu Vie Magazine, bao gồm tập các văn bản được thu thập từ các báo, tạp chí thịnh hành nhất ở Việt nam: báo Phụ Nữ, báo Thanh Niên, báo Tiền Phong, báo Công An Nhân Dân, báo Gia Đình và Xã Hội, tạp chí Sinh Học, tạp chí Bưu Chính Viễn Thông, tạp chí PC Word, tạp chí Sức Khỏe và Đời Sống, v.v. Tập dữ liệu VieTypical Book chứa các trang văn bản có chất lượng rất khác nhau được lựa chọn ngẫu nhiên từ một số loại sách, truyện, giáo trình, kỷ yếu hội thảo, v.v. Thông tin về các tập dữ liệu này được thể hiện cụ thể hơn trên [Bảng 3.5]. Tập dữ liệu Số trang Số vùng Tổng số từ Số ký tự Vie Magazine 140 766 114358 419561 VieOfficial Document 265 722 87087 312964 Vie Typical Book 300 678 141609 525599 Tổng số: 705 2166 343054 1258124 Mỗi trang văn bản sẽ được quét 3 lần bằng máy quét HP C7716A ở chế độ ảnh nhị phân (B & W) với các ngưỡng độ phân giải lần lượt là 200 dpi, 300 dpi và 400 dpi. Mỗi file ảnh sẽ đi kèm với một file văn bản mẫu và một file ground truth định nghĩa tọa độ của các khối văn bản cần nhận dạng theo một thứ tự đã được xác định (thông thường là theo thứ tự từ trên xuống dưới, từ trái http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN sang phải). Trang - 69- 3.2.2.Kết quả thực nghiệm Từ các tập dữ liệu mẫu đã thu thập được, quá trình thử nghiệm bao gồm 2 công đoạn cơ bản: - Bước 1: Tiến hành nhận dạng toàn bộ các file ảnh mẫu bằng từng phần mềm nhận dạng (VnDOCR, FineReader, OmniPage, VietOCR). Kết quả nhận dạng trên mỗi file ảnh đầu vào sẽ được lưu vào một file văn bản (*.txt), định dạng font chữ UTF8. - Bước 2: Từ các file văn bản được nhận dạng và các file văn bản mẫu tương ứng của mỗi ảnh văn bản đầu vào, chương trình sẽ gọi đến lần lượt từng module trong số 6 module đã được liệt kê ở trên để đưa ra các độ đo đánh giá mức độ chính xác của từng phần mềm nhận dạng trên toàn bộ các tập dữ liệu thử nghiệm. Phần sau đây sẽ trình bày các kết quả thực nghiệm đánh giá độ chính xác của các phần mềm nhận dạng trên từng tập dữ liệu thử nghiệm. Độ chính xác mức ký tự Các kết quả đánh giá độ chính xác mức ký tự trung bình trên với các tập dữ liệu tiếng Anh được tổng kết cụ thể trên Bảng 3.6: Các tập dữ liệu thử nghiệm Phần mềm
nhận dạng BUS REP DOE NEWS LEGAL ZSET VnDOCR 97.15% 94.45% 95.26% 95.46% 97.27% 94.64% FineReader 98.25% 95.7% 96.89% 97.08% 98.57% 96.37% Omnipage 97.86% 94.67% 95.78% 96.88% 98.2% 96.05% VietOCR 85.05% 74.2% 77.32% 77.43% 82.56% 75.52% Kết quả đánh giá độ chính xác mức ký tự trung bình đối với các tập dữ http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN liệu tiếng Việt được thể hiện cụ thể trênBảng 3.7: Trang - 70- Các tập dữ liệu thử nghiệm Phần mềm
nhận dạng Vie Magazine VieOfficial Document Vie Typical Book 92.48% 96.23% VnDOCR 94.4% 94.03% 98.16% FineReader 95.72% - - Omnipage - 46.05% 52.17% 50% VietOCR
Độ chính xác mức từ Độ chính xác mức từ trung bình trên toàn bộ tập dữ liệu tiếng Anh trong trường hợp kể cả từ dừng (STW) và không kể từ dừng (NSTW)được thể hiện cụ thể trên Bảng 3.8. Các tập dữ liệu thử nghiệm Phần mềm
nhận dạng DOES
TW/
NSTW NEWSST
W/
NSTW LEGALST
W/
NSTW VnDOCR FineReade
r VietOCR BUS
STW/
NSTW
96.25%
96.66%
97.48%
97.83%
Omnipage 97.37%
97.56%
83.28%
83.55% REP
STW/
NSTW
93.3%
93.52%
94.17%
94.46%
93.63%
93.8%
70.11%
70.26% 93.58%
93.7%
95.02%
95.28%
94.14%
94.38%
70.29%
70.33% 94.52%
94.66%
96.12%
96.32%
95.2%
95.31%
71.26%
71.33% 96.22%
96.38%
98.03%
98.21%
96.42%
96.6%
74.12%
74.32% ZSET
STW/
NSTW
94.06%
94.22%
95.49%
95.58%
94.15%
94.29%
72.16%
72.27% Độ chính xác mức từtrung bình đối với các tập dữ liệu tiếng Việt được thể hiện cụ thể trênBảng 3.9. Phần mềm
nhận dạng http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Vie Magazine
(%)
STW/ Các tập dữ liệu thử nghiệm
VieOfficial Document
(%)
STW/ Vie Typical Book
(%)
STW/ Trang - 71- NSTW NSTW NSTW VnDOCR FineReader Omnipage
VietOCR 92.23%
92.46%
95.07%
95.28%
-
48.02%
48.23% 91.12%
91.28%
93.68%
93.89%
-
45.29%
45.48% 95.14%
95.27%
97.53%
97.67%
-
50.27%
50.38% Trong chương này, luận văn đã mô tả cụ thể quy trình cũng như các bước xây dựng chương trình thử nghiệm đánh giá độ chính xác của các phần mềm/thuật toán nhận dạng văn bản.Trong đó, tập trung vào2 độ đo cơ bản: Độ chính xác mức ký tự (character accuracy) và độ chính xác mức từ (word accuracy). Trong đó, độ chính xác mức ký tự được đánh giá trong các trường hợp tổng quát (trên toàn bộ lớp ký tự), trên từng lớp ký tự và trong trường hợp có sử dụng các ký tự đặc biệt, các ký tự đánh dấu.Độ chính xác mức từ được đánh giá trong trường hợp xét toàn bộ các từ trong văn bản (kể cả các từ dừng) và trường hợp không sử dụng từ dừng. Hiệu quả của chương trình đánh giá đã được kiểm nghiệm trên 2 tập dữ liệu tiếng Anh và tiếng Việt (đủ lớn,đa dạng về chất lượng).Thực nghiệm cho thấy chương trình đánh giá độ chính xác của các phần mềm thuật toán nhận dạng có thể mang lại cho các nhà phát triển phần http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN mềm nhận dạng chữ những thông tin đánh giá chi tiết, chính xác và trực quan. Trang - 72- Luận văn đã tìm hiểu về một số các vấn đề trong nhận dạng chữ viết như sau: Xây dựng bộ công cụ đánh giá hiệu quả cho các engine nhận dạng chữ Việt. Xâydựng cơ sở dữ liệu mẫu chuẩn, phục vụ cho việc nghiên cứu, đánh giá và thử nghiệm các thuật toán nhằm nâng cao chất lượng nhận dạng. Phần thực nghiệm, luận văn đã tiến hành đánh giá so sánh các phần mềm nhận dạng chữ Việt hiện có như FineReader,VnDOCR, Omnipage, VietOCR. Tuy nhiên luận văn còn một số vấn đề chưa giải quyết được đó là: Luận văn mới chỉ đánh giá các phần mềm nhận dạng trên 2 tiêu chí là mức ký tự và mức từ. Từ việc đánh giá kết quả nhận dạng chưa cải thiện được chất lượng nhận dạng cho các phần mềm nhận dạng chữ. Hướng phát triển của luận văn là xây dựng thêm các công cụ đánh giá khácvà dựa trên kết quả đánh giá đó góp phần để các nhà sản xuất phần mềm đánh giá chất lượng sản phẩm phần mềm của mình và từ đó đưa ra hướng phát http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN triển và nâng cấp phần mềm của mình. Trang - 73- DANH MỤC TÀI LIỆU THAM KHẢO Tài liệu tham khảo tiếng Việt [1] Nguyễn Thị Thanh Tân, (2013), “Nghiên cứu phương pháp nâng cao độ chính xác nhận dạng chữ in đứt, dính và chữ viết tay hạn chế trong tiếng Việt”, Luận án tiến sĩ toán học, Viện Công nghệ Thông tin, Viện Hàn lâm Khoa học và Công nghệ Việt Nam, 2013. Tài liệu tham khảo tiếng Anh [2] Aho, A. V., Hirschberg, D. S., & Ullman, J. D. (1976). Bounds on the complexity of the longest common subsequence problem. Journal of the ACM, 23(1), 1-12. [3] Apostolico, A., Browne, S., & Guerra, C. (1992). Fast linear-space computationsof longest common subsequences. Theoretical ComputerScience, 92, 3-17. [4] Eppstein, D., Galil, Z., Giancarlo, R., & Italiano, G. F. (1992). Sparse dynamic programming I: Linear cost functions. Journal of the ACM,39(3), 519-545. [5] Fickett, J. W. (1984). Fast optimal alignment. Nucleic Acids Research,12(1), 175-179. [6] Hsu, W. J., & Du, M. W. (1984). New algorithms for the LCS problem.Journal of Computer and System Sciences, 29, 133-152. [7] Hirschberg, D. S. (1978). An information-theoretic lower bound for the longest common subsequence problem. Information Processing Letters, 7(1), 40-41. [8] Hunt, J. W.,& Szymanski, T. G. (1977). A fast algorithm for computing longest common subsequences. Communications of the ACM, 20(5), 350- http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN 353. Trang - 74- [9] Masek, W. J., & Paterson, M. S. (1980). A faster algorithm computing string edit distances. Journal of Computer and System Sciences, 20(1), 18- 31. [10] Mukhopadhyay, A. (1980). A fast algorithm for the longest- commonsubsequence problem. Information Sciences, 20, 69-82. [11] Myers, E. W. (1986). An O(ND) difference algorithm and its variations. Algorithmica, 1, 251-266. [12] Nakatsu, N., Kambayashi, Y., & Yajima, S. (1982). A longest commonsubsequence algorithm suitable for similar text strings. Acta Informatica,18, 171-179. [13] Ukkonen, E. (1985). Algorithms for approximate string matching. Informationand Control, 64, 100-118. [14] Wagner, R. A., & Fischer, M. J. (1974). The string-to-string correctionproblem. Journal of the ACM, 21(1), 168-173. [15] Wong, C. K., & Chandra, A. K. (1976). Bounds for the string editing problem. Journal of the ACM, 23(1), 13-16. [16] Wu, S., Manber, U., Myers, G.,& Miller, W. (1990). An O(NP) sequence comparison algorithm. Information Processing Letters, 35(6), 317-323. [17] http://www.expervision.com/testimonial-world-leading-and-champion- ocr/annual-test-of-ocr-accuracy-by-us-department-of-energy-doe- university-of-nevada-las-vegas-unlv [18] http://vndocr.com
[19] http://www.abbyy.com/finereader
[20] http://www.nuance.com
[21] http://vietocr.sourceforge.net http://www.lrc.tnu.edu.vn Số hóa bởi Trung tâm Học liệu – ĐHTN Thái Nguyên, ngày.......tháng......năm 2015Hình 2.1: Đồ thị G(A,B), vớiA = zxy và B = xyxz
Hình 2.2: Các đường đi trên đồ thị G(A, B)
Bảng 2.1: Giải thuật cho bài toán chỉnh sửa chuỗi
2.3. Thuật toán Ukkonen
Thuật toán 2.1: Thuật toán Ukkonen
Ukkonen_Algorithm(A, B)
Input: Các chuỗivăn bản A = a1a2…am và B = b1b2…bm
Output: d = khoảng cách hiệu chỉnh giữa A và B sử dụng hàm chi phí (1, 1, 1)
Procedure compute_row(k,d)
begin
while i
end while;
end procedure;
begin
while row [n-m, d] ≠ m do
for k max {-m, -d} to min {-1, -r} do
end for;
for k max {0, r} to min {n, d} do
end for
end while
end.
Thuật toán 2.2: Thuật toán dò lại đường đi ngắn nhất từ mảng row
Shortest_Edit_Paths_Recovering(m, n, d, row)
Input:m, n, d , row
Output: Đường đi ngắn nhất trên đồ thị hiệu chỉnh
begin
while i>0 or j>0 do
if I = row[k-1, d-1] then
else if i = row [k+1, d-1] +1 then
else if i = row [k, d-1]+1 then
else
end if
end while
end.
Thuật toán 2.3: Thuật toán Ukkonen cải tiến
Optimized_Ukkonen_Algorithm(A,B)
Input: Các chuỗivăn bản A = a1a2…am và B = b1b2…bm
Output: d = khoảng cách hiệu chỉnh giữa A và B sử dụng hàm chi phí (1, 1, 1)
Procedure compute_row(k,d)
begin
while i
end while;
if i = m then
end if;
if j = n then
end if;
end procedure;
begin
while lower ≤ n-m do
if m ≤ n then
for k min { n - m, d} downto max { lower, -d} do
end for;
for k n – m +1 to min { upper, d} do
end for
else
for k max { n -m, -d} to min { upper, d} do
end for
for k n – m -1 downto max { lower, -d} do
end for
end if
end while
end.
2.4. Độ chính xác mức ký tự
Hình 2.3: Sự tương ứng giữa chuỗi văn bản nhận dạng và văn bản mẫu
Bảng 2.2: Độ chính xác mức ký tự
Tổng số:
n = 48
E = 12
Độ chính xác mức ký tự = 75%
2.5.Độ chính xác mức từ
Head contours in the saturated zone underlying Yucca Mountain,
Nevada, and its environs are derived on the basis of alternative
Ilead contours in the satur ated zone underlying yucca Mountain.
Ncvada. and its env irons are deriVed on the basis ofalternative
d) Dóng hàng 2 chuỗi văn bản
Hình 2.4: Độ chính xác mức từ
2.6. Kết luận chương 2
CHƯƠNG 3-THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
Hình 3.1: Quy trình thực hiện của chương trình
Bảng 3.1: Bảng danh sách các từ dừng trong tiếng Việt
Bảng 3.2: Thông tin các thao tác hiệu chỉnh
Bảng 3.3: Thông tin về đánh giá độ chính xác mức ký tự
Ins Subst Del Errors
Count Missed %Right
Errors Marked Correct-Generated
Count Missed %Right
Hình 3.2: Kết quả đánh giá độ chính xác mức ký tự trên một văn bản
Stopwords
Non-stopwords
Distinct Non-stopwords
Phrases
Stopwords
Non-stopwords
Hình 3.4: Đánh giá độ chính xác mức từ trên một file văn bản tiếng Việt
3.2.Đánh giá thực nghiệm
Bảng 3.5: Các tập dữ liệu Tiếng Việt
Bảng 3.6: Độ chính xác mức ký tự trên tập dữ liệu tiếng Anh
Bảng 3.7: Độ chính xác mức ký tự trên các tập dữ liệu tiếng Việt
Bảng 3.8: Độ chính xác mức từ trêntập dữ liệu tiếng Anh
Bảng 3.9: Độ chính xác mức từ tập dữ liệu tiếng Việt
3.2. Kết luận chương 3
KẾT LUẬN