: CÁC HỆ THỐNG THÔNG MINH ĐỀ TÀI : Spelling Correction – Sửa lỗi chính tả văn bản

35 20 0
: CÁC HỆ THỐNG THÔNG MINH  ĐỀ TÀI  : Spelling Correction – Sửa lỗi chính tả văn bản

Đ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

TRƯỜNG ĐẠI HỌC HẢI PHÒNG KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO MÔN HỌC MÔN CÁC HỆ THỐNG THÔNG MINH ĐỀ TÀI Spelling Correction – Sửa lỗi chính tả văn bản Thành viên Nguyễn Cát Hải (NHÓM TRƯỞNG) Nhóm 4 Nguyễn Đức Hải Trần Văn Hoàng Vũ Phú Tài Vũ Văn Dương Lớp CNTT1 K21 Giảng viên hướng dẫn Phạm Nghĩa Luân Hải Phòng 052022 LỜI CẢM ƠN Trước hết em xin gửi lời cảm ơn và lòng biết ơn đến Thầy Phạm Nghĩa Luân Trường Đại Học Hải Phòng đã tận tình hướng dẫn trong suốt thời gian làm bài tập Thầy đã tạo rất nh.

TRƯỜNG ĐẠI HỌC HẢI PHỊNG KHOA CƠNG NGHỆ THƠNG TIN BÁO CÁO MÔN HỌC MÔN: CÁC HỆ THỐNG THÔNG MINH ĐỀ TÀI : Spelling Correction – Sửa lỗi tả văn Thành viên: Nguyễn Cát Hải (NHÓM TRƯỞNG) Nguyễn Đức Hải Trần Văn Hoàng Vũ Phú Tài Vũ Văn Dương Lớp: CNTT1.K21 Giảng viên hướng dẫn: Phạm Nghĩa Luân Hải Phịng 05/2022 Nhóm LỜI CẢM ƠN Trước hết em xin gửi lời cảm ơn lòng biết ơn đến Thầy Phạm Nghĩa Luân Trường Đại Học Hải Phòng tận tình hướng dẫn suốt thời gian làm tập Thầy tạo nhiều điều kiện thuận lợi cho lời khuyên quý báu giúp Nhóm em hoàn thành tốt tập Xin chân thành cảm ơn thầy giáo nói riêng thầy Bộ mơn khoa CNTT nói chung tận tình giảng dạy, truyền đạt cho em kiến thức quý bảo tạo điều kiện giúp đỡ trình học tập, giúp em có sở lý thuyết vững vàng Cuối cùng, em xin chân thành cảm ơn gia đình bạn bè ln tạo điều kiện, quan tâm, ủng hộ, giúp đỡ, động viên em suốt q trình học tập hồn thành tốt báo cáo nhóm Em xin chân thành cảm ơn! MỤC LỤC MỞ ĐẦU Lý chọn chủ đề: Trong q trình phát triển hội nhập văn hóa, kinh tế giới Quá trình giao lưu người Việt Nam người nước ngày nhiều d ẫ n đến khó khăn q trình sửa lỗi tả cho văn Hiện có nhiều hệ thống tự động sửa lỗi tả: Google docs, VCatSpell, TummoSpell, TinySpell,… Những hệ thống cho phép người sử dụng kiểm tra lỗi tả cách nhanh chóng giao diện làm việc Điều cho thấy phát triển dịch máy ngày tiến gần đến ngôn ngữ tự nhiên người Chính lý đó, nhóm em lựa chọn thực đề tài“ Spelling Correction – Sửa lỗi tả văn bản” Hướng nghiên cứu đề tài: - Nghiên cứu tìm hiểu phân tích - Cài đặt thử nghiệm Nội dung: - Phần 1: Tổng quan toán - Phần 2: Kiến trúc mạng - Phần 3: Ứng dụng RNN cho toán sửa lỗi tả tiếng Việt - Phần 4: Thử nghiệm đánh giá Phần 1: Tổng quan toán 1.1 Giới thiệu toán 1.1.1 Hiện trạng ứng dụng thực tế: Hiện công nghệ thông tin ngày phát triển, văn soạn thảo hình thức viết tay dần thay hình thức đánh máy Lỗi tả xuất điều khơng thể tránh khỏi nhiều nguyên nhân khác nhau: lỗi đánh máy, người soạn thảo khơng biết viết sai Những lỗi sai này, người soạn thảo văn thường khơng khó nhận lỗi tả Để phát sửa lỗi cho văn nhiều thời gian Điều dẫn nhu cầu phát sữa lỗi tả tự động cho nhiều ngôn ngữ hệ soạn thảo văn khác Bài tốn kiểm tra tả tự động cho văn tiếng Việt quan tâm nghiên cứu năm gần Ứng dụng tốn kiểm tra tả tự động có ý nghĩa thực tế lớn hệ thống xử lý văn nhiều toán khác văn gõ máy tính (Viết nhật ký, viết thư từ, viết truyện ngắn, bình luận, đánh giá , thơ, văn xuôi, truyện ngắn, kịch, văn tự sự, tùy bút, tiểu thuyết, phê bình văn học, ký, loại sách giáo khoa, tài liệu tham khảo học tập, báo khoa học, cơng trình nghiên cứu khoa học, đồ án tốt nghiệp, luận văn, sách tập, biên nộp phạt, biên họp, nghị quyết, điều luật, định buộc thơi việc…) có nhu cầu sửa lỗi tả văn OCR Tiếng Việt , văn dịch từ ngôn ngữ khác sang Tiếng Việt bị sai tả , áp dụng hệ thống hỗ trợ gõ văn sửa sai trình biên soạn Tại Việt Nam, nghiên cứu kiểm tra tả tiếng Việt thu số kết quả, nhiên cịn gặp nhiều khó khăn như: có nhiều chuẩn tả khác chưa thống chung nước lĩnh vực, có chuẩn tả chưa có chuẩn âm, Một số phần mềm kiểm tra tả tiếng Việt cho văn điện tử công bố như: VietSpell, Unikey, tích hợp MSWord 2003,… Tuy nhiên, ngồi VietSpell, hầu hết chúng chưa áp dụng khả quan thực tế 1.1.2 Phương hướng: Chính tả chuẩn hố hình thức chữ viết ngơn ngữ Đó hệ thống quy tắc cách viết âm tiết, từ, dấu câu, tên riêng, từ nước ngồi, … Quan niệm tả khơng phải thân ngôn ngữ quy định mà xã hội quy định, quy tắc cộng đồng xã hội thừa nhận để viết Khác với ngơn ngữ biến hình - ngơn ngữ mà nội dung từ biểu mức từ biến đổi hình thái từ ngơn ngữ Châu Âu (tiếng Anh, Pháp, ) - tả mức “từ” tả tiếng Việt – ngơn ngữ đơn lập (nội dung từ mang tính từ vựng) - lại tả mức “âm tiết” Vì bước tốn kiểm tra tả cho ngơn ngữ biến hình kiểm tra tả “từ” với tiếng Việt phải tiến hành thêm pha kiểm tra tả mức “âm tiết” trước pha kiểm tra mức “từ” Hay nói khác mơ hình tổng quan kiểm tra tả cho tiếng Việt bao gồm pha: - Pha kiểm tra tả mức “âm tiết” - Pha kiểm tra tả mức “từ” - Pha kiểm tra tả mức “câu” (mức ngữ pháp) Nội dung luận văn tập trung trình bày giải pháp cho pha kiểm tra tả mức âm tiết Vấn đề kiểm tra lỗi tả vấn đề quan trọng xử lý ngơn ngữ tự nhiên Có nhiều nguyên nhân tạo lỗi tả: lỗi gõ sai từ, lỗi sử dụng từ điển sai Tương tự ngôn ngữ khác, phát sửa lỗi tả tiếng Việt gồm hai giai đoạn: thứ nhất, tìm từ sai lỗi tả thứ hai tìm từ gợi ý Bởi ngơn ngữ có đặc trưng riêng, chi tiết giai đoạn khác • • - 1.1.3 Đầu vào, đầu toán: Đầu vào: Các tệp liệu ngôn ngữ txt,các file văn doc,docs,…như soạn ngôn ngữ tiếng Việt bị sai lỗi tả Các văn dịch tự động từ ngơn ngữ khác chưa xác Các loại OCR chữ viết thành văn Đầu ra: Tệp chứa văn qua xử lý tự động loại bỏ lỗi thừa ,thiếu, sai, khiến tệp văn lỗi khơng cịn lỗi, câu từ mang ý nghĩa, đấu câu, ngữ pháp , đảm bảo yêu cầu đặt 1.2 Một số đặc điểm Tiếng Việt 1.2.1 Đặc điểm Tiếng Việt: Tiếng Việt ngôn ngữ đơn lập, quan hệ từ biểu thị phương tiện nằm từ trật tự từ, hư từ Đặc điểm áp dụng cho ngữ âm, ngữ pháp ngữ nghĩa - 1.2.2 Các đơn vị Tiếng Việt: Tiếng (âm tiết) đơn vị phát âm tự nhiên nhỏ ngôn ngữ Trong tiếng Việt, âm tiết phát với điệu, viết tách rời với âm tiết khác khoảng trống Trên chữ viết, âm tiết tiếng Việt ghi thành “chữ” đọc thành “tiếng” Có nhiều cách mô tả cấu trúc âm tiết tiếng Việt khác nhau: thành phần, - hay thành phần Từ: Từ đơn vị ngơn ngữ có nghĩa hồn chỉnh Từ tiếng Việt bao gồm hay nhiều âm tiết xếp theo thứ tự định Có từ đơn, từ ghép từ láy Từ tiếng Việt có khả hoạt động tự độc lập mặt cú pháp Từ tiếng Việt khơng có biến dạng (số nhiều, thứ, bị động ) - nhiều ngôn ngữ khác Câu: Câu từ hợp thành theo quy tắc định Trong tiếng - Việt, quy tắc đa dạng Dấu thanh: Tiếng Việt gồm có điệu ngang, huyền, hỏi, ngã, sắc, nặng Trong có dấu thanh, ngang không biểu diễn dấu Trong văn viết tay, dấu đánh tùy tiện, khơng đặt vào vị trí âm 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 ngun nhân gây lỗi tả: Có nhiều nguyên nhân khác gây lỗi tả, tổng hợp lại số nguyên nhân sau: - Nguyên nhân nhập liệu sai: Lỗi gõ sai/ thiếu/ thừa phím gây ra, cách cài đặt bàn phím, loại bàn phím, quy tắc gõ tiếng Việt kiểu gõ khác (Telex, VNI, TCVN, Unicode, ) - Nguyên nhân phát âm sai: Lỗi nhầm lẫn cách đọc cách viết từ đồng âm âm gần với dẫn đến viết sai (như lỗi dấu hỏi/ngã, lối sai âm đầu s/x, tr/ch, r/d/gi/v ) Với tiếng Việt, có nhiều khác biệt cách phát âm vùng hệ thống chữ viết lại dựa hệ thống phát âm thủ đô Hà Nội nên dễ dẫn đến lỗi sai loại - Nguyên nhân sử dụng từ vựng sai: Lỗi sử dụng từ sai với ý nghĩa thực Đây lỗi vốn từ vựng người sử dụng, nhiều địi hỏi trình bắt lỗi tả phải tìm lỗi - Các nguyên nhân khác: Ngồi cịn loại lỗi tả khác viết hoa, viết tên riêng, thuật ngữ, tên tiếng nước ngồi khơng qui cách, … 1.3.2 Phân loại lỗi tả Có nhiều cách phân loại lỗi tả theo tiêu chí khác Ta phân loại theo nguồn gốc sinh lỗi Nếu xét theo quan điểm chương trình bắt lỗi tả mức từ lỗi tả phân làm hai loại lỗi non-word lỗi real-word: Lỗi non-word: Đây lỗi tạo từ sai, nghĩa từ hồn tồn khơng có từ điển từ vựng tiếng Việt số liệu đầu vào cho trình tiền xử lý văn như: từ điển tên riêng, từ điển viết tắt, từ điển vay mượn, Đây loại lỗi dễ phát 1.3.2.1 Lỗi real-word: Đây lỗi tả mà từ có từ điển sử dụng từ sai Nếu không dựa vào ngữ cảnh xung quanh khơng thể xác định có phải lỗi tả hay khơng Đây loại lỗi khó phát xử lý 1.3.3 Phát lỗi tả Giải pháp đơn giản để phát lỗi tả dùng cấu trúc liệu để lưu tất từ biết (được lưu từ điển) Nếu khơng có từ điển có nghĩa từ bị sai Giải pháp cần số heuristic để tránh xem số, ngày tháng, … lỗi sai 1.3.2.2 Đối với trình bắt lỗi tả truyền thống từ điển phần quan trọng Từ điển lưu theo dạng cấu trúc liệu bảng băm cấu trúc liệu dạng sử dụng Với lỗi sai dạng từ vựng, ta phải dùng số phương pháp khác phức tạp để phát 1.3.4 Sửa lỗi tả Sau phát 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 kê Các phương pháp dựa theo luật có ưu điểm không tốn nhiều tài nguyên thiết bị, nhiên chương trình sử dụng phương pháp khơng có khả học, kết chưa cao nhiều ngơn ngữ Có nhiều phương pháp dựa vào thống kê khác đưa để kiểm tra lỗi tả tiếng Anh Trong phạm vi giới hạn luận văn, xin liệt kê vài phương pháp đánh giá bật: “Một số nghiên cứu sử dụng mơ hình kênh nhiễu Mays cộng (1990), Church Gale (1991), Brill Moore (2001)” “Phương pháp lai Bayes, sử dụng hàm phân loại Naive Bayes” “Kết hợp mơ hình trigram từ loại hàm phân loại Bayes” 1.4 Một số phần mềm sản phẩm thực tế ứng dụng - Những điện thoại thơng minh ví dụ việc áp dụng tính sửa lỗi văn thơng qua chức Auto Correct thường tích hợp với hệ thống điện thoại điện thoại thơng minh Chức phát gõ từ đoạn văn ta nhấp enter lỗi sai tả ta tự động sửa lại lỗi sai Với phát triển điện thoại thơng minh, tính Auto Correct ngày nâng cấp bắt lỗi chuẩn xác chỉnh sửa hợp lí (Ví dụ bên hình) ta gõ đoạn văn - Sửa lỗi tả áp dụng máy tính giúp ta gõ đoạn văn chuẩn xác làm việc với ứng dụng văn Word, Excel,… làm gia tăng chất lượng làm việc Chức tương tư điện thoại thông minh ta bật tắt chúng cách dễ dàng thơng qua cài đặt Tính cập nhập tuỳ theo phát triển hệ điều hành máy tính ngày trau truốt giúp người dùng thuận tiện làm việc - 1.5 Một số cách tiếp cận tốn sửa lỗi tả văn bản: Có số vấn đề cần giải vấn đề sửa lỗi Vấn đề liên quan đến mẫu lỗi tạo phương tiện tạo văn khác máy đánh chữ bàn phím máy tính, chữ in máy, hệ thống OCR, đầu trình nhận dạng giọng nói tất nhiên, chữ viết tay - Thông thường, mẫu lỗi phương tiện không phù hợp với phương tiện Vấn đề mẫu lỗi phương tiện truyền thông liên quan đến độ lệch tương đối chèn, xóa, thay chuyển vị lỗi, lỗi chạy tách từ, lỗi so với nhiều ký tự, hiệu ứng độ dài từ, độ lệch vị trí, hiệu ứng hình dạng ký tự, hiệu ứng tương tự ngữ âm, xu hướng heuristic, vv kiến thức mơ hình lỗi cần thiết để mơ hình hóa hiệu cơng cụ kiểm tra tả Cách tiếp cận dựa khoảng cách chỉnh sửa tối thiểu phương pháp phổ biến - Khoảng cách chỉnh sửa tối thiểu số hoạt động chỉnh sửa tối thiểu (chèn, xóa thay thế) cần thiết để chuyển đổi chuỗi văn thành chuỗi văn khác Khoảng cách gọi khoảng cách Damerau- Levenshtein sau người tiên phong đề xuất để sửa lỗi văn Trong hình thức ban đầu nó, thuật tốn khoảng cách chỉnh sửa tối thiểu yêu cầu từ 'm' Sau so sánh, từ có khoảng cách chỉnh sửa tối thiểu chọn làm phương án thay xác - Để cải thiện tốc độ, khoảng cách chỉnh sửa tối thiểu sử dụng tập hợp từ tạo cách tạo hoán vị lỗi có chuỗi sai tả sau kiểm tra tập đồn cho từ hợp lệ Trình kiểm tra tả ứng dụng độc lập có khả hoạt động khối văn tính ứng dụng lớn hơn, chẳng hạn trình xử lý văn bản, ứng dụng email, từ điển điện tử cơng cụ tìm kiếm - Một vấn đề quan trọng khác mà đề cập tập đồn gắn thẻ có liên quan đến kích thước tập đồn, vấn đề hình thái uốn cong sáng tạo, kỹ thuật truy cập từ vân vân Trong cách tiếp cận khác, cách tiếp cận phổ biến sử dụng vấn đề OCR cách tiếp cận N-gram Việc xây dựng N-gram thích hợp từ liệu văn thô vấn đề quan trọng cách tiếp cận - Việc phát lỗi từ thực cần kiến thức mức cao so với việc phát lỗi lỗi từ Trong thực tế, phát lỗi từ thực vấn đề cần công cụ NLP để giải Một số phương pháp tiếp cận dựa khoảng cách chỉnh sửa tối thiểu; quy tắc tương tự, N-grams, xác suất lưới thần kinh đề xuất để hoàn thành nhiệm vụ   Cách tiếp cận tốn sửa lỗi tả văn thơng qua số phương pháp sau: Phương pháp làm mịn Add-one: Thuật toán làm mịn Add-one cộng thêm vào tần số xuất tất cụm N-gram nhân với phân số chuẩn hóa (để bảo tồn tổng xác suất) Với unigram, cộng thêm vào tần số cụm unigram, tổng số cụm unigram xuất bằng: M’ = M + V với M tổng số cụm unigram xuất V kích thước từ vựng Để bảo tồn tổng số cụm unigram M, tần số cụm unigram tính lại theo cơng thức: C = (C+1) với C tần số cụm unigram trước làm mịn Như vậy, xác suất cụm unigram tính lại: P* = = Xét cụm N-gram với N>1, thay M C(w w) xác suất cụm w ww tính theo cơng thức sau: P(w|w w) = Chúng ta thấy thuật toán làm thay đổi đáng kể xác suất cụm N-gram xuất tập huấn luyện kích thước từ điển V lớn Trong thực nghiệm, vài cụm N-gram có xác suất giảm gần 10 lần, kích thước từ điển lớn tần số xuất cụm N-gram khơng cao Để thuật tốn thêm hiệu quả, người ta sử dụng cơng thức sau: P(ww w) = 10 3.1.1.3.2 Lan truyền tiến Tiếp theo, ta cài đặt hàm lan truyền tiến (forward propagation) để thực việc tính xác xuất từ Ở đây, ta khơng trả kết tính tốn mà cịn trả trạng thái ẩn, để phục vụ cho việc tính đạo hàm, việc tránh cho ta phải tính lại lần tính đạo hàm Mỗi ot véc-tơ xác suất từ danh sách từ vựng ta, đơi lúc ta cần lấy từ có xác suất cao 3.1.1.3.3 Tính lỗi Để huấn luyện mạng, ta cần phải đánh giá lỗi cho tham số Và mục tiêu ta tìm tham số U, V, W để tối thiểu hàm lỗi (loss function) L ta trình huấn luyện Một số hàm đánh giá lỗi thường sử dụng cross-entropy Nếu ta có N mẫu huấn luyện (số từ văn bản) C lớp (số từ vựng) lỗi tương ứng với dự đốn o nhãn chuẩn y là: Cơng thức trơng phức tạp chút, tất làm cộng tổng khác biệt dự đoán ta so với thực tế (hay gọi lỗi) Nếu y (các từ đúng) o (các từ dự đốn) khác biệt lỗi ta lớn 3.1.1.3.4 Huấn luyện Nhớ lại rằng, ta cần tìm tham số U, V, W cho tổng lỗi ta nhỏ với tập liệu huấn luyện Cách phổ biến sử dụng SGD (Stochastic Gradient Descent - trượt đồi) Ý tưởng đằng sau SGD đơn giản Ta lặp lặp lại suốt tập liệu ta bước lặp ta thay đổi tham số ta cho tổng lỗi giảm Hướng việc cập nhập 21 tham số tính dựa vào đạo hàm hàm lỗi: Để thực SGD, ta cần phải có độ học (learning rate) để xác định mức độ thay đổi tham số ta bước lặp SGD không phương thức tối ưu phổ biến mạng nơ-ron mà nhiều giải thuật học máy khác Cho tới thời điểm này, ta có nhiều nghiên cứu để tối ưu SGD cách sử dụng lô liệu, cách song song hoá thay đổi tham số học q trình huấn luyện Thậm chí với nhiều ý tưởng đơn giản để thực SGD cách hiệu khiến trở lên phức tạp để cài đặt Làm ta tính đạo hàm ta vừa đề cập phía trên? Trong mạng nơ-ron truyền thống, ta làm việc giải thuật lan truyền ngược (backpropagation algorithm) Nhưng với mạng RNN, ta sử dụng phiên khác giải thuật lan truyền ngược liên hồi - BPTT (Backpropagation Through Time) Vì tham số chia sẻ chung suốt bước mạng, nên đạo hàm đầu phụ thuộc không vào kết tính mà cịn phụ thuộc vào các tính tốn bước trước BPTT nhận tham số đầu vào tập mẫu huấn luyện (x, y) trả đạo hàm: 3.1.1.4 Sinh từ gợi ý Sau huấn luyện mạng ta tham số mơ hình RNN Giờ ta nhờ sinh từ gợi ý biết từ trước 3.2 Áp dụng LSTM tốn sửa lỗi tả tiếng Việt 22 Mặc dù mạng RNN giải tốn sửa lỗi tả, nhiên phân tích chương 2, mạng RNN gặp phải vấn đề phụ thuộc xa mát đạo hàm Nên khoảng cách từ đến từ dự đoán lớn RNN bắt đầu khơng thể nhớ học Do đó, mạng LSTM sử dụng để giải toán Tuy nhiên, ta nhận thấy để sửa lỗi tả cho câu: “Tối qua di chơi Hạ Long” t (0) Thì việc sửa lỗi tả cho từ thứ (thực chất việc dự đoán xem từ vị trí thứ từ gì) Việc dự đốn khơng phụ thuộc vào từ phía trước mà từ phía sau quan trọng Do ta sử dụng mạng LSTM chiều (Bidirectional) cho toán để giải vấn đề Hình 3.1 Bidirectional LSTM Tuy vậy, đầu vào LSTM, RNN sequence 23 output chất sequence Việc sửa lỗi tả xác việc lặp lặp lại dự đoán t + Vậy từ trước sai, việc dự đốn từ bị sai Do ta cần thêm kỹ thuật khác để bổ sung giải vấn đề Và đời mơ hình sequence-to-sequence (seq2seq) với kỹ thuật attention làm tăng độ xác cho tốn sửa lỗi tả 3.2.1 Mơ hình seq2seq (LSTM Encoder - Decoder) kỹ thuật attention Mơ hình seq2seq xây dựng dựa hai mạng neural truy hồi (Recurrent Neural Network) đóng vai trị mã hóa, giải mã để sinh chuỗi đầu t1:m từ chuỗi đầu vào x 1: 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 sinh từ chuỗi đầu dựa vector c từ 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 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 mô tả sau: Trước hết, thành phần RNN encoder sinh vector c với độ dài cố định từ 24 chuỗi vector đầu vào: c=RNNenc (x1: n) Sau đó, thành phần RNN decoder sinh 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 Mơ hình seq2seq có nhược điểm yêu cầu RNN decoder sử dụng toà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 đưa để giải vấn đề Kỹ thuật attention đư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 mã hóa vector Thay vào từ chuỗi đầu vào 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 tính 25 mạng neural truyền thẳng RNN encoder, RNN decoder tham số kỹ thuật attention 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 Hình 3.3 Minh họa mơ hình seq2seq dùng attention tố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ỏ Ngồi phương pháp soft attention, kỹ thuật attention cịn có số kiểu attention khác additive attention, multiplicative attention, self-attention, key- value 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 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ư Phần 4: Thử nghiệm đánh giá 4.1 Cài đặt 4.1.1 Thư viện tensorflow TensorFlow 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ó 26 thể 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 phát triển nhà cứu Google Thư viện có nhiều hàm xây dựng sẵn cho toán cho phép xây dựng nhiều mạng neural 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 sử dụng ta cần giải tốn supervised learning 27 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ô đủ Data sử dụng cho việc huấn luyện liệu 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 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 28 o Dữ liệu phân loại theo thể loại, tập trung vào thể loại văn nghệ thuật • Đã qua xử lý như: 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ự {} @ _ * > () \\ # % + = \ [ \], … 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.Sau làm cho văn liệu xếp thành câu trướ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, 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 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 q 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 29 Để 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ả, sử dụng làm liệu đầu vào Các lỗi tả tạo hàm theo ba cách: • Thứ tự hai ký tự đổi chỗ (kôhng ~ không) • Một ký tự 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 đưa trở lại thông qua noise_maker nhận câu đầu vào Sử dụng phương pháp này, ta tạo 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ố: 30 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 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 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-tuvung- corpus Cụ thể: o File VNTQcorpus(small).txt 4.2 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 31 Dữ liệu khơng có phân loại theo thể loại, tập trung vào thể loại văn nghệ thuật Đã qua xử lý như: o o  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(cấu hình giả định) • Thời gian training: ~ ngày.(thời gian giả định) Sau training ta tiến hành kiểm tra lỗi tả cho câu 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: Hình 4.3 Thực nghiệm Hình 4.4 Thực nghiệm 32 Hình 4.5 Thực nghiệm Hình 4.6 Thực nghiệm Hình 4.7 Thực nghiệm 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 “.”), tơi 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) 1, 2, 3, 5, 10, … Sau tiến hành thử nghiệm cho tập liệu thử nghiệm 33 Kết thu độ mát (loss) liệu (sai lỗi tả) sau mơ hình so với liệu đầu chuẩn 34 Kết Luận Với kết đạt báo cáo này, tương lai hi vọng cải thiện chất lượng báo cáo 35 ... người Chính lý đó, nhóm em lựa chọn thực đề tài? ?? Spelling Correction – Sửa lỗi tả văn bản? ?? Hướng nghiên cứu đề tài: - Nghiên cứu tìm hiểu phân tích - Cài đặt thử nghiệm Nội dung: - Phần 1: Tổng... triển hệ điều hành máy tính ngày trau truốt giúp người dùng thuận tiện làm việc - 1.5 Một số cách tiếp cận tốn sửa lỗi tả văn bản: Có số vấn đề cần giải vấn đề sửa lỗi Vấn đề liên quan đến mẫu lỗi. .. 1.3.4 Sửa lỗi tả Sau phát 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 kê Các phương pháp dựa theo luật có ưu điểm khơng tốn q nhiều tài

