Tải bản đầy đủ (.doc) (23 trang)

bao cao chuyen de ngon ngu hoc may tinh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (954.98 KB, 23 trang )

BÁO CÁO CHUYÊN ĐỀ
MÔN NGÔN NGỮ HỌC MÁY TÍNH

Tên đề tài:

TÌM HIỂU CÔNG CỤ GIZA++
TRONG DỊCH MÁY THỐNG KÊ

MỤC LỤC
1.Giới thiệu về dịch máy thống kê và Giza++...................................................................................3
2.Các tính năng của công cụ:............................................................................................................4
3.Nguyên lý thiết kế và phương pháp xây dựng công cụ....................................................................5
3.1. Các mô hình huấn luyện:............................................................................................................5
3.2. Quá trình huấn luyện:......................................................................................................................9
3.3. Phương pháp xây dựng công cụ:..................................................................................................10
3.4. Ứng dụng các mô hình:.................................................................................................................16
4. Cài đặt và sử dụng.......................................................................................................................20
4.1. Cài đặt Giza++..............................................................................................................................20
4.2. Chạy thử nghiệm GIZA++:..........................................................................................................21
5. Kết luận........................................................................................................................................22
5.1. Kết quả đạt được...........................................................................................................................22
5.2. Hướng phát triển tiếp theo............................................................................................................22


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
5.3. Rút ra bài học cho bản thân..........................................................................................................22
7.TÀI LIỆU THAM KHẢO...............................................................................................................23

Trang 2



Bài thu hoạch môn Ngôn Ngữ Học Máy Tính

1. Giới thiệu về dịch máy thống kê và Giza++
Dịch máy hay còn gọi là dịch tự động là việc dịch 1 ngôn ngữ nguồn ra một hay nhiều
ngôn ngữ đích một cách tự động không có sự can thiệp của con người.
Theo sự tìm hiểu của em, ngày nay có hai cách tiếp cận chính cho dịch máy:


Dựa trên luật.



Dựa trên ngữ liệu gồm:
o Dịch máy dựa trên ví dụ.
o Dịch máy dựa trên thống kê.

* Dịch máy dựa trên luật: cần phải xây dựng hệ thống luật, cú pháp, ngữ nghĩa, xây dựng từ
điển đầy đủ thông tin. Để thực hiện phương pháp dịch máy dựa trên luật đòi hỏi nhiều thời
gian công sức nhưng sản phẩm dịch vẫn không đạt độ chính xác như mong đợi.
* Dịch máy thống kê trở thành một mô hình chính bằng cách ánh xạ từ vựng từ ngôn ngữ
nguồn sang ngôn ngữ đích sử dụng các mô hình dịch thuật. Thực hiện quá trình dịch nhờ vào
việc học từ ngữ liệu:


Dựa vào các mô hình máy học.



Khá đơn giản và cho kết quả tốt.


Đặc điểm:


Không cần nắm rõ luật của từng ngôn ngữ -> có thể dùng cho nhiều ngôn ngữ khác
nhau.



Cần có kho dữ liệu chuẩn để huấn luyện.

Tuy nhiên có một số khuyết điểm sau:


Phải cung cấp một lượng lớn dữ liệu đào tạo.



SMT không hề biết gì về cấu trúc cú pháp cơ bản của thuật toán trên câu trong hệ
thống dịch máy.



Yêu cầu về chuyên môn ở từng lĩnh vực.



Khó khăn trong việc chọn nghĩa cho từ (một từ có nhiều nghĩa).

 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ữ.
Dịch máy thống kê trên cơ sở từ
Trong bài báo cáo này, em xin trình bày công cụ Giza++ ứng dụng trong dịch máy thống
kê (SMT) trên cơ sở từ. Trong dịch máy thống kê trên cơ sở từ, các đơn vị cơ bản của bản
dịch là một từ trong ngôn ngữ tự nhiên. Giza++ dùng để tập huấn cho các mô hình dịch IBM,
mô hình HMM...Hầu hết các hệ thống dựa trên cụm từ vẫn còn sử dụng Giza++ để liên kết
câu, trích rút ra các cặp câu song ngữ và mô hình ngôn ngữ. Vì những ưu thế của Giza++,
hiện nay có một số nỗ lực đưa áp dụng tính toán phân tán trực tuyến cho phần mềm này.
Phần II của bài báo cáo nêu sơ lược về các tính năng của công cụ Giza++.
Trang 3


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
Phần III giới thiệu các mô hình dịch thuật thống kê dựa trên các mô hình dịch thuật thống
kê của IBM, tiến trình huấn luyện các mô hình, phương pháp xây dựng công cụ. Phần IV cài
đặt và ứng dụng Giza++ trên hệ điều hành Linux Ubutun với phần mềm GIZA++ v.1.0.3.

2. Các tính năng của công cụ:


Bộ công cụ dịch máy thống kê EGYPT chứa GIZA một chương trình huấn luyện các mô
hình dịch máy thống kê từ cặp câu song ngữ. GIZA được viết bằng C++ với thư viện
STG (kiểm tra bằng cách sử dụng gnu C++).
/>(được phát triển trong tổ chức WS’99 Summer Workshop organized bởi trung tâm
Language and Speech Processing của Johns Hopkins University)



GIZA++ là một phần mở rộng chương trình GIZA.




Ngày nay, GIZA++ được sử dụng để sắp xếp từ ngữ liệu song ngữ, sự sắp xếp này là
cơ sở để xây dựng các mô hình dựa trên cụm từ, một kĩ thuật chính trong dịch máy
thống kê.

Gói chương trình GIZA++ và các tính năng


Plain2snt.out: công cụ đơn giản để chuyển đổi văn bản vào định dạng GIZA.



Plain2snt.out: công cụ đơn giản để chuyển đổi GIZA vào văn bản rõ.



TrainGIZA++.sh: Mẫu kịch bản để thực hiện huấn luyện một ngữ liệu trong định dạng
GIZA.



mkcls: tính toán các lớp từ trong một ngữ liệu đơn giản.



snt2cooc: tạo ra tập tin dạng coocurrence.

Trong hệ thống dịch máy thống kê MOSES (2010), GIZA++ được sử dụng kết hợp với các
công cụ khác như:

Công cụ xây dựng mô hình ngôn ngữ:


SRILM



IRSTLM



RANDLM



KENLM

Trong đó, Sử dụng công cụ SRILM để xây dựng mô hình ngôn ngữ tri-gam.
Công cụ xây dựng mô hình dịch: GIZA++-v2, mkcls-v2. Trong đó, Sử dụng GIZA++ để xây
dựng mô hình dịch và dùng mkcls để ước lượng giá trị cực đại cho mỗi mô hình.
Moses là một hệ thống dịch máy thống kê và là một phần mềm nguồn mở theo (giấy
phép LGPL) được phát triển bởi Đại học Edinburgh. Moses hiện đang được sử dụng rộng rãi

Trang 4


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
trong cộng đồng học thuật và doanh nghiệp nghiên cứu và ứng dụng về dịch máy. Hệ thống
này cũng cung cấp các tiện ích giúp nhà phát triển có thể xây dựng mô hình dịch dựa cho bất
kỳ cặp ngôn ngữ nào, miễn là có lượng lớn văn bản song ngữ để huấn luyện và kho văn bản

đơn ngữ trong việc xây dựng mô hình ngôn ngữ đích.
Với vai trò là một hệ thống nền tảng (base-line system), các máy dịch thống kê có thể
xây dựng dựa trên nền Moses. Tất nhiên, muốn tạo nên sự khác biệt và đạt được chất lượng
dịch thuật ở mức cao, thì các máy dịch đó phải có những thao tác xử lý ngôn ngữ chuyên
biệt cho từng cặp ngôn ngữ. Đây cũng hướng nghiên cứu của nhiều nhà nghiên cứu khi sử
dụng nền tảng Moses trong việc phát triển máy dịch của riêng mình.

3. Nguyên lý thiết kế và phương pháp xây dựng công cụ
Theo em, nguyên lý thiết kế dựa vào các mô hình IBM 1-5, mô hình HMM để huấn luyện
cách dịch tự động.

3.1. Các mô hình huấn luyện:
Mô hình sắp xếp thống kê:
ˆy = argmax Pr(y | x) = argmax Pr(x | y)
y
y

Một mô hình kênh biến thể ( “distorted (noisy) channel model”)

P r(y)

y



P r(x | y)

x

Cần: một mô hình ngôn ngữ đích + các mô hình liên kết và từ vựng

Sự sắp xếp:
Alignments: (Brown et al. 90) J = |x| y I = |y|

a : {1, ..., J } → {0, ..., I }
aj = 0=> j trong x không được sắp xếp với bất kì vị trí nào trong y.
Tập hợp các sắp xếp có thể là: A(x, y) = {a : {1, ..., J } → {0, ..., I }}
Xác suất của dịch y thành x thông qua 1 xác suất là: Pr(x, a | y)

Trang 5


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính

Độ dài của xác suất: Pr(J | y) ≈ n(J |I )
Model 1 (Mô hình 1)

Thống kê từ vựng

Model 2 (Mô hình 2)

Thống kê sắp xếp
Thống kê từ vựng

Đồng nhất sắp xếp HMM:
Có thể xem mô hình HMM (Hidden Markov Model) như là một mô hình học dựa trên
xác suất. HMM đã được áp dụng thành công trong việc khữ nhập nhằng ngôn ngữ cho các
bài toán xử lý ngữ liệu cấp thấp như: nhận dạng tổng hợp tiếng nói, gán nhãn từ loại, nhận
diện và phân lớp tên riêng.

Trang 6



Bài thu hoạch môn Ngôn Ngữ Học Máy Tính

Thống kê sắp xếp.
Thống kê từ vựng.

Tối ưu hóa liên kết với Model 2

Tìm sự sắp xếp tốt nhất

từ

Cách sử dụng Model 2:

Thuật toán Viterbi (x, y, l, a)
For j := 1 until J

A[j] := argmax a(i | j, J, I ) · l(xj | yi)
0<=i<=I

End-for

Return: A
Chi phí tính toán của thuật toán này là: O( J X I ).
Model 3 (Mô hình 3)

Xác suất cho một bảng tính τ và một hoán vị π l à :

Trong đó:

* f (φi | yi) khả năng tạo ra xác suất.
* l(x | yi) xác suất từ vựng.
Trang 7


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
* d(j | i, J, I ) xác suất nhập nhằng.

Model 4( mô hình 4)
Từ nguồn yi ,
* f (φi | yi) khả năng tạo xác suất.
* l(x | yi) xác suất từ vựng.
* d=1(j − c(i − 1) | CY (yi−1), CX (xj )) xác suất nhập nhằng cho vị trí đầu tiên
trong bảng tính.
* d>1(j − πi,k−1 | CX (xj)) xác suất nhập nhằng cho các vị trí còn lại trong bảng
tính.
Model 5 (mô hình 5)
Xét một từ nguồn yi:
Xét một từ nguồn yi, số vị trí trống bao gồm cả vị trí j được đặt trước τi,k,là:

f (φi | yi)
l(x | yi)

khả năng tạo ra xác suất.
xác suất từ vựng.

d=1(vj | CX (xj ), vc(i−1), vJ − φi + 1) · (1 − δ(vj , vj−1)) xác suất nhập nhằng của
vị trí đầu tiên của bảng tính.
d>1(vj − vπi,k−1 |CX (xj ), vJ − vπi,k−1 − φi + k) · (1 − δ(vj , vj−1)) xác suất nhập
nhằng của các vị trí còn lại trong bảng tính.


3.2. Quá trình huấn luyện:
Theo P. F. Brown thì quá trình huấn luyện có các đặc điểm sau:

* Mỗi mô hình đều có 1 tập hợp cụ thể các thông số tự do.

Trang 8


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
* Ví dụ cho mô hình IMB 4:

* Để huấn luyện cho các thông số của mô hình, sử dụng một ngữ liệu đào tạo song song bao
gồm các cặp câu S:

* Huấn luyện được thực hiện bằng cách sử dụng thuật toán EM(Expectation-Maximization).
Giải thuật EM là cách gọi chung của giải thuật lặp (iterative) với một giá trị ban đầu cho
các tham số của mô hình và sau đó hiệu chỉnh các giá trị này qua mỗi lần lặp nhằm gia tăng
độ tin cậy (likelihhood) của dữ liệu quan sát được.
Những biểu hiện cụ thể của giải thuật EM đã được áp dụng cho một số bài toán khác
nhau trong xử lí ngôn ngữ tự nhiên như:
 Để ước lượng tham
ta dùng phiên bản
là Baum-Welch hay Forward-Backward.

số của mô hình HMM,
của giải thuật EM có tên

 Để ước lượng tham số của văn phạm xác suất, ta dùng phiên bản của giải thuật EM
có tên là Inside-Outside.

 Để làm trơn (trơn) trong mô hình dựa trên HMM, ta dùng phiên bản của giải thuật

EM có tên là Linear Interpolation (nội suy tuyến tính).
* Tối ưu khả năng xảy ra bởi thuật toán EM.
* Không có phương pháp hiệu quả để tính toán các số lượng ước tính.
* Số lượng ước tính gần đúng bởi:
 Tính toán liên kết (gần đúng) nhất có thể xảy ra.
 Áp dụng các sửa đổi: di chuyển và đổi chỗ.
 Tổng các số lượng ước tính cho tất cả sự sắp xếp có xác suất lớn hơn xác suất của số
lần liên kết có thể xảy ra.
 Xem chi tiết hơn P. F. Brown et al. The mathematics of statistical machine
translation: parameter estimation. Computational Linguistics, vol. 19 (2),
263–310, 1993.

3.3. Phương pháp xây dựng công cụ:
Trong phần phương pháp xây dựng công cụ, em xin đề cập đến các vấn đề sau:
 Định dạng file input là các file từ vựng, các file dạng bitext, file từ điển.
 Cách cấu hình cho file GIZA++.
Trang 9


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
 Định dạng file output là các bảng xác suất.

** Định dạng file input: các file từ vựng
Mỗi mục được lưu trữ trên một dòng như sau:
uniq_id1 string1 no_occurrences1
uniq id2 string2 no occurrences2
uniq id3 string3 no occurrences3
...

Sau đây là một ví dụ:
File từ vựng nguồn

File từ vựng đích

...

...

176 desierto 8

731 eleccions 33

177 fueron 61

732 article 16

178 comprobar 6

733 nostra 23

179 instalaciones 15

734 alternativa 12

180 superado 4

735 contundent 3

...


...

uniq_ids là các số nguyên dương có thứ tự.
0 được dành riêng cho thẻ đặc biệt NULL.

** Định dạng file input: file bitext
Mỗi cặp câu được lưu trữ trên 3 dòng:
 Dòng đầu tiên là số lần của mỗi cặp câu.
 Dòng thứ 2 là câu nguồn đã được mã hóa bằng cách sử dụng các tập tin từ vựng.
 Thứ 3 là câu đích trong cùng một định dạng.

Đây là một mẫu của 3 câu:
...
1
119 109 120 20 121 122 7 123 124 29 72 125 126 57 22 127 128 129 10 11 12
63 29 3 129 9 130 131 8 132 133 55 78 134 135 60 124 136 137 66 9 13 12 14
Trang 10


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
1
130 131 132
138 139 140
1
114 133 134 12
123 8 141 142 14
...

** Định dạng file input: file từ điển

 Tập tin từ điển có định dạng như sau:
target

word id source word id

 Danh sách phải được sắp xếp theo target word id.
 Nếu 1 từ điển được cung cấp trong các tập tin cấu hình GIZA++ sẽ làm thay đổi bộ
đếm cooccurrence trong phiên làm việc đầu tiên của model 1 đó là đặc điểm của sự
ràng buộc trong từ điển.

** Cấu hình file GIZA++:
// các tham số toàn cục:
// ------------------ml

101

(độ dài câu tối đa)

// No. of iterations:
// ------------------- hmmiterations

5

(mh)

model1iterations

5

(số lần lặp của Model 1)


model2iterations

0

(số lần lặp của Model 2)

model3iterations

5

(số lần lặp của Model 3)

model4iterations

5

(số lần lặp của Model 4)

model5iterations

0

(số lần lặp của Model 5)

model6iterations

0

(số lần lặp của Model 6)


// tham số chứa các heuristics khác nhau trong GIZA++ đánh giá hiệu quả của huấn luyện
mô hình :

Trang 11


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
// -----------------------------------------------------------------countincreasecutoff

1e-06 (biến đếm tăng ngưỡng cutoff)

countincreasecutoffal

1e-05

// (biến đếm tăng ngưỡng cutoff cho liên kết trong đào tạo các mô hình tạo sinh)
mincountincrease

1e-07 (tăng số lượng tối thiểu)

peggedcutoff 0.03
// (mối quan hệ xác suất cutoff cho alignment-centers trong pegging)
probcutoff

1e-07 (ngưỡng xác suất cutoff trong xác suất từ vựng)

probsmooth 1e-07 (giá trị trơn xác suất)
// các thông số cho sự mô tả kiểu và số lượng của output:
// ----------------------------------------------------------compactalignmentformat


0

// (0:định dạng chi tiết alignment, 1: định dạng alignment dạng rút gọn )
hmmdumpfrequency
// l

(tên log file)

log

0

0

(tần suất kết xuất của HMM)

(0: không logfile; 1: logfile)

model1dumpfrequency
0
model2dumpfrequency
0
model345dumpfrequency 0

(tần suất kết xuất của Model 1)
(tần suất kết xuất của Model 2)
(tần suất kết xuất của Model 3/4/5)

nbestalignments


0

(in n sự sắp xếp tốt nhất)

nodumps

0

(1: không ghi ra bất kì file nào)

// o (output file dạng tiền tố)
onlyaldumps 0

(1: không ghi ra bất kì file nào)

// outputpath

(đường dẫn output)

transferdumpfrequency
verbose

0

verbosesentence

0

(output: dump của chuyển từ Model 2 sang 3)


(0: không phức tạp; 1: phức tạp)
-10

// (số câu mà chứa nhiều thông tin cần được in ra)
// (negative:không output))
// các tham số mô tả các file input:
// ---------------------------------// c

(huấn luyện tên file dữ liệu)

// d (tên file từ điển)

Trang 12


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
// s

(tên file từ vựng nguồn)

// t

(tên file từ vựng đích)

// tc (tên file ngữ liệu kiểm tra)
// các thông số trơn khử nhập nhằng:
// --------------------- emalsmooth

0.2


// (f-b-trn: yếu tố trơn cho mô hình sắp xếp HMM có thể được bỏ qua bởi
// biến -emSmoothHMM))
model23smoothfactor

0

// (biến trơn cho IBM-2/3 (phép nội suy với hằng số))
model4smoothfactor

0.2

// (Tham số trơn cho xác suất sắp xếp trong Model 4)
model5smoothfactor

0.1

// (tham số smooting cho xác suất biến thể trong Model 5
// (phép nội suy tuyến tính với hằng số)
nsmooth

64

// (trơn cho các tham số sản sinh (giá trị tốt là : 64):
// giá trị của độ dài từ phụ thuộc vào các tham số sản sinh )
nsmoothgeneral

0

//(trơn cho các tham số sản sinh (default: 0):

// số lượng từ phụ thuộc các tham số định dạng cho các mô hình)
// Các thông số định dạng cho các mô hình:
// -------------------------------compactadtable

1

// (1: bảng sắp xếp 3 chiều cho IBM-2 và IBM-3)
deficientdistortionforemptyword

0

// (0: IBM-3/IBM-4 được mô tả trong (Brown et al. 1993);
//

1: mô hình biến thể của từ rỗng bị thiếu;

//

2: mô hình biến thể của từ rỗng bị thiếu (khác mô hình kia);

//

thông số này được thiết lập giúp ta tránh được lỗi trong suốt quá trình huấn luyện

// theo mô hình IBM-3
// và IBM-4 nhiều từ liên kết với từ rỗng )
depm4

76


Trang 13


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
// (d_{ 1}: &1:l, &2:m, &4:F, &8:E, d_{>1}&16:l, &32:m, &64:F, &128:E)
depm5

68

// (d_{ 1}: &1:l, &2:m, &4:F, &8:E, d_{>1}&16:l, &32:m, &64:F, &128:E)
emalignmentdependencies 2
// (lextrain: phụ thuộc liên kết trong mô hình HMM)
//

&1:

độ dài câu;

//

&2: lớp (class) trước;

//

&4: vị trí trước;

//

&8: vị trí tiếng Anh;


//

&16: lớp tiếng Anh)

emprobforempty

0.4

(f-b-trn: xác xuất cho từ rỗng)

// các tham số định nghĩa cho thuật toán EM:
// -------------------------------------- m5p0

-1

// (sửa giá trị cho tham số p_0 trong IBM-5 (nếu âm thì nó được quyết định
//

trong lúc huấn luyện))

manlexfactor1

0

()

manlexfactor2

0


()

manlexmaxmultiplicity
maxfertility 10
p0

20

()

(khả năng sản sinh tối đa cho các mô hình sản sinh)

-1

// (sửa giá trị cho tham số p_0 trong IBM-3/4 (nếu âm
// sẽ được quyết định trong lúc huấn luyện))
pegging

0

(0: không pegging; 1: do pegging).

** Định dạng file output: các bảng xác suất
1. Bảng dịch ( *.t*.* )
prob table.t1.n = t bảng được tạo ra sau khi huấn luyện Model 1 được lặp đi lặp lại
prob table.t2.n = t bảng được tạo ra sau khi huấn luyện Model 2 được lặp đi lặp
table.t2to3 = t bảng sau khi chuyển từ Model 2 sang Model 3
prob table.t3.n = t bảng được tạo ra sau khi huấn luyện Model 3 được lặp đi lặp
Trang 14



Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
prob table.4.n = t bảng được tạo ra sau khi huấn luyện Model 4 được lặp đi lặp
Mỗi dòng có định dạng sau:
s id t id P (t id|s id)
2. Khả năng tạo bảng mới (*.n3.* )
Mỗi dòng trong file này có dạng sau:
source token id p0 p1 p2 . . . pn nơi mà p0 là xác suất mà token nguồn không
có khả năng tạo ra (nên=0). Tương tự p1 là 1, p2 là 2, n là khả năng tạo sinh tối đa có
thể được định nghĩa trong chương trình.
3. Xác suất chèn 1 NULL sau một từ nguồn chứa chỉ 1 dòng với xác suất không chèn một
token NULL.
4. Các bảng liên kết (*.a*.*)
Định dạng mỗi dòng như sau:
i j l m P (i | j, l, m)
Trong đó:
j = vị trí trong câu đích

i = vị trí của câu nguồn

l = độ dài của câu nguồn m = độ dài của câu đích
và P (i|j, l, m) là xác suất mà một từ nguồn trong vị trí i được di chuyển tới vị trí j trong
một cặp câu với độ dài là l và m.
5. Bảng biến thể (*.d3.*)
Định dạng giống như bảng liên kết như vị trí của i và j đảo ngược.
j i l m P (j | i, l, m)
6. Bảng biến thể của IMB-4 (*.d4.*)
7. Bảng biến thể của IBM-5 (*.d5.*)
8. Xác suất liên kết của mô hình liên kết HMM
9. File hỗn hợp (*.perp)

10. Tập tin sửa đổi từ vựng (*.src.vcb,*.trg.vcb)
11. File chứa các tham số cuối cùng (*.gizacfg)

3.4 Ứng dụng các mô hình:
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. Do v và e phụ thuộc lẫn nhau,nên theo lý thuyết xác suất có điều
kiện: Công thức Bayes
argmax(P(v|e)) = argmax(P(v) * P (e|v))

Trang 15


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
Trong đó :
- P(v) là mô hình ngôn ngữ.
- P(e|v) là mô hình dịch.
MÔ HÌNH DỊCH MÁY THỐNG KÊ
Câu nguồn e:
“ I am a teacher”

Câu đích v:
“ tôi là một giáo viên”
MÔ HÌNH NGÔN NGỮ

+ Tính p(v):
Chuỗi xác suất:
P(v)= p(v ,v ,…,v ) = p(v ) p(v |v )…p(v |v1,v2,…,vI-1)
1 2
I
1

2 1
I
+ Giả thuyết Markov:
-N-gram: cụm n-từ liên tiếp
- Xấp xỉ n-gram:P (v |v , v ,…, v ) ≈ p (v | v
,v
,…, v )
I 1 2
I-1
I I-n+1 I-n+2
I-1
- Trigram(n=3):P(v)= p(v ,v ,…,v ) = ∏ p(v | v
v )
1 2
I
k
k-2 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)

Trang 16


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
Tính p(z|xy):P(đọc|tôi đang)= c(tôi đang đọc)/ c(tôi đang)
Vì chúng ta không thể tính chính xác:


Nên chúng ta sử dụng mô hình trigram dể tính gần đúng,mỗi ek-2 , ek-1, ek được gọi là tri-gram.

Phương tri-gram được làm trơn:

là các hệ số với:
T: xác suất tri-gram
B: xác suất bi-gram
U: xác suất uni-gram và bằng 1/ ||
MÔ HÌNH DỊCH
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):

Gióng hàng: a {1->1, 2-> (2,3), 3->5, 4->4, 5-> (6,7,8), 6->9, 7->10}
 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 với một cặp câu (v,e) có rất nhiều cách liên kết từ khác nhau, do đó để đánh giá độ chính
xác của từng liên kết thì phải quan tâm đến xác suất liên kết P(A=a|V=v,E=e) gồm bộ ba biến ngẫu
nhiên (V, A, E).

Trang 17


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính

Trong đó:

Để chọn được một liên kết tốt nhất thì phải chạy mô hình dịch từ 1 đến 5 thông qua một số
các vòng lặp của thuật toán ước lượng giá trị cực đại (Estimation Maximization Algorithm) cho từng

thông số của mô hình.
MÔ HÌNH DỊCH DỰA TRÊN ĐƠN VỊ 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.


IBM Model1: ví dụ với |e|=J, |v|=I

Bước 1: Xác định độ dài câu e.

Bước 2: Chọn gióng

Bước 3: Chọn dịch tương ứng các từ tiếng Việt sang tiếng Anh

IBM MODEL 1
Xác suất p(e|v):

Giả thuyết chọn gióng hàng đơn giản.
Trang 18


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
Đưa ra các mô hình IBM Model 2, 3,4 và 5 để có giả thuyết khái quát hơn.
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).


GIẢI MÃ:
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 theo 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.
Từ các khả năng dịch ta tìm ra câu dịch tốt nhất:
Mở rộng không gian giả thuyết:

Giảm bớt số lượng giả thuyết:

4. Cài đặt và sử dụng
4.1. Cài đặt Giza++
Yêu cầu :
Hệ điều hành Linux: Ubuntu hoặc Fedora

Trang 19


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính

GIZA++ v.1.0.3

Biên dịch GIZA++
Để dùng được Giza++ ta cần download, biên dịch source code.
Bước 1: Source được download từ
/>Bước 2: Biên dịch và chạy tool này trên Ubuntu Linux 10.04, trước tiên cần cài đặt trình biên
dịch G++. Trong Ubuntu terminal gõ:
apt-get install gcc g++

Bước 3: Download source về, giải nén bằng các lệnh gunzip và tar.
Bước 4: Chuyển vào thư mục giza-pp, gõ make để biên dịch.

Sau khi thực hiện xong 4 bước trên ta tiến hành chuẩn bị dữ liệu để chạy GIZA.
 Dùng GIZA++ để huấn luyện ta cần có kho ngữ liệu, kho ngữ liệu song ngữ
được định dạng ban đầu thành 2 file theo 2 ngôn ngữ mong muốn, các dòng
trên 2 file theo thứ tự tương ứng với nhau.

Trang 20


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính
 Dữ liệu được lấy từ Thầy Đinh Điền cung cấp tại website
(Ngữ liệu sau khi download về đã được
tách thành 2 file 1 tiếng anh 1 tiếng việt).

4.2. Chạy thử nghiệm GIZA++:
 Các bước chạy ngữ liệu với GIZA++

 Bước 1: Chạy lệnh plain2snt.out để tạo ra file ngữ liệu đúng định dạng. (*.vcb
và *.snt). Mỗi từ trên một dòng, kèm theo là ID của từ và số lần xuất hiện của
nó.
 Bước 2: Chạy lệnh ./mkcls –penglish –Venglish.vcb.classess và ./mkcls –
