Tiểu luận môn Máy học và ứng dụng THUẬT TOÁN NAÏVE BAYES ỨNG DỤNG BỎ DẤU TIẾNG VIỆT TỰ ĐỘNG CHO VĂN BẢN KHÔNG DẤU

18 1K 2
Tiểu luận môn Máy học và ứng dụng  THUẬT TOÁN NAÏVE BAYES ỨNG DỤNG BỎ DẤU TIẾNG VIỆT TỰ ĐỘNG CHO VĂN BẢN KHÔNG DẤU

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN o0o Báo cáo chuyên đề MÁY HỌC VÀ ỨNG DỤNG THUẬT TOÁN NAÏVE BAYES ỨNG DỤNG BỎ DẤU TIẾNG VIỆT TỰ ĐỘNG CHO VĂN BẢN KHÔNG DẤU GV hướng dẫn: PG.TS VŨ THANH NGUYÊN Học viên thực hiện Hồ Mạnh Khương – CH1301018 Lớp CH08 Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu - 2 - Mục lục Lời cảm ơn 3 Mở đầu 4 I. Giới thiệu bài toán bỏ dấu tự động cho đoạn văn bản không dấu: 5 1.1 Sơ lược bài toán: 5 1.2 Hướng giải quyết: 5 II. Các chương trình đã có: 5 1. AMPad [1] 5 2. VietPad.Net [2] : 6 III. Phân tích các phương pháp giải quyết bài toán: 7 1. Phương pháp LRMM: 7 2. Thuật toán Naïve Bayes và mô hình đề xuất: 9 2.1 Sơ lược về thuật toán Bayes: 9 2.3 Tiền xử lý: 10 2.4 Tách câu: 10 2.5 Tìm các khả năng đánh dấu của từ: 11 2.6 Tính trọng số để tìm câu thích hợp: 12 2.5 Phương pháp huấn luyện: 13 IV. Chương trình demo: 14 1. Chương trình huấn luyện: 14 2. Chương trình ứng dụng bỏ dấu tự động: 14 3. Hướng cải tiến: 17 V. Tài liệu tham khảo: 18 Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu - 3 - Lời cảm ơn Máy học được ứng dụng rộng rãi trong nhiều lĩnh vực cuộc sống. Nó giúp giải quyết nhiều bài toán mà đòi hỏi con người hàng trăm hoặc ngàn năm mới giải quyết được. Kiến thức về máy học là kiến thức thiết yếu và quan trọng trong con đường học tập và nghiên cứu. Em xin chân thành cám ơn Thầy, PGS.TS Vũ Thanh Nguyên đã định hướng, giúp đỡ và hướng dẫn em hoàn thành môn chuyên đề này, mở đầu cho con đường nghiên cứu chuyên sâu về máy học cũng như khoa học máy tính sau này. Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu - 4 - Mở đầu Việc xử lý văn bản không dấu tự động đã là bài toán đặt ra từ khi người Việt Nam bắt đầu sử dụng Internet. Bắt nguồn từ việc những hệ thống email ban đầu không hỗ trợ tốt tiếng Việt Unicode, cho đến những thông tin trao đổi qua chat do người Việt không sử dụng được các bộ gõ tiếng Việt trong thời gian làm quen với máy tính. Qua một thời gian dài gần 10 năm, tình hình trên có khả quan hơn. Tuy nhiên sự bùng nổ thiết bị di động ngày nay lại một lần nữa đưa người Việt Nam trở về với bài toán của thập kỉ trước: bài toán bỏ dấu tự động cho các tin nhắn không dấu. Mặc dù hiện nay, các thiết bị di động hầu hết hỗ trợ bộ gõ tiếng Việt mặc định, nhưng giới trẻ vẫn sử dụng tiếng Việt không dấu như một cách tiết kiệm thời gian và công sức, qua đó gây ra những lỗi không đáng có. Chính vì vậy, xây dựng một bộ bỏ dấu tiếng Việt tự động với tỉ lệ chính xác cao nhằm hỗ trợ cho việc này là một nhu cầu thiết yếu nhưng ít người còn quan tâm. Qua nội dung của bài báo cáo này, em xin giới thiệu một số phương pháp đã được sử dụng và giới thiệu việc ứng dụng phương pháp máy học – cụ thể là thuật toán Naïve Bayes – vào việc xử lý bài toán trên. Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu - 5 - I. Giới thiệu bài toán bỏ dấu tự động cho đoạn văn bản không dấu: 1.1 Sơ lược bài toán: Bài toán được phát biểu đơn giản như sau: - Cho một đoạn văn bản tiếng Việt không dấu, chuyển văn bản này thành có dấu với độ chính xác càng cao càng tốt. - Áp dụng thêm các mô hình hỗ trợ ra quyết định bỏ dấu trong trường hợp nhập nhằng. - Chỉ xử lý các văn bản Unicode. 1.2 Hướng giải quyết: Trong nội dung của bài báo cáo sẽ cài đặt và sử dụng mô hình dựa trên công thức xác suất Bayes làm cơ sở nghiên cứu, được cài đặt dựa trên việc tách cụm 2 từ và 3 từ để so sánh và đối chiếu. Sau đây ta sẽ xem qua một số chương trình hiện có và nghiên cứu sơ bộ về cách hoạt động của chúng. II. Các chương trình đã có: 1. AMPad [1] AMPad (phiên bản cũ là AutoMark) là sản phẩm đầu tiên tiên phong trong lĩnh vực bỏ dấu văn bản không dấu. Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu - 6 - Chương trình AMPad Không chỉ đơn thuần hỗ trợ bỏ dấu cho văn bản không dấu, chương trình còn hỗ trợ bỏ dấu tự động trực tiếp trong khi gõ (bỏ dấu online). Tuy nhiên, chương trình đã rất lâu không có phiên bản cập nhật. 2. VietPad.Net [2] : Là chương trình hỗ trợ soạn thảo văn bản đơn giản thay thế Notepad với khả năng hỗ trợ Unicode tốt, VietPad còn hỗ trợ thêm bộ gõ đơn giản và chức năng bỏ dấu tiếng Việt cho đoạn văn bản không dấu. VietPad.Net được xây dựng trên nền tảng .Net 2.0 và có cả phiên bản Java hỗ trợ chạy tốt trên các hệ điều hành khác như Linux và MacOSX. VietPad phiên bản .NET VietPad là phần mềm mã nguồn mở, được cung cấp miễn phí tại http://vietpad.sourceforge.net/ Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu - 7 - Mô hình bỏ dấu tự động VietPad sử dụng là LRMM, gần giống như AMPad nhưng dữ liệu được tăng lên và độ chính xác được nâng lên rõ rệt. Ngữ liệu bỏ dấu tự động của VietPad.NET III. Phân tích các phương pháp giải quyết bài toán: 1. Phương pháp LRMM: Mô hình LRMM được sử dụng chủ yếu trong hầu hết các phần mềm bỏ dấu tự động và cho kết quả khá cao, đồng thời cách triển khai của phương pháp này khá đơn giản, ngữ liệu tạo ra nhỏ và dễ sử dụng. [3] Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu - 8 - Mô hình bỏ dấu của VietPad Vd: với câu “Nhung van de ve giai quyet nguon nuoc sach cho nguoi dan tren dia ban thanh pho se duoc chu trong trong nam toi” sẽ được VietPad tách thành Nhung van / de ve / giai quyet / nguon nuoc / sach / cho / nguoi dan / tren dia ban / thanh pho / se duoc / chu trong / trong / nam toi. Sau bước so khớp, sẽ điền được câu kết quả: Nhưng vẫn để về giải quyết nguồn nước sách cho người dân trên địa bàn thành phố sẽ được chú trọng trong năm tới. Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu - 9 - Như vậy, độ chính xác của phương pháp này phụ thuộc nhiều vào phương pháp tách từ. Tuy nhiên, việc tách từ, nhất là tách từ cho tiếng Việt đến nay vẫn chưa có cách giải quyết triệt để. 2. Thuật toán Naïve Bayes và mô hình đề xuất: 2.1 Sơ lược về thuật toán Bayes: Naïve Bayes (NB) là phương pháp phân loại dựa vào xác suất được sử dụng rộng rãi trong lĩnh vực máy học, được sử dụng lần đầu tiên trong lĩnh vực phân loại bởi Maron vào năm 1961, sau đó trở nên phổ biến dùng trong nhiều lĩnh vực như trong các công cụ tìm kiếm, bộ lọc email… [5] Thuật toán Naïve Bayes dựa trên định lý Bayes được phát biểu như sau:             Theo định lý Bayes [4] :               Theo tính chất độc lập điều kiện:                    Trong đó:     là xác suất thuộc phân lớp i khi biết trước mẫu X.     xác suất là phân lớp i.       xác suất thuộc tính thứ k mang giá trị x k khi đã biết X thuộc phân lớp i. Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu - 10 - 2.2 Mô hình đề xuất: Mô hình đề xuất gồm các bước thực hiện: tiền xử lý, tách câu, xác định khả năng bỏ dấu của cụm từ (cụm 2 hay 3 từ), tính trọng số và lựa chọn câu kết quả. 2.3 Tiền xử lý: Là giai đoạn xóa các khoảng trắng thừa, lặp, xóa các kí tự không xử lý… 2.4 Tách câu: Đoạn văn bản được tách thành từng câu và xử lý bỏ dấu trên từng câu này để đảm bảo tốc độ cho chương trình, vì các đơn vị từ và ngữ giữa các câu là không liên quan đến nhau trong phương pháp bỏ dấu tự động bằng thống kê. Văn bản không dấu Tiền xử lý Tách câu Xác định khả năng bỏ dấu firstmark.txt Tính trọng số cho các vector từ (cụm 2 hoặc 3 từ) Lựa chọn câu có trọng số thích hợp vector.txt [...]... trình ứng dụng bỏ dấu tự động: - 14 - Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu Giao diện chương trình bỏ dấu tự động Chương trình hỗ trợ bỏ dấu tự động theo 2 phương thức chi cụm 2 từ và 3 từ tích hợp - 15 - Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu 3 So sánh và đánh giá: Thực hiện so sánh và thử bỏ dấu trên 10 văn bản được... 87.62 98.14 Như bảng so sánh, ta thấy sử dụng thuật toán Naïve Bayes cho kết quả cao hơn hẳn so với mô hình LRMM - 16 - Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu 3 Hướng cải tiến: Mặc dù đã đạt được độ chính xác cao và tốc độ chạy không thua kém gì so với phương pháp LRMM, sử dụng thuật toán Naïve Bayes vẫn còn gặp những vấn đề cần khắc phục: - Sử dụng tài nguyên.. .Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu Câu không đơn thuần chỉ được xác định bằng các dấu hết câu (như chấm, chấm than, chấm hỏi, xuống dòng…) mà còn được xác định bằng các kí tự ngắt như phẩy, ngoặc đơn, dấu nháy… Vd: ta có câu: Hom nay, troi mua rat to Thì đưa vào bộ tách câu, ta sẽ được 2 câu là “hom nay” và “troi mua rat to” và xử lý bỏ dấu trên... mình bỏ dấu tự động này - 17 - Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu V Tài liệu tham khảo: [1] Trần Khiết Tâm - Phần mềm AMPad [2] VietPad.NET - http://vietpad.sourceforge.net/ [3] Christopher D.Manning, Hinrich Schutze, Foundations Of Statistical Natural Language Processing [4] PGT TS Vũ Thanh Nguyên, Bài giảng máy học và ứng dụng, trường Đại học Công Nghệ... theo công thức Bayes: 𝑃( 𝑡ừ đư𝑎 𝑣à𝑜| 𝑡𝑢 𝑑𝑢𝑎 𝑣𝑎𝑜) = 𝑃( 𝑡𝑢 𝑑𝑢𝑎 𝑣𝑎𝑜| 𝑡ừ đư𝑎 𝑣à𝑜)𝑃(𝑡𝑢 𝑑𝑢𝑎 𝑣𝑎𝑜) 𝑃(𝑡ừ đư𝑎 𝑣à𝑜) - 13 - Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu IV Chương trình demo: 1 Chương trình huấn luyện: Chương trình nhằm mục đích học từ dữ liệu thô và tạo ra 2 tập tin firstmark.txt và vector.txt Thời gian thống kê cho cụm 2 từ là khoảng 5 phút và cụm 3 từ là... từ trong văn bản, tính bằng %) AMPad VietPad.NET mAuto mAuto (cụm 2 từ) (cụm 3 từ) Văn bản 1 74.78 70.35 82.74 98.23 Văn bản 2 90.36 88.21 88.21 99.29 Văn bản 3 88.53 84.71 89.80 99.78 Văn bản 4 85.76 83.50 86.73 99.03 Văn bản 5 87.20 87.25 92.46 98.92 Văn bản 6 84.42 82.76 93.10 96.55 Văn bản 7 79.68 78.46 86.87 97.72 Văn bản 8 89.44 88.80 91.83 98.71 Văn bản 9 80.97 79.85 88.43 96.27 Văn bản 10 85.76... trời mua rất to - trời mua rất tô - trời mưa rát to - trời mưa rất to … - 11 - Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu 2.6 Tính trọng số để tìm câu thích hợp: Các câu được tạo sẽ được tra theo từ để tính trọng số vector và chọn ra câu thích hợp nhất VD với ví dụ ở trên, ta có một số câu ứng viên: - trời mua rát to - trời mua rát tô - trời mua rất to - trời mua... vector cho cụm 2 từ và 400MB khi sử dụng cụm 3 từ) làm chiếm dụng tài nguyên máy - Thời gian chạy lâu nếu gặp từ/cụm từ có quá nhiều khả năng bỏ dấu - Phương pháp huấn luyện là không giám sát nên còn nhiều sai sót và không thực sự chính xác cao Trong tương lai, có thể tích hợp thêm một bộ kiểm tra chính tả cơ bản sau khi đã thực hiện bỏ dấu tự động Như vậy có thể tăng thêm độ chính xác cho mô mình bỏ dấu. .. theo bảng trọng số, ta có trọng số của câu: - trời mưa rất to: 0.381067832267509 + 0.600380292102955 + 0 + 0 - trời mưa rát to: 0.381067832267509 + 0 + 0 + 0 … Như vậy, câu “trời mưa rất to” có trọng số nhỏ nhất, ta chọn câu này để xuất ra (mỗi từ đôi – cụm 2 từ – không có, ta tính là w=0) Tương tự trên cho cách tính theo cụm 3 từ - 12 - Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn. .. 2.5 Tìm các khả năng đánh dấu của từ: Tập tin firstmark.txt chứa các khả năng bỏ dấu của 1 từ, qua đó ta sẽ thiết lập được các cách bỏ dấu có thể có của 1 câu VD: ta đưa vào câu: Troi mua rat to Tập tin firstmark.txt có các thông tin: troi|trời mua|mua,mưa rat|rát,rất to|to,tô Ta sẽ có các cách bỏ dấu: troi mua rat to trời mua rát to mưa rất tô Và có được các khả năng bỏ dấu câu: - trời mua rát to . trình ứng dụng bỏ dấu tự động: Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu - 15 - Giao diện chương trình bỏ dấu tự động Chương trình hỗ trợ bỏ dấu tự. sâu về máy học cũng như khoa học máy tính sau này. Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu - 4 - Mở đầu Việc xử lý văn bản không dấu tự động. pháp máy học – cụ thể là thuật toán Naïve Bayes – vào việc xử lý bài toán trên. Thuật toán Naïve Bayes - Ứng dụng bỏ dấu tiếng Việt tự động cho văn bản không dấu - 5 - I. Giới thiệu bài toán

Ngày đăng: 21/05/2015, 12:50

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan