BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI --------------------------------------- VŨ THÀNH BÚT VŨ THÀNH BÚT CÔNG NGHỆ THÔNG TIN PHÁT HIỆN VÀ SỬA LỖI CHÍNH TẢ TIẾNG VIỆT LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN 2015B Hà Nội – Năm 2018 17057205252181000000 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI --------------------------------------- VŨ THÀNH BÚT PHÁT HIỆN VÀ SỬA LỖI CHÍNH TẢ TIẾNG VIỆT Chuyên ngành: Công nghệ thông tin LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC : PGS. Lê Thanh Hƣơng Hà Nội – Năm 2018 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ Họ và tên tác giả luận văn: Vũ Thành Bút Đề tài luận văn: Phát hiện và sửa lỗi chính tả tiếng Việt Chuyên ngành: Công nghệ thông tin Mã số SV: CB150303 Tác giả, Ngƣời hƣớng dẫn khoa học và Hội đồng chấm luận văn xác nhận tác giả đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày 27/10/2018 với các nội dung sau: 1. Chỉnh sửa, tinh lọc lại cho rõ nghĩa một số câu trong luận văn. Sửa một số lỗi chính tả có trong luận văn.
Loại bỏ các tài liệu tham khảo không sử dụng và bổ sung các tài liệu tham khảo đƣợc sử dụng trong luận văn. Ngày 16 tháng 11 năm 2018 Giáo viên hƣớng dẫn Tác giả luận văn PGS. Lê Thanh Hƣơng Vũ Thành Bút CHỦ TỊCH HỘI ĐỒNG PGS. Nguyễn Thị Kim Anh LỜI CAM ĐOAN Những kiến thức trình bày trong luận văn là do tôi tìm hiểu, nghiên cứu và trình bày theo những kiến thức tổng hợp của cá nhân.
Kết quả nghiên cứu trong luận văn này chƣa từng đƣợc công bố tại bất kỳ công trình nào khác. Trong quá trình làm luận văn, tôi có tham khảo các tài liệu có liên quan và đã ghi rõ nguồn tài liệu tham khảo. Tôi xin cam đoan đây là công trình nghiên cứu của tôi và không sao chép của bất kỳ ai. Tôi xin chịu hoàn toàn trách nhiệm, nếu sai, tôi xin chịu mọi hình thức kỷ luật theo quy định.
Hà Nội, ngày 18 tháng 10 năm 2018 Học viên Vũ Thành Bút LỜI CẢM ƠN Trƣớc tiên, tôi xin bày tỏ lòng biết ơn sâu sắc tới PGS. Lê Thanh Hƣơng và các thầy cô Viện CNTT-TT, Trƣờng Đại học Bách Khoa Hà Nội đã nhiệt tình hƣớng dẫn và đào tạo cho tôi để tạo điều kiện thuận lợi cho tôi nghiên cứu và học tập, và giúp tôi có thể hoàn thành luận văn một cách tốt nhất. Cuối cùng tôi xin gửi lời cám ơn đến gia đình, bạn bè, những ngƣời đã luôn bên tôi, động viên và khuyến khích tôi trong quá trình thực hiện đề tài nghiên cứu của mình. Học viên Vũ Thành Bút MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT.
1 DANH MỤC HÌNH VẼ. 2 DANH MỤC BẢNG. 4 CHƢƠNG 1: Tổng quan về bài toán. Giới thiệu bài toán.
Một số đặc điểm trong tiếng Việt. Đặc điểm của tiếng Việt. Các đơn vị của tiếng Việt. Một số lỗi chính tả cơ bản và phƣơng pháp kiểm lỗi mức độ âm tiết.
Các nguyên nhân gây ra lỗi chính tả. Phân loại lỗi chính tả. Phát hiện lỗi chính tả. Sửa lỗi chính tả.
Mục tiêu của luận văn. 11 CHƢƠNG 2: Cơ sở lý thuyết mạng nơ-ron nhân tạo. Kiến trúc mạng nơ-ron nhân tạo. Mạng nơ-ron hồi quy RNN.
Mạng nơ-ron hồi quy RNN. Các ứng dụng của mạng RNN. Các mạng nơ-ron mở rộng. Mạng Long Short-term Memory.
Vấn đề lƣu trữ thông tin ngữ cảnh phụ thuộc xa. Mạng Long Short-term Memory. 20 CHƢƠNG 3: Ứng dụng RNN cho bài toán sửa lỗi chính tả tiếng Việt. Bài toán sửa lỗi chính tả sử dụng RNN.
Mô hình hóa ngôn ngữ. Các bƣớc thực hiện của bài toán. Áp dụng LSTM trong bài toán sửa lỗi chính tả tiếng Việt. Mô hình seq2seq (LSTM Encoder - Decoder) và kỹ thuật attention .32 CHƢƠNG 4: Cài đặt và thử nghiệm.
Thƣ viện tensorflow. Xây dựng bộ dữ liệu. Các bƣớc tiền xử lý. Tạo data noise.
Cài đặt cho mô hình. Tiến hành huấn luyện. Thử nghiệm, đánh giá .46 TÀI LIỆU THAM KHẢO. 47 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Viết tắt Tiếng anh Tiếng việt CNTT Information Technology Công nghệ thông tin ANN Artificial neural network Mạng nơ-ron nhân tạo CPU Central Processing Unit Bộ xử lý trung tâm GPU Graphic Processing Unit Bộ xử lý đồ họa RNN Recurrent neural network Mạng nơ-ron hồi quy LSTM Long-short term memory network Mạng bộ nhớ dài-ngắn NLP Natural Languague Processing Xử lý ngôn ngữ tự nhiên BPTT Backpropagation Through Time Lan truyền ngƣợc liên hồi 1 DANH MỤC HÌNH VẼ Hình 2.
Kiến trúc chung của một ANN gồm 3 thành phần đó là Input Layer, Hidden Layer và Output Layer. Mô tả hình ảnh sử dụng RNN. RNN phụ thuộc long-term. RNN với vấn đề phụ thuộc xa.
Mô-đun lặp lại trong RNN chuẩn chứa một lớp đơn. Mô-đun lặp lại trong một LSTM chứa bốn lớp tƣơng tác. Trạng thái tế bào trong mạng LSTM. Cổng (gate) trong LSTM.
Tầng cổng quên. Tầng cổng vào. Cập nhập trạng thái tế bào mới. Đầu ra và trạng thái ẩn mới.
Ví dụ về mô hình seq2seq. Minh họa mô hình seq2seq dùng attention trong bài toán dịch máy. TensorFlow hỗ trợ tính toán song song trên cả CPU và GPU. Ví dụ về một graph trong Tensorflow .43 2 DANH MỤC BẢNG Bảng 1.
Kết quả độ mất mát (loss) của mô hình chỉnh sửa lỗi chính tả. Độ đo đánh giá chất lƣợng chƣơng trình. Cơ sở khoa học và thực tiễn của luận văn Lý do lựa chọn đề tài. Hiện nay công nghệ thông tin ngày càng phát triển, văn bản đƣợc soạn thảo bằng hình thức viết tay dần đƣợc thay thế bằng hình thức đánh máy.
Lỗi chính tả xuất hiện là điều không thể tránh khỏi và có thể do nhiều nguyên nhân khác nhau: lỗi đánh máy, ngƣời soạn thảo không biết mình đang viết sai. Những lỗi sai này, ngƣời soạn thảo văn bản thƣờng không hoặc khó có thể nhận ra lỗi chính tả của mình. Để phát hiện và sửa lỗi cho một văn bản có thể mất rất nhiều thời gian. Điều này đã dẫn nhu cầu phát hiện và sữa lỗi chính tả tự động cho nhiều ngôn ngữ trên các hệ soạn thảo văn bản khác nhau.
Có hai loại lỗi chính tả tiếng Việt là lỗi sai âm tiết và lỗi sai từ vựng. Luận văn sẽ phát hiện và sửa loại lỗi thứ nhất. Tính cấp thiết của đề tài. Phát hiện và sửa lỗi chính tả văn bản tự động là vấn đề đƣợc nhiều cá nhân, đơn vị nghiên cứu và phát triển.
Với tiếng Việt, hiện cũng đã có các công trình nghiên cứu và ứng dụng để giải quyết bài toán, tuy nhiên các ứng dụng sửa lỗi chính tả này chủ yếu sử dụng từ điển và các luật. Việc sử dụng thông tin ngữ cảnh vào việc sửa lỗi chính tả còn rất ít hoặc không đạt kết quả nhƣ mong đợi. Do đó, nghiên cứu và phát triển một ứng dụng phát hiện và sửa lỗi chính tả tiếng Việt sử dụng thông tin ngữ cảnh sẽ giúp cho việc sửa lỗi chính tả đạt hiệu quả cao hơn. Mục đích của đề tài: Tìm hiểu đặc điểm chính tả tiếng Việt, các lỗi chính tả cơ bản, các phƣơng pháp phát hiện và sửa lỗi.
Nghiên cứu phƣơng pháp phát hiện và sửa lỗi chính tả tiếng Việt dựa trên từ điển và ngữ cảnh. Xây dựng ứng dụng để thử nghiệm. Đánh giá hiệu quả, ƣu nhƣợc điểm và so sánh với các phƣơng pháp sửa lỗi chính tả khác. Nội dung của luận văn Luận văn đƣợc chia ra làm 4 chƣơng cụ thể nhƣ sau: CHƢƠNG 1: Tổng quan về bài toán CHƢƠNG 2: Cơ sở lý thuyết mạng nơ-ron nhân tạo CHƢƠNG 3: Ứng dụng RNN cho bài toán sửa lỗi chính tả tiếng Việt CHƢƠNG 4: Cài đặt và thử nghiệm 5 NỘI DUNG CHƢƠNG 1: Tổng quan về bài toán 1.
Giới thiệu bài toán Bài toán kiểm tra chính tả tự động cho văn bản tiếng Việt đã đƣợc quan tâm nghiên cứu trong những năm gần đây, đặc biệt là với sự phát triển của CNTT cùng một khối lƣợng khổng lồ những văn bản điện tử. Ứng dụng của bài toán kiểm tra chính tả tự động có ý nghĩa thực tế rất lớn đối với những hệ thống xử lý văn bản và nhiều bài toán khác. Tại Việt Nam, những nghiên cứu về kiểm tra chính tả tiếng Việt hiện nay cũng đã thu đƣợc một số kết quả, tuy nhiên còn gặp nhiều khó khăn nhƣ: có nhiều chuẩn chính tả khác nhau và chƣa thống nhất chung trên cả nƣớc trong mọi lĩnh vực, có chuẩn chính tả nhƣng chƣa có chuẩn chính âm,. Một số phần mềm kiểm tra chính tả tiếng Việt cho văn bản điện tử cũng đã đƣợc công bố nhƣ: VietSpell, Unikey, tích hợp trong MSWord 2003,… Tuy nhiên, ngoài VietSpell, hầu hết chúng đều chƣa đƣợc áp dụng khả quan trong thực tế.
Chính tả là sự chuẩn hoá hình thức chữ viết của ngôn ngữ. Đó là một hệ thống các qui tắc về cách viết các âm tiết, từ, các dấu câu, tên riêng, từ nƣớc ngoài, … Quan niệm về chính tả không phải do bản thân ngôn ngữ quy định mà do xã hội quy định, và là các quy tắc đƣợc cộng đồng xã hội thừa nhận để viết. Khác với các ngôn ngữ biến hình - ngôn ngữ mà các nội dung từ biểu hiện ngay ở mức từ khi biến đổi hình thái từ nhƣ các ngôn ngữ Châu Âu (tiếng Anh, Pháp, .) - là chính tả ở mức “từ” thì chính tả tiếng Việt – ngôn ngữ đơn lập (nội dung của từ chỉ mang tính từ vựng) - lại là chính tả ở mức “âm tiết”. Vì thế trong khi bƣớc đầu tiên của bài toán kiểm tra chính tả cho các ngôn ngữ biến hình là kiểm tra chính tả “từ” thì với tiếng Việt sẽ phải tiến hành thêm một pha kiểm tra chính tả mức “âm tiết” ở trƣớc pha kiểm tra mức “từ” này.
Hay nói các khác mô hình tổng quan kiểm tra chính tả cho tiếng Việt sẽ bao gồm 3 pha: - Pha kiểm tra chính tả ở mức “âm tiết” 6 - Pha kiểm tra chính tả ở mức “từ” - Pha kiểm tra chính tả ở mức “câu” (mức ngữ pháp) Nội dung của luận văn chỉ tập trung trình bày giải pháp cho pha kiểm tra chính tả ở mức âm tiết. Vấn đề kiểm tra lỗi chính tả là một trong những vấn đề quan trọng của xử lý ngôn ngữ tự nhiên.