Tài liệu Dịch máy Anh - Việt dựa trên phương pháp thống kê tích hợp với thông tin ngôn ngữ

  • Số trang: 63 |
  • Loại file: PDF |
  • Lượt xem: 667 |
  • Lượt tải: 2
tailieuonline

Tham gia: 31/07/2015

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Thị Phương Thảo DỊCH MÁY ANH-VIỆT DỰA TRÊN PHƯƠNG PHÁP THỐNG KÊ TÍCH HỢP VỚI THÔNG TIN NGÔN NGỮ LUẬN VĂN THẠC SĨ Hà Nội - 2008 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Thị Phương Thảo DỊCH MÁY ANH-VIỆT DỰA TRÊN PHƯƠNG PHÁP THỐNG KÊ TÍCH HỢP VỚI THÔNG TIN NGÔN NGỮ Ngành : Công nghệ thông tin Chuyên ngành : Khoa học máy tính Mã số : 60 48 01 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC GS.TSKH. Hồ Tú Bảo PGS.TS. Lương Chi Mai Hà Nội – 2008 3 MỤC LỤC MỤC LỤC............................................................................................................. 3 BẢNG CÁC TỪ VIẾT TẮT................................................................................ 5 BẢNG CÁC THUẬT NGỮ ANH-VIỆT ............................................................ 6 LỜI MỞ ĐẦU....................................................................................................... 7 CHƯƠNG I - TỔNG QUAN VỀ DỊCH MÁY .................................................. 9 1.1 Khái niệm dịch máy...................................................................................... 9 1.2 Kiến trúc chung của một hệ dịch máy.......................................................... 9 1.3 Những khó khăn trong dịch máy ................................................................ 11 1.4 Tình hình dịch máy trong và ngoài nước ................................................... 15 CHƯƠNG II – DỊCH MÁY THỐNG KÊ........................................................ 17 2.1 Giới thiệu.................................................................................................... 17 2.2 Mô hình ngôn ngữ ...................................................................................... 18 2.2.1 Mô hình N-gram .................................................................................. 18 2.2.2 Mô hình ngôn ngữ................................................................................ 19 2.2.3 Làm mịn ............................................................................................... 20 2.3 Mô hình dịch............................................................................................... 21 2.3.1 Mô hình dịch thống kê dựa trên đơn vị từ ........................................... 22 2.3.2 Mô hình dịch thống kê dựa trên đơn vị cụm từ.................................... 23 2.3.3 Mô hình dịch thống kê dựa trên cú pháp............................................. 25 2.4 Mô hình giải mã.......................................................................................... 26 2.4.1 Các khả năng dịch ............................................................................... 26 2.4.2 Giải mã bằng kỹ thuật mở rộng không gian giả thuyết ....................... 27 CHƯƠNG III – CÁC THÀNH PHẦN TRONG HỆ DỊCH THỐNG KÊ DỰA TRÊN ĐƠN VỊ CỤM TỪ........................................................................ 30 3.1 Mô hình log-linear áp dụng cho bài toán dịch máy.................................... 30 3.2 Các đặc trưng khác sử dụng trong mô hình dịch phrase-based.................. 32 CHƯƠNG IV – DỊCH MÁY THỐNG KÊ TÍCH HỢP THÊM THÔNG TIN NGÔN NGỮ........................................................................................................ 35 4.1 Hạn chế của mô hình dịch thống kê dựa trên đơn vị cụm từ...................... 35 4 4.2 Giới thiệu mô hình...................................................................................... 36 4.2.1 Các mô hình xác suất mới.................................................................... 38 4.2.2 Xử lý hình thái...................................................................................... 39 4.2.3 Đưa ra quyết định tốt hơn.................................................................... 40 4.3 Các thành phần trong hệ dịch FTM............................................................ 43 4.4 Tình hình ứng dụng mô hình FTM............................................................. 43 CHƯƠNG V – THỰC NGHIỆM...................................................................... 45 5.1 Công cụ và ngữ liệu cho hệ dịch ................................................................ 45 5.1.1 Chuẩn bị ngữ liệu ................................................................................ 45 5.1.2 Các công cụ tiền xử lý ......................................................................... 46 5.1.3 Công cụ sử dụng thử nghiệm mô hình FTM ........................................ 47 5.1.4 Công cụ đánh giá chất lượng hệ dịch.................................................. 47 5.2 Các thực nghiệm......................................................................................... 47 5.2.1 Cấu hình cơ sở Tf1 ................................................................................ 48 5.2.2 Cấu hình Tf1 + C .................................................................................. 50 5.2.3 Cấu hình Tf1 + Tf2 + C.......................................................................... 50 5.2.4 Cấu hình Tf3,f4 + C................................................................................ 51 5.3 Kết quả thực nghiệm .................................................................................. 52 5.4 Nhận xét...................................................................................................... 53 KẾT LUẬN ......................................................................................................... 56 TÀI LIỆU THAM KHẢO ................................................................................. 58 PHỤ LỤC A ........................................................................................................ 61 5 BẢNG CÁC TỪ VIẾT TẮT Thuật Ý nghĩa ngữ POS FTM SMT part-of-speech – nhãn từ loại Factored Translation Model – Mô hình dịch dựa trên các yếu tố ngôn ngữ Statistical Machine Translation - Dịch máy thống kê 6 BẢNG CÁC THUẬT NGỮ ANH-VIỆT Tiếng Anh Tiếng Việt Decoder Factor Factored Translation Model Feature Function Language Model Lemma Machine Translation Morphology Part-of-speech tag Phrase Hệ giải mã Các yếu tố ngôn ngữ được sử dụng trong hệ dịch Mô hình dịch dựa trên các yếu tố ngôn ngữ Hàm đặc trưng Mô hình ngôn ngữ Từ gốc ở dạng phân tích đơn giản Dịch máy Hình thái từ Nhãn từ loại Các cụm từ trong mô hình dịch thống kê dựa trên đơn vị cụm từ Dịch máy thống kê dựa trên đơn vị cụm từ Kỹ thuật làm mịn Dịch máy thống kê Phrase-based SMT Smoothing Statistical Machine Translation Syntax-based SMT Translation Model Word-based SMT Dịch máy thống kê dựa trên cú pháp Mô hình dịch Dịch máy thống kê dựa trên đơn vị từ 7 LỜI MỞ ĐẦU Những năm gần đây, dịch máy đóng một vai trò quan trọng trong việc hỗ trợ con người cập nhật thông tin từ nhiều nguồn ngôn ngữ khác nhau một cách nhanh chóng. Trong sự phát triển của dịch máy, có 3 cách tiếp cận chủ yếu là dịch chuyển đổi, dịch liên ngữ và dịch dựa vào dữ liệu. Trong đó, dịch máy thống kê, một trong những phương pháp theo cách tiếp cận dựa vào dữ liệu, hiện đang là một hướng phát triển đầy tiềm năng, thu hút được sự quan tâm của các nhà nghiên cứu. Trên thế giới, có khá nhiều hệ dịch dựa trên thống kê đã được thương mại hóa và có chất lương dịch khá cao như CANDIDE của IBM, hệ dịch Trung - Anh của đại học Johns Hopkins, ... Ưu điểm vượt trội của phương pháp này là thay vì xây dựng các từ điển, các quy luật chuyển đổi bằng tay, hệ dịch tự động thiết lập các từ điển, các quy luật dựa trên kết quả thống kê có được từ các kho ngữ liệu. Chính vì vậy, dịch máy dựa vào thống kê có tính khả chuyển cao áp dụng được cho bất kỳ cặp ngôn ngữ nào. Dịch máy thống kê hiện nay đi theo 3 hướng tiếp cận chính, đó là dịch máy thống kê dựa trên đơn vị từ; dựa trên đơn vị cụm từ và dựa trên cú pháp. Trong đó dịch máy thống kê dựa trên đơn vị cụm từ hiện đang là cách tiếp cận thu hút được nhiều sự quan tâm nhất của giới nghiên cứu dịch máy. Tuy nhiên, cách tiếp cận thống kê nói chung vẫn phải đối mặt với những hạn chế do sự thiếu hụt về thông tin ngôn ngữ. Mô hình dịch thống kê vẫn chưa giải quyết được một số vấn đề cơ bản của dịch máy như trật tự từ, khả năng lựa chọn cụm từ phù hợp, và vấn đề về dữ liệu thưa. Các cải tiến làm tăng chất lượng dịch bằng cách tích hợp các thông tin ngôn ngữ vào các bước tiền xử lý, hậu xử lý hay tích hợp trực tiếp vào mô hình dịch đã được đề xuất. Gần đây, với sự xuất hiện của phương pháp dịch máy thống kê tích hợp thêm các thông tin ngôn ngữ, những hạn chế trên đã được cải thiện một cách đáng kể. Phương pháp này không những duy trì được những ưu điểm của phương pháp dịch máy thống kê dựa trên đơn vị cụm từ mà còn có thêm thế mạnh từ tri thức ngôn ngữ được kết hợp một cách linh hoạt vào mô hình dịch dưới dạng các yếu tố tương ứng với từ. Đây là một cách tiếp cận mới đã đạt được kết quả tốt với nhiều cặp ngôn ngữ như Anh-Czech, Anh-Đức,... Tuy nhiên, các thực nghiệm đã cho thấy càng nhiều các yếu tố ngôn ngữ được thêm vào không hẳn đã làm tăng chất lượng của hệ thống. Mỗi cặp ngôn ngữ sẽ 8 có một cấu hình kết hợp các yếu tố ngôn ngữ phù hợp cho mình. Theo những quan sát và đánh giá đó, luận văn hướng đến việc nghiên cứu và xây dựng tổ hợp các yếu tố ngôn ngữ ở mức từ vựng phù hợp cho hệ dịch thống kê Anh-Việt. Một cấu hình phù hợp với đặc trưng ngôn ngữ trong lĩnh vực kinh tế và hội thoại đã cho thấy tiềm năng ứng dụng của phương pháp này đối với cặp ngôn ngữ AnhViệt. Luận văn có bố cục gồm 5 chương chính: Chương I là tổng quan về dịch máy, giới thiệu những đặc điểm trong quá trình dịch máy và tình hình dịch máy trong và ngoài nước. Chương II giới thiệu về mô hình dịch máy thống kê, các phương pháp dịch máy thống kê. Chương III đi sâu vào mô hình dịch máy thống kê có tích hợp với các thông tin ngôn ngữ. Chương IV nêu lên các thành phần sử dụng trong hệ dịch thống kê có tích hợp với các thông tin ngôn ngữ. Chương V là các mô hình thực nghiệm và kết quả thực nghiệm. Cuối cùng là một số kết luận cũng như hướng phát triển trong tương lai. 9 CHƯƠNG I - TỔNG QUAN VỀ DỊCH MÁY 1.1 Khái niệm dịch máy Dịch máy (Machine Translation) là một hướng phát triển có lịch sử lâu đời từ thập kỷ 50 và được phát triển mạnh mẽ vào thập kỷ 80 [19]. Dịch máy (hay dịch tự động) là việc dịch một ngôn ngữ này sang một ngôn ngữ khác bằng máy tính [12]. Ngôn ngữ của văn bản cần dịch được gọi là ngôn ngữ nguồn, ngôn ngữ của văn bản đã dịch gọi là ngôn ngữ đích. 1.2 Kiến trúc chung của một hệ dịch máy Kiến trúc hiện thời của một hệ dịch máy có thể được phân thành 3 lớp chính sau: trực tiếp, chuyển đổi, và liên ngữ [12]. Ba lớp này tương ứng với các loại khác nhau (Hình 1.1) phụ thuộc vào mức độ phân tích của hệ thống. Hình 1.1: Các loại hệ thống dịch máy Kiến trúc dịch trực tiếp (Direct Architecture): Thay thế từng từ trong văn bản nguồn thành từ trong văn bản đích rồi sinh trở lại văn bản đích theo đúng thứ tự văn bản nguồn. Kiến trúc này đơn giản nhưng không đạt hiệu quả cao vì các khác 10 biệt về cú pháp và tính đa nghĩa của từ. Kiến trúc này được áp dụng vào những năm đầu của lịch sử dịch máy và đạt được thành công trong những ngữ cảnh hẹp hoặc trong bài toán đòi hỏi chất lượng không cao lắm. Kiến trúc dịch chuyển đổi (Transfer Architecture): Gồm hai mức, chuyển đổi cú pháp và chuyển đổi ngữ nghĩa, thực hiện chuyển đổi các tri thức ngôn ngữ từ ngôn ngữ nguồn sang ngôn ngữ đích (từ, cú pháp, nghĩa, ...). Kiến trúc này có độ chính xác cũng như dễ đọc dễ hiểu, giải quyết mập mờ tốt hơn nhiều kiến trúc dịch trực tiếp. Tuy vậy thường phải tốn nhiều công sức trong việc tiến hành việc chuyển đổi tri thức ngôn ngữ cho từng cặp ngôn ngữ. Kiến trúc dịch qua ngôn ngữ trung gian (Interlingual Architecture): Phân tích ngôn ngữ nguồn và đưa ra mô tả về tri thức ngôn ngữ tương ứng trên một ngôn ngữ trung gian, độc lập với ngôn ngữ nguồn. Từ đó tạo ra văn bản cho ngôn ngữ đích. Nói cách khác, các cặp ngôn ngữ nguồn và đích đều được dịch thông qua một ngôn ngữ trung gian. Đây là kiến trúc hoàn hảo mà các hệ dịch máy vươn tới. Ba lớp kiến trúc cho hệ dịch máy trên cùng đưa ra câu trả lời cho câu hỏi là những thể hiện nào được sử dụng và những bước nào được thực thi cho một quá trình dịch. Tuy nhiên, còn có một cách tiếp cận khác cho bài tóan dịch máy – cách tiếp cận dựa trên dữ liệu (corpus-based), trong đó tập trung vào kết quả chứ không tập trung vào tiến trình thực hiện. Các phương pháp theo cách tiếp cận này là dịch dựa trên ví dụ (Example-based) và phương pháp dịch máy thống kê (Statistical). Hình 1.2: Một ví dụ dịch máy ghi nhớ 11 Ý tưởng của phương pháp dịch máy ghi nhớ là tìm trong kho ngữ liệu song ngữ các câu nguồn có đoạn giống câu cần dịch, phân tích để chỉ ra phần tương ứng của câu đích trong cặp câu ngữ liệu, sau đó tổng hợp và đưa ra kết quả [31]. Hình 1.2 đưa ra một ví dụ dịch câu tiếng Anh “He buys a book on international politics” sang tiếng Nhật sử dụng phương pháp dịch máy ghi nhớ. Tuy nhiên, phương pháp này sẽ đem lại kết quả dịch không tốt khi dịch với các cặp ngôn ngữ khác biệt nhiều về cấu trúc ngữ pháp và đòi hỏi một lượng ngữ liệu song ngữ rất lớn. Dịch máy thống kê thay vì xây dựng các từ điển, các quy luật chuyển đổi bằng tay, hay ghi nhớ các đoạn giống nhau từ kho ngữ liệu, hệ dịch này tự động xây dựng các từ điển, các quy luật dựa trên kết quả thống kê có được từ các kho ngữ liệu. Chính vì vậy, dịch máy dựa vào thống kê có tính khả chuyển cao áp dụng được cho bất kỳ cặp ngôn ngữ nào. Đây là hướng tiếp cận đang được đánh giá cao và thu được nhiều kết quả ấn tượng nhất. Trong các phần tiếp theo của luận văn tôi sẽ đi sâu vào hướng tiếp cận này. 1.3 Những khó khăn trong dịch máy Mỗi ngôn ngữ đều có đặc trưng riêng khiến cho việc dịch tự động từ ngôn ngữ này sang ngôn ngữ khác phải đối mặt với những thách thức ghê gớm. Dưới đây là những khó khăn tiêu biểu cho việc dịch các ngôn ngữ tự nhiên nói chung và dịch Anh-Việt nói riêng. a. Nhập nhằng Sự nhập nhằng trong các ngôn ngữ tự nhiên là rất lớn. Đây chính là khó khăn lớn nhất của quá trình dịch tự động khi phải lựa chọn từ với nghĩa phù hợp nhất trong rất nhiều nghĩa khác nhau của một từ đầu vào. Có các loại nhập nhằng sau: - Nhập nhằng từ vựng Một từ có thể có nhiều chức năng ngữ pháp. Mỗi chức năng ngữ pháp lại có thể có nhiều nghĩa. Các loại từ này là gặp thường xuyên trong ngôn ngữ tự nhiên. Ví dụ: Trong tiếng Anh bình quân một từ có ít nhất 2 nghĩa: từ make có 14 nghĩa, từ nervous có 4 nghĩa, ... Từ train có chức năng noun (danh từ) và có nghĩa là tàu hoả, hoặc đoàn tuỳ tùng. Từ train có chức năng là Verb (động từ) và có nghĩa là đào tạo, hoặc dạy dỗ. 12 Thông thường loại nhập nhằng này có thể khắc phục bằng cách dựa vào phân tích ngữ pháp và dựa vào ngữ cảnh câu. Ví dụ: I love you (tôi yêu bạn). Ở câu này love tuy có hai nghĩa: tình yêu (noun), yêu (verb). Nhưng theo cấu trúc của câu tiếng Anh bắt buộc trong câu phải có động từ đi kèm cho nên love ở đây được hiểu nghĩa là yêu (verb). - Nhập nhằng về cú pháp (syntactic ambiguity) Trong ngôn ngữ tự nhiên một câu có thể có các cấu trúc ngữ pháp khác nhau, từ đó dẫn đến một câu có thể hiểu theo nhiều nghĩa khác nhau. Đôi khi một cấu trúc ngữ pháp cũng có thể hiểu theo các nghĩa khác nhau. Ví dụ: Câu 1: I saw a horse with a telescope. - I saw a horse with a telescope. - I saw a horse with a telescope. Câu 2: I saw a man with a telescope. - I saw a man with a telescope. - I saw a man with a telescope. Câu 1 có thể hiểu theo hai nghĩa: - Tôi nhìn thấy con ngựa qua ống nhòm. - Tôi nhìn thấy một con ngựa (mà nó) có cái ống nhòm. Câu 2 cũng có thể hiểu được theo hai nghĩa: - Tôi nhìn thấy một người đàn ông qua ống nhòm. - Tôi nhìn thấy một người đàn ông (mà ông ta) có cái ống nhòm. Việc phân tích nghĩa cho phép ta chọn nghĩa đúng (trong ngữ cảnh thông thường) của câu 1, nhưng không thể xác định được trong câu 2. - Nhập nhằng nói năng Bao gồm cả sự mơ hồ về từ ngữ lẫn cú pháp. John took the fruit from the table, then he cleaned it. (John lấy trái cây ra khỏi bàn, rồi anh ta lau nó) it (nó) ở đây là fruit (trái cây) hay table (cái bàn) ? - Mơ hồ về phân đoạn Chỉ tồn tại trong các thứ tiếng các nước châu Á-ngôn ngữ loại đơn lập. Và là một vấn đề mà dịch theo chiều Việt-Anh gặp phải. Ví dụ: Ông già đi nhanh quá. 13 Ở ví dụ này ta có thể hiểu Ông là chủ ngữ (là người mà đang nói đến), hoặc ta cũng có thể hiểu đang nói đến một ông già nào đó làm chủ ngữ, dẫn đến câu này không thể biết chính xác nghĩa như thế nào cả. b. Không đủ thông tin Trong ngôn ngữ thông thường đặc biệt trong hội thoại, ta thường gặp các đoạn văn, câu văn không đầy đủ, thiếu đi các thành phần của câu. Thường thì người nghe có thể tự sửa lại câu và hiểu được câu, nhưng đó là một vấn đề khó cho máy dịch. Ví dụ: Mary tidied up the kitchen and John the living room. (Mary dọn dẹp bếp và John - phòng khách.) Như vậy ở đây đã lược bỏ đi cụm “tidied up”. Trong nhiều trường hợp, để hiểu đúng nghĩa của câu phải căn cứ vào các câu đứng trước hoặc đứng sau nó. Ví dụ: The room has two cabinets. He keeps books in them. (Cái phòng đó có hai cái tủ. Anh ta cất các quyển sách trong chúng.) Trong câu thứ 2, muốn xác định được từ “them” biểu đạt ý nghĩa như thế nào ta buộc phải biết nghĩa của câu trước. c. Cấu trúc ngữ pháp phức tạp Hệ thống ngữ pháp của một ngôn ngữ bất kỳ thường rất phức tạp và đa dạng. Trước hết từ những luật đơn giản có thể bổ sung và phát triển thành những luật phức tạp. Tiếp theo để mô tả đầy đủ được các luật trong ngôn ngữ tự nhiên chúng ta không thể mô tả chúng dưới dạng văn phạm phi ngữ cảnh. Do đó hiện nay chưa có một thuật toán phân tích cấu trúc ngữ pháp toàn vẹn cho ngôn ngữ tự nhiên. Ví dụ: Một luật ngữ pháp cho tiếng Anh có thể biểu diễn dưới dạng: S::=S conjt S Luật này mang tính chất đệ quy do đó ta có thể xây dựng được các câu rất dài. Kasprop win Deep Blue and my friend loss Deep Thought. Hay các thành phần lồng nhau như: John’s aunt’s friend’s ticket (cái vé của bạn của cô của John). Như vậy, cấu trúc ngữ pháp của ngôn ngữ tự nhiên rất phức tạp và việc tiến hành dịch sẽ gặp rất nhiều trở ngại. d. Lượng từ vựng nhiều Tiếng Anh có khoảng 500.000 từ thông thường và 300.000 thuật ngữ khoa học. Việc đưa các dữ liệu này vào máy tính như thế nào và xử lý chúng là một bài 14 toán khó. Và đặc biệt là đối với những ngôn ngữ có sự biến đổi hình thái. Trong từ điển của hệ dịch máy khó có thể bao trùm hết được tất cả những từ đó. Hơn nữa, máy không thể hiểu được từ nào là biến cách của từ nào để có thể dịch theo nghĩa của từ đó. Chính vì vậy, đây là một thách thức lớn đòi hỏi những nghiên cứu nhằm tận dụng được vốn từ sẵn có trong hệ thống để đoán nhận được từ mới đưa vào. Đây chính là vấn đề xử lý dữ liệu thưa đặt ra đối với một hệ dịch. e. Sự không đồng nhất giữa các cặp ngôn ngữ Việc dịch một câu từ ngôn ngữ này sang ngôn ngữ khác mà vẫn giữ nguyên được nội dung, tính chính xác và các sắc thái biểu cảm là một vấn đề rất khó khăn. Nó đòi hỏi người dịch phải am hiểu sâu sắc về kiến thức của cả hai ngôn ngữ cũng như về văn hoá đặc trưng cho hai ngôn ngữ đó. Một trong những trở ngại chính của việc dịch ngôn ngữ là sự không đồng nhất giữa chúng. - Không tương đồng về từ vựng Từ vựng giữa các ngôn ngữ là không tương đồng. Ví dụ : Giữa tiếng Anh và tiếng Việt có khác biệt về ngôi, cách xưng hô, như ngôi thứ nhất số ít: “Tôi, tao, tớ, anh, mình, con, cháu”... sử dụng tuỳ theo văn cảnh, tình cảm của người nói, còn trong tiếng Anh, ta chỉ việc dùng một đại từ “I”. - Không tương đồng về cấu trúc câu Đa số các ngôn ngữ khác nhau thì khác nhau về cấu trúc. Sự khác nhau về trật tự từ trong câu là một thách thức lớn trong dịch máy. Ví dụ: Trong tiếng Anh tính từ thường đứng trước danh từ, nhưng trong tiếng Việt thì ngược lại. Tiếng Anh: I buy a blue book Tiếng Việt: Tôi mua một quyển sách xanh. Một câu trong tiếng Anh bao giờ cũng kèm theo động từ (trong thành phần vị ngữ) còn trong tiếng Việt thì không hẳn như vậy. Tiếng Anh: She is nice. Tiếng Việt: Cô ta đẹp. - Không tương đồng về văn hoá Do có sự khác biệt về văn hóa, Cho nên người dịch phải hiểu biết rất sâu sắc cả nền văn hoá mới khắc phục được sự khác biệt này. 15 Thành ngữ và tục ngữ là những thành phần không thể dịch bình thường được, mà ta phải tìm các thành phần tương ứng nhau giữa các tiếng. Tuy vậy, không phải tục ngữ, thành ngữ nào cũng có thể tìm được tương đương. Ngoài ra còn có sự khác nhau về cách quy ước: Với câu hỏi và câu trả lời bằng tiếng Anh sau: A: Is he not a student?(Anh ta không phải là sinh viên à?) B: No. (ý nói: Anh ta không phải là sinh viên) Khi dịch sang tiếng Việt, câu trả lời của B sẽ được dịch là: Vâng (ý nói: đúng là anh ta không phải là sinh viên) Nếu ta dịch đúng nghĩa của từ No (không) thì anh ta lại là sinh viên. Tóm lại, có rất nhiều khó khăn trong quá trình dịch máy. Trong đó nổi lên 3 bài toán chính đó là: lựa chọn từ phù hợp (word choice), giải quyết vấn đề trật tự từ trong câu (reordering), và bài toán về dữ liệu thưa (sparse data). 1.4 Tình hình dịch máy trong và ngoài nước Hiện nay, có rất nhiều hệ dịch máy thương mại nổi tiếng trên thế giới như Systrans, Kant,… [17, 32] hay những hệ dịch máy mở tiêu biểu như hệ dịch của Google [16] hỗ trợ hơn 10 cặp ngôn ngữ phổ biến như Anh-Pháp, Anh-Trung, Anh-Nhật, Anh-Đức, … Các cách tiếp cận dịch máy chủ yếu dựa vào luật chuyển đổi, dịch liên ngữ và dịch dựa vào dữ liệu. Các hệ dịch máy này đã đạt được kết quả khá tốt với những cặp ngôn ngữ tương đồng nhau về cú pháp như các cặp ngôn ngữ Anh-Pháp, Anh-Tây Ban Nha, … và còn gặp nhiều hạn chế đối với các cặp ngôn ngữ có cú pháp khác nhau như Anh-Trung, Anh-Nhật,… Ở Việt Nam, dịch Anh-Việt cũng gặp phải những khó khăn về sự khác biệt về mặt cấu trúc ngữ pháp và tính nhập nhằng về ngữ nghĩa giữa hai ngôn ngữ. Hơn 10 năm nay dịch máy đã trở thành đề tài được một số nhóm tập trung nghiên cứu, tuy nhiên chất lượng cũng như phạm vi ứng dụng của các hệ dịch đó vẫn còn nhiều hạn chế. Trong nhiều nhóm nghiên cứu chỉ có một hệ dịch Anh-Việt được đưa ra làm sản phẩm thương mại có ứng dụng trong thực tế. - Nhóm nghiên cứu của TS Đinh Điền (ĐHKHTN-ĐHQGTPHCM): nghiên cứu của nhóm chủ yếu dựa trên việc học luật chuyển đổi từ ngữ liệu song ngữ [11]. - Nhóm nghiên cứu của PGS. TS Phan Thị Tươi (ĐHBKTPHCM): Nhóm sử dụng phương pháp phân tích cú pháp có xác suất [40] để dịch văn bản AnhViệt và Việt-Anh. 16 - Nhóm nghiên cứu của TS. Lê Khánh Hùng (Viện NCUDCN-Bộ KHCN) [18]: Đây là nhóm nghiên cứu duy nhất đã đưa hệ dịch vào sử dụng trong thực tế và thương mại hoá sản phẩm. EVTRAN là một hệ dịch máy hoàn toàn dựa vào luật, sử dụng các luật được xây dựng bằng tay để dịch văn bản từ Anh sang Việt. Phiên bản 3 mới EVTRAN ra đời cuối năm 2005 cho phép dịch văn bản hai chiều Anh-Việt, Việt-Anh. Do hệ dịch dựa trên luật nên kết quả của hệ dịch phụ thuộc nhiều vào câu đầu vào có phù hợp với các luật đã được thiết lập hay không. - Nhóm dự án ERIM của ĐHBK Đà Nẵng kết hợp với GETA – ĐHBK Grenoble, thử nghiệm dịch Anh-Việt, Pháp-Việt của Đoàn Nguyên Hải (http://www.latl.unige.ch/vietnamese/) tại LATL. - Ngoài ra còn kể đến một số nỗ lực xây dựng phần mềm dịch máy có tiếng Việt của Stuart và Sandra trường Western Sydney Macarthur và sản phẩm Universal Translator 2000 (http://www.languagetranslator.com/software/unidelux.html). - Gần đây, Google đã thêm tiếng Việt vào hệ dịch máy mở của mình. - Lạc Việt ngoài phần mềm từ điển song ngữ Anh-Việt cũng đã phát triển một hệ dịch tự động Anh-Việt phiên bản beta (http://www.vietgle.vn). - Tháng 11/2008, Tinh Vân cũng cho ra phiên bản beta của phần mềm dịch Anh-Việt sử dụng các tiếp cận dựa trên luật chuyển đổi (http://dich.xalo.vn). Hầu hết các nhóm nghiên cứu đều tập trung vào xây dựng hệ dịch Anh-Việt theo phương pháp dựa luật chuyển đổi (rule-based). Các nghiên cứu đã đạt được những thành công nhất định nhưng vẫn còn nhiều hạn chế bởi tính đa dạng của ngôn ngữ Anh-Việt. Trong luận văn này, tôi tập trung vào một cách tiếp cận mới, cách tiếp cận dịch máy thống kê có tích hợp với các thông tin ngôn ngữ ở mức từ. Hướng đi này nhằm tận dụng thế mạnh về tính khả chuyển cao của phương pháp thống kê, đồng thời việc tích hợp thêm thông tin ngôn ngữ ở mức từ nhằm giải quyết sự khác nhau về đặc trưng ngôn ngữ giữa tiếng Anh và tiếng Việt. Nghiên cứu này cũng góp phần nâng cao chất lượng dịch trong đề tài xây dựng hệ dịch thống kê Anh-Việt EVSMT1.0 [3]. 17 CHƯƠNG II – DỊCH MÁY THỐNG KÊ 2.1 Giới thiệu Dịch máy thống kê (Statistical Machine Translation - SMT) là quá trình dịch văn bản từ một ngôn ngữ này sang một ngôn ngữ khác dựa trên mô hình được sinh ra một cách tự động từ ngữ liệu song ngữ. Phương pháp dịch máy thống kê lần đầu tiên được Brown đề cập trong bài báo [6] với phương pháp sử dụng là mô hình kênh nhiễu. Bài toán được phát biểu như sau: Cho một câu ngôn ngữ nguồn e = e1J = e1, e2, ..., eJ (tiếng Anh), ta cần dịch sang câu ngôn ngữ đích v = v1I = v1, v2, ..., vI (tiếng Việt). Dịch máy thống kê sẽ chọn một câu v có xác suất cao nhất trong rất nhiều khả năng dịch được đưa ra. ( ˆ v1I = arg max p v1I | e1J I v1 ) Sử dụng luật quyết định Bayes: p(e | v )* p (v ) p ( v | e) = p(e ) (2.1) (2.2) Do p (e1J ) không thay đổi khi so sánh các câu v1I khác nhau nên (2.1) có thể được viết lại như sau: ( ) ( ) ˆ v1I = arg max p e1I | v1J * p v1J I v1 (2.3) Khi đó, mô hình dịch máy thống kê có thể được mô hình hóa như hình 2.1. Bài toán dịch máy bằng phương pháp thống kê được chia thành 3 bài toán con: Mô hình ngôn ngữ là quá trình tính xác suất p( v1I ) của ngôn ngữ đích nhằm tính toán ra chuỗi câu đích phù hợp nhất (có xác suất xuất hiện cao nhất). Mô hình thường được sử dụng trong bài toán này là mô hình N-gram. Mô hình dịch là bài toán trung tâm của dịch máy thống kê. Trong mô hình dịch, vấn đề trọng tâm của việc mô hình hoá xác suất dịch p( e1J | v1I ) là việc định nghĩa sự tương ứng giữa các từ của câu nguồn với các từ của câu đích. Có nhiều phương pháp khác nhau để mô hình hóa quá trình dịch. Trong đó chia làm 3 cách tiếp cận chính: cách tiếp cận dựa trên đơn vị từ (word-based), cách tiếp cận dựa trên đơn vị cụm từ (phrase-based), và cách tiếp cận dựa trên cú pháp (syntaxbased). Pha giải mã là bài toán tìm kiếm thông thường, dùng để tìm ra câu đích phù hợp nhất tương ứng với câu nguồn. Các thuật toán tìm kiếm như thuật toán A*, mô 18 hình đồ thị (Graph Model), thuật toán Viterbi là phổ biến nhất trong quá trình giải quyết bài toán này. Hình 2.1: Mô hình dịch máy thống kê Tuy nhiên, mô hình truyền thống này có nhược điểm là không biểu diễn được độ quan trọng của các thành phần cấu thành nên hệ dịch cũng như không thể thêm các yếu tố khác góp phần cải thiện chất lượng hệ dịch. Mô hình log-linear đã được đề xuất áp dụng để giải quyết trường hợp này. Ngoài mô hình ngôn ngữ và mô hình dịch là hai thành phần cơ bản, mô hình log-linear còn cho phép chúng ta thêm những thông tin hữu ích khác. Chi tiết về mô hình được giới thiệu trong chương III. 2.2 Mô hình ngôn ngữ 2.2.1 Mô hình N-gram Cách đơn giản nhất để ngắt một chuỗi kí tự thành các thành phần nhỏ hơn gọi là các chuỗi con. Mỗi chuỗi con n-từ như vậy được gọi là n-gram [21]. Nếu n = 2 ta gọi là bigram Nếu n = 3 ta gọi là trigram Nếu n = 1 ta gọi là unigram hay còn gọi là từ. Nếu một chuỗi kí tự có rất nhiều n-gram hợp lệ thì ta có thể kết luận chuỗi kí tự đó là chuỗi hợp lệ. Kí hiệu p(y|x) là xác suất mà từ y theo sau từ x. Chúng ta có 19 thể ước lượng xác suất này dựa vào thống kê trên kho ngữ liệu đơn ngữ (monolingual). Xác suất có điều kiện bigram là thương số của phép chia số lần xuất hiện cụm “xy” cho số lần xuật hiện từ “x” trong kho ngữ liệu. p(y | x) = số lần xuất hiện(“xy”) / số lần xuất hiện(“x”) Ví dụ: p(Tôi muốn mua một cái áo mới) = p(Tôi | bắt-đầu-câu) * p(muốn | Tôi) * ... p(mới | áo) * p(kết-thúc-câu | mới) Tương tự, ta có định nghĩa tương tự đối với xác suất có điều kiện trigram. p(z | x y) = số lần xuất hiện(“xyz”) / số lần xuất hiện(“xy”) Ví dụ: p(Tôi muốn mua một cái áo mới) = p(Tôi | bắt-đầu-câu bắt-đầu-câu) * p(muốn | bắt-đầu-câu Tôi) * p(mua | Tôi muốn) * ... p(mới | cái áo) * p(kết-thúc-câu | áo mới) * 2.2.2 Mô hình ngôn ngữ Mô hình ngôn ngữ là quá trình tính xác suất P(v) của ngôn ngữ đích nhằm tính toán ra chuỗi câu đích phù hợp nhất (có xác suất xuất hiện cao nhất). Đầu tiên chúng ta xem xét về trật tự từ. Ví dụ: dãy các từ “Tôi thích xem phim” và “chiếc mũ màu xanh” là có thể hiểu được (có thể tồn tại) ngược lại dãy “Tôi thích phim xem” và “chiếc màu xanh mũ” là không thể hiểu được (không tồn tại). Để gán xác suất cho toàn bộ một câu, ta nhân các xác suất điều kiện n-gram tương ứng trong câu đó. Vì vậy, một câu tốt (đúng ngữ pháp) là câu mà có các xác suất dãy n-gram cao. Ví dụ trong bigram ta có: p(tôi muốn mua một cái áo mới) = p(tôi | bắt-đầu-câu) * 20 p(muốn | Tôi) * p(mua | muốn) * p(một | mua) * p(cái | một) * p(áo | cái) * p(mới | áo) * p(kết-thúc-câu | mới) Dễ dàng thấy rằng điều này có ích như thế nào đối với trật tự từ. Dựa vào cách tính xác suất như trên ta thấy rằng: p(tôi muốn mua một cái áo mới) > p(một cái áo mới mua tôi) Do đó câu “tôi muốn mua một cái áo mới” tốt hơn “một cái áo mới mua tôi”. Như vậy, ta có thể coi toàn bộ các chủ đề về gán xác suất cho một câu được gọi là mô hình ngôn ngữ. Mô hình ngôn ngữ không chỉ có ích cho thứ tự các từ mà còn có ích cho việc chọn nghĩa giữa các cách dịch khác nhau. Ví dụ: Cho 2 câu (A) và (B) (A) Tai nạn xảy ra vào lúc nửa đêm. (B) Tai nạn xảy ra tại nửa đêm. Ta phải chọn ra câu dịch đúng trong 2 câu trên trong một ví dụ dịch từ tiếng Anh sang tiếng Việt. Cả hai từ “tại” hoặc “vào lúc” đều tương ứng với từ “at” trong tiếng Anh. Nếu trong corpus của chúng ta, giả sử trigram “vào lúc nửa đêm” xuất hiện 10 lần, trong khi “tại nửa đêm” không xuất hiện (hoặc khá nhỏ so với “vào lúc nửa đêm”) thì (A) là câu tốt hơn (được chọn). Điều đó có nghĩa là ta có thể giả quyết vấn đề nhập nhằng ngữ nghĩa dựa vào mô hình ngôn ngữ đích. 2.2.3 Làm mịn Mô hình n-gram có thể gán xác suất bằng 0 cho câu mà bao gồm các bigram và trigram chưa bao giờ xuất hiện trước đó. Hiện tượng này gọi là làm mịn (smoothing). Nếu “z” chưa bao giờ theo sau “xy” trong văn bản, “z” ít nhất có thể theo sau “y”. Nếu điều đó đúng, khi đó chuỗi từ “xyz” là không tồi. Nếu không thì “z” có thể lại là một từ không phổ biến hoặc không. Trong nhiều trường hợp, dữ liệu học của ta không bao quát hết các trường hợp có thể, do đó nhiều kỹ thuật làm mịn khác nhau đã được nghiên cứu như ước lượng hợp lý cực đại (Maximum Likelihood Estimate) thông qua Good-Turing Estimation, Linear Interpolation, Backoff Models. Một ví dụ đơn giản của phép nội suy tuyến tính
- Xem thêm -