luận văn kiểm lỗi chính tả tiếng việt

39 1.3K 3
luận văn kiểm lỗi chính tả tiếng việt

Đ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 HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Tuấn Linh KIỂM LỖI CHÍNH TẢ TIẾNG VIỆT KHỐ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Lời cảm ơn Tôi xin chân thành cảm ơn thầy giáo hướng dẫn Ths Bùi Ngọc Thăng, người tạo điều kiện giúp tơi thực luận văn Tôi xin chân thành cảm ơn thầy Lê Anh Cường Thầy giúp đỡ bảo tận tình chun mơn giúp tơi giải nhiều vấn đề khúc mắc Đồng thời, thầy người định hướng giúp theo đuổi lĩnh vực xử lý ngôn ngữ tự nhiên mà tơi u thích Tơi xin chân thành cảm ơn thầy Nguyễn Phương Thái, anh Nguyễn Việt Cường giúp đỡ giải đáp số vấn đề lý thuyết liệu trình thực luận văn Cuối cùng, không phần quan trọng, xin chân thành cảm ơn người thân, bạn bè ln giúp đỡ, động viên tơi suốt q trình học tập hồn thành luận văn Tóm tắt luận văn Hiện nay, vấn đề kiểm lỗi tả văn tự động vấn đề nhiều cá nhân, đơn vị giới nghiên cứu triển khai Với tiếng Việt, có khơng cơng trình nghiên cứu sản phẩm giải tồn này, nhiên chương trình kiểm lỗi tả cảm ngữ cảnh tiếng Việt cịn ít, đặc biệt chưa có chương trình kiểm lỗi tả cảm ngữ cảnh tiếng Việt thực thi web mà dừng lại mức độ âm tiết Luận văn tập trung nghiên cứu vấn đề kiểm lỗi tả tiếng Việt nói chung kiểm lỗi tả cảm ngữ cảnh tiếng Việt nói riêng Bên cạnh đó, luận văn đề xuất việc kiểm lỗi tả trực tuyến nhằm ứng dụng rộng rãi hơn, giúp giảm bớt công sức người Luận văn “Kiểm lỗi tả tiếng Việt” nghiên cứu việc sử dụng mơ hình ngơn ngữ cho việc giải tốn kiểm lỗi tả cảm ngữ cảnh tiếng Việt Mục lục Mở đầu Chương 1: Tổng quan 1.1 Giới thiệu 1.1.1 Bài tốn kiểm lỗi tả 1.1.2 Một số phương pháp kiểm lỗi tả .2 1.2 Một số đặc điểm tiếng Việt 1.2.1 Đặc điểm tiếng Việt .3 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 Lỗi đánh máy 1.3.2 Lỗi phát âm .6 1.4 Mục tiêu luận văn .7 Chương 2: Mơ hình ngơn ngữ 2.1 Giới thiệu 2.2 Tính tốn xác suất dựa n-gram 2.3 N-gram đơn giản .9 2.4 Làm mịn (smoothing) 12 2.5 Áp dụng cho tiếng Việt 14 Chương 3: Phương pháp kiểm lỗi tả tiếng Việt dựa n-gram .15 3.1 Collocation .15 3.2 Huấn luyện 16 3.3 Thuật toán kiểm lỗi 17 3.3.1 Sinh tập nhầm lẫn âm tiết .17 3.3.2 Sử dụng n-gram để đưa âm tiết gợi ý 21 3.4 Kết thảo luận .22 3.4.1 Kết 22 3.4.2 Thảo luận .24 Chương 4: Ứng dụng môi trường Web 25 4.1 Mơi trường lập trình web 25 4.2 Ưu điểm nhược điểm 25 4.2.1 Ưu điểm 25 4.2.2 Nhược điểm .26 4.2.3 Một số kỹ thuật nhằm khắc phục nhược điểm 26 Kết luận .29 Phụ lục .30 Phụ lục 1: Bảng kết hợp nguyên âm với phụ âm gi, qu 30 Phụ lục 2: Bảng số lỗi phát âm tiếng Việt .32 Tài liệu tham khảo .33 Tiếng Anh 33 Tiếng Việt 33 Mở đầu Hệ thống chữ viết tiếng Việt hệ thống chữ viết linh động, thơng minh, dễ dàng biểu thị tiếng nói dạng chữ viết cần dựa luật định mà khơng địi hỏi q nhiều mặt kiến thức từ vựng nhiều ngôn ngữ khác (tiếng Anh, Pháp, Trung…) Tuy nhiên, việc giao tiếp ngày chủ yếu qua tiếng nói, điều dẫn đến việc có nhiều cách phát âm khơng giống vùng miền khác từ Việc dễ dẫn đến mắc lỗi sai tả viết Thêm vào đó, cơng nghệ thông tin ngày phát triển, việc soạn thảo văn hình thức viết tay dần thay soạn thảo văn qua hình thức đánh máy Do đó, xuất thêm loại lỗi tả lỗi đánh máy gây 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ả Điều dẫn nhu cầu kiểm lỗi tả tự động cho nhiều ngôn ngữ hệ soạn thảo khác Có hai loại lỗi tả tiếng Việt lỗi sai âm tiết lỗi sai từ vựng (âm tiết đúng) Luận văn sử dụng thông tin ngữ cảnh để sửa loại lỗi thứ hai Thông tin ngữ cảnh thống kê từ corpus văn thơ dựa mơ hình ngơn ngữ n-gram Nguồn liệu cho corpus lọc tách từ Internet Luận văn nhắm đến ứng dụng kiểm lỗi tả tự động web (web application) Ưu điểm chương trình thừa hưởng ưu điểm Internet không tốn tài nguyên máy người sử dụng, không phụ thuộc vào nơi sử dụng chương trình (phạm vi ứng dụng lớn) Do đó, chương trình sử dụng thiết bị di động (Laptop, netbook, smartphone…) Luận văn gồm có chương: Chương 1: Giới thiệu tổng quan tiếng Việt, tốn kiểm lỗi tả phương pháp kiểm lỗi tả sử dụng Chương 2: Trình bày số vấn đề lý thuyết mơ hình ngơn ngữ n-gram Chương 3: Kiểm lỗi tả dựa vào ngữ cảnh sử dụng n-gram Chương 4: Một số vấn đề ứng dụng web cách giải Chương 1: Tổng quan Chương giới thiệu tốn kiểm lỗi tả, số phương pháp kiểm lỗi tả phương pháp sử dụng luận văn Chúng tơi trình bày số đặc điểm tiếng Việt chữ viết tiếng Việt, tập trung vào đặc điểm sử dụng để kiểm tra sửa lỗi tả tiếng Việt Luận văn đề cập đến vấn đề tả tiếng Việt, nói “tiếng Việt” hiểu “chữ viết tiếng Việt” Chương có tham khảo số tư liệu tin cậy Internet “Chính tả tiếng Việt” cố Giáo sư Hoàng Phê [8] 1.1 Giới thiệu 1.1.1 Bài tốn kiểm lỗi tả Bài tốn kiểm lỗi tả tốn phức tạp, khơng đơn vị nghiên cứu, phát triển có tính ứng dụng cao, đặc biệt ứng dụng soạn thảo hay nhận dạng văn Chương trình kiểm lỗi tả cần có hai chức chính, lỗi sai đưa gợi ý sửa lỗi Tuy nhiên, chức kiểm lỗi tả tích hợp nhiều ứng dụng soạn thảo tiếng Việt (Vietkey, Unikey…) không đưa gợi ý cho người dùng lựa chọn Đề giải toàn này, có số cá nhân nhóm nghiên cứu phát triển phần mềm kiểm lỗi tả như: - Kiểm lỗi tả hệ soạn thảo ngoại tuyến (offline): Chương trình kiểm lỗi tả CopCon ThS Mai Tuấn Khôi - Giảng viên khoa CNTT ĐH Sư Phạm Kỹ Thuật TPHCM; Chương trình kiểm lỗi tả Cú Mèo Cơng ty cổ phần đầu tư phát triển công nghệ SOBIC phát triển Các phần mềm có khả sửa lỗi tả mức độ từ ghép hai ba âm tiết - Kiểm lỗi tả trực tuyến hầu hết cho tiếng Anh Các chương trình kiểm lỗi tả trực tuyến đa số chưa hoàn chỉnh, dừng lại mức độ kiểm lỗi âm tiết 1.1.2 Một số phương pháp kiểm lỗi tả Ta tạm chia hai phương pháp 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 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 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” Các phương pháp: “học dựa biến đổi (Mangu Brill, 1997), phân tích nghĩa ẩn (Jones Martin, 1997), differential-grammars (Powers, 1997), Winnowbased (Golding Roth, 1999), khôi phục cố kết từ vựng (Hirst Budanitsky, 2001)”1 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) Â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 Bảng 2.1 Cấu trúc thành phần: [Phụ âm] Nguyễn Phương Thái, Kiểm lỗi tả cảm ngữ cảnh tiếng Việt, 2003, Luận văn thạc sĩ, Hà Nội Bảng 2.2 Cấu trúc thành phần: [Phụ âm đầu] [Phụ âm cuối] Bảng 2.3 Cấu trúc thành phần: Vần [Âm đầu] [Âm đệm] [Âm cuối] - Các thành phần dấu < > bắt buộc - Các thành phần dấu [ ] không bắt buộc - Thanh ngang (khơng viết) tính dấu Luận văn sử dụng cấu trúc âm tiết bốn thành phần Bảng 2.4 Các thành phần âm tiết: Phụ âm đầu b c d đ g h k l m n q r s t v x ch gh gi kh ng nh ph qu th tr ngh Nguyên âm a ă â e ê i o ô u y ao au ay âu ây eo ia iu iê oa oă oe oi oo ôi ua uâ ui uê uô uơ uy ưa ưi ươ ưu yê oai oay uây uôi iêu uyê ươu ươi uya yêu uyu Phụ âm cuối c p t m n ch ng nh Thanh điệu Ngang, huyền, hỏi, ngã, sắc, nặng  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 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 Tuy nhiên, văn đánh máy, việc đánh dấu cần tuân thủ số quy tắc sau: - Với âm tiết có chữ nguyên âm, dấu đặt vào chữ ngun âm Vd: à, ì ạch, ọ ẹ, ủ rũ, ọp ẹp, ục ịch, hà, lán, giá, giục, quả, quỹ, quỵt (Chú ý: gi qu coi phụ âm) - Với âm tiết, mà âm tiết cần có chữ nguyên âm mang dấu phụ (Ă, Â, Ê, Ô, Ơ, Ư) khơng kể kết thúc chữ gì, dấu đặt chữ (riêng ƯƠ, dấu đặt Ơ) Vd: thuyền, trường… - Với âm tiết có hai chữ nguyên âm kết thúc chữ phụ âm tổ hợp chữ phụ âm, dấu đặt vào chữ nguyên âm cuối - Với trường hợp cịn lại dấu đặt vào chữ nguyên âm áp chót Hiện với trường hợp nguyên âm oa, oe, uy mà khơng có phụ âm kết thúc hịa, hịe, thùy… có hai cách đánh dấu là: hịa hoà Ở luận văn thống cách viết thứ – hòa – giống quy tắc đánh dấu 1.3 Một số lỗi tả phương pháp kiểm lỗi mức độ âm tiết Các vấn đề tả tiếng Việt gặp phải gồm có: sai cấu tạo, cấu tạo khơng có từ điển, có từ điển sai ngữ nghĩa, sai cấu tạo từ tiếng nước Các lỗi sai cấu tạo âm tiết dễ dàng phát cách sử dụng từ điển, tập âm tiết Dưới tập trung đến lỗi sai nghĩa từ âm tiết có từ điển Có nhiều nguyên nhân khác dẫn đến lỗi trên, luận văn xét đến hai nguyên nhân: đánh máy lỗi phát âm (tiếng địa phương) 1.3.1 Lỗi đánh máy Đây loại lỗi phổ biến, hầu hết mức âm tiết Loại lỗi gây lỗi sai tả đơn lỗi tả phức Có bốn loại lỗi tả đơn: Sau kết hợp, âm tiết tạo ra, kiểm tra âm tiết từ điểm âm tiết tiếng Việt để loại bỏ âm tiết tiếng Việt Cần làm việc thành phần bị đánh máy sai khơng phải thành phần mà ta xét Ví dụ, với âm tiết sai trườgn, phân tích trên, ta xét thành phần: - Phụ âm đầu: tr -> t, r, th Ta có âm tiết mới: tườgn, rườgn, thườgn Dễ dàng nhận thấy thành phần bị đánh máy sai thành phần phụ âm cuối, đo tất âm tiết tạo xét thành phần khác không xuất từ điển âm tiết Do ví dụ ta bỏ qua việc xét thành phần khác mà xét đến thành phần phụ âm cuối Phụ âm cuối: gn -> n, ng Để ý phụ âm g, nh không xét bởi: với nh, MED so với gn (2 thao tác xóa chèn), cịn với phụ âm g, chúng tơi có xét đến thuộc tính khả đứng sau nguyên âm phụ âm đó, tiếng Việt, phụ âm g khơng đóng vai trị phụ âm cuối Các phụ âm đứng cuối âm tiết là: ng, ch, nh, c, t, m, n, p Có trường hợp đặc biệt phụ âm đầu phụ âm qu gi Khi xét thành phần nguyên âm ta cần ý tới phụ âm này, xét thuộc tính nguyên âm khả đứng sau phụ âm Bảng phụ lục cho thấy khả kết hợp với phụ âm nguyên âm Có điểm ý liên quan tới phụ âm gi âm tiết gì, gìn nguyên âm i phụ âm đầu g Sau tạo tập nhầm lẫn âm tiết đánh máy, tạo tập nhầm lẫn âm tiết lỗi phát âm Để tạo tập này, nêu Chương 1, sử dụng bảng lỗi phát âm Các lỗi phát âm chia thành loại: phụ âm đầu, nguyên âm, dấu thanh, “phần đuôi” Phần đuôi hiểu kết hợp nguyên âm phụ âm cuối Việc tạo tập nhầm lẫn phát âm tương tự tạo tập nhầm lẫn đánh máy, xét theo loại, loại tra bảng tương ứng Tuy nhiên với loại trên, không xét đến dấu xét tồn dấu Kết hợp hai tập ta tập nhầm lẫn cho âm tiết xét 20 3.3.2 Sử dụng n-gram để đưa âm tiết gợi ý Ở công đoạn này, q trình thực hiện, chúng tơi có thử nghiệm hai phương pháp khác nói Tuy nhiên, hiệu tốc độ thực thi thuật toán thứ thuật toán thứ hai chênh nhiều, chương trình thực tế kết kiểm thử, sử dụng giải thuật thứ hai Với giải thuật thứ nhất, ta giả sử tất âm tiết sai Khi đó, ta cần xác định âm tiết cho làm sở Ở đây, dựa vào tập nhầm lẫn âm tiết âm tiết đầu tiên, tính xác suất tốt tất tổ hợp âm tiết từ tập nhầm lẫn âm tiết chúng Cơng thức tính xác suất: P(s1s2s3) = P(s1).P(s2|s1).P(s3|s1s2) Từ âm tiết lựa chọn cho này, ta tính xác suất cho âm tiết tiếp theo: s4, s5,… P(s2s3s4) = P(s1).P(s3|s2).P(s4|s2s3) … Giải thuật có ưu điểm cài đặt đơn giản hoàn toàn áp dụng tư tưởng mơ hình n-gram Tuy nhiên, giải thuật có nhược điểm tốc độ thực chậm phải tính xác suất tất tổ hợp âm tiết đầu Giả sử âm tiết có 15 candidates khác nhau, ta phải tính xác suất 153 = 3375 lần, riêng cho âm tiết đầu Hơn nữa, giải thuật sử dụng thơng tin ngữ cảnh nên độ xác khơng cao Do chúng tơi sử dụng giải thuật khác, đánh giá tốt hơn, giải thuật thứ hai chúng tơi trình bày sau Với giải thuật này, ta giả sử có âm tiết sai, tất âm tiết lại Lúc này, ta cần xác định âm tiết dùng để sửa lỗi tốt Để làm điều này, với âm tiết, ta giả sử âm tiết si sai, sau tìm âm tiết sửa sai tốt s’i tập nhầm lẫn cho âm tiết Âm tiết si có xác suất pi s’i có xác suất p’i Ta có tỷ lệ mức độ sửa lỗi âm tiết si Lần lượt xét toàn âm tiết câu ta tìm âm tiết có Fi lớn nhất; âm tiết âm tiết cần sửa Sau thay âm tiết cần sửa candidate tốt nó, ta lặp lại q trình khơng tìm âm tiết cần sửa Để tính xác suất pi p’i, chúng tơi sử dụng hàm tính xác suất: 21 P(s1s2s3) = P(s1).P(s2|s1).P(s3|s1s2) Khác với giải thuật thứ nhất, áp dụng hàm tính xác suất cho âm tiết: si-2si-1si , si-1sisi+1 sisi+1si+2 sau tính giá trị trung bình chúng Cụ thể: Dựa vào cơng thức trên, thấy ta cần tính toán xác suất dựa trigrams Điều dẫn đến vấn đề với âm tiết nằm vị trí cận biên câu: với âm tiết đầu tiên, ta khơng tính xác suất , với âm tiết cuối Có cách đơn giản ta khơng tính xác suất số xác suất trên, ta loại bỏ Ví dụ với âm tiết đầu tiên, ta tính xác suất: Và với âm tiết thứ 2, ta sử dụng xác suất: Có vấn đề khác kiểm tra âm tiết trường hợp có nhiều lỗi câu Khi đó, chương trình phải xét âm tiết câu nhiều lần để tìm tổ hợp tốt nhất, việc tốn nhiều lực xử lý tính tốn xác suất trigram Để tránh vấn đề trên, trước lượt xét câu, chúng tơi tính trung bình xác suất tất âm tiết câu (các xác suất tính tốn lượt xét câu trước nên khơng tốn thêm thời gian tính tốn) Với giá trị trung bình xác suất nhỏ ngưỡng chọn trước, chúng tơi tính tốn sử dụng xác suất bigram unigram tương ứng với ngưỡng (ở tạm chọn 10-6 cho bigram cho 10-9 unigram) Và đó, với vịng tính tốn cho câu, chúng tơi lại xác định “mức” cho tính tốn xác suất vịng 3.4 Kết thảo luận 3.4.1 Kết Để tiến hành kiểm thử, sử dụng liệu đầu vào tệp văn chứa khoảng 1000 câu tiếng Việt với nội dung nhiều lĩnh vực khác (thời sự, văn hóa, kinh tế, văn học…), liệu văn tả 22 Chương trình kiểm thử nạp liệu câu vào, sau tách câu tự động sinh lỗi ngẫu nhiên theo câu Các câu sau sinh lỗi tự động tiếp tục lấy làm liệu đầu vào cho chức kiểm lỗi tả mà chúng tơi cài đặt theo giải thuật trên, kết văn bản: văn gốc (đúng tả), văn sinh lỗi văn sau kiểm lỗi Các văn sinh lỗi sau kiểm lỗi đánh dấu để tiện cho việc theo dõi đánh giá Sau thực số lượng test định, xin đưa bảng thống kê số kết đánh đây: STT Tổng số câu Số lỗi sinh Số lỗi tối Số lỗi sửa Số lỗi sửa thành công không đa câu 998 76 64 (84.21%) 128 (168.42%) 998 79 65 (82.28%) 86 (108.86%) 998 415 355 (85.54%) 607 (146.26%) 998 421 377 (89.55%) 546 (129.69%) 998 407 363 (89.19%) 556 (136.61%) 998 802 660 (82.29%) 648 (80.80%) 998 491 414 (84.32%) 269 (54.79%) 998 301 238 (79.07%) 207 (68.77%) Ở đây, số lỗi sửa không bao gồm lỗi sửa không thành công lỗi làm sai âm tiết Vấn đề vấn đề tất yếu gặp phải sử dụng phương pháp kiểm lỗi có tính “mù”, sử dụng thông tin ngữ cảnh thống kê N-gram mà không sử dụng thêm loại tri thức ngôn ngữ khác Qua bảng kết trên, ta thấy kết sửa lỗi thành công chưa cao, tỷ lệ sửa lỗi không lại lớn Điều thường xảy câu dài, có số lỗi tả như: “Cụ thể, Trung tâm đề nghị doanh nghiệp gửi đến Trung tâm danh sách chi tiết xe taxi hoạt động doonh nghiệp trước ngày 25/5 để tiến hành chốt sổ” 23 Được sửa thành: “Cụ thể, Trung tâm đề nghị doanh nghiệp gửi đến Trung danh sách ghi tiết xem taxi hoạt động doanh nghiệp trước ngày 25/5 để tiến hành chốt sổ” Tuy nhiên, lại có trường hợp câu ngắn, lỗi sai câu nhiều chương trình sửa lỗi 100% như: “Ăn iu em nhìu lém! Em có iu ăn hơng?” sửa thành “Anh u em nhiều lắm! Em có u anh khơng?” Hay: “chún tơi cóa thể làm đìu đóa” sửa thành “chúng tơi làm điều đó” Để sửa lỗi ví dụ chúng tơi phải kết hợp sử dụng unigram mà không sử dụng trigram thông tin ngữ cảnh nghèo nàn 3.4.2 Thảo luận Từ kết trên, ta thấy sử dụng thông tin ngữ cảnh thống kê N-gram để kiểm lỗi tả chưa hiệu Tuy nhiên, kết cho thấy khả nâng cao kết sửa lỗi lớn Vì sử dụng N-gram, phụ thuộc kết vào liệu huấn luyện lớn Hơn nữa, ta để ý rằng, số lỗi câu tăng lên tỉ lệ lỗi sinh lại giảm xuống nhiều, tỉ lệ sửa lỗi không thay đổi Điều cho thấy lỗi sinh trình kiểm tra thường xảy với tổ hợp âm tiết định, tỉ lệ thay đổi tổ hợp âm tiết bị thay đổi Chứng tỏ, lỗi phụ thuộc công tác kiểm lỗi vào liệu huấn luyện gây Do vậy, ta nghĩ tới số hướng giải vấn đề sử dụng thêm tri thức ngôn ngữ khác ngồi âm tiết Đồng thời sử dụng kết hợp mơ hình N-gram với phương khác để giảm bớt độ “mù” chương trình nhằm nâng cao kết sửa lỗi tốc độ xử lý 24 Chương 4: Ứng dụng môi trường Web Chương chúng tơi trình bày số vấn đề lập trình web cho luận văn này, số ưu điểm, nhược điểm vài phương pháp khắc phục nhược điểm 4.1 Mơi trường lập trình web Như ta biết, ngày này, Internet khơng cịn xa lạ với người dùng phổ thông, song song với phát triển Internet ứng dụng web (web applications) ngày phát triển số lượng lẫn chất lượng Các ứng dụng có nhiều loại khác nhau, nhiều lĩnh vực khác viết nhiều hệ ngơn ngữ lập trình khác Trong luận văn này, chúng tơi sử dụng ngơn ngữ lập trình web với nội dung động là: HTML, Javascript, PHP, MySQL có sử dụng thêm C++ cho số cơng đoạn tối ưu hóa Sau vào vấn đề chi tiết 4.2 Ưu điểm nhược điểm 4.2.1 Ưu điểm Ưu điểm ứng dụng chạy web sử dụng đâu có Internet khơng phụ thuộc vào platform Một ứng dụng web sử dụng gần tất hệ máy cần có trình duyệt (browser) có kết nối internet Một ưu điểm khác ứng dụng web khiến khơng phụ thuộc vào hệ máy xử lý phức tạp ứng dụng thực server (server-side applications), máy người dùng đầu cuối (end-user) khơng cần có tài ngun phần cứng q lớn, chí nhỏ thiết bị di động: netbook, smartphone… Bên cạnh đó, chức độc lập chương trình sử dụng chương trình khác module Ví dụ chức kiểm lỗi tả tiếng Việt sử dụng việc kiểm tra lỗi tả soạn email Một ưu điểm khác sử dụng hệ CSDL truy xuất liệu phần mà khơng phải nạp tồn liệu vào nhớ (RAM) 25 4.2.2 Nhược điểm Ưu điểm ứng dụng web nhược điểm nó, internet Một ứng dụng web tất nhiên khơng thể sử dụng khơng có internet Cũng vậy, ta sử dụng phần mềm client, chương trình cần gửi thơng tin đầu vào đến server để xử lý sau nhận lại kết trả từ server Quá trình cần thông qua đường truyền internet Một số nhược điểm khác đề cập đến sau nhược điểm cụ thể chương trình luận văn Nhược điểm việc sử dụng ngơn ngữ lập trình web kể là: chúng ngơn ngữ dạng script, hay nói cách khác, chúng ngôn ngữ dạng thông dịch (translate) Và biết đặc điểm chương trình sử dụng ngơn ngữ thơng dịch có tốc độ thực thi thấp so với chương trình biên dịch (compile) Bên cạnh đó, việc truy xuất liệu PHP MySQL cần thông qua truy vấn (query) Điều đòi hỏi thêm bước xử lý trung gian khiến tốc độ chương trình giảm chút Ngồi ra, lệnh ngôn ngữ (PHP MySQL) thực với tiến trình (process) luồng (thread) request gửi đến server Do tốc độ xử lý chậm so với việc chạy đa luồng Để giải số vấn đề kể trên, chúng tơi có sử dụng vài kỹ thuật nhằm tăng tốc độ thực thi chương trình 4.2.3 Một số kỹ thuật nhằm khắc phục nhược điểm Về vấn đề ngôn ngữ thông dịch, thực kỹ thuật cải thiện tốc độ chương trình cách viết lại thành phần thường xuyên gọi sang dạng biên dịch Có nghĩa là, thành phần gọi thường xuyên, dịch mã máy để chương trình gọi dạng hàm (function) Cụ thể: - Với MySQL, đặc điểm PHP truy vấn MySQL gọi query dạng đơn (mỗi query chứa lệnh), cụm truy vấn thường xuyên gọi liền viết gộp lại thành StoreProcedure MySQL database Đặc điểm StoreProcedure lưu trữ dạng mã máy gọi dạng hàm thông qua truy vấn Việc giúp cho giảm bớt lượt truy 26 vấn PHP MySQL, đồng thời truy vấn MySQL thực thi nhanh dịch dạng mã máy - Với PHP, làm tương tự ngơn ngữ PHP có đặc điểm lợi viết extensions dạng dll(Dynamic Linking Library) để mở rộng tùy ý Extension viết ngôn ngữ C++, ngôn ngữ đặc biệt tối ưu mã lệnh thực thi Vấn đề vấn đề xử lý đơn tiến trình Chúng thực kỹ thuật để giải vấn đề Về xử lý đa tiến trình, chúng tơi lợi dụng đặc điểm: PHP MySQL chạy với tiến trình riêng biệt server Do đó, chúng tơi sử dụng StoreProcedure để kết hợp xử lý tính tốn sử dụng đồng thời tiến trình khác Cụ thể, chúng tơi sử dụng MySQL để truy vấn liệu tính tốn xác suất ngram, đồng thời sử dụng PHP để lựa chọn âm tiết theo giải thuật nêu dựa vào giá trị xác suất trả từ MySQL Phương pháp giúp tăng đáng kể tốc độ chương trình: chưa kết hợp, request kiểm tra câu trung bình 3-6 giây, sau kết hợp thời gian khoảng từ 0.8-1.2 giây Một kỹ thuật áp dụng để khiến CPU xử lý nhiều luồng lợi dụng đặc điểm request thực với thread, sử dụng XmlHttpRequest để chia công việc làm nhiều request khác gửi đến server lúc Sau tồn request hồn thành, chúng tơi tổng hợp lại kết cuối Chúng áp dụng thủ thuật cho việc kiểm tra tả đoạn văn Đầu tiên, đoạn văn phân tích thành câu, sau câu gửi đến server theo request riêng biệt để xử lý Kết tổng hợp lại tất câu xử lý xong Cách giải mang lại hiệu định: sử dụng request, đoạn văn gồm 10 câu khoảng thời gian 1phút, chí có đến phút để kiểm tra (!) sử dụng 10 request riêng biệt, thời gian thực thi từ 15-20 giây Chúng sử dụng kỹ thuật cho trình huấn luyện, thời gian giảm từ ngày (chưa xong) xuống khoảng 9-10 hồn thành Có chênh lệch lớn CPU không sử dụng hết lực nó khơng bị ép buộc Một kỹ thuật khác sử dụng để tăng tốc độ trình truy vấn liệu huấn luyện việc lợi dụng đặc tính MySQL tự động Index liệu dựa vào Primary Key Công việc tìm kiếm liệu văn (full text search) MySQL tốn nhiều thời gian, chúng tơi mã hóa dãy âm tiết có thứ tự thống kê n-gram thành mã MD5 dùng mã làm Primary Key Mã hóa MD5 27 mã hóa chiều 128bit coi mã tổ hợp âm tiết định Mẹo đơn giản, hiệu mà đem lại lớn Ta thấy rõ điều này: q trình huấn luyện, sử dụng truy vấn tìm kiếm thơng thường, tốc độ nhập liệu 40-50 ghi/giây (!), so với tốc độ xấp xỉ 5000 ghi/giây sử dụng Primary Key dạng mã hóa Mặc dù thông tin âm tiết thứ tự chúng có mã MD5, chúng tơi giữ lại trường chứa âm tiết để lợi dụng chức nén liệu MySQL Thực tế chúng tơi xóa bỏ trường âm tiết bảng thống kê trigram, kích thước tệp liệu tăng từ 700MB lên gần 1.5GB Ngồi cịn số kỹ thuật nhỏ khác tăng đệm cho truy vấn, mã thực thi… áp dụng Chúng tơi tiếp tục cải tiến q trình phát triển luận văn chương trình 28 Kết luận Luận văn trình bày cách tiếp cận, phương pháp giải tốn kiểm lỗi tả tiếng Việt Trọng tâm luận văn sử dụng mơ hình ngơn ngữ Ngram để kiểm lỗi tả cảm ngữ cảnh tiếng Việt Các kết đạt là: - Nắm mơ hình ngơn ngữ N-gram ứng dụng vào tồn kiểm lỗi tả tiếng Việt, tận dụng nguồn tài nguyên dồi internet để giải toán nhằm giảm cơng sức người - Cài đặt chương trình ứng dụng internet Các vấn đề tồn tại: - Tỉ lệ sửa lỗi xác cịn chưa cao sử dụng phương pháp thống kê N-gram vào việc kiểm lỗi - Tốc độ chương trình cịn chưa cao Qua kết luận văn cho thấy, độ xác chưa cao cho ta thấy tầm quan trọng việc sử dụng mơ hình ngơn ngữ N-gram tồn kiểm lỗi tả nói chung kiểm lỗi tả tiếng Việt nói riêng Bên cạnh đó, tốc độ chương trình chưa cao khả tối ưu chương trình cịn lớn Chúng tơi tin tưởng độ xác nâng cao đáng kể kết hợp với phương pháp học máy định khác Đồng thời sử dụng thuộc tính tri thức ngôn ngữ nâng cao Như vậy, luận văn cho thấy khả ứng dụng rộng rãi chương trình thực thi web – internet, đặc biệt với tốn có tính ứng dụng thực tiễn cao toán kiểm lỗi tả Hướng nghiên cứu chúng tơi là: - Sử dụng tri thức ngôn ngữ nâng cao từ, ngữ pháp, ngữ nghĩa - Tối ưu hóa tốc độ nhớ cho trình kiểm lỗi - Kết hợp mơ hình ngơn ngữ khác để kiểm lỗi tả Maximum Entropy 29 Phụ lục Phụ lục 1: Bảng kết hợp nguyên âm với phụ âm gi, qu Nguyên âm Không oai x uây Qu x oay Gi x uôi x iêu x uyê x ươu x ươi x uya x yêu x uyu x x ao x au x ay x âu x ây x x eo x x x ia x iu x iê x 30 x x oa x oă x oe x oi x oo x ôi x x ua x uâ x x ui x uê x uô x uơ x uy x ưa ưi x x ươ ưu x x yê x a x x ă x x â x x e x x ê x x i x o x 31 ô x x u x x y x x Phụ lục 2: Bảng số lỗi phát âm tiếng Việt CH- TR- D- GI- R- D- GI- V- L- N- S- X- -C -T -N -NG -AI -AY -ANH -ĂN -EM -ÊM -ÊCH -ÊT -IÊM -IM -IÊU -IU -IÊU -ƯƠU -OAI -OI -OM -ÔM Hỏi Nặng Ngã Sắc -ƠM 32 Tài liệu tham khảo Tiếng Anh [1] Daniel Jurafsky & James H Martin Speech and language processing: An introduction to speech recognition, computational linguistics and natural language processing 2007 [2] Department of Computer Science, Columbia University, 2009, N-Grams and Corpus Linguistics, Lecture [3] Georgetown University, Introduction to Natural Language Processing, Autumn 2005, Course’s Lecture [4] Julia Hockenmaier, Introduction to NLP, Fall 2008, Lecture 3: Probability theory, N-grams and perplexity Tiếng Việt [5] Cao Văn Việt, Xây dựng mơ hình ngơn ngữ cho tiếng Việt, 2010, Luận văn tốt nghiệp, Hà Nội [6] Đoàn Xuân Kiên, Xem lại vấn đề ngữ âm tiếng Việt: Cấu trúc âm tiết, 1998, Tập san Hợp Lưu 48 [7] Đinh Thị Phương Thu, Huỳnh Quyết Thắng, Nguyễn Văn Lợi Sử dụng cấu tạo âm tiết tiếng Việt hai thành phần toàn kiểm tra tả tiếng Việt, 10/2007, tạp chí BCVT & CNTT kỳ [8] Hồng Phê, Chính tả tiếng Việt, 1999, Nhà xuất Đà Nẵng [9] Hoàng Phê (chủ biên), Từ điển tiếng Việt, 2002, Nhà xuất Đà Nẵng [10] Ngonngu.net, Âm tiết http://ngonngu.net/index.php?p=60 đặc điểm âm tiết tiếng Việt, 2006, [11] Nguyễn Phương Thái, Kiểm lỗi tả cảm ngữ cảnh tiếng Việt, 2003, Luận văn thạc sĩ, Hà Nội [12] Nguyễn Gia Định, Trần Thanh Lương, Thuật toán kiểm tra âm tiết tiếng việt dựa luật cấu tạo âm tiết, 2004, Trường Đại học Khoa học - Đại học Huế, Tạp chí khoa học – Đại học Huế, Số 25 33 [13] Trung Tâm Từ Điển Học - Vietnam Lexicography Centre, Quy tắc đặt dấu tiếng Việt, http://www.vietlex.vn/lib/compuLinguistics/quytacbodau.htm [14] Ủy ban khoa học xã hội Việt Nam, Ngữ pháp tiếng Việt, Nhà xuất Khoa học Xã hội – Hà Nội, 1983 34 ... luận văn Chúng tơi trình bày số đặc điểm tiếng Việt chữ viết tiếng Việt, tập trung vào đặc điểm sử dụng để kiểm tra sửa lỗi tả tiếng Việt Luận văn đề cập đến vấn đề tả tiếng Việt, nói ? ?tiếng Việt? ??... luận văn chương trình 28 Kết luận Luận văn trình bày cách tiếp cận, phương pháp giải tốn kiểm lỗi tả tiếng Việt Trọng tâm luận văn sử dụng mơ hình ngơn ngữ Ngram để kiểm lỗi tả cảm ngữ cảnh tiếng. .. kiểm lỗi tả tiếng Việt nói chung kiểm lỗi tả cảm ngữ cảnh tiếng Việt nói riêng Bên cạnh đó, luận văn đề xuất việc kiểm lỗi tả trực tuyến nhằm ứng dụng rộng rãi hơn, giúp giảm bớt công sức người Luận

