BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP BỘ CHƯƠNG TRÌNH NHẬP DỮ LIỆU TIẾNG VIỆT VIẾT TAY TRÊN TABL
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP BỘ
CHƯƠNG TRÌNH NHẬP DỮ LIỆU
TIẾNG VIỆT VIẾT TAY TRÊN TABLET PC
MÃ SỐ: B 2009 - 22 - 46
Tp Hồ Chí Minh, tháng 7 năm 2011
S 0 9
S KC 0 0 3 2 0 4
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP BỘ
CHƯƠNG TRÌNH NHẬP DỮ LIỆU TIẾNG VIỆT
VIẾT TAY TRÊN TABLET PC
Mã số: B2009-22-46
Chủ nhiệm đề tài: ThS Nguyễn Đăng Quang
TP.HCM, 07/2011
Trang 3BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP BỘ
CHƯƠNG TRÌNH NHẬP LIỆU TIẾNG VIỆT
VIẾT TAY TRÊN TABLET PC
Mã số: B2009-22-46
Xác nhận của cơ quan chủ trì đề tài Chủ nhiệm đề tài
(ký, họ tên, đóng dấu) (ký, họ tên)
TP.HCM, 07/2011
Trang 4DANH SÁCH THÀNH VIÊN THAM GIA
Chủ nhiệm đề tài
ThS Nguyễn Đăng Quang – Khoa Công nghệ Thông tin – Trường Đại học Sư phạm Kỹ thuật TP.HCM
Thành viên:
ThS Đinh Công Đoan – Khoa Công nghệ Thông tin – Trường Đại học Sư phạm Kỹ thuật TP.HCM
Trang 5MỤC LỤC
Mở đầu 1
Mục tiêu 3
Chương 1: Tổng hợp về nhận dạng chữ viết 1.1 Giới thiệu 5
1.1.1 Nhận dạng ký tự 5
1.1.2 Lịch sử 5
1.1.3 Hiện trạng của công nghệ OCR 6
1.1.4 Tổng quan về nhận dạng chữ viết tay 7
1.2 Nhận dạng chữ viết On-line 8
1.2.1 Máy tính điều khiển bằng bút 8
1.2.2 Các phương pháp thống kê 9
1.2.3 Các công cụ phát triển 10
1.3 Nhận dạng chữ viết Off-line 11
1.3.1 Tiền xử lý 11
1.3.2 Nhận dạng ký tự 13
1.3.3 Nhận dạng từ 13
1.3.4 Ứng dụng 14
1.4 Vấn đề phân tích và xử lý ngôn ngữ trong nhận dạng 14
1.5 Tình hình nghiên cứu nhận dạng chữ viết tay tiếng việt 15
1.6 Phạm vi đề tài 16
Chương 2: Tablet PC API 2.1 Đối tượng 18
2.1.1 Tablet 18
2.1.2 InkCollector 18
2.1.3 InkOverlay 18
2.1.4 Ink Data 19
2.1.5 Stroke 22
2.1.6 Ink Renderer 22
2.1.7 Ink divider 22
2.1.8 Cups 25
2.2 Nhận dạng 26
2.2.1 Nhận dạng nét viết 26
2.2.2 Nâng cao chất lượng nhận dạng 27
2.2.3 RecognitionAlternate 31
2.3 Cử chỉ (gestures) 36
2.3.1 Cử chỉ hệ thống 36
Trang 62.3.2 Cử chỉ ứng dụng 36
2.4 Kết luận 44
Chương 3: Ink Analyzer 3.1 Giới thiệu 46
3.1.1 Nhận dạng 46
3.1.2 Phân loại 46
3.1.3 Phân tích layout 47
3.1.4 Phân tích incremental 47
3.1.5 Persistence 48
3.1.6 Ink Analyzer Explorer 48
3.2 Lớp InkAnalyzer 49
3.2.1 Thuộc tính 49
3.2.2 Phương thức 51
3.3 Kết luận 56
Chương 4: Giải pháp nhập liệu tiếng việt 4.1 Sơ đồ chức năng của giải pháp 57
4.2 Giao diện của ứng dụng 58
4.3 Thiết kế bảng nhập liệu viết tay 59
4.3.1 Ý tưởng thiết kế 59
4.3.2 Vùng thu nhận nét viết 59
4.3.3 InkCollector 60
4.3.4 RecognizerContext 60
4.3.5 Trình bày kết quả nhận dạng 61
4.3.6 Nâng cao độ chính xác 61
4.3.7 Xử lý từ nhận dạng sai 64
4.4 Bàn phím ảo 65
4.5 Tự điển nhắc từ tiếng việt 68
4.6 Chuyển đổi sang tiếng việt 69
4.7 Xử lý giao tiếp hệ thống 69
4.8 Đánh giá kết quả 70
Chương 5: Kết luận và hướng phát triển Tài liệu tham khảo 75
Trang 7DANH MỤC BẢNG BIỂU
Bảng 2.1: Thuộc tính của RecognizerGuide 29
Bảng 2.2: Thuộc tinh của đối tượng Alternates 33
Bảng 2.3: Các loại cử chỉ ứng dụng 41
Bảng 4.1: Thống kê mức độ sử dụng các cụm phím 67
Bảng 4.2: Số lần bấm phím trên bàn phím ảo của giải pháp so với TIP 71
Bảng 4.3: Số lần bấm phím trên TIP so với VietPanel đối với nội dung cột 1 71
Bảng 4.4: Số lần bấm phím trên TIP so với VietPanel đối với nội dung cột 1 72
Bảng 4.5: Thực nghiệm nhập dữ liệu trên VietPanel 73
Trang 8DANH MỤC HÌNH ẢNH
Hình 1.1: Nét viết và tọa độ các điểm lưu trữ được tái tạo 8
Hình 1.2: Một ví dụ kết quả tách ký tự từ hình ảnh 13
Hình 1.3: Nhận dạng chữ viết tay – Lựa chọn kết quả dựa trên ngữ pháp 15
Hình 2.1: Phối hợp giữa các thành phần trên Tablet PC platform 18
Hình 2.2: Các đối tượng cơ bản trong Ink Namespace 19
Hình 2.3: Cấu tạo của Tablet PC 20
Hình 2.4: Ảnh viết có 3 strokes 21
Hình 2.5: Quan hệ giữa Ink, Strokes và Stroke 22
Hình 2.6: Phân tích Layout bằng Ink Divider 25
Hình 2.7: Hình minh họa cusps 25
Hình 2.8: RecognizerGuide có 1 cột, 2 dòng 29
Hình 2.9: RecognizerGuide có 4 cột, 3 dòng 30
Hình 2.10: Kết quả nhận dạng và độ tin cậy 32
Hình 2.11: TIP trên Windows XP cho lựa chọn các Alternates và cập nhật tự điển 33
Hình 2.12: Thông tin về kết quả nhận dạng và các loại đường Ascender, Midline, Baseline và Descender 34
Hình 3.1: Phân tích Layout của InkAnalyzer 47
Hình 3.2: Ink Analyzer Explorer 49
Hình 3.3: Xóa nét ký tự s, vùng xóa được vẽ lại bằng hình chữ nhật 53
Hình 4.1: Sơ đồ khối bảng nhập liệu tiếng Việt (VietPanel) 57
Hình 4.2: Giao diện bảng nhập liệu tiếng Việt 58
Hình 4.3: Bảng viêt tay mở rộng 58
Hình 4.4: Lựa giá trị khác trong danh sách các kết quả nhận dạng 61
Hình 4.5: Ứng dụng xác định tần suất sử dụng từ 63
Hình 4.6: Chuyển từ tiếng Việt sang từ viết theo kiểu gõ Telex 63
Hình 4.7: Xóa từ với lựa chọn “viết lại” 64
Hình 4.8: Vị trí các phím ng, nh, và dấu nặng 65
Hình 4.9: Các phím soạn thảo 66
Hình 4.10: Nhóm phím thao tác trên ứng dụng 66
Hình 4.11: Sắp xếp phím trên bàn phím dựa trên kết quả thống kê 68
Hình 4.12: Nhắc từ ghép tiếng Việt 68
Trang 9DANH MỤC TỪ VIẾT TẮT
Trang 10INFORMATION ON RESEARCH RESULTS
1 General information:
Project title: Program to input Vietnamese Handwritten text on Tablet PC
Code number: B2009-22-46
Coordinator: Nguyễn Đăng Quang
Implementing institution: University of Technical Education HCMC
Duration: from 4/2009 to 4/2011
2 Objective(s):
Develop a solution to input Vietnamese handwritten text on Tablet PC by using the Microsoft Windows Tablet PC API
3 Creativeness and innovativeness:
A writing pad for inputting Vietnamese handwritten text, which has not been yet supported on Tablet PC so far
A virtual keyboard optimized for inputting Vietnamese text
4 Research results:
A computer application to input Vietnamese text with digitized Pen on Tablet
PC running Microsoft Windows Operating System
A published article on the Journal of Technical Education Science
5 Products:
An application to input Vietnamese text with digitized Pen on Tablet PC
running Microsoft Windows Operating System (VietPanel)
6 Effects, transfer alternatives of research results and applicability:
The application can be used to replace the default Tablet PC Input Panel (TIP) whenever users want to enter Vietnamese text on slate Tablet PC or convertible Tablet
PC in slate mode where keyboard are not available
Trang 11Đề tài NCKH cấp bộ B2009-22-46 1
Chương trình nhập dữ liệu tiếng Việt viết tay trên Tablet PC – Tháng 08/2011
MỞ ĐẦU
Cùng với sự phát triển của Công nghệ, công nghệ Thông tin, các phương pháp giao tiếp người máy cũng ngày càng hoàn thiện Phương pháp nhập liệu thiếu tự nhiên của bàn phím làm cho hoạt động nhập liệu trên máy tính con người bị ràng buộc, thiếu sáng tạo
Để việc nhập liệu trên máy tính tự nhiên hơn, con người đã sáng tạo ra các thiết bị màn hình cảm ứng điểu khiển bằng tay hoặc bằng bút
Máy tính bảng (Tablet PC) là thiết bị được giới thiệu đầu tiên bởi Microsoft, đó là các máy tính cá nhân được trang bị màn hình cảm ứng (digitizer) Với Tablet PC, người sử dụng có thể điều khiển bằng bút cảm ứng trên màn hình thay vì sử dụng chuột, điều này làm cho hoạt động giao tiêp người-máy tự nhiên hơn
Điều khiển bằng bút là một cách nhập liệu mới trên thiết bị Cùng với việc điều khiển bằng bút, nhu cầu nhập liệu bằng bút cũng không thể thiếu Với TabletPC, con người có thể điều khiển, cũng có thể nhập bằng cách viết trực tiếp lên màn hình như viết trên giấy Tuy nhiên do thông tin lưu trữ trên máy tính đều được chuẩn hóa dưới dạng Text hoặc giá trị số trong khi thông tin viết tay lại có dạng hình ảnh Chính vì vậy, việc nhận dạng để chuyển hình ảnh chữ viết thành thông tin lưu trữ dạng Text là không thể thiếu Trên một tầm nhìn rộng hơn, nhận dạng luôn là một phần quan trọng và thú vị trong các ứng dụng tin học hiện nay Nhận dạng chữ viết ngày càng trở nên quan trọng vì rất nhiều
lý do, trong đó có việc bất tiện của sử dụng bàn phím và việc đưa tin học đến với những người khiếm thị Nhận dạng chữ viết cũng như nhận dạng nói chung là dùng thuật toán
để tìm ra các đặc điểm riêng của từng cá thể trong quần thể mà chúng ta phải nhận dạng Tablet PC đã được nghiên cứu từ rất lâu, cùng với đề xuất của Bill Gates, Microsoft là công ty dẫn đầu trong lĩnh vực này Họ đã tích hợp tính năng nhập liệu viết tay cùng với
ra lệnh bằng giọng nói vào trong các hệ điều hành của hãng, bắt đầu từ Windows XP Đến phiên bản Windows Vista, giải thuật nhận dạng chữ viết tay đã được nâng lên một tầm cao mới Bộ nhập liệu viết tay trên Vista cho kết quả nhận dạng với độ chính xác rất cao Tính năng này lại càng tốt hơn nữa trên Windows 7 khi mà công nghệ giao tiếp người-máy hiện nay ngày càng phát triển
Trang 12Đề tài NCKH cấp bộ B2009-22-46 2
Chương trình nhập dữ liệu tiếng Việt viết tay trên Tablet PC – Tháng 08/2011
Số lượng ngôn ngữ giao diện hỗ trợ bởi Windows 7 hiện nay đã lên đến 36 Tuy nhiên
số ngôn ngữ được hỗ trợ nhận dạng chữ viết tay chỉ có 13 bao gồm English (US), English (UK), Japanese, Chinese (Traditional), Chinese (simplified), Korean, French, German, Italian, Dutch, Portugese (Brazil), Spanish và Swedish các bộ ngôn ngữ này chỉ
có thể vài đặt trên phiên bản Ultimate – không có Việt Nam Đây là điều đáng tiếc, một phần do thị trường sử dụng máy tính bảng với nhu cầu nhập liệu viết tay ít nên Microsft chưa đầu tư thực hiện
Sản phẩm vnOnline 1.0 – chương trình nhận dạng chữ viết tay on-line tiếng Việt trên Tablet PC của Viện CNTT Hà Nội là sản phẩm duy nhất có giá trị thương mại tính đến thời điểm này nhưng không được phổ biến rộng rãi và chỉ hoạt động trên Windows XP Mục tiêu của đề tài nhằm xây dựng một công cụ nhập liệu tiếng Việt viết tay trên máy tính bảng bằng cách khai thác thư viện InkAPI sẵn có của Windows, khai thác bộ nhận dạng sẵn có của Windows (vốn đã hoạt động rất hoàn hảo), nạp thêm bộ tự điển từ tiếng Việt viết theo kiểu gõ Telex Ngoài ra để hỗ trợ thêm cho quá trình nhập, một bàn phím
ảo tối ưu cho nhập liệu tiếng Việt cũng được thiết kế Nhóm nghiên cứu cũng tích hợp vào chương trình một bộ tự điển nhắc từ ghép tiếng Việt giúp tăng tốc độ nhập Sản phẩm của đề tài không thay thế bảng nhập liệu có sẵn (TabletPC Input Panel) của Windows mà chỉ hỗ trợ nhập liệu tiếng Việt viết tay khi sử dụng các Slate Tablet PC (máy tính bảng không có bàn phím) hoặc khi muốn nhập liệu tiếng Việt trên Convertible TabletPC (máy tính bảng có bàn phím với màn hình có thể xoay và gập) làm việc ở Slate mode
Giải pháp của đề tài là thiết kế một bảng nhập liệu viết tay sử dụng thư viện nhận dạng sẵn có của Microsoft cho Tablet PC Đề tài sẽ không nghiên cứu hoặc đề xuất giải thuật nhận dạng chữ viết tay mà chủ yếu tìm hiểu và khai thác thư viện nhận dạng chữ viết sẵn
có Bảng nhập liệu cho phép người sử dụng viết tay tiếng Việt theo kiểu gõ Telex từ bàn phím; ngoài ra để hỗ trợ cho người nhập, chương trình có thiết kế thêm một bàn phím ảo
để nhập nhanh tiếng Việt bằng bút Chương trình còn kết hợp tính năng nhắc từ ghép tiếng Việt để tăng tốc độ nhập liệu
Trang 13Đề tài NCKH cấp bộ B2009-22-46 3
Chương trình nhập dữ liệu tiếng Việt viết tay trên Tablet PC – Tháng 08/2011
NỘI DUNG NGHIÊN CỨU
Các nội dung nghiên cứu gồm:
Tìm hiểu thư viện InkAPI để lập trình Ink trên Tablet PC,
Tìm hiểu Recognizer và viết bộ nhận dạng Ink,
Nâng cao chất lượng nhận dạng bằng cách xây dựng bộ từ điển từ tiếng Việt để nạp vào Recognizer,
Xây dựng bàn phím ảo tiếng Việt,
Xây dựng bộ tự điển từ ghép tiếng Việt, tích hợp vào ứng dụng để nhắc từ khi nhập,
ĐỐI TƯỢNG NGHIÊN CỨU
TabletPC
Lập trình hệ thống trên Windows
PHƯƠNG PHÁP NGHIÊN CỨU
Thống kê
Thực nghiệm
MỤC TIÊU
Xây dựng ứng dụng nhập liệu viết tay tiếng Việt trên Tablet PC gồm:
Bảng nhập liệu viết tay
Bàn phím ảo
Một số tính năng soạn thảo khác
Báo cáo gồm các phần sau:
Phần mở đầu giới thiệu tổng quan về đề tài, lý do thực hiện đề tài, cách tiếp cận, mục tiêu, phương pháp nghiên cứu và nội dung nghiên cứu
Trang 14Đề tài NCKH cấp bộ B2009-22-46 4
Chương trình nhập dữ liệu tiếng Việt viết tay trên Tablet PC – Tháng 08/2011
nhận dạng
Trang 15Đề tài NCKH cấp bộ B2009-22-46 5
Chương trình nhập dữ liệu tiếng Việt viết tay trên Tablet PC – Tháng 08/2011
CHƯƠNG 1: TỔNG HỢP VỀ NHẬN DẠNG CHỮ VIẾT
1.1 GIỚI THIỆU
1.1.1 Nhận dạng ký tự
Nhận dạng ký tự , viết tắt OCR (Optical Character Recognition) là hoạt động chuyển đổi
cơ học hoặc điện tử từ hình ảnh ký tự in hoặc viết tay được thu nhận thành văn bản trên máy tính Nhận dạng ký tự được sử dụng rộng rãi để chuyển đổi sách và tài liệu thành các file dữ liệu lưu trữ trên máy tính hoặc phát hành trên Web site OCR giúp hiệu chỉnh, lưu trữ, tìm kiếm và lưu trữ thông tin hiệu quả hơn OCR là một linh vực nghiên cứu trong nhận dạng mẫu (pattern recognition), trí tuệ nhân tạo (AI) và Computer vision
1.1.2 Lịch sử
Năm 1929 – Gustav Tauschek nhận bằng sáng chế về OCR ở Đức, sau đó năm 1933 – Paul W Handel nhận bằng sáng chế của Mỹ về OCR
Năm 1949 – Các kỹ sư của công ty RCA Mỹ chế tạo chiếc máy tính OCR đầu tiên để giúp người mù cho bộ quản trị cựu chiến binh Mỹ Chiếc máy này đã chuyển đổi ký tự
in thành ngôn ngữ máy và phát âm các ký tự chuyển đổi Vì quá tốn kém nên dự án đã không thể phát triển sau đó
Năm 1955 – Hệ thống thương mại đầu tiên được cài đặt ở Reader‟s Digest Hệ thống thứ
2 được bán cho công ty Standard Oil để đọc thẻ tín dụng với mục đích tính hóa đơn Khoảng năm 1965, Reader‟s Digest và RCA hợp tác thiết kế máy OCR để đọc tài liệu nhằm số hóa các coupon trả từ quảng cáo Font chữ in trên các tài liệu được in bằng máy
in OCR-A Font Máy đọc được kết nối trực tiếp đến máy tính RCA 301 (một trong những máy tính bán dẫn đầu tiên) Máy đọc sau đó được cải tiến thành một máy đọc tài liệu chuyên dụng ở TWA để đọc và xử lý vé máy bay Máy có khả năng xử lý 1500 tài liệu / phút, kiểm tra tài liệu để chấp nhận hoặc từ chối những tài liệu không thể xử lý Sản phầm sau đó trở thành một bộ phận trong dây chuyền sản xuất của RCA
Công ty dịch vụ bưu điện Mỹ đã sử dụng các máy OCR để phân loại thư từ 1965 Ứng dung đầu tiên của OCR ở Châu Âu được thực hiện bới Bưu điện Anh Quốc Năm 1965