Phát hiện và sửa lỗi chính tả Tiếng Việt Phát hiện và sửa lỗi chính tả Tiếng Việt Phát hiện và sửa lỗi chính tả Tiếng Việt luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
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 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.TS 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ự – Hạnh phúc BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ Họ tên tác giả luận văn: Vũ Thành Bút Đề tài luận văn: Phát sửa lỗi 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 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 họp Hội đồng ngày 27/10/2018 với nội dung sau: Chỉnh sửa, tinh lọc lại cho rõ nghĩa số câu luận văn Sửa số lỗi tả có luận văn Loại bỏ tài liệu tham khảo không sử dụng bổ sung tài liệu tham khảo đƣợc sử dụng 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.TS Lê Thanh Hƣơng CHỦ TỊCH HỘI ĐỒNG PGS.TS Nguyễn Thị Kim Anh Vũ Thành Bút LỜI CAM ĐOAN Những kiến thức trình bày luận văn tơi tìm hiểu, nghiên cứu trình bày theo kiến thức tổng hợp cá nhân Kết nghiên cứu luận văn chƣa đƣợc cơng bố cơng trình khác Trong q trình làm luận văn, tơi có tham khảo tài liệu có liên quan ghi rõ nguồn tài liệu tham khảo Tôi xin cam đoan cơng trình nghiên cứu tơi khơng chép Tơi xin chịu hồn tồn trách nhiệm, sai, tơi xin chịu 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.TS Lê Thanh Hƣơng 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 đào tạo cho tơi để tạo điều kiện thuận lợi cho nghiên cứu học tập, giúp tơi hồn thành luận văn cách tốt Cuối xin gửi lời cám ơn đến gia đình, bạn bè, ngƣời ln bên tơi, động viên khuyến khích tơi trình thực đề tài nghiên cứu 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 DANH MỤC HÌNH VẼ DANH MỤC BẢNG MỞ ĐẦU .4 CHƢƠNG 1: Tổng quan toán 1.1 Giới thiệu toán 1.2 Một số đặc điểm tiếng Việt .7 1.2.1 Đặc điểm tiếng Việt 1.2.2 Các đơn vị tiếng Việt 1.3 Một số lỗi tả phƣơng pháp kiểm lỗi mức độ âm tiết 1.3.1 Các nguyên nhân gây lỗi tả 1.3.2 Phân loại lỗi tả 1.3.3 Phát lỗi tả .10 1.3.4 Sửa lỗi tả 11 1.4 Mục tiêu luận văn 11 CHƢƠNG 2: Cơ sở lý thuyết mạng nơ-ron nhân tạo .13 2.1 Kiến trúc mạng nơ-ron nhân tạo 13 2.2 Mạng nơ-ron hồi quy RNN 14 2.2.1 Mạng nơ-ron hồi quy RNN 14 2.2.2 Các ứng dụng mạng RNN 15 2.2.3 Các mạng nơ-ron mở rộng .17 2.3 Mạng Long Short-term Memory 19 2.3.1 Vấn đề lƣu trữ thông tin ngữ cảnh phụ thuộc xa .19 2.3.2 Mạng Long Short-term Memory .20 CHƢƠNG 3: Ứng dụng RNN cho tốn sửa lỗi tả tiếng Việt 26 3.1 Bài tốn sửa lỗi tả sử dụng RNN 26 3.1.1 Mơ hình hóa ngơn ngữ .26 3.1.2 Các bƣớc thực toán 27 3.2 Áp dụng LSTM tốn sửa lỗi tả tiếng Việt .31 3.2.1 Mơ hình seq2seq (LSTM Encoder - Decoder) kỹ thuật attention 32 CHƢƠNG 4: Cài đặt thử nghiệm 36 4.1 Cài đặt .36 4.1.1 Thƣ viện tensorflow 36 4.1.2 Xây dựng liệu 37 4.1.3 Các bƣớc tiền xử lý 38 4.1.4 Tạo data noise 39 4.1.5 Cài đặt cho mơ hình 40 4.1.6 Tiến hành huấn luyện .40 4.2 Thử nghiệm, đánh giá .41 4.2.1 Thử nghiệm 41 4.2.2 Đánh giá 43 KẾT LUẬN .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 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 DANH MỤC HÌNH VẼ Hình 2.1 Kiến trúc chung ANN gồm thành phần Input Layer, Hidden Layer Output Layer 13 Hình 2.2 Mạng RNN 14 Hình 2.3 Dịch máy 16 Hình 2.4 Mơ tả hình ảnh sử dụng RNN 17 Hình 2.5 Bidirectional RNNs 17 Hình 2.6 Deep (Bidirectional) RNN 18 Hình 2.7 RNN phụ thuộc long-term .19 Hình 2.8 RNN với vấn đề phụ thuộc xa 20 Hình 2.9 Mơ-đun lặp lại RNN chuẩn chứa lớp đơn .21 Hình 2.10 Mơ-đun lặp lại LSTM chứa bốn lớp tƣơng tác 21 Hình 2.11 Trạng thái tế bào mạng LSTM 22 Hình 2.12 Cổng (gate) LSTM 23 Hình 2.13 Tầng cổng quên 24 Hình 2.14 Tầng cổng vào 24 Hình 2.15 Cập nhập trạng thái tế bào .25 Hình 2.16 Đầu trạng thái ẩn .25 Hình 3.1 Bidirectional LSTM 32 Hình 3.2 Ví dụ mơ hình seq2seq 33 Hình 3.3 Minh họa mơ hình seq2seq dùng attention tốn dịch máy 35 Hình 4.1 TensorFlow hỗ trợ tính tốn song song CPU GPU 36 Hình 4.2 Ví dụ graph Tensorflow .37 Hình 4.3 Thực nghiệm 42 Hình 4.4 Thực nghiệm 42 Hình 4.5 Thực nghiệm 42 Hình 4.6 Thực nghiệm 42 Hình 4.7 Thực nghiệm 42 Hình 4.8 Thực nghiệm 43 DANH MỤC BẢNG Bảng Kết độ mát (loss) mơ hình chỉnh sửa lỗi tả 44 Bảng Độ đo đánh giá chất lƣợng chƣơng trình 44 đầu t1:m từ chuỗi đầu vào x1: n Mạng neural encoder mã hóa chuỗi đầu vào thành vector c có độ dài cố định Mạng neural decoder lần lƣợt sinh từ chuỗi đầu dựa vector c từ đƣợc dự đốn trƣớc gặp từ kết thúc câu Trong mơ hình seq2seq, sử dụng kiến trúc mạng khác cho thành phần encoder decoder nhƣ RNN hay mạng neural convolutional Trong viết này, ta tập trung vào mô hình seq2seq sử dụng mạng RNN Hình 3.2 Ví dụ mơ hình seq2seq Về mặt tốn học, mơ hình seq2seq đƣợc mô tả nhƣ sau: Trƣớc hết, thành phần RNN encoder sinh vector c với độ dài cố định từ chuỗi vector đầu vào: c=RNNenc (x1: n) Sau đó, thành phần RNN decoder sinh lần lƣợt từ cho chuỗi đầu theo mơ hình sinh có điều kiện (conditional generation) P (tj+1=k|t^1: j, c) = f(0(sj+1)) sj+1=R (sj, [t^j; c]) t^j ~ p (tj|t^1: j−1, c) Ở đây, tj bƣớc thời gian thứ j chuỗi output t^j giá trị dự đoán bƣớc thứ j sj trạng thái ẩn 33 Mơ hình seq2seq có nhƣợc điểm u cầu RNN decoder sử dụng tồn thơng tin mã hóa từ chuỗi đầu vào cho dù chuỗi dài hay ngắn Thứ hai, RNN encoder cần phải mã hóa chuỗi đầu vào thành vec-tơ có độ dài cố định Ràng buộc khơng thực hiệu thực tế, việc sinh từ bƣớc thời gian chuỗi đầu có phụ thuộc nhiều vào số thành phần định chuỗi đầu vào Ví dụ, dịch câu từ tiếng nƣớc sang tiếng nƣớc khác, thƣờng quan tâm nhiều đến ngữ cảnh xung quanh từ so với từ khác câu Kỹ thuật attention đƣợc đƣa để giải vấn đề Kỹ thuật attention đƣợc đƣa lần đầu vào năm 2014 bới Bahdanau cộng cơng trình nghiên cứu dịch máy Ở mức trừu tƣợng, kỹ thuật attention nới lỏng điều kiện toàn chuỗi đầu vào đƣợc mã hóa vector Thay vào từ chuỗi đầu vào đƣợc RNN encoder mã hóa thành dãy vector Sau RNN decoder áp dụng kỹ thuật attention mềm dẻo (soft attention) cách lấy tổng có trọng số dãy vector mã hóa Các trọng số mơ hình đƣợc tính mạng neural truyền thẳng RNN encoder, RNN decoder tham số kỹ thuật attention đƣợc huấn luyện đồng thời từ liệu Hình vẽ 3.3, lấy từ báo gốc tác giả Bahdanau cộng minh họa cho ý tƣởng soft attention dịch máy 34 Hình 3.3 Minh họa mơ hình seq2seq dùng attention toán dịch máy Attention đánh lại trọng số cho phần tử c Cụ thể từ liên quan có giá trị nhỏ Ngoài phƣơng pháp soft attention, kỹ thuật attention cịn có số kiểu attention khác nhƣ additive attention, multiplicative attention, self-attention, keyvalue attention Trong mô hình sequence-to-sequence (seq2seq), kỹ thuật attention kỹ thuật cho phép học hiệu mơ hình sinh cho chuỗi có độ dài lớn dành đƣợc quan tâm lớn cộng đồng nghiên cứu Hệ thống dịch máy tự động Google, Google Translate áp dụng mơ hình seq2seq với kỹ thuật attention cho chất lƣợng vƣợt trội so với phƣơng pháp trƣớc 35 CHƢƠNG 4: Cài đặt thử nghiệm 4.1 Cài đặt 4.1.1 Thƣ viện tensorflow TensorFlow đƣợc Google phát triển phát hành tháng 10 năm 2015 Thƣ viện hỗ trợ xây dựng mô hình deeplearning phức tạp qua API ngắn gọn Các mơ hình deeplearning phát triển TensorFlow đƣợc sử dụng nhiều loại platform khác (từ smartphone tới distributed servers) CPUs lẫn GPUs Hình 4.1 TensorFlow hỗ trợ tính tốn song song CPU GPU Tensorflow thƣ viện mã nguồn mở mạnh mẽ cho machine learning đƣợc phát triển nhà cứu Google Thƣ viện có nhiều hàm đƣợc xây dựng sẵn cho toán cho phép xây dựng nhiều mạng neural 36 network khác Tensorflow cho phép tính tốn song song nhiều máy tính khác nhau, tất nhiên nhiều CPU, GPU máy Tensorflow cung cấp api làm việc với Python, C++ Tensorflow cung cấp khả xử lý tính tốn số học dựa biểu đồ mơ tả thay đổi liệu Tensor đƣợc sử dụng ta cần giải toán supervised learning Hình 4.2 Ví dụ graph Tensorflow Ứng dụng sử dụng thƣ viện tensorflow để cài đặt training liệu cho mơ hình mạng nơ-ron ta 4.1.2 Xây dựng liệu Để huấn luyện mơ hình ngơn ngữ, ta cần liệu văn để làm liệu huấn luyện May mắn ta khơng cần dán nhãn cho mơ hình ngôn ngữ mà cần tập văn thô đủ 37 Data sử dụng cho việc huấn luyện liệu đƣợc download từ trang web http://viet.jnlp.org/download-du-lieu-tu-vung-corpus Cụ thể sử dụng file văn thô VNTQcorpus_small.txt qua số bƣớc tiền xử lý, chi tiết file data nhƣ sau: Kích thƣớc: ~35 Mb Số lƣợng câu: khoảng 300.000 câu Trích xuất từ khoảng 1.000 báo vnthuquan.net Dữ liệu khơng có phân loại theo thể loại, nhƣng tập trung vào thể loại văn nghệ thuật Đã qua xử lý nhƣ: o Chỉnh sửa lại kí tự lỗi chuyển từ html sang dạng text o Loại bỏ câu giống o Loại bỏ câu khơng phải tiếng Việt (dựa vào thống kê kí tự đặc trƣng tiếng Việt nhƣ: ả, ạ, á, ã, ) Sau có văn thơ, ta cần phải tiền xử lý liệu thô cho định dạng đầu vào 4.1.3 Các bƣớc tiền xử lý Để làm văn đơn giản Vì ta sử dụng ký tự thay từ làm đầu vào cho mơ hình mình, ta khơng cần phải lo lắng việc loại bỏ từ dừng, rút ngắn từ xuống phần thân chúng Do ta cần xóa ký tự mà ta không muốn khoảng trắng dƣ thừa Ví dụ loại bỏ ký tự nhƣ {} @ _ * > () \\ # % + = \ [ \], … Thêm ta chuyển văn dạng chữ thƣờng để xử lý Sau làm liệu, ta tạo vocab_to_int lƣu lại từ điển ký tự int_to_vocab để lƣu từ điển ngƣợc chuyển đổi từ vị trí ký tự ký tự Ta thêm ký tự bắt đầu kết thúc câu vào từ điển 38 Sau làm cho văn liệu đƣợc xếp thành câu trƣớc đƣợc đƣa vào mơ hình Ta chia nhỏ liệu giai đoạn theo sau dấu cách (“ ”) Một vấn đề với điều số câu kết thúc dấu chấm hỏi dấu chấm than, nhƣng xét câu mà kết thúc “ ” May mắn thay, mơ hình tìm hiểu việc sử dụng dấu chấm hỏi dấu chấm than, miễn câu câu sau kết hợp khơng dài độ dài câu tối đa Trong câu đƣợc tiền xử lý tách câu, chọn câu có độ dài ký tự nằm khoảng từ 10 đến 101 (do câu có độ dài ngắn dài khơng có nhiều ý nghĩa trình huấn luyện làm thời gian huấn luyện lâu nhiều) Để theo dõi hiệu suất mơ hình này, ta chia liệu thành tập huấn luyện kiểm tra Bộ thử nghiệm bao gồm 15% liệu 4.1.4 Tạo data noise Để huấn luyện cho mơ hình, ta cần câu chứa lỗi tả để huấn luyện cho mơ hình Do ta cài đặt hàm noise_maker () hàm chuyển đổi câu thành câu có lỗi tả, đƣợc sử dụng làm liệu đầu vào Các lỗi tả đƣợc tạo hàm theo ba cách: Thứ tự hai ký tự đƣợc đổi chỗ (kôhng ~ không) Một ký tự đƣợc thêm vào (ytuổi ~ tuổi) Một ký tự bị loại bỏ (ến ~ đến) Khả xảy ba lỗi xảy khả xảy lỗi 5% Do đó, khoảng 20 ký tự có ký tự bị sai Cuối ta tạo lô liệu Thông thƣờng, ngƣời ta tạo liệu đầu vào trƣớc đào tạo mơ hình họ, điều có nghĩa họ có lƣợng liệu huấn luyện cố định Tuy nhiên, ta tạo liệu đầu vào ta huấn luyện mơ hình mình, cách áp dụng noise_maker cho lô liệu Điều có nghĩa lơ liệu, câu (đích) xác đƣợc đƣa trở lại 39 thông qua noise_maker nhận đƣợc câu đầu vào Sử dụng phƣơng pháp này, ta tạo đƣợc số lƣợng vô hạn liệu huấn luyện 4.1.5 Cài đặt cho mơ hình Nhƣ kiến thức tìm hiểu chƣơng 3, ta tiến hành cài đặt cho mơ hình huấn luyện liệu sử dụng mơ hình sequence-to-sequence (biLSTM Encoder – Decoder) kết hợp thêm kỹ thuật Attention trình Decoder Việc cài đặt sử dụng thƣ viện tensorflow nên ta cần cài đặt tham số cần thiết cho xây dựng đồ thị mơ hình huấn luyện liệu section tensorflow 4.1.6 Tiến hành huấn luyện Ta huấn luyện mơ hình sử dụng tham số: epochs = 100 # Số lần train batch_size = 128 # Số điểm liệu đưa vào học lần huấn luyện num_layers = #layer number of neurons – Số tầng mạng rnn_size = 512 #số tầng mạng RNN embedding_size = 128 # learning_rate = 0.001 # tốc độ học direction = #LSTM chiều (Bi-LSTM) threshold = 0.95 #Khi make_noise () giữ lại 95% ký tự keep_probability = 0.75 path = "VNTQcorpus-small.txt" #data training 40 4.2 Thử nghiệm, đánh giá 4.2.1 Thử nghiệm Ta huấn luyện mơ hình kiểm tra lỗi tả sử dụng: Data: Sử dụng data trang http://viet.jnlp.org/download-du-lieu-tu-vungcorpus Cụ thể: o File VNTQcorpus(small).txt o Kích thƣớc: ~35 Mb o Số lƣợng câu: khoảng 300.000 câu o Trích xuất từ khoảng 1.000 báo vnthuquan.net o Dữ liệu khơng có phân loại theo thể loại, nhƣng tập trung vào thể loại văn nghệ thuật o Đã qua xử lý nhƣ: Chỉnh sửa lại kí tự lỗi chuyển từ html sang dạng text Loại bỏ câu giống Loại bỏ câu khơng phải tiếng Việt (dựa vào thống kê kí tự đặc trƣng tiếng Việt nhƣ: ả, ạ, á, ã, ) Sử dụng thƣ viện tensorflow GPU Code python Cấu hình máy GPU: Geforce GTX 1060 Thời gian training: ~ ngày Sau training ta tiến hành kiểm tra lỗi tả cho câu đƣợc trọn random liệu test (đƣợc lấy từ phần data đầu vào sau tiền xử lý) Sau số kết thu đƣợc: 41 Hình 4.3 Thực nghiệm Hình 4.4 Thực nghiệm Hình 4.5 Thực nghiệm Hình 4.6 Thực nghiệm Hình 4.7 Thực nghiệm 42 Hình 4.8 Thực nghiệm 4.2.2 Đánh giá Do liệu sử dụng huấn luyện thử nghiệm lớn khoảng 200000 câu (chỉ tính dấu phân cách câu dấu “.”), sử dụng khoảng 100000 câu (độ dài khoảng 10 đến 101 ký tự) để làm liệu huấn luyện thử nghiệm Trong sử dụng khoảng 89000 câu (~85% tổng số câu) cho tập liệu huấn luyện 15700 (~15% tổng số câu) cho tập liệu thử nghiệm Độ học ban đầu dùng cho mơ hình learning_rate = 0.001 Sau tiến hành training cho liệu với số lần train (epochs) lần lƣợt 1, 2, 3, 5, 10, … Sau tiến hành thử nghiệm cho tập liệu thử nghiệm Kết thu đƣợc độ mát (loss) liệu (sai lỗi tả) sau mơ hình so với liệu đầu chuẩn: 43 Số lần train 10 Huấn luyện 0.175 0.117 0.107 0.057 0.034 Thử nghiệm 2.153 0.677 0.575 0.125 0.095 (epochs) Tập liệu Bảng Kết độ mát (loss) mơ hình chỉnh sửa lỗi tả Nhƣ bảng sau tăng số vòng huấn luyện cho tập liệu, lỗi giảm đáng kể Nhƣ độ xác mơ hình cho việc sửa lỗi tăng lên thu đƣợc kết tốt Một số kết nhƣ phần thực nghiệm thể Sau ta sử dụng số độ đo nhƣ Precision (P), Recall (R) F1 để đánh giá mơ hình sau “epochs” lần huấn luyện Precision tỷ lệ từ đƣợc xác định xác tồn từ mà hệ thống sử dụng Recall tỷ lệ từ mà hệ thống nhận diện đƣợc tổng số từ có tập Testing F1 đƣợc tính cơng thức 2*P*R /(P+R) Epochs Precision Recall F1 88.3 32.3 47.3 89.3 42.5 57.5 94.3 87.5 90.77 10 96.6 90.5 93.4 Bảng Độ đo đánh giá chất lượng chương trình Các điểm đạt đƣợc chƣơng trình: Độ xác cho việc sửa lỗi tả đạt đƣợc khả quan cao Với độ xác tốt 96.6% cho tập training, liệu tập testing 90.5 %, độ đo trung bình F1 ~ 93.4% Có khả cải thiện độ xác cho chƣơng trình cách tăng số lƣợng vịng train q trình huấn luyện 44 Với việc áp dụng mơ hình mạng nơ-ron, chƣơng trình sửa đƣợc lỗi tả sử dụng thông tin ngữ cảnh xung quanh Đã xử lý đƣợc nhiều liệu khác Các vấn đề chƣa tốt cần khắc phục chƣơng trình: Thời gian làm liệu, tạo liệu lỗi để thử nghiệm chƣơng trình nhiều thời gian Cần thử nghiệm kết hợp nhiều liệu lĩnh vực khác Cần tìm hiểu áp dụng thêm kỹ thuật để cải thiện thời gian huấn luyện cho chƣơng trình 45 KẾT LUẬN Kiểm tra sửa lỗi tả tiếng việt sử dụng RNN mở hƣớng cho tốn phát sửa lỗi tả tự động Qua kết đạt đƣợc ban đầu, nhận thấy nhiều việc phải làm, cần phải tối ƣu Nhƣng cách tiếp cận ban đầu cho kết tích cực đắn, giải đƣợc vấn đề ngữ nghĩa, ngữ cảnh Hơn nữa, sử dụng LSTM hai chiều kỹ thuật sequence-to-sequence kỹ thuật Attention trình giải mã áp dụng thành cơng góp phần cải thiện độ xác ngơn ngữ tiếng Việt Bên cạnh đó, để cải thiện mơ hình cần xây dựng tập đầu vào Word2vec có độ xác cao nữa, thể rõ mối liên hệ từ Chính thế, việc chuẩn bị tập liệu lớn phong phú mặt từ vựng vô cần thiết cho mơ hình sửa lỗi tả tự động tiếng Việt 46 TÀI LIỆU THAM KHẢO [1] Bùi Công Cƣờng, Nguyễn Doãn Phƣớc (2001), Hệ mờ, mạng nơ-ron ứng dụng, Nhà xuất Khoa học kỹ thuật, Hà Nội [2] David Currie (2017), Creating a Spell Checker with TensorFlow, website https://towardsdatascience.com/ [3] Denny Britz (2015), Recurrent Neural Networks Tutorial, blog http://www.wildml.com/2015/09/ [4] Do Minh Hai (2017), https://dominhhai.github.io/vi/2017/10/implement-rnnwith-python/ [5] Đinh Thị Phƣơng Thu, Huỳnh Quyết Thắng, Nguyễn Văn Lợi (10/2017), Sử dụng luật cấu tạo âm tiết tiếng Việt hai thành phần tốn kiểm tra tả tiếng Việt, Tạp chí BCVT & CNTT kỳ [6] FPT Technology magazine, https://techinsight.com.vn/ky-thuat-attention-trongmo-hinh-sequence-sequence-va-ung-dung-trong-xu-ly-ngon-ngu-tu-nhien/ [7] Hồng Phê (1999), Chính tả tiếng Việt, Nhà xuất Đà Nẵng [8] Hochreiter and Schmidhuber (1997), Long short-term memory [9] Ilya Sutskever, Oriol Vinyals, Quoc V Le, (14 Dec 2014), Sequence to Sequence Learning with Neural Networks, pp 1–9 47 ... trình bắt lỗi tả Nhầm lẫn tiêu cực tính hiệu trình bắt lỗi tả cao 1.3.4 Sửa lỗi tả Sau phát đƣợc lỗi tả, ta cần tiến hành bƣớc sửa lỗi tả Ta tạm chia hai phƣơng pháp sửa lỗi dựa vào luật dựa vào thống... tin ngữ cảnh vào việc sửa lỗi tả cịn khơng đạt kết nhƣ mong đợi Do đó, nghiên cứu phát triển ứng dụng phát sửa lỗi tả tiếng Việt sử dụng thơng tin ngữ cảnh giúp cho việc sửa lỗi tả đạt hiệu cao... hiệu cao Mục đích đề tài: Tìm hiểu đặc điểm tả tiếng Việt, lỗi tả bản, phƣơng pháp phát sửa lỗi Nghiên cứu phƣơng pháp phát sửa lỗi tả tiếng Việt dựa từ điển ngữ cảnh Xây dựng ứng dụng