Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 82 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
82
Dung lượng
1,05 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG - - LÊ MẠNH ĐOAN NHẬN DẠNG VĂN BẢN MỘT SỐ NGÔN NGỮ LA TINH LUẬN VĂN THẠC SĨ : KHOA HỌC MÁY TÍNH THÁI NGUYÊN, NĂM 2017 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG - - LÊ MẠNH ĐOAN NHẬN DẠNG VĂN BẢN MỘT SỐ NGÔN NGỮ LA TINH Chuyên ngành: Khoa học máy tính Mã số : 60 48 01 01 LUẬN VĂN THẠC SĨ : KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC : TS Hồ Văn Canh THÁI NGUYÊN, NĂM 2017 LỜI CẢM ƠN Trước hết cho phép em chân thành cảm ơn Thầy giáo, Cô giáo khoa Công nghệ thông tin cán bộ, nhân viên phịng Đào tạo Sau đại học, Trường Đại học Cơng nghệ Thông tin Truyền thông - Đại học Thái Ngun ln nhiệt tình giúp đỡ tạo điều kiện tốt cho em suốt trình học tập trường Xin chân thành cảm ơn anh, chị bạn học viên lớp Cao học CK14H - Trường Đại học Công nghệ Thông tin Truyền thông – Đại học Thái Nguyên động viên, giúp đỡ nhiệt tình chia sẻ với em kinh nghiệm học tập, cơng tác suốt khố học Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc đến TS Hồ Văn Canh, người tận tình giúp đỡ em hình thành hồn chỉnh luận văn Mặc dù có nhiều cố gắng, song hạn hẹp thời gian, điều kiện nghiên cứu trình độ, luận văn khơng tránh khỏi khiếm khuyết Em chân thành mong nhận đóng góp ý kiến Thầy giáo, Cô giáo đồng nghiệp Một lần em xin cảm ơn! Thái Nguyên, tháng 04 năm 2017 Người thực luận văn Lê Mạnh Đoan i DANH MỤC CÁC HÌNH Hình 1.1 Sơ đồ tổng quát hệ nhận dạng Hình 1.2 Cấu tạo nơron sinh học 15 Hình 3.1 Sơ đồ khối thuật tốn dựa xich Markov cấp hữu hạn trạng thái 40 Hình 3.2.Giao diện chương trình 55 Hình 3.3 Thực lấy liệu đầu vào .56 Hình 3.4 Màn hình thực thi thuật tốn xích Markov cấp hữu hạn trạng thái 57 Hình 3.5 Kết hiển thị dang file.txt thuật tốn xích Markov cấp hữu hạn 58 ii DANH MỤC CÁC BẢNG Bảng 3.1 B1 34 Bảng 3.2 B2 .35 Bảng 3.3 B3 .36 Bảng 3.4 B4 .37 Bảng 3.5 B5 .38 Bảng Bảng tần số đơi móc xích Tiếng Anh (tính 10.000 ký tự) 68 Bảng Bảng tần số đơi móc xích Tiếng Pháp (tính 10.000 ký tự) .69 Bảng Bảng tần số đơi móc xích Tiếng Đức (tính 10.000 ký tự) 70 Bảng Bảng tần số đơi móc xích Tiếng Tây Ban Nha (tính 10.000 ký tự) 71 Bảng Ước lượng đơi móc xích tiếng Đức (A1) .72 Bảng Ước lượng đơi móc xích tiếng Pháp (A2) .73 Bảng Ước lượng đơi móc xích tiếng Anh (A3) 74 Bảng Ước lượng đơi móc xích tiếng Tây Ban Nha (A4) 75 iii MỤC LỤC LỜI CẢM ƠN i DANH MỤC CÁC HÌNH ii DANH MỤC CÁC BẢNG iii MỤC LỤC iv MỞ ĐẦU CHƯƠNG I TỔNG QUAN VỀ NHẬN DẠNG .4 1.1 Tổng quan nhận dạng 1.1.1 Không gian biểu diễn đối tượng, không gian diễn dịch 1.1.2 Mơ hình chất trình nhận dạng 1.2 Nhận dạng dựa phân hoạch không gian 1.2.1 Phân hoạch không gian .8 1.2.2 Hàm phân lớp hay hàm định 1.2.3 Nhận dạng thống kê 1.2.4 Một số thuật toán nhận dạng tiêu biểu tự học .10 1.3 Nhận dạng theo cấu trúc 12 1.3.1 Biểu diễn định tính 12 1.3.2 Phương pháp định dựa vào cấu trúc 13 1.4 Nhận dạng mạng nơron 14 1.4.1 Bộ não Nơron sinh học 14 1.4.2 Mơ hình mạng nơron 16 1.5 Kết luận 18 CHƯƠNG II KỸ THUẬT NHẬN DẠNG BẰNG THỐNG KÊ 19 2.1 Bài toán 19 2.2 Nhận dạng có giám sát 20 2.3 Nhận dạng khơng có giám sát 23 2.3.1 Cơ sở lý thuyết 23 2.3.2 Bài toán 24 2.3.2.1 Giải toán trường hợp cho trước số k .24 iv 2.3.2.2 Trường hợp số k chưa cho biết trước 26 2.4 Mơ hình xích Markov 27 2.5 Đặc trưng ngôn ngữ tự nhiên 30 CHƯƠNG III THỰC NGHIỆM 31 3.1 Bài toán nhận dạng văn La Tinh .31 3.2 Thuật tốn dựa xích Markov cấp hữu hạn trạng thái 31 3.2.1 Xây dựng sở liệu để máy học .31 3.2.2 Nhận biết trực tiếp 39 3.2.3 Một số ví dụ 41 3.3 Chương trình Demo .54 3.3.1 Giao diện chương trình 55 3.3.2 Xây dựng mẫu thử .56 3.3.3.Thực thi chương trình với thuật tốn xích Markov cấp hữu hạn trạng thái 56 KẾT LUẬN 59 TÀI LIỆU THAM KHẢO 60 PHỤ LỤC 61 v MỞ ĐẦU Nhận dạng lý thuyết toán học có nhiều ứng dụng thực tiễn, nhận dạng tiếng nói, nhận dạng hình ảnh, nhận dạng chữ ký, phân loại ngôn ngữ , xây dựng tiêu chuẩn rõ ứng dụng phân tích mã v.v Thông qua mạng Internet, em biết giới nước có nhiều nhà nghiên cứu vấn đề có phần mềm áp dụng cho nhiều lĩnh vực khác nhau: phần mềm nhận dạng tiếng việt, phần mềm nhận dạng vân tay, phần mềm kiểm soát E-mail hệ thống Internet… Nhận dạng chữ tốn hữu ích, quen thuộc ứng dụng nhiều thực tế đặc biệt lĩnh vực nhận dạng phân loại văn thu hút nhiều tác giả quan tâm nghiên cứu phương pháp nhận dạng khác nhau: logic mờ, giải thuật di truyền, mơ hình xác suất thống kê, mơ hình mạng nơ ron Đã có nhiều cơng trình nghiên cứu thực việc nhận dạng, phân loại văn La Tinh đạt tỷ lệ xác cao, nhiên ứng dụng chưa thể đáp ứng hoàn toàn nhu cầu người sử dụng nên ngày người ta tiếp tục nghiên cứu phương pháp nhận dạng tốt hướng đến dùng cho thiết bị di động, tốn thời gian thực Sau tìm hiểu tiến công nghệ nhận dạng chữ La Tinh tính phần mềm nhận dạng chữ, tư vấn giáo viên hướng dẫn, lựa chọn hướng nghiên cứu thiết thực với đề tài: "Nhận dạng văn số ngôn ngữ La tinh" Để nhận dạng đối tượng đó, trước hết điều quan trọng phải biết đặc trưng đối tượng Việc xác định đặc trưng ngôn ngữ La tinh mà Đề tài quan tâm khó khăn lớn phải thống kê thật nhiều thật khách quan Do đó, phạm vi Đề tài Luận văn, em hạn chế vào việc xác định ngôn ngữ La tinh phổ biến nay, tiếng Anh, tiếng Pháp, tiếng Đức, tiếng Tây Ban Nha Ngoài ra, Đề tài Luận văn hạn chế cho việc nhận dạng ngôn ngữ La tinh mà cho ngôn ngữ Phi La tinh tiếng Trung Quốc, tiếng Nhật, tiếng Hàn, tiếng Thái Lan, v.v ta lại phải chuyển đổi ngơn ngữ sang số có phần phức tạp lúc đó, em lại khơng có kiến thức ngơn ngữ Về ngun tắc, có thuật tốn nhận dạng ngơn ngữ La tinh tốt thuật tốn áp dụng vào ngơn ngữ tùy ý khác Trong khuôn khổ luận văn, em tập trung nghiên cứu, giải tốn nhận dạng ngơn ngữ tự nhiên ( National Language Recognition ) dựa vào phân hoạch khơng gian (nhận dạng theo thống kê tốn học), lớp ngơn ngữ tiêu biểu nghiên cứu ngơn ngữ La Tinh tiếng Anh, tiếng Pháp, v.v Việc nghiên cứu quan trọng cần thiết, kết nghiên cứu có khả mở rộng ứng dụng việc xây dựng chương trình kiểm sốt E-mail đặc biệt chương trình phân tích mã tự động Cả hai chương trình cần thiếu vấn đề an ninh quốc gia; khoa học, giúp ta nắm kiến thức tốt dễ dàng việc chuyển sang nghiên cứu vấn đề khác lĩnh vực nhận dạng Từ đây, ta mở rộng cho việc nhận dạng âm thanh, nhận dạng vân tay sống, v.v vấn đề quan trọng an ninh quốc gia Nội dung luận văn vấn đề cần giải Nghiên cứu trình Markov hữu hạn trạng thái Nghiên cứu xây dựng mơ hình Markov ứng với ngơn ngữ tự nhiên như: Tiếng Anh, Tiếng Pháp, Tiếng Đức, Tiếng Tây Ban Nha Giải toán phân lớp đối tượng cho trường hợp số lớp biết trước số lớp chưa biết Nghiên cứu xây dựng ước lượng tham số xích Markov Ứng dụng toán kiểm định giả thiết thống kê (testing of statistic hypothesis) để giải toán nhận dạng ngơn ngữ Lập trình thử nghiệm Phương pháp nghiên cứu Phương pháp nghiên cứu ứng dụng phương pháp toán học, nhận dạng xử lý ngôn ngữ, nghiên cứu khảo sát lý thuyết xây dựng thuật tốn, lập trình kiểm thử thuật tốn đánh giá Cụ thể: - Tìm hiểu cập nhật kiến thức phương pháp nhận dạng ngơn ngữ tự nhiên, trí tuệ nhân tạo, khảo sát lý thuyết mơ hình, cơng cụ toán học, thiết kế xây dựng thuật toán, kỹ thuật tổ chức liệu ngôn ngữ lập trình - Tìm đọc báo, cơng trình nghiên cứu khoa học liên quan đến chủ đề nghiên cứu nước giới Cụ thể tài liệu kỹ thuật thống kê toán học q trình Markov; quy luật ngơn ngữ q trình ngẫu nhiên dừng, khơng hậu quả; kỹ thuật nhận dạng ngơn ngữ tự nhiên Hình thành tổng quan tương đối đầy đủ tình hình nghiên cứu liên quan đến chủ đề giới - Lập trình cài đặt số kỹ thuật nhận dạng ngôn ngữ La Tinh đánh giá kết Cấu trúc luận văn chia thành chương: Chương 1: " Tổng quan nhận dạng ", trình bày tổng quan hướng nghiên cứu nhận dạng Chương 2: " Kỹ thuật nhận dạng thống kê ", trình bày ứng dụng kỹ thuật thống kê Toán học để nhận dạng ngơn ngữ tự nhiên tìm hiểu đặc trưng số ngôn ngữ tự nhiên tiêu biểu Chương 3: " Thực Nghiệm ", trình bày thuật tốn nhận dạng văn La Tinh đưa kết với số mẫu ngơn ngữ điển hình PHỤ LỤC CẤU TRÚC CÁC LỚP TRONG CHƯƠNG TRÌNH Cấu trúc chung Lớp Program: đầu vào chương trình, gọi đến lớp MainFrom Lớp MainForm: lớp xử lý giao diện Lớp MarkovRecognition: Xử lý thuật toán Markov Chi tiết lớp MakovRecognition - Lớp thực việc nhận dạng ngơn ngữ theo thuật tốn markov sử dụng ma trận tần số đơi móc xích chuỗi đầu vào Các hàm bao gồm: caclConnect: tần số đơi móc xích chuỗi đầu vào calcMatrix: đọc giá trị ước lượng đơi móc xích từ tệp calcS: tính tích vơ hướng ma trận ước lượng đơi móc xích ma trận đơi móc xích chuỗi đầu vào 61 using System; using System.Collections.Generic; using System.IO; using System.Windows.Forms; namespace TextRecognition { class MarkovRecognition { public static Dictionary dictLang = new Dictionary { {0,"Không nhận dạng"}, {1,"Tiếng Đức"}, {2,"Tiếng Pháp"}, {3,"Tiếng Anh"}, {4,"Tiếng TBN"} }; public static string fileContent; public static int type = 0; // Tần số đơn ngôn ngữ private static int[] freq ; // Giá trị móc xích đọc từ tệp 62 private static int[,] connect; public static List data; public static void algorithm() { type = 0; freq = new int[26]; connect = new int[26, 26]; data = new List(); calcConnect(); calcMatrix(); int i = 0; int sValue = 0; sValue = calcS(connect, data[i]); if (sValue >= 0) { type = i; } else { while (i < 5) { i++; sValue = calcS(connect, data[i]); if (sValue > 0) { type = i; i = 5; } 63 } } } public static void calcConnect() { int start = 0; using (FileStream fs = File.Open(fileContent, FileMode.Open)) using (BufferedStream bs = new BufferedStream(fs)) using (StreamReader sr = new StreamReader(bs)) { string s; while ((s = sr.ReadLine()) != null) { for (int i = 0; i < s.Length; i++) { if ('A'