pvietnamese –Vvietnamese.vcb.classess để tạo các lớp dành cho việc huấn
luyện.
 Bước 3: ./GIZA++ -T vietnamese.vcb -S english.vcb -C english_vietnamese.snt
-S: ngôn ngữ nguồn (source).
-T: ngôn ngữ đích (target).
-C: Tập tin gióng từng câu của 2 ngôn ngữ.
-O (nếu có): prefix tên tập tin kết xuất.


5. Kết luận
5.1. Kết quả đạt được
Trong bài báo cáo này, em đã tìm hiểu các kiến thức cơ bản về công cụ GIZA+
+ trong dịch máy thống kê với những tính năng như: chuyển đổi văn bản sang dạng
GIZA++, chuyển đổi từ GIZA++ sang văn bản rõ, huấn luyện một ngữ liệu trong
định dạng GIZA++, tính toán các lớp từ trong một ngữ liệu đơn giản. Em đã tìm hiểu
và sử dụng được công cụ dịch máy GIZA++ với các mô hình huấn luyện IBM 1-5,
Trang 21


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính

mô hình HMM ... Bước đầu đã cài đặt và sử dụng công cụ GIZA++ trong việc dịch tự
động trên cơ sở từ từ Tiếng Anh sang Tiếng Việt. Tuy nhiên bộ ngữ liệu huấn luyện
còn giới hạn và kiến thức của em còn hạn chế nên không thể tránh được những sai sót
trong việc biên dịch và chạy chương trình thử nghiệm.
5.2. Hướng phát triển tiếp theo
Trong thời gian tới nếu có thời gian em sẽ tìm hiểu về cách sử dụng GIZA++
với những bộ ngữ liệu khác nhau bằng cách sử dụng ngôn ngữ lập trình C#.NET hay
ngôn ngữ lập trình VB.NET để coding cho chương trình dịch tự động. Đồng thời tìm
hiểu GIZA++ cùng với các công cụ trong MOSES để tạo ra 1 trang web tương tự như
google dịch www.translate.google.com. Khắc phục những gì còn thiếu xót mà em đã
trình bày ở các phần trên. Qua đó em cần phải nghiên cứu rất nhiều về cách dịch trên
cụm từ, dịch dựa trên cú pháp của câu, vì hiện tại tài liệu thì em không có nhiều mà
lại cũng không biết phải đọc cuốn sách chuyên ngành ngôn ngữ học máy tính để có
thể tiếp cận nhanh những kiến thức cần thiết cho môn học này.
5.3. Rút ra bài học cho bản thân
Qua học môn Ngôn ngữ học máy tính và làm bài tiểu luận này đã giúp em nâng
cao tầm tư duy lý luận, cũng như trong cách suy nghĩ của mình, vì môn học này khó

quá, kiến thức mà em thu nhận được còn rất hạn chế, sức hiểu biết có hạn, cho nên bài
thu hoạch này của em làm không tránh khỏi nhiều thiếu xót, mong Thầy góp ý kiến cả
về phần trọng tâm của bài thu hoạch lẫn cách thức trình bày, để trong thời gian tới em
còn phải học các môn tiếp theo được tốt hơn nữa.

Trang 22


Bài thu hoạch môn Ngôn Ngữ Học Máy Tính

7.TÀI LIỆU THAM KHẢO
[1]. Universitat Polit ` ecnica de Val ` encia
Master en Inteligencia Artificial, Renoconocimiento de Formas e Imagen Digital
Curs 2006-2007
SYSTEMS AND TOOLS FOR MACHINE TRANSLATION
GIZA++: Training of statistical translation models
[2]. Two-Stage Translation: A Combined Linguistic and Statistical
Machine Translation Framework
Yushi Xu, Stephanie Seneff
Spoken Language Systems Group, Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology
Cambridge, MA 02139, USA
{yushixu, seneff}@csail.mit.edu.
[3] Ứng dụng xử lý ngôn ngữ tự nhiên trong dịch máy TS. Nguyễn Chí Hiếu.
[4] Các tài liệu về ngôn ngữ học máy tính TS. Nguyễn Tuấn Đăng.

Trang 23




×