Nghiên cứu dịch máy thống kê & Thử nghiệm xây dựng hệ dịch máy thống kê Anh-Việt
Giáo viên hướng dẫn: ThS. Nguyễn Thị Thu Hương 1 Nghiên cứu dịch máy thống kê & Thử nghiệm xây dựng hệ dịch máy thống kê Anh-Việt Nội dung Dịch máy thống kê Mô hình ngôn ngữ Mô hình dịch Giải mã Hệ dịch máy thống kê Anh-Việt Thử nghiệm Kết luận 2 Tổng quan 3 Dịch máy thống kê: dịch văn bản 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. Bài toán: Cho câu tiếng Anh đầu vào e, tìm câu tiếng Việt v* sao cho xác suất điều kiện P(v|e) là lớn nhất. Công thức Bayes: v* = argmax v P(e|v)P(v) P(e|v): Mô hình dịch. P(v) : Mô hình ngôn ngữ. Mô hình dịch máy thống kê 4 Bộ giải mã (tìm kiếm): ( ) ( ) ˆ arg max | * v v p e v p v= Mô hình ngôn ngữ :p(v) Mô hình dịch: p(e|v) Ngữ liệu đơn ngữ Ngữ liệu song ngữ Tiền xử lý Hậu xử lý Câu nguồn e: “I am a student” Câu đích v: “Tôi là một sinh viên” Mô hình ngôn ngữ 5 Tính p(v): Chuỗi xác suất: P(v)= p(v 1 ,v 2 ,…,v I ) = p(v 1 ) p(v 2 |v 1 )…p(v I | v 1 ,v 2 ,…,v I-1 ) Giả thuyết Markov: N-gram: cụm n-từ liên tiếp Xấp xỉ n-gram: P (v I |v 1 , v 2 ,…, v I-1 ) ≈ p (v I | v I-n+1 , v I-n+2 ,…, v I-1 ) Trigram(n=3): P(v)= p(v 1 ,v 2 ,…,v I ) = ∏ p(v k | v k-2 v k-1 ) k=1,…,I Ví dụ: v = "Tôi đang đọc sách" (I=4) p(Tôi đang đọc sách) = p(Tôi | <bắt-đầu-câu><bắt-đầu-câu>) * p(đang | <bắt-đầu-câu>Tôi) * p(đọc | tôi đang) * p(sách | đang đọc) Tính p(z|xy): P(đọc|tôi đang)= c(tôi đang đọc)/ c(tôi đang) Mô hình ngôn ngữ 6 Dữ liệu thưa: p(z | x y) = c(xyz)/ c(xy) Ngữ liệu giới hạn: “xyz” không xuất hiện p(z| xy)=0 câu v chứa “xyz” bị gán p(v)=0. Cần ước lượng lại các p(z|xy): Phương pháp làm mịn (smoothing): Laplace, Interpolation và Backoff Các phương pháp làm mịn 7 Phương pháp Laplace: V: kích thước từ vựng của ngữ liệu Nhược điểm: Chỉ giải quyết xác suất bằng 0 với các n-gram không xuất hiện. Xác suất các n-gram có xuất hiện bị ước lượng sai lệch. ( ) 1 ( | ) ( ) Lap c xyz P z xy c xy V + = + Các phương pháp làm mịn 8 Phương pháp Interpolation và Backoff: Ý tưởng: tính xác suất theo các n-gram nhỏ hơn Interpolation: PInt(z | x y) = λ1 .P*(z|xy) + λ2 .P*(z|xy) + λ3 .P*(z) + λ4 Các phương pháp làm mịn 9 Backoff: Với: P*(z|xy) = c(xyz) / c(xy) P*(z|xy) = c(yz) / c(y) P*(z) = c(z) / tổng số từ xuất hiện P*(z|xy) nếu: c(xyz)>0 P(z|xy)= α(xy)P(z|y) ngược lại P*(z|y) nếu c(yz) >0 P(z|y)= α(y)P*(z) ngược lại Mô hình dịch 10 Tính xác suất p(e|v). Dựa trên việc gióng hàng từ giữa 2 câu Việt(v)Anh(e): 1 1, 3 5, 4 4, 6 9, 7 10: gióng hàng 1-1 2 (2,3), 5 (6,7,8): gióng hàng 1-nhiều I take on extra work in order to get money Tôi làm việc thêm để kiếm tiền Gióng hàng: a {11, 2(2,3), 35, 44, 5(6,7,8), 69, 710} 1 7 8 9 102 3 4 5 6 1 72 3 4 5 6 [...]... liệu lĩnh vực chung Hệ dịch Tập huấn luyện Tập kiểm thử Điểm BLEU Hệ dịch Tập huấn luyện Tập kiểm thử Điểm BLEU Thống kê AnhViệt 4743 cặp câu 100 câu 0.099 2 Thống kê AnhViệt 159.9 00 cặp câu 100 câu 0.162 3 100 câu 0.301 7 Googl e transl ate 100 câu 0.119 6 Googl e transl ate 29 Nhận xét Dịch máy thống kê phụ thuộc vào dữ liệu huấn luyện: Dữ liệu huấn luyện đủ lớn cho chất lượng dịch cao (trường... cao (trường hợp bộ ngữ liệu lĩnh vực chung 160,000 cặp câu) Dữ liệu huấn luyện nhỏ cho chất lượng dịch thấp (trường hợp bộ dữ liệu CNTT 4843 cặp câu) 30 Kết luận Dịch máy thống kê: Đem lại hiệu quả dịch cao khi dữ liệu đủ lớn Hệ dịch máy thống kê có thể xây dựng nhanh với chi phí hợp lý so với hệ dịch dựa trên luật cú pháp Huấn luyện các mô hình còn đơn giản, chưa có thêm các thông tin ngôn... 19 nhà Hệ dịch máy thống kê Anh-Việt 20 Huấn luyện mô hình & Dịch Câu nguồn (tiếng Anh) e: “I am a student” Ngữ liệu đơn ngữ tiếng Việt Tiền xử lý Mô hình ngôn ngữ :p(v) Giải mã: ˆ v = arg max p ( e | v ) * p ( v ) v (xác suất n-gram) Mô hình dịch: p(e|v) (xác suất dịch cụm từ, xác suất chuyển dịch) Hậu xử lý Câu đích (tiếng Việt) v: “Tôi là một sinh viên” 21 Thực hiện dịch Ngữ liệu song ngữ Anh-Việt. .. còn chậm 26 Cài đặt giao diện hệ dịch Cài đặt máy chủ dịch Anh-Việt: Dịch vụ IIS 7.0 Phiên bản Moses trên Windows Lĩnh vực cài đặt: lĩnh vực chung & công nghệ thông tin Cài đặt máy chủ Web: Dịch vụ IIS 7.0 ActivePerl : tiền xử lý và hậu xử lý câu đầu ra đầu vào cho Moses Thiết bị đầu cuối: Trình duyệt Firefox 27 Giao diện hệ dịch 28 Thử nghiệm Huấn luyện mô hình trên ngữ liệu lĩnh... máy_ tính”- “computer” tách từ có thể khử nhập nhằng trong quá trình dịch Anh-Việt 23 Xây dựng mô hình ngôn ngữ Các công cụ xây dựng: SRILM, IRSTLM, RandLM Lựa chọn SRILM: Mô hình n-gram Cấu hình làm mịn hỗ trợ: Interpolation và Backoff Ưu điểm: Cấu hình đơn giản Thống kê nhanh 24 Sử dụng cấu hình Interpolation: qua thử nghiệm với bộ ngữ liệu đã có cho kết quả tốt hơn Backoff Gióng hàng... nhiều Gióng hàng theo đơn vị cụm từ (phrase) 14 Dịch máy thống kê dựa trên đơn vị cụm từ Đơn vị dịch: cụm từ, là một chuỗi các từ liên tiếp bất kỳ We green have a Chúng_tôi Mỗi cụm tiếng Việt có một house ngôi_nhà ứng với một cụm tiếng Anh xanh : : xác suất dịch cụm từ v Các cụm từ có thể bị dịch chuyển: ϕ (ei | vi ) ei j : xác suất chuyển dịch • starti : vị trí đầu tiên của cụm từ tiếng Anh... j ) j =1 12 ε P (e, a | v) = ( I + 1) J J ∏ t (e j =1 j | va j ) Dịch máy thống kê dựa trên đơn vị từ IBM Model 1: Xác suất p(e|v): ε P(e | v) = ∑ P(e, a | v) = ∑ J a a ( I + 1) J ∏ t (e j =1 j | va j ) Giả thuyết chọn gióng hàng đơn giản Đưa ra các mô hình IBM Model 2, 3,4 và 5 để có giả thuyết khái quát hơn 13 Dịch máy thống kê dựa trên đơn vị từ Hạn chế của các mô hình IBM: Chỉ giải quyết... câu Anh-Việt Làm cơ sở gióng hàng cụm từ 25 Xây dựng mô hình dịch cụm từ và giải mã Bộ công cụ: Pharaoh, Moses Lựa chọn Moses: Hỗ trợ gióng hàng cụm từ Tính xác suất dịch cụm từ Giải mã: mở rộng không gian giả thuyết Ưu điểm: Tốc độ tìm kiếm nhanh Gióng hàng nhiều-nhiều nhờ gióng hàng cụm từ Nhược điểm: Với mô hình lớn, quá trình tải lên còn chậm 26 Cài đặt giao diện hệ dịch. .. ngữ Anh-Việt: Dịch tay thủ công Lấy tự động từ Internet: VOA.com, BBC.com,… Ngữ liệu: 4843 cặp câu thuộclĩnh vực CNTT 160,000 cặp câu thuộc lĩnh vực chung 22 Gióng hàng câu: Tiền xử lý dữ liệu Tách từ tiếng Việt: Tiếng Việt là ngôn ngữ đơn lập Một từ được cấu tạo từ một hoặc nhiều âm tiết: Ví dụ: “Tôi muốn mua một chiếc máy_ tính mới” máy -”machine” “tính”-”calculate” máy_ tính”-... từ tiếng Việt vào cuối câu dịch tạm thời He did not go home go home Anh ta - đánh dấu cụm từ tiếng Anh đã được dịch He did not Anh ta đã không - chuyển sang dịch cụm từ tiếp theo cho đến hết câu tiếng Anh He go home Anh ta 17 did not đã không về nhà - kết thúc dịch Giải mã Các khả năng dịch He did anh_ta nó làm thực_hiện đã đàn_ông not home không đi không_phả i trở_thành không_đún g nó làm về nhà . Hương 1 Nghiên cứu dịch máy thống kê & Thử nghiệm xây dựng hệ dịch máy thống kê Anh-Việt Nội dung Dịch máy thống kê Mô hình ngôn ngữ Mô hình dịch Giải mã Hệ dịch máy thống kê Anh-Việt Thử. v k-1 ) k=1,…,I Ví dụ: v = "Tôi đang đọc sách" (I=4) p(Tôi đang đọc sách) = p(Tôi | <bắt-đầu-câu><bắt-đầu-câu>) * p(đang | <bắt-đầu-câu>Tôi) * p(đọc | tôi đang). ngôn ngữ Mô hình dịch Giải mã Hệ dịch máy thống kê Anh-Việt Thử nghiệm Kết luận 2 Tổng quan 3 Dịch máy thống kê: dịch văn bản từ ngôn ngữ này sang một ngôn ngữ khác dựa trên mô hình