Ngày đăng: 17/02/2014, 22:56

Hình ảnh liên quan

Bảng 2.2. Cấu trúc 4 thành phần: - luận văn kiểm lỗi chính tả tiếng việt

Bảng 2.2..

Cấu trúc 4 thành phần: Xem tại trang 9 của tài liệu.
Bảng Số bản ghi Tổng giá trị đếm Kích thước tệp dữ liệu MySQL sinh ra  - luận văn kiểm lỗi chính tả tiếng việt

ng.

Số bản ghi Tổng giá trị đếm Kích thước tệp dữ liệu MySQL sinh ra Xem tại trang 22 của tài liệu.
Bảng thông in các bảng dữ liệu huấn luyện: - luận văn kiểm lỗi chính tả tiếng việt

Bảng th.

ông in các bảng dữ liệu huấn luyện: Xem tại trang 22 của tài liệu.
Sau khi thực hiện một số lượng test nhất định, chúng tôi xin đưa ra bảng thống kê của một số kết quả đánh giá như dưới đây:  - luận văn kiểm lỗi chính tả tiếng việt

au.

khi thực hiện một số lượng test nhất định, chúng tôi xin đưa ra bảng thống kê của một số kết quả đánh giá như dưới đây: Xem tại trang 28 của tài liệu.
Phụ lục 1: Bảng kết hợp nguyên âm với các phụ âm gi, qu - luận văn kiểm lỗi chính tả tiếng việt

h.

ụ lục 1: Bảng kết hợp nguyên âm với các phụ âm gi, qu Xem tại trang 35 của tài liệu.
Phụ lục 2: Bảng một số lỗi phát âm tiếng Việt - luận văn kiểm lỗi chính tả tiếng việt

h.

ụ lục 2: Bảng một số lỗi phát âm tiếng Việt Xem tại trang 37 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan