Trên thế giới đã có rất nhiều nước công bố nghiên cứu về mô hình ngôn ngữ áp dụng cho ngôn ngữ của họ nhưng ở Việt Nam, việc nghiên cứu và xây dựng một mô hình ngôn ngữ chuẩn cho tiếng V
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LƯU TIẾN TRUNG
ÁP DỤNG MÔ HÌNH DỊCH DỰA VÀO CỤM TỪ KHÔNG LIÊN TỤC CHO CẶP
NGÔN NGỮ ANH VIỆT
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Trang 2LƯU TIẾN TRUNG
ÁP DỤNG MÔ HÌNH DỊCH DỰA VÀO CỤM TỪ KHÔNG LIÊN TỤC CHO CẶP
NGÔN NGỮ ANH VIỆT
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC : TS NGUYỄN VĂN VINH
HÀ NỘI – 2015
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan:
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn của TS Nguyễn Văn Vinh
2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, thời gian, địa điểm công bố
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, tôi xin chịu hoàn toàn trách nhiệm
Học viên
Trang 4LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các thày cô trong khoa Công nghệ thông tin, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã giúp đỡ tôi rất nhiều trong quá trình học tập, nghiên cứu, truyền đạt cho tôi những kiến thức quý báu trong những năm học vừa qua
Tôi xin bày tỏ lòng biết ơn sâu sắc đến giáo viên hướng dẫn của tôi - TS Nguyễn Văn Vinh, người đã tận tình chỉ bảo tôi, định hướng cho tôi trong quá trình nghiên cứu, giúp đỡ tôi về mặt phương pháp luận cũng như những kiểm tra cuối cùng đối với luận văn này
Tôi cũng muốn gửi lời cám ơn tới ThS Trần Hồng Việt đã chia sẻ với tôi rất nhiều kinh nghiệm, truyền đạt cho tôi rất nhiều kiến thức trong quá trình thực hiện luận văn này
Cuối cùng tôi gửi lời cảm ơn chân thành tới tất cả người thân và bạn bè đã giúp đỡ, động viên tôi rất nhiều trong quá trình học tập cũng như thực hiện đề tài này
Học viên
Lưu Tiến Trung
Trang 5Mục lục
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 10
1 Dịch máy 10
2 Dịch máy thống kê 11
a) Giới thiệu tổng quan 11
b) Mô hình ngôn ngữ 15
c) Bộ giải mã 16
d) Chu kỳ phát triển của hệ thống dịch thống kê 17
e) Phương thức đánh giá 18
CHƯƠNG 2: MÔ HÌNH DỊCH MÁY DỰA TRÊN CỤM TỪ KHÔNG LIÊN TỤC 22
1 Mô hình dịch máy 23
a) Dịch máy thống kê dựa vào từ 23
b) Dịch máy thống kê dựa trên cụm từ 25
c) Dịch máy thống kê dựa trên cú pháp 27
2 Cụm từ không liên tục 27
3 Mô hình dịch máy dựa trên cụm từ không liên tục 28
a) Chích xuất các cụm từ không liên tục 28
b) Giải mã 29
c) Đặc trưng 31
CHƯƠNG 3: ÁP DỤNG MÔ HÌNH DỊCH MÁY DỰA TRÊN CỤM TỪ KHÔNG LIÊN TỤC CHO CẶP NGÔN NGỮ ANH-VIỆT 33
1 Tổng quan 33
Trang 62 Chuẩn bị dữ liệu 34
3 Công cụ cho việc thử nghiệm, đánh giá 36
KẾT LUẬN 43
PHỤ LỤC 44
TÀI LIỆU THAM KHẢO 53
Trang 7DANH MỤC CHỮ VIẾT TẮT
Workshop on Spoken Language Translation
Trang 8DANH MỤC HÌNH VẼ
Hình 1.1: Mô hình hóa hệ dịch máy 13
Hình 1.2: Mô hình dịch máy thống kê từ tiếng Anh sang tiếng Việt 14
Hình 2.1: Minh họa dịch máy thống kê dựa vào cụm từ 25
Hình 2.2: Dịch máy dựa trên cụm từ không liên tục 30
Trang 9DANH MỤC BẢNG
Bảng 3-1: Tóm tắt bộ dữ liệu huấn luyện 35Bảng 3-2: Các thử nghiệm theo chiều dịch Anh-Việt 39Bảng 3-3: Các thử nghiệm theo chiều dịch Việt-Anh 40
Trang 10MỞ ĐẦU
Theo bản điều tra báo cáo của UNESCO Liên Hiệp Quốc thì trên thế giới hiện có 2750 thứ tiếng Với nhu cầu trao đổi thông tin thường xuyên và liên tục, con người gặp phải không ít khó khăn do bất đồng ngôn ngữ Người ta đã phải dùng đến một đội ngũ phiên dịch khổng lồ, để dịch các văn bản, tài liệu, lời nói từ tiếng nước này sang tiếng nước khác Để khắc phục những nhược điểm trên con người đã nghĩ đến việc thiết kế một mô hình dịch tự động Công việc đưa ra mô hình dịch tự động đã và đang được phát triển và trở thành đề tài nghiên cứu được rất nhiều nhà khoa học quan tâm Trên thế giới đã có rất nhiều nước công bố nghiên cứu về mô hình ngôn ngữ áp dụng cho ngôn ngữ của họ nhưng ở Việt Nam, việc nghiên cứu và xây dựng một mô hình ngôn ngữ chuẩn cho tiếng Việt vẫn còn mới mẻ và gặp nhiều khó khăn
Mô hình dịch là một thành phần quan trọng trong các hệ thống dịch máy Cải thiện mô hình dịch có thể tăng hiệu quả rất lớn đối với các hệ thống dịch máy
Vì vậy, trên thế giới đã có nhiều nghiên cứu được công bố về các mô hình dịch đem lại những hiệu quả rất tích cực Ở Việt Nam, dịch máy cũng đã 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ế Những khó khăn đến từ cách thức tiếp cận, về cấu trúc ngữ pháp và sự nhập nhằng ngữ nghĩa của tiếng Việt
Dịch máy dựa trên cụm từ hiện nay đang là mô hình dịch đem lại hiệu quả cao và đang được sử dụng rộng rãi (Google, Bing, ) Mặc dù vậy, dịch trên cụm
từ vẫn còn có những hạn chế khi mà dịch trên cụm từ thông thường không đem lại kết quả cao khi trong dữ liệu huấn luyện chứa các thành phần dịch mà không nằm cạnh nhau nhưng lại có liên kết tới nhau Khi đó các thành phần này sẽ bị
Trang 11đẩy tôi lựa chọn và tập trung nghiên cứu về vấn đề này Dựa vào bài báo của Michel Galley and Christopher D Manning [3], tôi tiến hành nghiên cứu đề tài
“Áp dụng mô hình dịch dựa vào cụm từ không liên tục cho cặp ngôn ngữ Anh Việt”
Tôi tin là nếu đề tài này được nghiên cứu thành công, kết quả của đề tài có thể ứng dụng rất tốt phục vụ trong công tác giảng dạy cũng như áp dụng thực tiễn
để xây dựng hệ thống dịch tự động Bố cục luận văn gồm 3 chương:
Chương 1: Giới thiệu tổng quan
Nội dung chính của chương này là giới thiệu tổng quan về bài toán dịch tự động, các hệ thống dịch máy, dịch máy thống kê Chương này cũng giới thiệu về nguyên lý hoạt động, các thành phần và phương pháp đánh giá về một hệ thống dịch máy thống kê
Chương 2: Mô hình dịch dựa vào cụm từ không liên tục
Nội dung chính của chương này là giới thiệu về mô hình dịch máy dựa trên cụm từ không liên tục Trong chương này, chúng tôi đã giới thiệu về mô hình dịch máy, phân loại các mô hình dịch máy hiện nay Cùng với đó, chúng tôi đã trình bày cách tiếp cận, đi sâu vào mô hình dịch máy dựa trên cụm từ không liên tục
Chương 3: Áp dụng mô hình dịch dựa vào cụm từ không liên tục cho cặp ngôn ngữ Anh-Việt
Nội dung chính của chương này là mô tả việc áp dụng mô hình học máy dựa trên cụm từ không liên tục cho bài toán dịch máy Chương tày cũng sẽ mô tả
về công cụ Phrasal cùng các thực nghiệm sử dụng công cụ này, đưa ra các kết quả thu được và đánh giá Cuối chương sẽ đưa ra hướng nghiên cứu tiếp theo của đề tài
Trang 12CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN
Nội dung chính của chương này là giới thiệu tổng quan về bài toán dịch tự động, các hệ thống dịch máy, dịch máy thống kê Chương này cũng giới thiệu về nguyên lý hoạt động, các thành phần và phương pháp đánh giá về một hệ thống dịch máy thống kê
1 Dịch máy
Các hệ dịch máy (machine translation system-MT) là các hệ thống sử dụng máy tính để dịch từ một thứ tiếng (trong ngôn ngữ tự nhiên) sang một hoặc vài thứ tiếng khác Đầu vào của một hệ dịch máy là một văn bản viết trong ngôn ngữ nguồn Văn bản này có thể thu được từ một hệ soạn thảo hay một hệ nhận dạng chữ viết, lời nói Sau đó văn bản có thể được chỉnh sửa lại nhờ khối soạn thảo, kiểm tra chính tả, trước khi đưa vào máy dịch Phần dịch máy sẽ chuyển văn bản nguồn thành văn bản viết trên ngôn ngữ đích Và cũng qua một bộ chỉnh ra để cuối cùng thu được một văn bản tương đối hoàn chỉnh
Dịch máy có lịch sử lâu đời từ thập kỷ 50 và được phát triển mạnh mẽ từ thập kỷ 80 cho đến nay Hiện tại, trên thế giới 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, … hay những hệ dịch máy mở tiêu biểu là hệ dịch của Google, hỗ trợ hàng chục cặp ngôn ngữ phổ biến như Anh-Pháp, Anh-Trung, Anh-Nhật, Hoa-Nhật,… 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ữ AnhPháp, Anh-Tây Ban Nha, … và còn gặp nhiều
Trang 13Nhật, … Và ở Việt Nam, dịch Anh-Việt, Việt-Anh cũng vấp phải những khó khăn tương tự do sự khác biệt về mặt cấu trúc ngữ pháp và tính nhập nhằng của ngữ nghĩa hệ thống dịch Anh-Việt dựa trên luật chuyển đổi được thương mại hóa đầu tiên ở Việt Nam là EVTran, MTD Lạc Việt Hiện nay, nhiều nghiên cứu với mong muốn tăng chất lượng dịch vẫn đang được thực hiện thích nghi với đặc điểm của các cặp ngôn ngữ khác nhau
Hiện nay, các nghiên cứu để làm tăng chất lượng hệ dịch vẫn đang được
tiến hành phù hợp với đặc điểm của các cặp ngôn ngữ Trong đó, phương pháp dịch dựa trên thống kê là một hướng tiếp cận đang được phát triển mạnh từ
những năm của thập kỷ 90, đang được xem là cách tiếp cận khả thi và hiệu quả của việc dịch tự động với nhiều bước đột phá
2 Dịch máy thống kê
a) Giới thiệu tổng quan
Dịch máy thống kê (SMT) là một phương pháp dịch máy, trong đó các bản dịch được tạo ra trên cơ sở các mô hình thống kê có các tham số được bắt nguồn
từ việc phân tích các cặp câu song ngữ Các phương pháp tiếp cận thống kê tương phản với các phương pháp tiếp cận dựa trên luật trong dịch máy cũng như với dịch máy dựa trên ví dụ
Những ý tưởng đầu tiên của dịch máy thống kê đã được giới thiệu bởi Warren Weaver vào năm 1949, bao gồm cả những ý tưởng của việc áp dụng lý thuyết thông tin của Claude Shannon Dịch máy thống kê được tái giới thiệu vào năm 1991 bởi các nhà nghiên cứu làm việc tại Trung tâm nghiên cứu Thomas J Watson của IBM và đã góp phần đáng kể trong sự hồi sinh việc quan
Trang 14tâm đến dịch máy trong những năm gần đây Ngày nay nó là phương pháp dịch máy được nghiên cứu nhiều nhất
Để thực hiện dịch máy, chúng ta nhất thiết phải kết hợp nhiều nguồn trí thức Trong khi đối với dịch thống kê, chúng ta dựa vào toán học để thực hiện kết hợp tối ưu của các nguồn trí thức Trong dịch máy thống kê, trí thức dịch được học một cách tự động từ dữ liệu huấn luyện Với kết quả như vậy, việc phát triển một hệ dịch dựa vào thống kê sẽ rất nhanh so với hệ dịch dựa vào luật Thật vậy, việc đưa ra khái niệm “chính xác” của mối quan hệ ngữ pháp, ngữ nghĩa, văn phong là rất khó khăn hơn rất nhiều nếu không nói là không thể Thay vào đó, trong cách tiếp cận thống kê, các giả định mô hình được kiểm định bằng thực nghiệm dựa vào dữ liệu huấn luyện Một ưu điểm khác của dịch máy thống kê đó
là phương pháp này khá phù hợp với ứng dụng nhúng mà ở đây dịch máy là một phần của ứng dụng lớn hơn
Dịch máy dựa trên phương pháp thống kê sẽ tìm câu ngôn ngữ đích e phù hợp nhất (có xác suất cao nhất) khi cho trước câu ngôn ngữ nguồn f
Một hệ dịch máy dựa trên phương pháp thống kê có thể được mô hình hoá như hình sau:
Trang 15Hình 0.1: Mô hình hóa hệ dịch máy
Dịch máy thống kê lần đầu tiên được đề cập trong bài báo với phương pháp
sử dụng là mô hình Kênh nhiễu (Noisy Channel Model)
Mô hình kênh nhiễu được Brown áp dụng trong bài toán dịch máy như sau: Cho câu tiếng Pháp f1J = f1 … f j … f J cần dịch sang câu tiếng Anh e1I = e1 …ei …eI Brown dựng lên mô hình kênh nhiễu với e là đầu vào bộ mã hoá (Encoder), qua kênh nhiễu được chuyển hoá thành f và sau đó, gửi f đến bộ giải
mã (Decoder) Như vậy, trong các câu tiếng Anh, ta chọn câu sao cho xác suất hậu nghiệm Pr (e1I | f1J ) là lớn nhất, theo luật quyết định Bayes :
eˆ1I = arg max{Pr(e1I | f1 J )} = arg max{Pr(e1 ).Pr( f1 | e1 )}
Trang 16Như vậy, ta có thể xây dựng mô hình chung của hệ dịch máy bằng phương pháp thống kê thông thường sẽ bao gồm 3 thành phần:
- Mô hình ngôn ngữ: Tính toán được xác suất của câu ngôn ngữ nguồn
- Mô hình dịch: Cho biết xác suất của câu ngôn ngữ nguồn là bản dịch
Hình 0.2: Mô hình dịch máy thống kê từ tiếng Anh sang tiếng Việt
Mô hình dịch của mô hình ngôn ngữ sẽ được trình bày ở chương sau của luận văn Ở phần này, luận văn chỉ đề cập đến hai thành phần còn lại của mô hình dịch máy thống kê
Trang 17b) Mô hình ngôn ngữ
Mô hình ngôn ngữ là một phân bố xác suất trên các tập văn bản Nói đơn giản, mô hình ngôn ngữ có thể cho biết xác suất một câu (hoặc cụm từ) thuộc một ngôn ngữ là bao nhiêu
Ví dụ: khi áp dụng mô hình ngôn ngữ cho tiếng Việt:
- P[“hôm qua là thứ năm”] = 0.001
- P[“năm thứ hôm là qua”] = 0
Mô hình ngôn ngữ được áp dụng trong rất nhiều lĩnh vực của xử lý ngôn ngữ tự nhiên như: kiểm lỗi chính tả, dịch máy hay phân đoạn từ Chính vì vậy, nghiên cứu mô hình ngôn ngữ chính là tiền đề để nghiên cứu các lĩnh vực tiếp theo
Nhiệm vụ của mô hình ngôn ngữ là cho biết xác suất của một câu w1w2 wm là bao nhiêu Theo công thức Bayes: P(AB) = P(B|A) * P(A), thì:
P(w1w2…wm) = P(w1) * P(w2|w1) * P(w3|w1w2) *…*
P(wm|w1w2…wm-1)
Theo công thức này, mô hình ngôn ngữ cần phải có một lượng bộ nhớ vô cùng lớn để có thể lưu hết xác suất của tất cả các chuỗi độ dài nhỏ hơn m Rõ ràng, điều này là không thể khi m là độ dài của các văn bản ngôn ngữ tự nhiên (m
có thể tiến tới vô cùng) Để có thể tính được xác suất của văn bản với lượng bộ nhớ chấp nhận được, ta sử dụng xấp xỉ Markov bậc n:
P(wm|w1,w2,…, wm-1) = P(wm|wm-n,wn-m+1, …,wm-1)
Nếu áp dụng xấp xỉ Markov, xác suất xuất hiện của một từ (wm) được coi như chỉ phụ thuộc vào n từ đứng liền trước nó (wm-nwm-n+1…wm-1) chứ không
Trang 18phải phụ thuộc vào toàn bộ dãy từ đứng trước (w1w2…wm-1) Như vậy, công thức tính xác suất văn bản được tính lại theo công thức:
P(w1w2…wm) = P(w1) * P(w2|w1) * P(w3|w1w2) *…*
P(wm-1|wm-n-1wm-n …wm-2)* P(wm|wm-nwm-n+1…wm-1)
Với công thức này, ta có thể xây dựng mô hình ngôn ngữ dựa trên việc thống kê các cụm có ít hơn n+1 từ Mô hình ngôn ngữ này gọi là mô hình ngôn ngữ N-gram Một cụm N-gram là 1 dãy con gồm n phần tử liên tiếp nhau của 1 dãy các phần tử cho trước
c) Bộ giải mã
Nhiệm vụ của bộ giải mã chính là tìm câu ngôn ngữ đích tốt nhất khi biết trước câu ngôn ngữ nguồn Tức là với câu ngôn ngữ nguồn f, câu ngôn ngữ đích e tốt nhất chính là câu làm cho giá trị P(f|e)*P(e) là lớn nhất Bộ giải mã được phát triển đầu tiên cho mô hình dịch cụm từ được giới thiệu bởi Marcu và Wong, sử dụng các phương pháp leo đồi Do không gian tìm kiếm là rất lớn, nên bộ giải mã trong mô hình dịch máy thống kê thường áp dụng các thuật toán tìm kiếm tối ưu
Thuật toán mà bộ giải mã thường áp dụng có tên là A*, là một trong các phương pháp tìm kiếm tốt nhất Giải thuật A* có thể tóm tắt như sau: tại mỗi bước mở rộng không gian tìm kiếm, ta sử dụng các hàm ước lượng, đánh giá trọng số để kết quả tìm được luôn là tốt nhất có thể và là kết quả tìm thấy đầu tiên Ngữ liệu sau khi qua 2 mô hình ngôn ngữ và mô hình dịch ta được bảng xác suất cho từng thông số tương ứng Vấn đề tìm ra tích số P(e)P(v|e) lớn nhất
Có hai thuật giải và một thuật toán tối ưu cho mô hình tìm kiếm: thuật giải tìm kiếm tham lam, thuật giải tìm kiếm dựa trên ngăn xếp, và thuật toán tìm kiếm
Trang 19theo chu trình Hamilton tối ưu Hai thuật giải có thời gian nhanh xử lý nhanh hơn thuật toán nhưng kết quả thấp hơn thuật toán
Bộ giải mã thực hiện một cái tìm kiếm theo chùm (beam search) tương tự công việc của Tillmann và Och Bắt đầu bằng việc định nghĩa các khái niệm cơ bản của các lựa chọn dịch mô tả cơ chế hoạt động của beam search và các thành phần cần thiết của nó và các ước lượng giá trị tương lai và các khái niệm về sinh danh sách n-best
d) Chu kỳ phát triển của hệ thống dịch thống kê
Chu kì để xây dựng hệ thống dịch máy thống kê như sau:
- Thu thập ngữ liệu, rút trích và xử lý tài nguyên
Ở đây, chúng ta cần thu thập các văn bản đơn ngữ nhằm mục đích xây dựng mô hình ngôn ngữ và các văn bản song ngữ phục vụ trong việc thực hiện huấn luyện
- Tiền xử lý dữ liệu
Hiện tượng ngôn ngữ tự nhiên khác nhau là rất khó xử lý ngay cả trong cách tiếp cận thống kê tiên tiến Do đó để cho việc sử dụng cách tiếp cận thống kê được tốt thì trong bước tiền xử lý, chúng ta làm tốt một số việc như: loại bỏ các kí hiệu không phải là văn bản, đưa các từ về dạng gốc của nó,
Chất lượng dịch càng tăng khi cỡ của corpus càng lớn Quá trình học của
hệ thống dịch máy sẽ cho biết cỡ của dữ liệu huấn luyện là bao nhiêu để thu được kết quả khả quan
- Xây dựng mô hình ngôn ngữ
Trang 20Ở đây, mục tiêu là phải phát triển mô hình mà mô hình này mô tả càng nhiều các thuộc tính của ngôn ngữ tự nhiên và các tham số tự do của nó có thể được ước lượng từ dữ liệu huấn luyện
- Huấn luyện
Thuật toán huấn luyện thường dựa vào cách tiếp cận hợp lý cực đại Thông thường, các thuật toán huấn luyện thường cho ta kết quả là tốt ưu địa phương Do vậy, để làm tốt việc huấn luyện này, cần xây dựng các thuật toán mà kêt quả tối
ưu địa phương thường gần với tối ưu toàn cục
- Nâng cấp và cải tiến hệ dịch
Sau một quá trình huấn luyện cho hệ dịch và có những đánh giá chính xác
Sẽ có những câu từ được dịch chính xác nhưng cũng sẽ có nhưng vẫn có những trường hợp dịch chưa đạt Chính điều này sau mỗi quá trình huấn luyện đều cần nâng cấp và đưa ra những cải tiến để hệ dịch ngày một hoàn thiện hơn
e) Phương thức đánh giá
Đánh giá độ chính xác của hệ thống dịch máy là một nhiệm vụ rất vất vả và khó khăn Để đánh giá độ chính xác của bản dịch, ta có thể đánh giá trực tiếp thông qua người dùng hoặc đánh giá tự động bằng máy tính
Đánh giá trực tiếp bằng con người
Trang 21Để đánh giá độ chính xác của hệ thống dịch máy, ta có thể để con người trực tiếp đánh giá Chúng ta có thể đưa ra một thước đo cho độ trôi chảy của bản dịch (ví dụ từ 1 đến 5 hay từ 1 đến 10 tùy thuộc vào độ trôi chảy của bản dịch), sau đó cho những người tham gia đánh giá đánh giá các câu trong bản dịch theo thang điểm đó Như vậy, văn bản nào có điểm trung bình càng cao, thì chất lượng bản dịch đó càng tốt Ngoài ra, cũng có thể đánh giá độ trôi chảy, độ chính xác của bản dịch thông qua thời gian mà người đọc đọc hiểu được bản dịch đó Rõ ràng, bản dịch nào mà người đọc đọc hiểu càng nhanh, thì bản dịch đó càng chính xác
Phương án đánh giá bản dịch bằng chính con người tuy rất dễ thực hiện, nhưng chi phí thì rất lớn, và nếu bản dịch có kích thước càng lớn thì phương pháp này càng kém hiệu quả Ngày nay, các mô hình dịch máy đều áp dụng phương pháp đánh giá tự động, chi phí thấp nhưng hiệu quả cũng khá là cao
Trang 22Việc đánh giá được thực hiện trên kết quả thống kê mức độ trùng khớp các n-grams (dãy ký tự gồm n từ hoặc ký tự) từ kho dữ liệu của kết quả dịch và kho các bản dịch tham khảo có chất lượng cao Giải thuật của IBM đánh giá chất lượng của hệ thống dịch qua việc trùng khớp của các n-grams đồng thời nó cũng dựa trên cả việc so sánh độ dài của các bản dịch
Công thức để tính điểm đánh giá của IBM là như sau:
ref
0 , 1 L
L max ) log(
i
NT
NR P
- Lref: là số lượng các từ trong bản dịch tham khảo, độ dài của nó thường
là gần bằng độ dài của bản dịch bằng máy
- Ltra: là số lượng các từ trong bản dịch bằng máy
Giá trị score đánh giá mức độ tương ứng giữa hai bản dịch và nó được thực
hiện trên từng phân đoạn, ở đây phân đoạn được hiểu là đơn vị tối thiểu trong các bản dịch, thông thường mỗi phân đoạn là một câu hoặc một đoạn Việc thống kê
đồ trùng khớp của các n-grams dựa trên tập hợp các n-grams trên các phân đoạn, trước hết là nó được tính trên từng phân đoạn, sau đó tính lại giá trị này trên tất cả
Trang 23- NIST
Phương pháp NIST là sự phát triển trên phương pháp BLEU nhưng có một khác biệt về quan điểm đánh giá là việc chọn lựa n-grams và thông tin trên mỗi n-gram sẽ được sử dụng để phục vụ việc đánh giá
Sự biến đổi có thể của điểm đánh giá trên một n-gram nếu chúng ta thay đổi vị trí các phần tử trên cùng một n-gram cho chúng ta thấy rằng điểm số cũng
sẽ thay đổi nếu chúng ta thay đổi vị trí của các n-grams trên cùng một phân đoạn
Sự thay đổi này sẽ ảnh hưởng lớn lên kết quả đánh giá dựa trên sự tương ứng về
vị trí của các n-grams trên phân đoạn Điều này cho thấy chúng ta có thể sử dụng công cụ số học để tính toán sự biến đổi trên các n-grams bên cạnh sử dụng yếu tố hình học
Công thức để tính điểm của NIST là:
i
w w
n
L
L p
w w score
tra n
)
inf(
N
N w
Trang 24về một hệ thống dịch máy thống kê
Trang 25CHƯƠNG 2: MÔ HÌNH DỊCH MÁY DỰA TRÊN CỤM TỪ KHÔNG LIÊN TỤC
Nội dung chính của chương này là giới thiệu về mô hình dịch máy, phân loại các mô hình dịch máy hiện nay Sau đó, chúng tôi sẽ giới thiệu đi sâu vào mô hình dịch máy dựa trên cụm từ không liên tục
1 Mô hình dịch máy
Mô hình dịch có 3 hướng tiếp cận chính:
- Mô hình dịch dựa trên từ (word-based)
- Mô hình dịch dựa trên cụm từ (phrase-based)
- Mô hình dịch dựa trên cú pháp (syntax-based)
Cả 3 hướng tiếp cận trên đều dựa trên một tư tưởng Đó là sự tương ứng giữa hai câu (alignment)
a) Dịch máy thống kê dựa vào từ
Mô hình dịch dựa trên từ là thế hệ đầu tiên của mô hình dịch máy thống kê
và được nghiên cứu và phát triển bởi IBM Như đã trình bày ở phần trước, mô
hình dịch này dựa trên sự tương ứng của các từ theo tương ứng một một (một từ của ngôn ngữ này chỉ tương ứng với một từ của ngôn ngữ kia và ngược lại) Cụ thể hơn, giả sử câu ngôn ngữ nguồn là e1e2 en và câu ngôn ngữ đích là f1f2 fm, khi đó mỗi từ fj chỉ tương ứng với 1 và chỉ 1 từ trong câu ngôn ngữ nguồn hoặc là không tương ứng với từ nào Do đó, một sự tương ứng giữa các từ của câu ngôn ngữ nguồn và câu ngôn ngữ đích có thể biểu diễn bằng một dãy m số: {a1, a2,
Trang 26am} trong đó aj là chỉ số của từ trong ngôn ngữ nguồn tương ứng với từ fj của ngôn ngữ đích(aj nhận các giá trị từ 1 đến l) Như vậy, theo mô hình IBM thứ nhất, chúng ta có thể tính xác suất P(f|e) theo công thức sau:
Tuy nhiên trên thực tế, mô hình IBM thứ nhất này có chất lượng dịch không cao Ở các mô hình IBM tiếp theo, người ta cải tiến các công thức và đưa
ra những tương ứng, cũng như tính lại xác suất P(f|e) một cách tốt hơn Tuy nhiên, do tiếp cận theo hướng tương ứng một một giữa các từ, nên mô hình dịch dựa trên từ nói chung và các mô hình dịch IBM nói riêng đã không còn phổ biến Hiện nay, các mô hình dịch theo hướng cụm từ được sử dụng rộng rãi và dần trở nên phổ biến hơn
Trang 27b) Dịch máy thống kê dựa trên cụm từ
Hình 0.1: Minh họa dịch máy thống kê dựa vào cụm từ
Trong dịch dựa trên cụm, một chuỗi các từ liên tiếp (cụm) được dịch sang ngôn ngữ đích, với độ dài cụm ngôn ngữ nguồn và đích có thể khác nhau Hình 2.1 minh họa phương pháp dịch cụm: câu vào được chia thành một số cụm; từng cụm một được dịch sang ngôn ngữ đích; và sau đó các cụm được đảo trật tự theo một cách nào đó rồi ghép với nhau Cuối cùng ta thu được câu dịch trong ngôn ngữ đích
Giả sử ta gọi ngôn ngữ nguồn là f và ngôn ngữ đích là e, chúng ta sẽ cố gắng tối đa hóa xác suất Pr( f e| ) với mong muốn có được bản dịch tốt nhất Thực
tế là tồn tại rất nhiều bản dịch đúng cho cùng một câu, mục đích của ta là tìm ra câu ngôn ngữ e phù hợp nhất khi cho trước câu ngôn ngữ nguồn f Dịch dựa vào cụm sử dụng mô hình kênh nhiễu, áp dụng công thức Bayes ta có:
Do P(f) là không đổi đối với e, vấn đề trở thành việc tìm câu e nhằm tối đa hóa P(f\e)P(e) Việc xây dựng mô hình ngôn ngữ cần sử dụng một ngữ liệu đơn ngữ lớn, trong khi đó mô hình dịch lại cần đến ngữ liệu song ngữ tốt Bộ giải mã được sử dụng để chia câu nguồn thành các cụm và sinh ra các khả năng dịch có thể cho mỗi cụm nhờ sự trợ giúp của bảng cụm (phrase table)
That songwriter wrote many romanti songs
Nhạc sĩ đó đã viết nhiều bài hát lãng mạn
Trang 28Để sinh ra được câu dịch, câu nguồn được chia thành I cụm liên tiếp f1
I
Chúng ta giả sử rằng phân phối xác suất là như nhau đối với các cụm này Mỗi cụm
f i trong f1
I
được dịch thành cụm tương ứng trong ngôn ngữ đích e i Các cụm trong ngôn ngữ đích có thể đảo ví trí cho nhau Quá trình dịch cụm được mô hình hóa bởi phân phối xác suất ( f i | e i )
Việc đảo ví trí (reodering) của các cụm đầu ra được mô hình bởi phân phối xác suất d(a i b i 1), trong đó ai đại diện cho vị trí bắt đầu của cụm trong câu nguồn được dịch thành cụm thứ i trong câu đích, và bi-1 là ký hiệu chỉ vị trí kết thúc của cụm trong câu nguồn được dịch thành cụm (i-1) trong câu đích Ở đây chúng ta
sử dụng mô hình đảo cụm rất đơn giản như sau:
với giá trị thích hợp cho tham số α
Để xác định độ dài thích hợp của câu dịch, chúng ta đưa thêm vào thừa số
ω khi sinh ra câu trong ngôn ngữ đích Thừa số này sẽ được tối ưu qua quá trình tìm kiếm câu dịch tối ưu Thừa số này càng lớn hơn 1 thì độ dài của câu trong ngôn ngữ đích càng dài
Nói tóm lại, câu dịch tốt nhất ebest được sinh ra từ câu nguồn theo là:
Ở đây P(f|e) được phân tích thành: