Giải pháp tách từ sử dụng mạng nơ ron nhằm nâng cao chất lượng dịch tự động tiếng Việt
Bạn đang xem tài liệu "Giải pháp tách từ sử dụng mạng nơ ron nhằm nâng cao chất lượng dịch tự động tiếng Việt", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- giai_phap_tach_tu_su_dung_mang_no_ron_nham_nang_cao_chat_luo.pdf
Nội dung text: Giải pháp tách từ sử dụng mạng nơ ron nhằm nâng cao chất lượng dịch tự động tiếng Việt
- 274 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” Giải pháp tách từ sử dụng mạng nơ ron nhằm nâng cao chất lượng dịch tự động tiếng Việt Nguyễn Văn Bình1, Huỳnh Công Pháp1, Huỳnh Thị Tâm Thương2 1 Khoa Công nghệ Thông tin và Truyền thông, Đại học Đà Nẵng 2 Ban Khoa học, Công nghệ và Môi trường, Đại học Đà Nẵng nvbinh@sict.udn.vn, hcphap@sict.udn.vn, thuonght2008@gmail.com Abstract. Chất lượng của các hệ thống dịch máy tiếng Việt hiện nay vẫn còn khiêm tốn [8], vì vậy cần tiếp tục nghiên cứu các giải pháp nhằm nâng cao chất lượng của các bản dịch máy. Trong đó, cải tiến kho ngữ liệu là một giải pháp hiệu quả để giúp quá trình huấn luyện đạt hiệu quả và đưa ra các bản dịch tốt hơn. Đã có nhiều nghiên cứu nhằm nâng cao chất lượng và mở rộng số lượng của kho ngữ liệu. Trong bài báo này, tác giả đề xuất ứng dụng giải pháp tách từ sử dụng trí tuệ nhân tạo để chuẩn hóa các kho ngữ liệu, từ đó giúp cải tiến chất lượng của các hệ thống dịch tự động. Keywords: tách từ, kho ngữ liệu, dịch máy, trí tuệ nhân tạo, mạng nơ ron CBOW, skip-gram. 1 Đặt vấn đề Kết quả của quá trình xử lý ngôn ngữ tự nhiên được ứng dụng trong nhiều lĩnh vực đời sống và phục vụ cho các nghiên cứu liên quan đến xử lý văn bản, phân loại văn bản, tóm tắt văn bản, sửa lỗi chính tả, dịch máy Đặc biệt, tiếng Việt là một ngôn ngữ phức tạp, có nhiều sự nhập nhằng trong ngữ pháp và từ loại, vì vậy các nghiên cứu về xử lý tiếng Việt có vai trò quan trọng giúp nâng cao hiệu quả của các hệ thống nói trên. Trong lĩnh vực dịch máy tiếng Việt, phần lớn các nghiên cứu về cải tiến kho ngữ liệu tập trung giải quyết các vấn đề về tổng hợp và trích rút dữ liệu để xây dựng kho ngữ liệu, hợp nhất và làm giàu kho ngữ liệu [9], chú thích từ loại [4] Do đặc điểm của tiếng Việt mỗi từ chứa một hoặc nhiều âm tiết, vì vậy nếu phân biệt rõ ranh giới giữa các từ thì sẽ giảm bớt tính nhập nhằng của ngữ nghĩa, xác định từ loại sẽ chính xác hơn, từ đó giúp quá trình xử lý và huấn luyện dữ liệu đạt hiệu quả tốt. Đối với bất kỳ mô hình dịch máy nào, chẳng hạn mô hình dịch thống kê hoặc mô hình dịch máy sử dụng mạng nơ ron, quá trình tiền xử lý dữ liệu kết hợp tách từ vựng sẽ làm giảm kích thước của bộ từ điển, tăng tính chính xác khi gióng hàng và giúp cải tiến chất lượng của bản dịch máy. Một số phương pháp tách từ (word segmentation) tiếng Việt đã được nghiên cứu và ứng dụng, trong đó nổi bật nhất là ứng dụng vnTokenizer [3] và Đông Du [4]. Trong bài báo này, tác giả đề xuất sử dụng trí tuệ nhân tạo để tự động nhận dạng các từ ghép thông qua mạng nơ ron, sử dụng mô hình CBOW và Skip-gram để biểu diễn từ sang vector (Word2Vec). Với giải pháp này, chúng ta có thể tận dụng nguồn dữ liệu tiếng Việt vô tận từ các tài liệu điện tử để giúp hệ thống tự động học và nhận dạng ranh giới giữa các từ một cách hiệu quả.
- Nguyễn Văn Bình, Huỳnh Công Pháp, Huỳnh Thị Tâm Thương 275 2 Tổng quan về các nghiên cứu về phương pháp tách từ 2.1 Giới thiệu bài toán tách từ Trong tiếng Việt, ngoài từ đơn (một âm tiết), còn có từ ghép (đa âm tiết). Như vậy, khoảng trống giữa các từ không có vai trò làm ranh giới để phân tách các từ. Mỗi từ có thể là một từ đơn hoặc gồm nhiều từ đơn ghép lại. Vì vậy, trong các vấn đề xử lý ngôn ngữ tiếng Việt như xác định ngữ pháp, phân loại từ loại không thể bỏ qua quá trình tách từ. Tuy nhiên đây là một bài toán khó giải quyết. Đối với các ngôn ngữ như tiếng Anh, tiếng Pháp, tiếng Đức việc tách từ được thực hiện khá đơn giản dựa vào các ký tự phân cách như: khoảng trắng, ký tự tab, các dấu câu, dấu ngoặc, v.v. Ngược lại, đối với tiếng Việt cũng như một số ngôn ngữ châu Á khác như tiếng Trung Quốc, tiếng Nhật Bản khoảng trắng ngoài việc ngăn cách các từ với nhau, còn được dùng để ngăn cách các âm tiết (syllable) của một từ ghép. Có nhiều phương pháp đã được nghiên cứu để phân tách ranh giới của các từ phục vụ cho các bài toán xử lý ngôn ngữ tự nhiên. Dựa trên đặc điểm của từ kết hợp với cách tiếp cận khác nhau, các phương pháp tách từ này có thể chia thành ba nhóm chính: dựa trên từ điển, dựa trên thống kê và phương pháp lai. 2.2 Các phương pháp tách từ - Tiếp cận dựa trên từ điển: Ý tưởng chính của phương pháp tách từ dựa trên từ điển là từ một từ điển sẵn có, thực hiện so khớp từng âm tiết trong văn bản với các từ có trong từ điển. Tuỳ vào cách thức so khớp mà ta có các phương pháp khác nhau như: so khớp từ dài nhất, so khớp từ ngắn nhất, so khớp chồng lắp và so khớp cực đại [1]. Độ chính xác của phương pháp dựa trên từ điển phụ thuộc rất lớn vào kích thước từ điển được xây dựng. Với đặc điểm là không cần phải có bước huấn luyện nên thời gian xử lý của phương pháp này tương đối nhanh, đơn giản và dễ hiểu. Tuy nhiên, phương pháp này sẽ khó có thể xử lý được các tình huống nhập nhằng cũng như xử lý tình huống xuất hiện từ mới không tồn tại trong từ điển. - Tiếp cận dựa trên thống kê: Với cách tiếp cận dựa trên thống kê, các giải pháp cho việc tách từ thông thường dựa trên mô hình ngôn ngữ (language mode). Một LM thường được xây dựng dựa trên việc thu thập thống kê số lần xuất hiện hoặc đồng xuất hiện của các từ trong một tập lớp các văn bản. - Phương pháp tách từ sử dụng mô hình trường xác suất có điều kiện và độ hỗn loạn cực đại: Với phương pháp tách từ sử dụng mô hình trường xác suất có điều kiện (CRFs) và độ hỗn loạn cực đại (MaxEnt), bài toán tách từ được xem như là công việc gán nhãn cho một dãy các từ. Một từ đơn tiếng Việt mà đứng đầu một từ ghép được gắn nhãn B\_W, một từ đơn nằm trong một từ ghép được gán nhãn I\_W và những thứ khác ví dụ như dấu phẩy, dấu chấm được gán nhãn O (Outside of a word). Bài toán nhằm tìm ra ranh giới giữa các từ trong một câu trở thành bài toán gán nhãn các từ đơn trong câu với các loại nhãn như vừa nêu trên. - Phương pháp tách từ sử dụng mô hình Pointwise: Một phương pháp tách từ khác tên là Pointwise được đề xuất tại [4] cho rằng những phương pháp tách từ như HMM, CRFs và MaxEnt có điểm chung là có tham khảo nhãn (hay kết quả) của những nhãn bên cạnh; các phương pháp này chỉ đạt kết quả tốt khi có một từ điển lớn. Với cách tiếp cận của Pointwise, các nhãn sẽ được đánh giá một cách độc lập, không có tham khảo đến kết quả của các nhãn trước đó. Các đặc trưng tại mỗi vị trí từ đơn đang xét nhãn có sử dụng thông tin văn bản (quan sát) xung quanh vị trí đó. Phương pháp Pointwise sử dụng 3 dạng đặc trưng trong: n-grams âm
- 276 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” tiết (từ đơn), n-grams chủng loại của âm tiết (âm tiết viết hoa, viết thường, số và các loại khác) và đặc trưng từ điển (xét sự xuất hiện của các từ trong từ điển). Bước sau cùng thực hiện huấn luyện mô hình máy học SVM để phân loại từng vị trí giữa các từ trong câu. Từ các phương pháp trên, các nghiên cứu đã xây dựng một số công cụ tách từ như vnTokenizer, Đông Du, JvnSegmenter Các công cụ này được sử dụng phổ biến trong các nghiên cứu liên quan đến xử lý ngôn ngữ tự nhiên nhằm tiền xử lý dữ liệu. Một so sánh giữa hai công cụ phổ biến nhất thể hiện ở Bảng 1 [4]. Bảng 1. So sánh kết quả tách từ giữa công cụ vnTokenizer và DongDu vnTokenizer DongDu Độ chính xác 97.2% 98.2% Tốc độ xử lý 194.672 (s) 26.2 (s) Bộ nhớ RAM sử dụng 19.8Mb 15.1Mb 2.3 Tách từ trong dịch tự động Trong bài toán dịch tự động giữa tiếng Việt và các ngôn ngữ khác, vấn đề xây dựng kho ngữ liệu có chất lượng đóng vai trò quan trọng. Có nhiều phương pháp dịch được nghiên cứu và ứng dụng ở các hệ thống dịch để dịch giữa hàng trăm ngôn ngữ khác nhau. Những mô hình dịch mang lại hiệu quả cao có thể kể đến là phương pháp dịch thống kê và phương pháp dịch sử dụng trí tuệ nhân tạo thông qua mạng nơ ron [8]. Đối với các phương pháp này, trong quá trình huấn luyện dữ liệu, mô hình dịch sẽ thống kê và tạo lập bộ từ điển của ngôn ngữ nguồn và ngôn ngữ đích trên cơ sở liệt kê các từ xuất hiện với mặc định các từ được phân cách nhau bởi khoảng trắng. Chính vì vậy, nếu dữ liệu không được tiền xử lý với phương pháp tách từ, từ điển được tạo ra sẽ bao gồm các từ đơn vô nghĩa hoặc kết hợp n-gram tạo thành những cụm từ vô nghĩa nhưng vẫn được thống kê và đánh trọng số làm ảnh hưởng đến kết quả dịch. Chẳng hạn nội dung của các tập tin từ điển được hiển thị tại Hình 1 khi sử dụng mô hình dịch thống kê (hình c) và khi sử dụng mô hình dịch mạng nơ ron (hình a và b). (a) (b) (c) Hình 1. Nội dung tập tin từ điển khi sử dụng mô hình dịch thống kê và dịch sử dụng mạng nơ ron Nghiên cứu tại [8] cũng chỉ ra rằng, chất lượng và số lượng của kho ngữ liệu ảnh hưởng đến chất lượng các hệ thống dịch máy. Hiện nay đã có nhiều nghiên cứu nhằm nâng cao chất lượng và số lượng kho ngữ liệu tiếng Việt, trong đó tập trung các giải pháp trích rút, hợp nhất dữ liệu,
- Nguyễn Văn Bình, Huỳnh Công Pháp, Huỳnh Thị Tâm Thương 277 mở rộng ngôn ngữ, gán nhãn từ loại. Một số công cụ tách từ như vnTokenizer, Đông Du đã được ứng dụng để tiền xử lý dữ liệu khi xây dựng kho ngữ liệu, tuy nhiên kết quả vẫn còn nhiều hạn chế, dẫn đến chất lượng của các hệ thống dịch tiếng Việt còn thấp [8]. Một ví dụ điển hình về sự nhập nhằng ngữ nghĩa nếu không phân biệt được ranh giới giữa các từ là câu “Ông già đi nhanh quá”, có thể được hiểu theo các cách khác nhau: 1. [Ông già] [đi] [nhanh] [quá] 2. [Ông] [già đi] [nhanh] [quá] Với 2 phương án tách từ khác nhau sẽ biểu diễn 2 nghĩa hoàn khác nhau, vì vậy hệ thống dịch sẽ có thể cho kết quả dịch sai nếu dữ liệu đầu vào chưa được xử lý tách từ. Một số nghiên cứu xây dựng hệ thống dịch cho tiếng Việt đã sử dụng công cụ vnTokenizer nhằm ghép các âm tiết của một từ ghép trở thành một từ duy nhất như [2], [10]. Như vậy, hiệu quả của quá trình tách từ ảnh hưởng trực tiếp đến chất lượng của các hệ thống dịch tự động tiếng Việt. 3 Đề xuất giải pháp Hiện nay, nguồn dữ liệu số của tiếng Việt đã trở nên đồ sộ và dễ dàng tiếp cận. Có thể trích rút các văn bản tiếng Việt từ các trang thông tin điện tử, các tài liệu, văn bản, giáo trình được cung cấp trên Internet. Với lượng dữ liệu lớn này, chúng ta có thể áp dụng các mô hình học máy (deep learning) để hệ thống tự động tổng hợp thông tin và xác định được ranh giới giữa các từ thông qua quá trình huấn luyện. Mô hình áp dụng được mô tả tại Hình 2. Hình 2. Mô hình tách từ sử dụng mạng nơ ron Để thực hiện quá trình huấn luyện từ kho ngữ liệu tiếng Việt và cho ra mô hình có thể phân tách ranh giới các từ cần sử dụng mô hình CBOW và Skip-gram. - Vecto biểu diễn từ: Các từ, chuỗi của kho ngữ liệu không thể trực tiếp trở thành thông tin đầu vào của một mạng nơ ron, vì vậy cần biểu diễn mỗi từ thành một vector số học bằng một phương pháp nào đó. Trong trường hợp này chúng ta biểu diễn mỗi từ thông qua one-hot vector. Đây là một vector có n phần tử (với n là kích thước của bộ từ điển được tạo ra từ kho ngữ liệu), trong đó phần tử tương ứng với từ được biểu diễn nhận giá trị là 1, các phần tử còn lại nhận giá trị là 0. Từ dữ liệu đầu vào này, sử dụng mô hình CBOW và Skip-gram để xây dựng Word2Vec. Word2Vec là mô hình biểu diễn các từ thành một vector đặc trưng thể hiện ý nghĩa của từ đó. Vector này có các phần tử mang giá trị diễn tả mối quan hệ giữa từ này với từ khác bằng cách
- 278 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” sử dụng mạng nơ ron. Khi được huấn luyện với kho ngữ liệu lớn, mô hình này có thể học và nắm bắt được mối quan hệ giữa các từ. Nghiên cứu tại [5] đã đề xuất ra hai mô hình để sinh ra Word2Vec: Mô hình CBOW và mô hình Skip-gram. Hình 3. Mô hình CBOW và Skip-gram Mô hình CBOW (Continuous Bag-of-word hay Mô hình túi từ liên tục) sử dụng mạng nơ ron nhằm dự đoán một từ khi biết các từ lân cận. Trong mô hình này, đầu vào là one-hot vector của các từ lân cận đóng vai trò ngữ cảnh, thông qua một lớp ẩn đã được huấn luyện để cực đại hóa xác suất có điều kiện của từ sẽ xuất hiện ở đầu ra. Mô hình Skip-gram (Continuous Skip-gram) có chức năng ngược lại, nhằm dự đoán các từ lân cận khi cho trước một từ. Mô hình được minh họa tại Hình 3. Bằng cách sử dụng 2 mô hình này, chúng ta biểu diễn được bất kỳ từ nào thông qua vector số học chứa đựng ngữ nghĩa của từ và mối quan hệ với các từ khác, từ đó suy luận được ngữ cảnh và dự đoán được các từ lân cận và có thể áp dụng được vào bài toán xác định ranh giới các từ ghép trong tiếng Việt. Thực nghiệm biến đổi từ thành Word2Vec thông qua các mô hình này tại [xx] còn chỉ ra rằng, có thể thực hiện các phép toán tuyến tính với các từ và kết quả nhận được thể hiện đúng về mặt ngữ nghĩa, chẳng hạn khi tính kết quả “king” – “man” + “woman” sẽ nhận được vector gần với “queen” [6]. 4 Thực nghiệm và kết quả Quá trình thực nghiệm ứng dụng mô hình Word2Vec trong bài toán tách từ tiếng Việt được thực hiện như sau: Thu thập kho ngữ liệu tiếng Việt: nhóm tác giả sử dụng các phương pháp rút trích tự động để lấy về các bài viết trên trang vnexpress.net, tuoitre.vn và một số trang web khác. Kết quả thu được 2.241.987 câu tiếng Việt ở tất cả các lĩnh vực. Dữ liệu được tiền xử lý để loại bỏ các ký tự đặc biệt, chuyển về định dạng Unicode
- Nguyễn Văn Bình, Huỳnh Công Pháp, Huỳnh Thị Tâm Thương 279 Huấn luyện mô hình: tác giả sử dụng ngôn ngữ Python để chuẩn bị và tiền xử lý dữ liệu, sau đó sử dụng thư viện Gensim (gensim.models.word2vec và gensim.models.phrases) để huấn luyện và lưu trữ mô hình học máy từ kho ngữ liệu tiếng Việt, thông qua kỹ thuật CBOW và Skip-gram. Các thư viện của Gensim sử dụng thông số mặc định, gồm kích thước bộ từ vựng (max_vocab_size=40000000), ngưỡng số lượng từ được bỏ qua nếu số lần xuất hiện ít (min_count=5) Vì vậy để mô hình đạt kết quả tốt với dữ liệu đã có cần kiểm tra trên một tập dữ liệu mẫu và chọn tham số cho kết quả tốt nhất. Sử dụng mô hình để tách từ: từ mô hình đã huấn luyện, khi đưa một câu làm dữ liệu đầu vào thì hệ thống sẽ cho kết quả với các từ ghép đã được tách. Theo lý thuyết, số lượng kho ngữ liệu dùng để học tập càng lớn thì kết quả càng chính xác, vì mô hình học được sự phân bố và mối quan hệ giữa các từ ở nhiều ngữ cảnh khác nhau. Hình 4. Kết quả tách từ sử dụng mô hình CBOW và Skip-gram Như mô tả tại Hình 4, một số kết quả tách từ như sau: (1) Câu nguồn: "chính phủ ban hành nghị định quy định về xử phạt vi phạm hành chính lĩnh vực tài nguyên nước và khoáng sản" Kết quả tách từ: “chính_phủ ban_hành nghị_định quy_định về xử_phạt vi_phạm hành_chính lĩnh_vực tài_nguyên nước và khoáng_sản” (2) Câu nguồn: “các bộ trưởng, thủ trưởng cơ quan ngang bộ, thủ trưởng cơ quan thuộc chính phủ, chủ tịch ủy ban nhân dân tỉnh, thành phố trực thuộc trung ương và các cá nhân liên quan chịu trách nhiệm thi hành nghị định này” Kết quả tách từ: “các bộ_trưởng, thủ_trưởng cơ_quan ngang_bộ, thủ_trưởng cơ_quan thuộc chính_phủ, chủ_tịch ủy_ban nhân_dân tỉnh, thành_phố trực_thuộc trung_ương và các cá_nhân liên_quan chịu_trách nhiệm thi_hành nghị_định này” Với một số thử nghiệm, mô hình đã cho kết quả tốt khi tìm kiếm và ghép các từ theo đúng ngữ nghĩa tiếng Việt. Để ứng dụng đối với hệ thống dịch tự động, tác giả đề xuất mô hình như sau:
- 280 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” Fig. 5. Hệ thống dịch kết hợp mô hình tách từ 5 Kết luận Xác định ranh giới từ trong tiếng Việt có vai trò quan trọng ảnh hưởng đến các bài toán giải quyết các vấn đề về ngôn ngữ tự nhiên như tóm tắt văn bản, phân lớp văn bản, gán nhãn từ loại , đặc biệt là bài toán dịch tự động tiếng Việt. Bằng cách ứng dụng mô hình học máy mạng nơ ron, thông qua kỹ thuật CBOW và Skip-gram, tác giả đã đề xuất hướng tiếp cận mới để xử lý bài toán tách từ. Kết quả thực nghiệm ghi nhận tính khả thi và phù hợp để áp dụng đối với tiếng Việt. Từ giải pháp tách từ này có thể kết hợp với quá trình huấn luyện các mô hình dịch để nâng cao chất lượng các hệ thống dịch tự động liên quan đến tiếng Việt. Trong các nghiên cứu tiếp theo, chúng tôi sẽ tiếp tục kiểm chứng kết quả và so sánh với các giải pháp tách từ khác, đồng thời nghiên cứu phát triển mô hình để giải tìm giải pháp giải quyết để vấn đề nhập nhằng trong tiếng Việt. Chúng tôi cũng tiếp tục thực nghiệm và phân tích chất lượng của hệ thống dịch tự động khi kết hợp với quá trình tách từ này. References 1. Khang, P. N., Thư, T. N. M., Phi, P. T., & Nghị, Đ. T. Sự ảnh hưởng của phương pháp tách từ trong bài toán phân lớp văn bản tiếng Việt. Proceeding of Publishing House for Science and Technology, (2017). 2. Hong, V. T., Thuong, H. V., Le Tien, T., Pham, L. N., & Van, V. N. The English-Vietnamese Machine Translation System for IWSLT 2015. 3. Le Hong Phuong, N. T. M., Huyen, A. R., & Vinh, H. T. A hybrid approach to word segmentation of Vietnamese texts. Language and Automata Theory and Applications, 240, (2008). 4. Luu, T. A., & Yamamoto, K. Ứng dụng phương pháp Pointwise vào bài toán tách từ cho tiếng Việt. Natural Language Processing Laboratory Department of Electrical Engineering Nagaoka University of Technology 940-2188, Nagaoka City, Niigata, Japan, (2012). 5. Mikolov, T., Sutskever, I., Chen, K., Corrado, G. S., & Dean, J. Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems (pp. 3111-3119), (2013). 6. Mikolov, T., Chen, K., Corrado, G., & Dean, J. Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781, (2013). 7. Nguyen, C. T., Nguyen, T. K., Phan, X. H., Nguyen, L. M., & Ha, Q. T. Vietnamese Word Segmentation with CRFs and SVMs: An Investigation. In PACLIC, 2006. 8. Nguyễn Văn Bình, Huỳnh Công Pháp, Cải tiến chất lượng dịch Việt - Anh bằng mô hình học máy mạng nơron kết hợp kho ngữ liệu lớn. Hội thảo quốc gia lần thứ XX - Một số vấn đề chọn lọc của công nghệ thông tin và truyền thông, 2017.