Ngày đăng: 04/06/2022, 09:31

Hình ảnh liên quan

Mạng nơron nhân tạo (Artificial Neural Network – ANN) là một mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các Nơ-ron được gắn kết để xử lý thông tin - : CÁC HỆ THỐNG THÔNG MINH  ĐỀ TÀI  : Spelling Correction – Sửa lỗi chính tả văn bản

ng.

nơron nhân tạo (Artificial Neural Network – ANN) là một mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các Nơ-ron được gắn kết để xử lý thông tin Xem tại trang 14 của tài liệu.
Hình 2.2: Mạng RNN - : CÁC HỆ THỐNG THÔNG MINH  ĐỀ TÀI  : Spelling Correction – Sửa lỗi chính tả văn bản

Hình 2.2.

Mạng RNN Xem tại trang 15 của tài liệu.
Hình 2.3.1: Mô-đun lặp lại trong RNN chuẩn chứa một lớp đơn. - : CÁC HỆ THỐNG THÔNG MINH  ĐỀ TÀI  : Spelling Correction – Sửa lỗi chính tả văn bản

Hình 2.3.1.

Mô-đun lặp lại trong RNN chuẩn chứa một lớp đơn Xem tại trang 16 của tài liệu.
Hình 2.3.2: Mô-đun lặp lại trong một LSTM chứa bốn lớp tương tác. - : CÁC HỆ THỐNG THÔNG MINH  ĐỀ TÀI  : Spelling Correction – Sửa lỗi chính tả văn bản

