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
Mô hình dịch dựa trên đơn vị từ
Đơn vị dịch: từ
IBM Model 1-5:
Phương pháp sinh: chia quá trình gióng hàng thành
các bước nhỏ hơn. Mô hình hóa các bước đó bằng các
xác suất điều kiện dựa trên các giả thuyết đơn giản
11
Mô hình dịch dựa trên đơn vị từ
12
IBM Model1: ví dụ với |e|=J, |v|=I
Bước 1:Xác định độ dài câu e
P(J|v)=ε
Bước 2: Chọn gióng hàng
1
1
( | , )
1
J
j
P a J v
I
=
=
+
∏
Bước 3: Chọn dịch tương ứng các từ tiếng Việt sang tiếng Anh
1
( | , , ) ( | )
j
J
j a
j
P e a J v t e v
=
=
∏
1
( , | ) ( | )
( 1)
j
J
j a
J
j
P e a v t e v
I
ε
=
=
+
∏
Dịch máy thống kê dựa trên đơn vị từ
IBM Model 1:
Xác suất p(e|v):
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
1
( | ) ( , | ) ( | )
( 1)
j
J
j a
J
a a
j
P e v P e a v t e v
I
ε
=
= =
+
∑ ∑
∏
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 gióng hàng 1-nhiều
Không giải quyết được gióng hàng nhiều- 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ỳ
Mỗi cụm tiếng Việt ứng với một cụm tiếng Anh :
: xác suất dịch cụm từ
Các cụm từ có thể bị dịch chuyển:
: xác suất chuyển dịch
•
start
i
: vị trí đầu tiên của cụm từ tiếng Anh ứng với
•
end
i-1
: vị trí cuối của cụm từ tiếng Anh ứng với
Xác suất p(e|v):
15
j
v
i
e
( | )
i i
e v
ϕ
( )
1
1
i i
d start end
−
− −
i
v
1i
v
−
( )
( )
( )
1
1
| | 1
I
i i i i
i
p e v e v d start end
ϕ
−
=
= − −
∏
We have a
green
house
Chúng_tôi
ngôi_nhà
xanh
có một
Gióng hàng cụm từ
Dựa trên gióng hàng từ hai chiều AnhViệt, ViệtAnh
Thu thập các cụm từ được gióng hàng hợp lệ theo hai chiều
Ước lượng được
16
Gióng hàng Anh-Việt
Gióng hàng Việt-Anh
( )
( )
( )
|
|
i i
i i
i
count e v
e v
count v
ϕ
=
Giải mã
17
Tiến trình giải mã:
Đầu vào: câu tiếng Anh e
Đầu ra: câu tiếng Việt v
He did not
go
home
- chọn cụm từ tiếng Anh cần dịch
Anh ta
He
did not go
home
- tìm cụm từ tiếng Việt tương ứng
- thêm cụm từ tiếng Việt vào cuối câu dịch tạm thời
He
did not
go
home
Anh ta
- đánh dấu cụm từ tiếng Anh đã được dịch
đã không
- chuyển sang dịch cụm từ tiếp theo cho đến hết câu tiếng Anh
He did not go
home
Anh ta
- kết thúc dịch
He
did not
go home
đã không vềAnh ta
nhà
Giải mã
Các khả năng dịch
18
He did not go home
anh_ta làm không đi nhà
nó
thực_hiện
không_phả
i
trở_thành chỗ_ở
đàn_ông đã không_đún
g
về
quê_hương
nó làm trở_thành quê_hương
anh_ta đã đi về
đã không
làm không đúng
Giải mã
Mở rộng không gian giả thuyết
Giảm bớt số lượng giả thuyết:
19
anh_ta nhà
đàn_ông
thực_hiện
đã không
làm
đã
trở_thành
về
nhà
He did not go home
Hệ dịch máy thống kê
Anh-Việt
20
Huấn luyện mô hình & Dịch
21
Giải mã:
( ) ( )
ˆ
arg max | *
v
v p e v p v=
Mô hình ngôn ngữ :p(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)
Ngữ liệu đơn ngữ tiếng Việt
Ngữ liệu song ngữ Anh-Việt
Tiền xử lý
Hậu xử lý
Câu nguồn (tiếng Anh) e:
“I am a student”
Câu đích (tiếng Việt) v:
“Tôi là một sinh viên”
Thực hiện dịch
Huấn luyện các mô hình
Thu thập và xử lý dữ liệu
Nguồn ngữ liệu song 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
Gióng hàng câu:
22
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”- “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
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.
24
Gióng hàng từ
Dùng GIZA++:
Phổ biến
Mô hình gióng hàng: IBM Model 1-5 và mô hình
HMM (thay thế IBM Model 2)
Nhược điểm:
Không có gióng hàng nhiều-nhiều, nhiều-1
Thực hiện gióng hàng 2 chiều các cặp câu Anh-Việt
Làm cơ sở gióng hàng cụm từ
25