Khóa luận Xây dựng mô hình ngôn ngữ cho tiếng Việt

Mô hình ngôn ngNgram - Cao Văn Việt K51KHMT  
ĐẠI HC QUC GIA HÀ NI  
TRƯỜNG ĐẠI HC CÔNG NGHỆ  
Cao Văn Việt  
XÂY DNG MÔ HÌNH NGÔN NGCHO TING VIT  
KHOÁ LUN TT NGHIỆP ĐI HC HCHÍNH QUY  
Ngành: Khoa hc máy tính  
HÀ NI – 2010  
LI CẢM ƠN  
Đầu tiên, cho phép tôi gi li cảm ơn sâu sc tới TS Lê Anh Cường, người đã  
trc tiếp hưng dn, chbo và tạo điu kin cho tôi trong quá trình hoàn thành lun  
văn này.  
Đồng thi tôi cũng xin gửi li cảm ơn chân thành tới các thầy cô giáo trường Đại  
hc Công Nghệ, đc bit là các thy cô trong bmôn Khoa hc Máy tính , nhng  
người đã trc tiếp ging dy, hướng dn và tạo điều kin cho tôi trong quá trình hc  
tp và thc hành ở trưng.  
Cui cùng, tôi xin gi gi cảm ơn tới tt ccác bạn đng học và gia đình đã ng  
hộ, giúp đỡ tôi hoàn thành luận văn  
TÓM TT  
Mô hình ngôn nglà mt bphn quan trng ca lĩnh vực xlý ngôn ngtự  
nhiên. Có rt nhiu lĩnh vực trong xlý ngôn ngtnhiên sdng mô hình ngôn ngữ  
như: kim li chính t, dch máy hay phân đoạn t... Trên thế giới đã có rt nhiu nước  
công bnghiên cu vmô hình ngôn ngáp dng cho ngôn ngca họ nhưng ở Vit  
Nam, vic nghiên cu và xây dng mt mô hình ngôn ngchun cho tiếng Vit vn  
còn mi mvà gp nhiều khó khăn. Chính điều này đã gi ý và thúc đẩy chúng tôi la  
chn và tp trung nghiên cu vấn đề này để có thtạo điu kin cho vic xlý ngôn  
ngtiếng Vit vn vô cùng phong phú ca chúng ta.  
Luận văn sẽ trình bày khái quát vmô hình ngôn ngữ, đồng thi chra các khó  
khăn còn tn tại để rồi đưa ra những phương pháp khc phc, trong đó trng tâm  
nghiên cứu các phương pháp làm mịn. Trong luận văn này này, chúng tôi sdng chủ  
yếu bcông cmã ngun mở SRILIM để xây dng mô hình ngôn ngcho tiếng Vit,  
sau đó áp dụng mô hình ngôn ngữ đã tạo ra để tính toán độ hn lon thông tin của văn  
bn và dch máy thng kê. Kết quả có đưc sẽ là cơ sở chính để chúng tôi chra  
phương pháp làm mịn nào là tt nht khi sdng trong vic xây dng mô hình ngôn  
ngtiếng Vit.  
MC LC  
Chương 1 Gii thiu vấn đ................................................................................ 1  
1.1 Đặt vấn đ: ......................................................................................................... 1  
1.2 Mc tiêu: ............................................................................................................ 1  
1.3 Cu trúc ca luận văn: ........................................................................................ 2  
Chương 2 Mô hình ngôn ngNgram: ................................................................. 3  
2.1 Khái quát:........................................................................................................... 3  
2.2 Công thc tính “xác sut thô:............................................................................ 3  
2.3 Khó khăn khi xây dựng mô hình ngôn ngN-gram ............................................ 4  
2.3.1 Phân bố không đều: .................................................................................................4  
2.3.2 Kích thước bnhca mô hình ngôn ng................................................................5  
2.4 Các phương pháp làm mịn .................................................................................. 5  
2.4.1 Các thut toán chiết khu (discounting): .................................................................5  
2.4.2 Phương pháp truy hồi:..............................................................................................8  
2.4.3 Phương pháp ni suy: ............................................................................................10  
2.4.4 Phương pháp làm mịn Kneser - Ney: .....................................................................10  
2.4.5 Phương pháp làm mịn Kneser - Ney ci tiến bi Chen - GoodMan: .......................12  
2.5 Kthut làm giảm kích thước dliu:.............................................................. 13  
2.5.1 Loi b(pruning):..................................................................................................13  
2.5.2 Đồng hóa (Quantization):.......................................................................................15  
2.5.3 Nén (Compression):...............................................................................................16  
2.6 Độ đo:............................................................................................................... 16  
2.6.1 Entropy Độ đo thông tin:.....................................................................................16  
2.6.2 Perplexity Độ hn lon thông tin:........................................................................18  
2.6.3 Error rate – Tlli: ..............................................................................................18  
Chương 3 ng dng ca mô hình ngôn ngtrong mô hình dch máy thng kê:19  
3.1 Dch máy:......................................................................................................... 19  
3.2 Dch máy thng kê:........................................................................................... 19  
3.2.1 Gii thiu: .............................................................................................................19  
3.2.2 Nguyên lý và các thành phn: ................................................................................19  
3.2.3 Mô hình dch: ........................................................................................................21  
3.2.4 Bgii mã: ............................................................................................................25  
3.3 Các phương pháp đánh giá bản dch: ................................................................ 25  
3.3.1 Đánh giá trực tiếp bằng con người: ........................................................................25  
3.3.2 Đánh giá tự động: phương pháp BLEU..................................................................26  
Chương 4 Thc nghim: ................................................................................... 28  
4.1 Công c: ........................................................................................................... 28  
4.1.1 Bcông ctrgiúp xây dng tập văn bản hun luyn: ..........................................28  
4.1.2 Công ctách tcho tiếng Vit - vnTokenizer: .......................................................28  
4.1.3 Bcông cxây dng mô hình ngôn ng- SRILM:................................................29  
4.1.4 Bcông cxây dng mô hình dch máy thng kê – MOSES: ................................32  
4.2 Dliu hun luyn: .......................................................................................... 34  
4.3 Kết qu:............................................................................................................ 34  
4.3.1 Số lượng các cm ngram:.......................................................................................34  
4.3.2 Tn sca tn s: ..................................................................................................36  
4.3.3 Cut-off (loi b):....................................................................................................39  
4.3.4 Các phương pháp làm mịn: ....................................................................................40  
4.3.5 Áp dng vào mô hình dch máy thng kê:..............................................................41  
Chương 5 Kết lun............................................................................................ 43  
Tài liu tham kho................................................................................................ 44  
Danh sách các bng sdng trong luận văn:  
Bng 4-1: số lưng các cụm Ngram trong văn bản hun luyn vi âm tiết.................35  
Bng 4-2: số lưng các cụm Ngram trong văn bản hun luyn vi t.........................36  
Bng 4-3: tn sca tn scác cm Ngram áp dng cho âm tiết ...............................37  
Bng 4-4: tn sca tn scác cm Ngram vi t.....................................................38  
Bng 4-5: bnhớ và độ hn lon thông tin khi áp dng loi btrong âm tiết.............39  
Bng 4-6: bnhớ và độ hn lon thông tin khi áp dng loi bvi t.......................40  
Bng 4-7: độ hn lon thông tin của các phương pháp làm mịn cho âm tiết ...............40  
Bng 4-8: độ hn lon thông tin của các phương pháp làm mịn cho t.......................41  
Bng 4-9: điểm BLEU ca bn dch máy vi mô hình ngôn ngsdng dliu hun  
luyện có kích thước nh(50Mb)................................................................................41  
Bng 4-10: điểm BLEU ca bn dch máy vi mô hình Ngram sdng dliu hun  
luyện có kích thước ln (300Mb)...............................................................................42  
Danh sách các hình sdng trong luận văn:  
Hình 3-1: mô hình dch máy thng kê ttiếng Anh sang tiếng Vit...........................20  
Hình 3-3: sự tương ứng mt - mt gia câu tiếng Anh và câu tiếng Pháp...................21  
Hình 3-4: sự tương ứng gia câu tiếng Anh vi câu tiếng Tây Ban Nha khi cho thêm từ  
vô giá trị (null) vào đầu câu tiếng Anh.......................................................................22  
Hình 3-5: sự tương ứng mt - nhiu gia câu tiếng Anh vi câu tiếng Pháp...............22  
Hình 3-6: sự tương ứng nhiu - nhiu gia câu tiếng Anh vi câu tiếng Pháp. ...........22  
Hình 3-7: mô hình dch da trên cây cú pháp.............................................................25  
Hình 3-8: strùng khp ca các bn dch máy vi bn dch mu...............................26  
Hình 4-1: số lưng các cm Ngram vi âm tiết khi tăng kích thước dliu...............35  
Hình 4-2: số lưng các cm Ngram vi từ khi tăng kích thước dliu.......................36  
Hình 4-3: số lưng các cm Ngram (âm tiết) có tn stừ 1 đến 10............................37  
Hình 4-4: số lưng các cm Ngram (t) có tn stừ 1 đến 10....................................38  
Chương 1 Gii thiu vấn đề  
1.1 Đặt vấn đề:  
Ngôn ngtnhiên là nhng ngôn ngữ được con người sdng trong các giao  
tiếp hàng ngày: nghe, nói, đọc, viết [10]. Mặc dù con người có thddàng hiu và hc  
các ngôn ngtnhiên; vic làm cho máy hiểu được ngôn ngtnhiên không phi là  
chuyn ddàng. Sdĩ có khó khăn là do ngôn ngtnhiên có các blut, cu trúc  
ngữ pháp phong phú hơn nhiều các ngôn ngữ máy tính, hơn nữa để hiểu đúng nội dung  
các giao tiếp, văn bản trong ngôn ngtnhiên cn phi nắm được ngcnh ca ni  
dung đó. Do vậy, để có thxây dựng được mt bngpháp, tvng hoàn chnh,  
chính xác để máy có thhiu ngôn ngtnhiên là mt vic rt tn công sức và đòi hi  
ngưi thc hin phi có hiu biết sâu vngôn nghc.  
Các phương pháp xử lý ngôn ngtnhiên da trên thng kê không nhm ti vic  
con người txây dng mô hình ngpháp mà lập chương trình cho máy tính có thể  
“hc” nhvào vic thng kê các tvà cm ttrong các văn bản. Ct lõi nht ca  
các phương pháp xử lý ngôn ngtnhiên da trên thng kê chính là vic xây dng 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 [2][10]. 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.  
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 ngchính là tiền đề để nghiên cứu các lĩnh vực tiếp theo.  
Mô hình ngôn ngữ có nhiều hướng tiếp cận, nhưng chủ yếu được xây dựng theo  
mô hình Ngram. Vấn đề này sẽ trình bày rõ ràng hơn trong chương 2.  
1.2 Mc tiêu:  
1
Mc tiêu chính ca luận văn là tìm hiu lý thuyết vmô hình Ngram và các vấn đề  
trong đó, đc biệt là các phương pháp làm mịn. Vthc nghim, luận văn có sử dng  
bcông cụ SRILM để xây dng mô hình ngôn ngcho tiếng Vit với các phương  
pháp làm mn khác nhau. Bng vic áp dng các mô hình ngôn ngkhác nhau đó vào  
dch máy thng kê, chúng tôi đã chỉ ra được phương pháp làm mịn nào là tt nht khi  
áp dng cho mô hình ngôn ng. Để đạt được thành tựu đó, chúng tôi cũng đã phi tìm  
hiu lý thuyết dch máy thng kê và thc nghim da trên bcông cMoses.  
1.3 Cu trúc ca luận văn:  
Luận văn có cấu trúc như sau:  
Chương 2 xem xét các vấn đề liên quan đến mô hình ngôn ngNgram, các scố  
gp phi và cách khc phc.  
Chương 3 đề cập đến lý thuyết mô hình dch máy thng kê.  
Chương 4, luận văn tập trung vào vic mô tthc nghim, bao gm công vic xây  
dựng và cài đặt nhng chương trình htrvic xây dựng được mô hình ngôn ng, mô  
hình dch máy thng kê và các kết quả đạt được  
Chương 5 tng kết li nhng gì luận văn đạt được và đưa ra kế hoch nghiên cu  
trong tương lai.  
2
Chương 2 Mô hình ngôn ngNgram:  
2.1 Khái quát:  
Nhim vca mô hình ngôn nglà cho biết xác sut ca mt câu w1w2...wm là  
bao nhiêu. Theo công thc 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 thc này, mô hình ngôn ngcn phi có một lượng bnhvô cùng  
lớn để có thể lưu hết xác sut ca tt ccá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 ngtnhiên (m có thtiến ti vô  
cùng). Để có thể tính được xác sut của văn bản với lượng bnhchp nhận được, ta  
sdng xp xMarkov bc n:  
P(wm|w1,w2,…, wm-1) = P(wm|wm-n,wn-m+1, …,wm-1)  
Nếu áp dng xp xMarkov, xác sut xut hin ca mt t(wm) được coi như chỉ  
phthuc vào n từ đứng liền trước nó (wm-nwm-n+1…wm-1) chkhông phi phthuc  
vào toàn bdãy từ đứng trước (w1w2…wm-1). Như vậy, công thc tính xác suất văn  
bn được tính li theo công thc:  
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)  
Vi công thc này, ta có thxây dng mô hình ngôn ngda trên vic thng kê  
các cm có ít hơn n+1 từ. Mô hình ngôn ngnày gi là mô hình ngôn ngN-gram.  
Một cụm N-gram là một dãy con gồm n phần tử liên tiếp của 1 dãy các phần tử  
cho trước (trong bộ dữ liệu huấn luyện) [2].  
dụ: cụm 2-gram “tôi đã” thuộc câu “tôi đã từng đọc quyển sách ấy”.  
Các phần tử được xét ở đây thường là kí tự, từ hoặc cụm từ; tùy vào mục đích  
sử dụng. Dựa vào số phần tử của 1 cụm N-gram, ta có các tên gọi cụ thể:  
N = 1: Unigram  
N = 2: Bigram  
N = 3: Trigram  
2.2 Công thc tính “xác sut thô”:  
3
Gi C(wi-n+1...wi-1wi) là tn sxut hin ca cm wi-n+1...wi-1wi trong tập văn bn  
hun luyn.  
Gi P(wi|wi-n+1...wi-1) là xác sut wi đi sau cụm wi-n+1..wi-2wi-1.  
Ta có công thc tính xác suất như sau:  
C(wi-n+1...wi-1wi)  
P(wi|wi-n+1...wi-1) =  
C(wi-n+1...wi-1w)  
w
Dthy, C(wi-n+1..wi-1w) chính là tn sxut hin ca cm wi-n+1...wi-1 trong  
w
văn bản hun luyện. Do đó công thức trên viết li thành:  
C(wi-n+1...wi-1wi)  
P(wi|wi-n+1...wi-1) =  
C(wi-n+1...wi-1)  
Tlệ ở vế phi còn gi là tltn s. Cách tính xác sut da vào tltn scòn  
gọi là ước lượng xác sut cực đại. Cũng có thể gọi đây là công thức tính “xác sut thô”  
để phân bit vi các cách tính xác sut theo các thut toán sxét phn sau.  
2.3 Khó khăn khi xây dựng mô hình ngôn ngN-gram  
2.3.1 Phân bkhông đều:  
Khi sdng mô hình N-gram theo công thc “xác sut thô”, sphân bkhông  
đều trong tập văn bản hun luyn có thdẫn đến các ước lượng không chính xác. Khi  
các N-gram phân bố thưa, nhiều cm n-gram không xut hin hoc chcó sln xut  
hin nh, việc ước lượng các câu có cha các cm n-gram này scó kết quti. Vi V  
là kích thước btvng, ta scó Vn cm N-gram có thsinh tbtvng. Tuy  
nhiên, thc tế thì scm N-gram có nghĩa và thường gp chchiếm rt ít.  
Ví d: tiếng Vit có khoảng hơn 5000 âm tiết khác nhau, ta có tng scm 3-  
gram có thcó là: 5.0003 = 125.000.000.000 Tuy nhiên, scm 3-gram thống kê được  
chxp xỉ 1.500.000. Như vậy scó rt nhiu cm 3-gram không xut hin hoc chỉ  
xut hin rt ít.  
Khi tính toán xác sut ca mt câu, có rt nhiều trường hp sgp cm Ngram  
chưa xuất hin trong dliu hun luyn bao giờ. Điều này làm xác sut ca ccâu  
bằng 0, trong khi câu đó có thể là mt câu hoàn toàn đúng về mt ngpháp và ngữ  
nghĩa. Đề khc phc tình trạng này, người ta phi sdng mt số phương pháp “làm  
mn” kết quthng kê mà chúng ta sẽ đề cp phn 2.5.  
4
2.3.2 Kích thước bnhca mô hình ngôn ngữ  
Khi kích thước tập văn bản hun luyn ln, số lượng các cm Ngram và kích  
thước ca mô hình ngôn ngcũng rất ln. Nó không nhng gây khó khăn trong việc  
lưu trữ mà còn làm tốc độ xlý ca mô hình ngôn nggim xung do bnhca máy  
tính là hn chế. Để xây dng mô hình ngôn nghiu qu, chúng ta phi gim kích  
thước ca mô hình ngôn ngmà vẫn đảm bảo độ chính xác. Vấn đề này sẽ được gii  
quyết phn 2.6  
2.4 Các phương pháp làm mịn  
Để khc phc tình trng các cm N-gram phân bố thưa như đã đề cp phn  
2.4.1, người ta đã đưa ra các phương pháp làm mn” kết quthng kê nhằm đánh giá  
chính xác hơn (mịn hơn) xác suất ca các cm N-gram. Các phương pháp “làm mịn”  
đánh giá lại xác sut ca các cm N-gram bng cách:  
Gán cho các cm N-gram có xác sut 0 (không xut hin) mt giá trkhác  
0.  
Thay đổi li giá trxác sut ca các cm N-gram có xác sut khác 0 (có  
xut hin khi thng kê) thành mt giá trphù hp (tng xác sut không  
đổi).  
Các phương pháp làm mịn có thể đưc chia ra thành loại như sau:  
Chiết khu (Discounting): giảm (lượng nh) xác sut ca các cm  
Ngram có xác sut lớn hơn 0 để bù cho các cm Ngram không xut hin  
trong tp hun luyn.  
Truy hi (Back-off) : tính toán xác sut các cm Ngram không xut hin  
trong tp hun luyn da vào các cm Ngram ngắn hơn có xác suất ln  
hơn 0  
Ni suy (Interpolation): tính toán xác sut ca tt ccác cm Ngram da  
vào xác sut ca các cm Ngram ngắn hơn.  
2.4.1 Các thut toán chiết khu (discounting):  
Nguyên lý ca các thut toán chiết khu là gim xác sut ca các cm Ngram có  
xác sut lớn hơn 0 đề bù cho các cụm Ngram chưa từng xut hin trong tp hun luyn  
[10]. Các thut toán này strc tiếp làm thay đổi tn sxut hin ca tt ccác cm  
Ngram. Ở đây đcập đến 3 thut toán chiết khu phbiến:  
5
Thut toán Add-one  
Thut toán Witten-Bell  
Thut toán Good-Turing  
2.4.1.1 Phương pháp làm mn Add-one:  
Thut toán làm mn Add-one cng thêm 1 vào tn sxut hin ca tt ccác cm  
N-gram ri nhân vi phân schuẩn hóa (để bo toàn tng xác sut).  
Vi unigram, khi cng thêm 1 vào tn sca mi cm unigram, thì tng scm  
unigram đã xut hin bng:  
M’ = M + V vi M là tng scụm unigram đã xut hin  
V là kích thước btvng  
Để bo toàn tng scm unigram vn bng M, thì tn smi ca các cm  
unigram được tính li theo công thc:  
M
M’  
Ci* = (Ci+1)  
vi Ci là tn sca cụm unigram trước khi làm mn  
Như vậy, xác sut ca các cm unigram cũng được tính li:  
Ci* (Ci+1)  
Pi* =  
=
M
M + V  
Xét các cm N-gram vi N>1, thay M bng C(wi-n+1...wi-1) thì xác sut ca cm  
wi-n+1...wi-1wi được tính theo công thc sau:  
C(wi-n+1...wi-1wi) + 1  
P(wi|wi-n+1...wi-1) =  
C(wi-n+1...wi-1) + V  
Chúng ta có ththy thut toán này sẽ làm thay đổi đáng kể xác sut ca các cm  
Ngram đã xut hin trong tp hun luyn nếu kích thước btừ đin V là rt ln. Trong  
thc nghim, mt vài cm Ngram có xác sut giảm đi gần 10 lần, do kích thước btừ  
điển là ln trong khi tn sxut hin ca cụm Ngram đó không cao. Để thut toán  
thêm hiu quả, người ta sdng công thc sau:  
C(w1w2...wn) +  
P(w1w2...wn) =  
C(w1w2...wn-1) + M  
6
Công thc trên là mt phiên bn ci tiến thông dng ca thut toán add-one. Để  
bo toàn tng xác sut ca tt ccác cm Ngram, thì được chn trong khong [0, 1],  
vi mt sgiá trthông dng sau:  
  = 0: không làm mn  
  = 1: thut toán add-one  
1
2
  = : đưc gi là thut toán Jeffreys - Perks  
2.4.1.2 Phương pháp làm mn Witten - Bell:  
Thuật toán Witten-Bell hoạt động dựa trên nguyên tắc:  
Khi gặp những cụm N-gram có tần số 0, ta coi đây là lần đầu tiên cụm từ này  
xuất hiện. Như vậy, xác suất của cụm N-gram có tần số bằng 0 có thể tính dựa vào xác  
suất gặp một cụm N-gram lần đầu tiên.  
Với unigram, gọi T là số cụm unigram khác nhau đã xuất hiện, còn M là tổng số  
các cụm unigram đã thống kê, khi đó tổng số sự kiện sẽ là (T+M), và xác suất để gặp  
cụm unigram lần đầu tiên (hay tổng xác suất của các cụm unigram chưa xuất hiện lần  
T
nào) được tính bằng:  
T+M  
Gọi V là kích thước bộ từ vựng, còn Z là số cụm unigram chưa xuất hiện lần nào:  
Z = V - T  
Xác suất xuất hiện của một cụm unigram chưa xuất hiện lần nào (có tần số bằng  
0) được tính bằng:  
T
P* =  
Z(T+M)  
Và xác suất xuất hiện của các cụm unigram có tần số khác 0 được tính lại theo  
công thức:  
c(w)  
T+M  
P(w) =  
với c(w) là số lần xuất hiện của cụm w  
Cũng giống thuật toán add-one, khi xét các cụm N-gram với N>1, thay M bằng  
C(wi-n+1...wi-1) thì xác suất của cụm wi-n+1...wi-1wi với C(wi-n+1...wi-1wi) = 0 được tính  
theo công thức sau:  
7
T(wi-n+1...wi-1)  
Z(wi-n+1...wi-1)(C(wi-n+1...wi-1) + T(wi-n+1...wi-1))  
P(wi|wi-n+1...wi-1) =  
Với C(wi-n+1...wi-1wi) > 0, thì xác suất cụm wi-n+1...wi-1wi tính bằng công thức:  
C(wi-n+1...wi-1wi)  
P(wi|wi-n+1...wi-1) =  
C(wi-n+1...wi-1) + T(wi-n+1...wi-1)  
2.4.1.3 Phương pháp làm mn Good - Turing:  
Thuật toán Good-Turing dựa trên việc tính toán Nc, với Nc là số cụm N-gram  
xuất hiện c lần. Như vậy:  
N0 là số cụm n-gram có tần số 0 (số cụm N-gram không xuất hiện lần nào)  
N1 là số cụm n-gram có tần số 1 (số cụm N-gram xuất hiện 1 lần)  
Nc có thhiểu đơn giản là: Nc =  
w:count(w)=c  
Khi đó, thuật toán Good-Turing sthay thế tn sc bng mt tn smi c* theo  
công thc:  
Nc+1  
Nc  
c* = (c+1) *  
Xác sut ca mt cm N-gram vi tn số là c được tính li theo công thc:  
c =   
c =   
c =   
c*  
N
P(w) = vi N = Ncc = Ncc* = Nc+1(c+1)  
c = 0  
c = 0  
c = 0  
Trên thc tế, người ta không tính toán và thay thế mi tn sc bi mt tn số  
mới c*. Ngưi ta chn một ngưỡng k nhất đnh, và chthay thế tn sc bi tn smi  
c* khi c nhỏ hơn hoc bng k, còn nếu c lớn hơn k thì ginguyên tn số. Để đơn giản,  
ngưi ta chọn k đln da vào kết quhun luyn (ví dgiá trln nht)  
2.4.2 Phương pháp truy hồi:  
Trong các phương pháp chiết khấu như Add-One hay Witten-Bell, nếu cm  
wi-n+1...wi-1wi không xut hin trong tp hun luyn, và cm wi-n+1...wi-1 cũng không  
xut hin, thì xác sut ca cm wi-n+1...wi-1wi sau khi làm mn vn bng 0. Phương  
pháp truy hi tránh rc ri trên bằng cách ước lượng xác sut các cụm Ngram chưa  
8
xut hin ln nào da vào xác sut ca các cm Ngram ngắn hơn có xác sut khác 0  
[10][4].  
Cth, xác sut ca cm wi-n+1...wi-1wi được tính li theo công thc sau:  
P(w |wi-n+1...wi-1)  
nếu C(wi-n+1...wi-1wi) > 0  
i
PB(wi|wi-n+1...wi-1) =  
* P (w |wi-n+2...wi-1) nếu C(wi-n+1...wi-1wi) = 0  
B
i
Áp dng cho bigram, ta có:  
P(w |w ) nếu C(w w ) > 0  
i
i-1  
i-1  
i
PB(wi|wi-1) =  
* P(w ) nếu C(w w ) = 0  
i
i-1  
i
Công thc trên có thviết li thành:  
1 nếu C(x) = 0  
0 nếu C(x) > 0  
PB(wi|wi-1) = P(wi|wi-1) + (wi-1wi) * * P(wi) vi u(x) =  
Tương tự, khi áp dng cho trigram ta có:  
P(wi|wi-2wi-1) nếu C(wi-2wi-1wi ) > 0  
1 * P(wi|wi-1) nếu C(wi-2wi-1wi ) = 0 và C(wi-1wi ) > 0  
PB(wi|wi-2wi-1) =  
2 * P(wi)  
nếu C(wi-2wi-1wi ) = 0 và C(wi-1wi ) = 0  
Công thc trên cũng có thviết li thành:  
PB(wi|wi-2wi-1) = P(wi|wi-2wi-1) + (wi-2wi-1wi) * 1 * P(wi|wi-1) + (wi-1wi) *  
2 * P(wi)  
Schính xác ca mô hình truy hi phthuc vào các tham s1 2. Có vài kỹ  
thut giúp la chọn được nhng tham snày, tùy theo tp hun luyn và mô hình ngôn  
ng.  
Một cách đơn giản, có thchn 1 2 là các hng s. Tuy nhiên rt khó có thể  
chọn được hai hng số để tng xác sut ca tt ccác cụm Ngram không thay đổi.  
Vic chn hng skhông chính xác, slàm ảnh hưởng lớn đến độ chính xác ca cmô  
hình ngôn ngữ. Do đó, ta có thchn tham snhư một hàm ca Ngram:  
1 = 1(wi-1wi) và 2 = 2(wi-1wi)  
Tuy nhiên, trong phương pháp truy hi, tng xác sut ca tt ccác cm Ngram  
sluôn lớn hơn 1, do xác suất ca các cụm Ngram đã xut hin thì không thay đổi,  
trong khi xác sut ca các cụm Ngram chưa xuất hin thì được tăng lên. Do đó, để  
thuật toán chính xác hơn, thì ta cn kết hp nó vi mt thut toán chiết khấu như  
9
Witten-Bell hay Good-Turing để làm gim xác sut ca các cụm Ngram đã xut hin.  
Do đó, trong thực tế, chúng ta có công thc sau:  
P’(wi|wi-2wi-1) nếu C(wi-2wi-1wi) > 0  
1 * P’(wi|wi-1) nếu C(wi-2wi-1wi) = 0 và C(wi-1wi) > 0  
P(wi|wi-2wi-1) =  
2 * P’(wi)  
Trong đó P’ chính là xác suất ca cm Ngram khi áp dng thut toán làm mn  
chiết khu.  
nếu C(wi-2wi-1wi) = 0 và C(wi-1wi) = 0  
2.4.3 Phương pháp nội suy:  
Phương pháp này có chung nguyên lý với phương pháp truy hồi: “sdng các  
cm Ngram ngắn hơn để tính xác sut ca cụm Ngram dài hơn”[1][2]. Tuy nhiên,  
phương pháp này khác phương pháp truy hồi ở điểm: phương pháp này không phụ  
thuc vào sxut hin ca các cm Ngram.  
Công thc tính xác suất theo phương pháp nội suy như sau:  
PI(wi|wi-n+1...wi-1) = P(wi|wi-n+1...wi-1) + (1-)PI(wi|wi-n+2...wi-1)  
Áp dng cho bigram và trigram ta có:  
PI(wi|wi-1) = P(wi|wi-1) + (1-)P(wi)  
PI(wi|wi-n+1...wi-1) = 1P(wi|wi-2wi-1) + 2P(wi|wi-1) + 3P(wi) vi i = 1  
i
công thc trên, do tng ca tt ccác tham sbằng 1 nên để đơn giản ta có  
1
3
thchn tt cbng nhau và bng .  
Tuy nhiên, cũng có thể chn các tham snhư là một hàm ca Ngram:  
1 = 1(wi-2wi-1wi), 2 = 2(wi-1wi) và 3 = 3(wi)  
2.4.4 Phương pháp làm mn Kneser - Ney:  
Thut toán Kneser-Ney xây dng theo hai mô hình: truy hi và ni suy, tuy nhiên  
trong thut toán này không cn phi áp dng các thut toán chiết khu trước khi áp  
dng công thc truy hi.  
Mô hình truy hi:  
10  
C(wi-n+1...wi) - D  
C(wi-n+1...wi-1)  
(wi-n+1...wi-1)PBKN(wi|wi-n+2...wi-1) nếu C(wi-n+1...wi) = 0  
nếu C(wi-n+1...wi) > 0  
PBKN(wi|wi-n+1..wi-1) =  
Trong đó:  
o PBKN(wi) =  
N(vwi) - D  
vi N(vw) là số lượng tv khác nhau xut hin  
N(vw)  
w
trước w trong tp hun luyn  
C(wi-n+1..wi-1w) - D  
w:C(wi-n+1..wi-1w)>0  
1 -  
1 -  
C(wi-n+1..wi-1)  
o (wi-n+1..wi-1) =  
PBKN(w|wi-n+2..wi-1)  
w:C(wi-n+1..wi-1w>0)  
Như vậy:  
C(w w w ) - D  
i-2 i-1  
i
nếu C(wi-2wi-1wi) > 0  
C(wi-2wi-1)  
PBKN(wi|wi-2wi-1) =  
(w w )PBKN(wi|wi-1) nếu C(wi-2wi-1wi) = 0  
C(w w ) - D  
i-1  
i
nếu C(wi-1wi) > 0  
(w )PBKN(wi) nếu C(wi-1wi) = 0  
C(wi-1)  
PBKN(wi|wi-1) =  
i-1  
N(vwi) - D  
PBKN(wi) =  
N(vw)  
w
Mô hình ni suy:  
PIKN(wi|wi-n+1..wi-1) =  
Trong đó:  
C(wi-n+1..wi) - D  
C(wi-n+1..wi-1)  
+ (wi-n+1..wi-1)PIKN(wi|wi-n+2..wi-1)  
D N(wi-n+1..wi-1v)  
C(wi-n+1..wi-1)  
o (wi-n+1..wi-1) =  
vi N(wi-n+1..wi-1v) là số lượng tv  
khác nhau xut hin lin sau cm wi-n+1..wi trong tp hun luyn  
11  
N(vwi) - D  
1
V
o PIKN(wi) =  
+ vi N(vw) là số lượng tv khác nhau xut  
N(vw)  
w
hin liền trưc tw trong tp hun luyn.  
D N(v)  
o =  
N(vw)  
w
Như vậy:  
PIKN(wi|wi-2wi-1) =  
C(wi-2wi-1wi) - D  
C(wi-2wi-1)  
+ (wi-2wi-1)PIKN(wi|wi-1)  
C(wi-1wi) - D  
PIKN(wi|wi-1) =  
+ (wi-1)PIKN(wi)  
C(wi-1)  
N(vwi) - D  
1
V
PIKN(wi) =  
+   
N(vw)  
w
N1  
N1 + 2N2  
Trong c2 mô hình ni suy và truy hi, D đưc chn: D =  
2.4.5 Phương pháp làm mịn Kneser - Ney ci tiến bi Chen -  
GoodMan:  
Công thc tính toán ca thut toán Kneser-Ney ci tiến bi Chen và GoodMan  
ging công thc ca thut toán Kneser-Ney, tuy nhiên hng sD bị thay đổi.  
Chen và GoodMan chọn D như sau:  
0 nếu c(wi-n+1..wi) = 0  
D1 nếu c(wi-n+1.. wi) = 1  
D =  
i-n+1.. wi) = 2  
D3 nếu c(wi-n+1.. wi) >= 3  
D nếu c(w  
2
N1  
Vi Y =  
(N1 + 2N2)  
N2  
D1 = 1 - 2Y  
N1  
N3  
D2 = 1 - 3Y  
N2  
12  
N4  
N3  
D3 = 1 - 4Y  
Trong đó: Ni là số lưng cm N-gram có sln xut hin bng i  
Chú ý rng: vi mi bc ca N-gram ta li có mt b3 hng số trên. Điều đó có  
nghĩa là: unigram, bigram, ... có các hng strên là khác nhau.  
2.5 Kthut làm giảm kích thước dliu:  
Các kthut này làm giảm kích thước ca mô hình ngôn ng. Mặc dù đều có  
chung mt mục tiêu, nhưng mỗi kthut li có hiu qukhác nhau. Có ba kthut  
chính, bao gm:  
Pruning (loi b): làm gim số lượng các cm Ngram trong mô hình ngôn  
ngbng cách loi bcác cm Ngram không quan trng  
Quantization (lượng thóa): thay đổi cu trúc thông tin ca mi cm  
Ngram trong mô hình ngôn ng.  
Compression (nén): nén cu trúc dliu sdng trong việc lưu trữ các  
cm Ngram trong mô hình ngôn ngữ  
2.5.1 Loi b(pruning):  
Số lượng các cm Ngram xut hin vài ln trong tp hun luyện thường là ln so  
vi tng scác cm Ngram. Các cụm Ngram đó thường là li ngpháp trong tp hun  
luyn, hoc là mt sdạng đặc biệt như: tên riêng, từ viết tt, ... [10] Nhng cm  
Ngram này thường rt ít sdng trong thc tế, do đó việc tn ti ca chúng có thlàm  
ảnh hưởng đến độ chính xác ca mô hình ngôn ng. Chính vì lý do đó, kỹ thut  
pruning tp trung vào vic loi bcác cụm Ngram như vậy. Có 2 phương pháp chính:  
Cut-off (ct b): phương pháp này tập trung vào vic loi bcác cm  
Ngram có tn sthp trong tp hun luyn  
Weighted difference: phương pháp này tập trung vào việc đánh giá và  
loi bcác cm Ngram không hiu quda vào xác sut ca các cm  
Ngram trước và sau khi làm mịn theo phương pháp truy hồi.  
2.5.1.1 Ct b(cut-off):  
Phương pháp này là phương pháp thông dụng, thường được sdụng để làm gim  
kích thước mô hình ngôn ng. Trong thc tế, trong tập văn bản hun luyn, có rt  
13  
nhiu cm bigram và trigram chxut hin mt hoc hai lần trong đoạn văn bản cha  
trên mt triu t. Khi loi bcác cm Ngram này ra khi mô hình ngôn ng, thông tin  
vchúng (bao gm tn svà xác sut) ca chúng vn có thnhn lại được thông qua  
vic sdng mô hình truy hi hay ni suy.  
Phương pháp cut-off hoạt động như sau: Nếu cm Ngram xut hiện ít hơn k lần  
trong tp văn bản hun luyn thì cụm Ngram đó sẽ bloi bra khi mô hình ngôn  
ng. Khi tính toán, nếu gp li các cm Ngram này, thì tn svà xác sut ca chúng sẽ  
được tính toán thông qua các phương pháp làm mịn đã trihf bày trên.  
Trong mt mô hình ngôn ng, chúng ta có thsdng các tham sk khác nhau  
vi các cụm Ngram có độ dài khác nhau. Ví d: vi unigram thì sdng k = 10, vi  
bigram thì k = 1, và trigram thì k =5  
Như vậy, vic chn tham số k cho phương pháp cut-off chính là vấn đề chính ca  
kthut này. Nếu k quá ln, chúng ta sbsót thông tin vmt scm Ngram, hiu  
sut ca ng dng cũng bị giảm. Nhưng ngược li, nếu k quá nh, thì kích thước ca  
mô hình ngôn ngcũng giảm không đáng kể. Có 2 cách để chn k: chn k theo  
phương pháp chạy thnhiu ln hoc chn k theo tlphần trăm số lượng các cm  
Ngram.  
Chọn k theo phương pháp chạy thnhiu ln nghĩa là ta dùng phương pháp cut-off  
cho mô hình ngôn ngvi nhiu giá trk khác nhau rồi đánh giá độ hn lon thông  
tin(perplexity) ca tập văn bản đầu vào sau khi sdụng phương pháp cut-off. Sau khi  
có kết qu, ta schn tham sk sao cho mô hình ngôn nglà hiu qunhất (độ hn  
lon thông tin ca tập văn bản hun luyện và kích thước mô hình ngôn ngữ đều thp).  
Kthut này giúp chúng ta chọn được k phù hp, tuy nhiên rt mt thi gian do phi  
chy thvi rt nhiu giá trcủa k. Tuy nhiên, để đạt được mt mô hình ngôn ngữ  
hiu quthì đây là một phương pháp tốt.  
Phương pháp thứ hai, chn k da theo tlphần trăm của số lượng các cm  
Ngram phi bảo đảm rng scm Ngram xut hin không quá k ln chiếm h% so vi  
tng scác cm Ngram. Ví d: nếu h=50, thì chn k sao cho số lượng các cm Ngram  
xut hin không quá k ln (sbloi b) chiếm 50% tng scác cụm Ngram đã thng  
kê. Phương pháp này tuy nhanh hơn nhưng độ chính xác không cao bằng phương pháp  
thnhất đã đề cp trên  
14  
2.5.1.2 Skhác bit trng s(Weighted difference):  
Phương pháp cut-off chỉ quan tâm đến vic loi bcác cm Ngram có tn số  
thấp, trong khi phương pháp weighted difference(sự khác bit trng s) thì quan tâm  
đến nhiu thông tin trong mô hình ngôn ngữ hơn như mối quan hgia các cm  
Ngram, xác sut ca tng cm Ngram, ... [10] Như đã trình bày các phn trên, nếu  
mt cm Ngram không xut hin trong tp hun luyn, thì xác sut của nó được ước  
lượng thông qua xác sut ca các cm Ngram ngắn hơn (phương pháp làm mịn kiu  
truy hồi) Do đó, nếu xác sut thc tế ca mt cm Ngram xp xvi xác suất có được  
theo công thc truy hi, thì chúng ta chng cần lưu trữ cụm Ngram đó làm gì nữa. Đó  
chính là ý tưởng của phương pháp weighted difference. Sự khác bit trng sca mt  
cụm Ngram được định nghĩa bng:  
w.d.factor = K * log((xác suất ban đầu) - log(xác sut truy hi))  
K chính là tham ssdụng trong phương pháp làm mịn Good Turing. Da vào  
nhân tw.d.factor trên, chúng ta sbiết nên gili hay loi bmt cm Ngram. Nếu  
w.d.factor nhỏ hơn một ngưỡng nhất định, thì cụm Ngram đó sẽ bloi bkhi mô  
hình ngôn ngữ. Và ngưỡng nhất định đó chúng ta có thể bng cách tìm theo phương  
pháp thsai hoặc đt nó bng mt giá trhng s.  
Trong thc tế, phương pháp này mất nhiu thời gian hơn phương pháp cut-off do  
phi tính toán hsw.d.factor cho tt ccác cm Ngram trong mô hình ngôn ng. Và  
skhác bit ln nht giữa 2 phương pháp loại bỏ này chính là phương pháp weighted  
different chhoạt đng trong mô hình ngôn ngkiu truy hi, còn phương pháp cut-off  
thì chhoạt đng trong mô hình ngôn ngữ lưu trữ dliệu dưi dng tn s.  
2.5.2 Đồng hóa (Quantization):  
Thuật toán quantization (đồng hóa) làm gim số lượng bit dùng để lưu trữ các  
biến trong mô hình ngôn ng. Thut toán này gồm hai bước chính  
Bước thnht, liệt kê và lưu trữ tt ccác tn sca các cm Ngram vào mt  
bảng. Sau đó, thay thế tn sca các cm Ngram trong mô hình ngôn ngbng chsố  
ca tn strong bảng. Như vậy, thay vì sdng b = log2(tn sln nhất) bit để lưu trữ  
tn sca mt cm Ngram, thì chúng ta chcn sdng b’ = log2(kích thước ca  
bng) bit cho mi cm Ngram. Do kích thước ca bng nhỏ hơn nhiều so vi giá trị  
tn sln nht ca các cm Ngram nên b’ < b, tức là kích thước mô hình ngôn ngữ đã  
gim so với cách lưu trữ ban đầu.  
15  
Tuy nhiên, để tăng tính hiệu qu, ở bước thhai, thuật toán này đồng hóa mt số  
giá trtrong bng tn số. Điều đó có nghĩa là, mt sgiá trtrong bng có giá trgn  
vi nhau sẽ được thay thế bng mt con số chung. Sau bước này, chúng ta sẽ thu được  
mt bng tn svi ít giá trị hơn, cũng tức là đã làm giảm kích thước ca mô hình  
ngôn ngữ đi mt ln na.  
2.5.3 Nén (Compression):  
Mô hình ngôn ngnào cũng có một cu trúc dliệu. Do đó nếu cu trúc dliu  
đó được nén li bng các thut toán nén, thì kích thước ca mô hình ngôn ngtt  
nhiên là gim. Tuy nhiên, khi mt mô hình ngôn ngbnén, thì độ chính xác và tốc độ  
ca mô hình ngôn ngữ đều gim (do phi gii nén, hoc bmt dliu do thut toán  
nén chưa tốt) [10] Do không hiu qunên kthut này hin nay không còn phbiến  
như hai kỹ thut trên, tuy vẫn được sdng bi Microsoft (trong modul kim li chính  
tca Microsoft Office 2007)  
2.6 Độ đo:  
Để xây dựng được một hình ngôn ngữ hiệu quả, chúng ta phải có cách để đánh  
giá chúng. Dưới đây là một số phương pháp phổ biến để đánh giá một mô hình ngôn  
ngữ:  
Entropy - Độ đo thông tin  
Perplexity - Độ hỗn loạn thông tin  
Error rate - Tỉ lệ lỗi  
2.6.1 Entropy – Độ đo thông tin:  
Entropy là thước đo thông tin, có giá trị rt ln trong xlý ngôn ng. Nó thhin  
mức độ thông tin trong ngpháp, thhin sphù hp ca mt câu vi mt ngôn ng,  
và dự đoán được ttiếp theo trong cm Ngram[1][10]. Entropy ca mt biến ngu  
nhiên X được tính theo công thc:  
H(X) = -  
p(x)log2p(x)  
x X  
Xét các câu gm hu hn m tW = (w1, w2, ..., wm) trong ngôn ngL. Ta có  
công thức tính entropy như sau:  
16  
H(w1, w2, ..., wm) = - p(w1, w2, ..., wm)log2p(w1, w2, ..., wm)  
W L  
Tcông thc trên, ta có thể đưa ra công thức tính tlentropy trên các từ như  
sau:  
1
m
1
m
H(w1, w2, ..., wm) = -  
p(w1, w2, ..., wm)log2p(w1, w2, ..., wm)  
W L  
Thc tế thì tlentropy trên các từ thường được sdng vì giá trca nó không  
phthuộc vào độ dài các câu [9]. Tuy nhiên, để tính được entropy ca mt ngôn ngL  
theo công thc trên thì ta phi xét ti các câu dài vô hn (tt ccác câu có thcó trong  
ngôn ngữ L), đó là điều không thể. Do đó, ta có thể tính xp xtlentropy trên các từ  
theo công thc sau:  
1
H(L) = - lim  
H(w1, w2, ..., wm)  
m   m  
1
m
= - lim  
p(w1, w2, ..., wm)log2p(w1, w2, ..., wm)  
W L  
m    
Định lý Shannon-McMillan-Breiman đã chra rng nếu ngôn ngữ ổn định  
(cha các câu gm các tvi cu trúc thông dng) thì công thc trên có thbiến đổi  
thành:  
1
H(L) = - lim  
log p(w1, w2, ..., wm)  
m   m  
Vi công thc trên, ta có thsdng công thc Bayes và xác sut ca các n-  
gram để tính p(w1, w2, ..., wn):  
1
m
H(L) = - lim  
log [ p(wn|w1w2..wn-1) * p(wn+1|w2w3.. wn) * ... * p(wm  
m    
|wm-n+1...wm-1) ]  
Công thức trên đã được biến đổi qua nhiều bước với các xấp xỉ gần đúng, do vậy  
để tăng tính chính xác khi sử dụng độ đo entropy thì câu kiểm tra cần phải đủ dài và  
tổng quát (phân tán rộng) để tránh tập trung vào các xác suất lớn (chỉ chứa các cụm  
thông dụng).  
Các bước biến đi gần đúng công thức trên khiến giá trH(L) tính theo công thc  
cui cùng slớn hơn giá trị H(L) gc. Do vy, khi tính H(L) ca các mô hình ngôn  
17  
ngkhác nhau trên ngôn ngL, mô hình nào cho H(L) nhỏ hơn thì mô hình ngôn ngữ  
đó thhin chính xác ngôn ngữ L hơn.  
2.6.2 Perplexity – Độ hn lon thông tin:  
Độ hn lon thông tin (perplexity) cũng được dùng làm thước đo để đánh giá độ  
chính xác ca mt mô hình ngôn ng. Trong mô hình ngôn ngữ, độ hn lon thông tin  
ca một văn bản vi t“cái” thhin stcó thể đi sau từ “cái”. Độ hn lon thông  
tin ca mt mô hình ngôn ngnói chung, có thhiểu đơn giản là sla chn ttrung  
bình mà mô hình ngôn ngphải đưa ra quyết định. Như vậy, độ hn lon thông tin  
càng thp, thì độ chính xác ca mô hình ngôn ngcàng cao.  
Độ hn lon thông tin có thtính theo công thc:  
P(L) = 2H(L)  
Ví duL dãy kí ta, b, …, z có perplexity là 26 còn bảng mã ASCII có perplexity là  
256.  
2.6.3 Error rate – Tlli:  
Người ta thường sử dụng độ đo entropy và perplexity để so sánh độ chính xác  
của các mô hình ngôn ngữ khi xây dựng một mô hình ngôn ngữ tổng quát. Trong các  
bài toán cụ thể, người ta sử dụng tỉ lệ lỗi để so sánh độ chính xác của các mô hình  
ngôn ngữ [10].  
Soát lỗi chính tả: xét tỉ lệ giữa số lỗi phát hiện sai hoặc không phát hiện được  
trên tổng số lỗi có trong văn bản.  
Phân đoạn từ: xét tỉ lệ giữa từ phân đoạn sai trên tổng số từ có trong văn bản  
Bỏ dấu tự động: xét tỉ lệ giữa số từ bị bỏ dấu nhầm trên tổng số từ có trong văn  
bản  
Tlli thp chng tmô hình ngôn nghiu qu. Vic sdng tllỗi để đánh  
giá đưa lại kết quchính xác nht khi mun chn la mô hình ngôn ngphù hợp để  
gii quyết bài toán cth. Tlli thường tlthun vi giá trị entropy nhưng đôi khi  
mức độ tăng/giảm ca tllỗi và entropy không đều.  
18  
Chương 3 ng dng ca mô hình ngôn ngtrong mô hình  
dch máy thng kê:  
3.1 Dch máy:  
Dch tự động hay còn gi là dch máy là mt trong nhng ng dng quan trng  
ca xlý ngôn ngtnhiên, là skết hp ca ngôn ng, dch thut và khoa hc máy  
tính[2]. Như tên gọi, dch tự động thc hin dch mt ngôn ngnày (gi là ngôn ngữ  
ngun) sang mt hoc nhiu ngôn ngkhác (gi là ngôn ngữ đích) một cách tự động  
da vào máy tính mà không có scan thip của con người.  
Dch máy có hai hướng tiếp cn chính như sau:  
Hướng lut (Rules-based): dch da vào các lut viết tay. Các lut này da  
trên tvng hoc cú pháp ca ngôn ngữ. Ưu điểm của phương pháp này là  
có thgii quyết được mt số trường hp dịch , nhưng thường mt rt  
nhiu công sc khi xây dng và tính khchuyn không cao.  
Thng kê (Statistical): to ra bn dch sdụng phương pháp thống kê da  
trên bn dch song ng.  
3.2 Dch máy thng kê:  
3.2.1 Gii thiu:  
Dch máy thng kê là một hướng tiếp cn ca dịch máy đặc trưng bởi vic sử  
dụng các phương pháp học máy. Thay vì xây dng các từ điển, các quy lut chuyn  
đổi bng tay, hdch này tự động xây dng các từ điển, các quy lut da trên kết quả  
thống kê có được tcác kho ngliu. Chính vì vy, dch máy thng kê có tính khả  
chuyn cao áp dụng được cho bt kcp ngôn ngnào.  
Ý tưởng đầu tiên vdch máy thống kê được gii thiu bi Warren Weaver vào  
năm 1949. Tuy nhiên, khi dịch máy thng kê mới được gii thiu li bi các nhà  
nghiên cu thuc trung tâm nghiên cứu IBM Thomas J. Watson vào năm 1991, nó mới  
bắt đầu được chú y và thu hút được rt nhiu nhà nghiên cu. Cho ti hôm nay, dch  
máy thống kê đang là phương pháp dịch thuật đưc nghiên cu rng rãi nht.  
3.2.2 Nguyên lý và các thành phn:  
Cho trước câu ngôn ngngun f, mc tiêu ca mô hình dch máy là tìm ra câu e  
ca ngôn ngữ đích sao cho xác suất P(e|f) là cao nht.  
19  
Có nhiu cách tiếp cận để tính được xác sut P(e|f), tuy nhiên cách tiếp cn trc  
quan nht là áp dng công thc Bayes:  
P(e)P(f|e)  
P(e|f) =  
P(f)  
Trong đó P(f|e) là xác suất câu ngôn ngngun là bn dch ca câu ngôn ngữ  
đích, còn P(e) là xác sut xut hin câu e trông ngôn ng. Vic tìm kiếm câu e* phù  
hp chính là vic tìm kiếm e* làm cho giá tri P(e*)P(f|e*) là ln nht.  
Để mô hình dch là chính xác, thì công vic tiếp theo là phi tìm ra tt ccác câu  
e* có thcó trong ngôn ngữ đích tcâu ngôn ngngun f. Thc hin công vic tìm  
kiếm hiu quchính là nhim vca bgii mã (decoder). Như vậy, mt mô hình dch  
máy bao gm 3 thành phn:  
Mô hình ngôn ng: Tính toán được xác sut ca câu ngôn ngngun.  
Thành phn này chính là mô hình ngôn ngữ đã được mô tả ở phn 2 ca  
luận văn  
Mô hình dch: Cho biết xác sut ca câu ngôn ngngun là bn dch từ  
câu ngôn ngữ đích .  
Bgii mã: Tìm kiếm tt ccác câu ngôn ngữ đích e có thể có tcâu  
ngôn ngngun f.  
Mô hình dch ttiếng Anh sang tiếng Vit có thhình dung thông qua biểu đồ  
dưới đây:  
Hình 3-1: mô hình dch máy thng kê ttiếng Anh sang tiếng Vit  
Mô hình dch ca mô hình ngôn ngữ đã được trình bày ở chương 2 của luận văn.  
hai phn 3.2.3 3.2.4, luận văn chỉ đề cập đến hai thành phn còn li ca mô hình  
dch máy thng kê.  
20  
3.2.3 Mô hình dch:  
Mô hình dịch có 3 hướng tiếp cn chính:  
Mô hình dch da trên t(word-based)  
Mô hình dch da trên cm t(phrase-based)  
Mô hình dch da trên cú pháp (syntax-based)  
Cả 3 hưng tiếp cận trên đều da trên một tư tưởng. Đó là sự tương ứng gia hai  
câu (alignment)  
3.2.3.1 Sgióng hàng (alignment):  
Tt ccác mô hình dch thống kê đều da trên sự tương ứng ca t. Sự tương  
ng ca từ ở đây chính là một ánh xgia mt hay nhiu tca ngôn ngngun vi  
mt hay nhiu tca ngôn ngữ đích trong tp hợp các câu văn bản song ng.[2]  
Theo nguyên tc, chúng ta có thcó mi liên htùy ý gia các tca ngôn ngữ  
ngun vi các tca ngôn ngữ đích. Tuy nhiên, để cho đơn giản, mô hình dch máy  
da trên t(word-based) đưa ra một giả định: mi tca ngôn ngữ đích chỉ tương ứng  
vi mt tca ngôn ngngun. Nếu áp dng giả định này, chúng ta có thbiu din  
mt sự tương ứng tbng chsca các ttrong ngôn ngnguồn tương ứng vi từ  
trong ngôn ngữ đích. Như trong ví dụ ở hình 3.1[2] dưới đây có thể biu din mt  
tương ứng tgia tiếng Pháp và tiếng Anh bi mt dãy các chsố như sau: A = 2, 3, 4,  
5, 6, 6, 6.  
Hình 3-2: sự tương ứng mt - mt gia câu tiếng Anh và câu tiếng Pháp  
Trong thc tế, có rt nhiu từ ở ngôn ngữ đích không tương ứng vi tnào trong  
ngôn ngnguồn. Đcho tng quát, ta thêm mt tvô giá trị (null) vào đầu câu ngôn  
ngngun và nhng từ ở ngôn ngữ đích không tương ứng vi tnào sẽ đưc ánh xạ  
21  
vi tvô giá trị đó. Hình 3.2[2] ở dưi thhin một tương ứng tgia hai câu tiếng  
Anh và tiếng Tây Ban Nha khi cho thêm tvô giá trị vào đầu câu tiếng Anh.  
Hình 3-3: sự tương ứng gia câu tiếng Anh vi câu tiếng Tây Ban Nha khi cho thêm từ  
vô giá trị (null) vào đầu câu tiếng Anh  
Trong khi mô hình dch da trên t(word-based) chgii quyết trưng hp mt  
tca ngôn ngữ đích chỉ tương ứng bi mt tca ngôn ngngun, thì mô hình dch  
da trên cm t(pharse-based) có thgii quyết cả hai trường hp còn li là: mt từ  
ca ngôn ngnày tương ứng vi nhiu tca ngôn ngkia và nhiu tca ngôn ngữ  
này tương ứng vi nhiu tca ngôn ngkia. Hình 3.3 và 3.4[2] ở dưới minh ha các  
tương ứng nói trên.  
Hình 3-4: sự tương ứng mt - nhiu gia câu tiếng Anh vi câu tiếng Pháp  
Hình 3-5: sự tương ứng nhiu - nhiu gia câu tiếng Anh vi câu tiếng Pháp.  
3.2.3.2 Mô hình dch da trên t(Word-based):  
Mô hình dch da trên tlà thế hệ đầu tiên ca mô hình dch máy thng kê và  
được nghiên cu và phát trin bi IBM[2]. Như đã trình bày phn 3.2.3.1, mô hình  
dch này da trên sự tương ứng ca các ttheo tương ứng mt mt (mt tca ngôn  
ngnày chỉ tương ứng vi mt tca ngôn ngữ kia và ngược li). Cthể hơn, giả sử  
22  
câu ngôn ngngun là e1e2...en và câu ngôn ngữ đích là f1f2...fm, khi đó mỗi tfj chỉ  
tương ứng vi 1 và ch1 ttrong câu ngôn ngngun hoặc là không tương ứng vi từ  
nào. Do đó, một sự tương ứng gia các tca câu ngôn ngngun và câu ngôn ngữ  
đích có thể biu din bng mt dãy m s: {a1, a2, ... am} trong đó aj là chsca từ  
trong ngôn ngngun tương ứng vi tfj ca ngôn ngữ đích(aj nhn các giá trt1  
đến l). Vi mô hình IBM thnht, giả định rng mi biến aj là đc lập, khi đó tương  
ng tối ưu nhất chính là:  
i = m  
a = argmax p(ai)*p(fi|eai)  
a1m  
i = 1  
Như vậy, theo mô hình IBM thnht, chúng ta có thtính xác sut P(f|e) theo  
công thc sau:  
i = m ai = n  
P(f|e) =   p(ai)*p(fi|eai)  
i = 1 a = 0  
i
Tuy nhiên trên thc tế, mô hình IBM thnht này có chất lưng dch không cao.  
các mô hình IBM tiếp theo, người ta ci 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 sut P(f|e) mt cách tốt hơn. Tuy nhiên, do tiếp cn theo  
hướng tương ứng mt mt gia các t, nên mô hình dch da trên tnói chung và các  
mô hình dch IBM nói riêng đã không còn phbiến. Hin nay, các mô hình dch theo  
hướng cm từ được sdng rng rãi và dn trnên phbiến hơn.  
3.2.3.3 Mô hình dch da trên cm t(Phrase-based):  
Trong thc tế, người ta thường da vào cm từ để dch nhiều hơn là da vào t.  
dụ như cụm “take time” được dch là “mt thi gian” trong khi nếu dch theo t, thì  
kết quslà “gi” và “thi gian”. Rõ ràng có ththy, dch da vào cm tscho kết  
qutốt hơn so với dch da vào t.  
Có nhiu mô hình dch da trên cm từ nhưng luận văn này chỉ đề cập đến mô  
hình ca Koehn[2]. Vi mô hình dch này, mt câu ngôn ngnguồn e đưc tách thành  
e1  
e
e
các cm từ  
fi  
,
, ..., ; sau đó các cụm này được dch ra thành các cm thuc ngôn  
2
n
fi  
ngữ đích . Cui cùng các cm  
này được sp xếp li theo mt thtnhất đnh.  
23  

Tải về để xem bản đầy đủ

pdf 51 trang yennguyen 07/07/2025 1040
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Xây dựng mô hình ngôn ngữ cho tiếng Việt", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_xay_dung_mo_hinh_ngon_ngu_cho_tieng_viet.pdf