Hình 2.3.2.

Mô-đun lặp lại trong một LSTM chứa bốn lớp tương tác Xem tại trang 16 của tài liệu.
Hình 3.1. Bidirectional LSTM - : CÁC HỆ THỐNG THÔNG MINH  ĐỀ TÀI  : Spelling Correction – Sửa lỗi chính tả văn bản

Hình 3.1..

Bidirectional LSTM Xem tại trang 23 của tài liệu.
Và sự ra đời của mô hình sequence-to-sequence (seq2seq) cùng với kỹ thuật attention sẽ làm tăng độ chính xác cho bài toán sửa lỗi chính tả. - : CÁC HỆ THỐNG THÔNG MINH  ĐỀ TÀI  : Spelling Correction – Sửa lỗi chính tả văn bản

s.

ự ra đời của mô hình sequence-to-sequence (seq2seq) cùng với kỹ thuật attention sẽ làm tăng độ chính xác cho bài toán sửa lỗi chính tả Xem tại trang 24 của tài liệu.
Hình 3.3. Minh họa mô hình seq2seq dùng attention trong bài toán dịch máy - : CÁC HỆ THỐNG THÔNG MINH  ĐỀ TÀI  : Spelling Correction – Sửa lỗi chính tả văn bản

Hình 3.3..

Minh họa mô hình seq2seq dùng attention trong bài toán dịch máy Xem tại trang 26 của tài liệu.
Hình 4.1. TensorFlow hỗ trợ tính toán song song trên cả CPU và GPU - : CÁC HỆ THỐNG THÔNG MINH  ĐỀ TÀI  : Spelling Correction – Sửa lỗi chính tả văn bản

Hình 4.1..

TensorFlow hỗ trợ tính toán song song trên cả CPU và GPU Xem tại trang 27 của tài liệu.
Hình 4.2. Ví dụ về một graph trong Tensorflow - : CÁC HỆ THỐNG THÔNG MINH  ĐỀ TÀI  : Spelling Correction – Sửa lỗi chính tả văn bản

Hình 4.2..

Ví dụ về một graph trong Tensorflow Xem tại trang 28 của tài liệu.

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

Tài liệu liên quan