Tải bản đầy đủ (.docx) (89 trang)

Sử dụng mô hình ngôn ngữ bloom filter trong cải tiến dịch máy thống kê

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 (511.23 KB, 89 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CNTT & TT

SỬ DỤNG MƠ HÌNH NGƠN NGỮ BLOOM FILTER TRONG CẢI TIẾN DỊCH
MÁY THỐNG KÊ

TRẦN TIẾN THÀNH

THÁI NGUYÊN 2015


3

LỜI CAM ĐOAN
Em - Trần Tiến Thành, học viên lớp Cao học K12E Trường Đại học
Công nghệ thông tin và Truyền thông Thái Nguyên - cam kết Luận văn thạc
sỹ khoa học máy tính: “Sử dụng mơ hình ngơn ngữ Bloom Filter trong cải
tiến dịch máy thống kê” là công trình nghiên cứu của bản thân em dưới sự
hướng dẫn của thầy giáo TS. Nguyễn Văn Vinh, Bộ môn Khoa học máy tính,
Khoa Cơng nghệ thơng tin – Trường Đại học Công nghệ - Đại học Quốc gia
Hà Nội.
Các kết quả trong luận văn tốt nghiệp là trung thực, không sao chép
tồn văn của bất kỳ cơng trình nào khác.

Thái Nguyên, ngày 05 tháng 10 năm 2015
TÁC GIẢ

Trần Tiến Thành


4



LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo, TS. Nguyễn Văn Vinh,
Bộ môn Khoa học máy tinh, Khoa Công nghệ thông tin - Trường Đại học
Công nghệ - Đại học Quốc gia Hà Nội đã khuyến khích và tận tình hướng dẫn
em trong suốt quá trình thực hiện luận văn. Em cũng xin cảm ơn anh Trần
Hồng Việt, nghiên cứu sinh Trường Đại học Công nghệ, giảng viên Trường
Đại học Kinh tế kĩ thuật cơng nghiệp đã hết lịng giúp đỡ em trong q trình
thực hiện đề tài. Nhờ sự quan tâm chỉ bảo và những ý kiến đóng góp quý báu
của thầy và của anh em mới có thể hồn thành luận văn này.
Em xin chân thành cảm ơn tập thể các thầy, cô giáo Trường Đại học
Công nghệ thông tin và Truyền thơng Thái Ngun đã tận tình giảng dạy
truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong suốt những
năm học vừa qua.
Em cũng xin cảm ơn Sở Giáo dục và Đào tạo Phú Thọ, Trường THPT
Minh Đài đã tạo điều kiện về kinh phí và thời gian để em có thể học tập và
hồn thành luận văn.
Cuối cùng em xin chân thành cảm ơn gia đình, người thân đã hết lòng
giúp đỡ, hỗ trợ về vật chất lẫn tinh thần giúp em yên tâm học tập và nghiên
cứu trong suốt quá trình học tập và thực hiện luận văn.
Trong khoảng thời gian có hạn, cũng như kiến thức cịn nhiều hạn chế
luận văn khơng tránh khỏi những sai sót về nội dung cũng như hình thức.
Kính mong nhận được sự góp ý của q thầy cơ, bạn bè và đồng nghiệp.
Thái Nguyên, ngày 05 tháng 10 năm 2015
TÁC GIẢ

Trần Tiến Thành


Viết tắt

BF
BF-LM
LF-BF-LM
LM
MKN
MLE
MSE
MT
NLP
PDS
RDS
SMT


6

DANH MỤC CÁC HÌNH VẼ
Hình
Hình 1

Kiến trúc của m

Hình 2

Minh họa dịch m

Hình 3

Ví dụ về hàm bă
ký đại diện.


Hình 5

Cặp khóa ki và g
hàm băm vào bả
tử k1 và k3.
Huấn luyện Blo

Hình 6

Truy vấn Bloom

Hình 7

Lỗi một phía tro

Hình 4


7

MỤC LỤC
MỞ ĐẦU............................................................................................................................................... 9
1. Đặt vấn đề....................................................................................................................................... 9
2. Đối tượng và phạm vi nghiên cứu................................................................................ 10
3. Nhiệm vụ nghiên cứu............................................................................................................ 10
4. Những nội dung nghiên cứu chính............................................................................... 10
NỘI DUNG....................................................................................................................................... 11
CHƯƠNG I....................................................................................................................................... 11
TỔNG QUAN VỀ DỊCH MÁY THỐNG KÊ DỰA VÀO CỤM TỪ.................11

VÀ MƠ HÌNH NGƠN NGỮ.................................................................................................... 11
1.1 Dịch máy thống kê dựa trên cụm từ........................................................................ 11
1.1.1 Dịch máy và dịch máy thống kê................................................................................... 11
1.1.2 Dịch máy thống kê dựa trên cụm............................................................................. 15
1.2.1 N-gram..................................................................................................................................... 17
1.2.2 Mơ hình ngơn ngữ............................................................................................................ 19
1.2.3 Huấn luyện mơ hình ngơn ngữ................................................................................. 21
1.2.3.1 Ước lượng cực đại hóa khả năng (Maximium Likelihood Estimation MLE)...................................................................................................................................................... 21
1.2.3.2 Các phương pháp làm mịn......................................................................................... 22
1.2.3.2.1 Kneser-Ney............................................................................................... 24
1.2.3.2.2 Kneser-Ney cải tiến (Modified Kneser-Ney - MKN).........25
1.2.3.2.3 Stupid Backoff........................................................................................ 26
1.3 Đánh giá mơ hình ngôn ngữ.......................................................................................... 27
1.3.1 Entropy – Độ đo thông tin............................................................................................ 27
1.3.2 Độ hỗn loạn thông tin (Perplexity).......................................................................... 29
1.3.3 Tỉ lệ lỗi (Error rate).......................................................................................................... 30
1.4 Đánh giá chất lượng dịch tự động dựa trên điểm BLEU............................31
CHƯƠNG 2...................................................................................................................................... 32


8

MƠ HÌNH NGƠN NGỮ BLOOM FILTER....................................................
2.1

Các cấu trúc dữ liệu xác suất (PDS) .......................................

2.2 Hàm băm (Hash function) ......................................................................
2.3


Bloom Filter cơ bản ...................................................................

2.4

Mơ hình ngơn ngữ Bloom Filter .............................................

2.4.1

Bloom Filter tần số log (Log-frequency Bloom Fi

2.4.2

Bộ lọc dựa vào chuỗi con (sub-sequence filtering

CHƯƠNG 3....................................................................................................
ỨNG DỤNG BLOOM FILTER CHO HỆ DỊCH MÁY THỐNG KÊ DỰA
VÀO CỤM TỪ................................................................................................................................. 47
3.1 Hệ dịch máy thống kê mã nguồn mở Moses........................................................ 47
3.2 Tích hợp Mơ hình ngơn ngữ Bloom Filter vào hệ thống Moses.............48
3.2.1 Xây dựng LM với RandLM và SRILM................................................................. 48
3.2.1.1 Ngữ liệu.......................................................................................................... 49
3.2.1.2 Thuật toán làm mịn................................................................................... 53
3.2.1.3. Xây dựng LM với SRILM và RandLM........................................... 53
3.3 Thử nghiệm và đánh giá.................................................................................................. 65
KẾT LUẬN...................................................................................................................................... 78
TÀI LIỆU THAM KHẢO...................................................................................................... 79


9


MỞ ĐẦU
1.

Đặt vấn đề

Mơ hình ngơn ngữ (Language Model - LM) là một phần không thể
thiếu trong lĩnh vực xử lý ngơn ngữ tự nhiên. Mơ hình ngơn ngữ được sử
dụng ở các lĩnh vực trong xử lý ngôn ngữ tự nhiên như: nhận dạng tiếng nói,
kiểm lỗi chính tả, phân đoạn từ hay dịch máy thống kê… Để ứng dụng tốt mơ
hình ngơn ngữ phải lớn, cũng chính vì vậy mà việc tìm kiếm khơng gian lưu
trữ là vơ cùng quan trọng trong mơ hình ngơn ngữ. Chính vì thế, luận văn này
tôi lựa chọn và thực hiện đề tài: “Sử dụng mơ hình ngơn ngữ Bloom Filter
trong cải tiến dịch máy thống kê”.
Trong luận văn này, chúng tôi nghiên cứu và tìm hiểu mơ hình ngơn
ngữ xây dựng dựa trên cấu trúc dữ liệu Bloom Filter. Không lưu trữ tồn bộ
tập n-gram giống như các mơ hình truyền thống, loại mơ hình ngơn ngữ này
sử dụng một quy trình mã hóa đặc biệt, cho phép chia sẻ một cách hiệu quả
các bit khi lưu trữ thông tin thống kê n-gram, nhờ đó tiết kiệm đáng kể bộ
nhớ. Sau khi tìm hiểu sơ lược về mơ hình ngơn ngữ, chúng ta sẽ nghiên cứu
kiểu cấu trúc dữ liệu dựa trên Bloom Filter là Bloom Map. Qua các thử
nghiệm, chúng tơi chỉ ra sự ưu việt của các mơ hình ngôn ngữ dựa trên Bloom
Filter trên cả phương diện dung lượng và tính hiệu quả khi ứng dụng trong
thực tế, cụ thể ở đây là hệ thống dịch máy bằng phương pháp thống kê với
Moses [2].


10

2.


Đối tượng và phạm vi nghiên cứu

- Luận văn này chúng tôi nghiên cứu về n-gram và cách ước lượng, tính tốn
biễu diễn mơ hình ngơn ngữ.
-

Thực hiện thử nghiệm với dữ liệu tiếng Việt.
3.

Nhiệm vụ nghiên cứu

- Thông qua luận văn, trình bày các hiểu biết cơ bản cần biết về mơ hình
ngơn ngữ như n-gram, các thuật tốn làm mịn được sử dụng trong mơ hình
ngơn ngữ và các thước đo để đánh giá một mơ hình ngơn ngữ.
- Luận văn tập trung nghiên cứu về các trúc dữ liệu dựa trên Bloom Filter
được sử dụng cho mô hình ngơn ngữ cụ thể là Log-Frequency Bloom Filter.
- Thực hiện thử nghiệm xây dựng mơ hình ngơn ngữ trên một ngữ liệu tiếng
Việt và một ngữ liệu tiếng Anh..
Ngoài ra, luận văn còn giới thiệu sơ lược về dịch máy thống kê, thử
nghiệm
dịch máy thống kê với hệ thống dịch máy mã nguồn mở Moses sử dụng các
mơ hình ngôn ngữ xây dựng ở chương 3.
4. Những nội dung nghiên cứu chính
Luận văn được trình bày thành 3 phần:
MỞ ĐẦU
NỘI DUNG
Chương 1 - Tổng quan về dịch máy thống kê dựa vào cụm từ và mơ hình
ngơn ngữ
Chương 2 - Mơ hình ngơn ngữ Bloom Filter
Chương 3 - Ứng dụng Bloom Filter cho hệ dịch máy thống kê dựa vào cụm từ

KẾT LUẬN


11

NỘI DUNG
CHƯƠNG I
TỔNG QUAN VỀ DỊCH MÁY THỐNG KÊ DỰA VÀO CỤM TỪ
VÀ MƠ HÌNH NGƠN NGỮ
1.1 Dịch máy thống kê dựa trên cụm từ
1.1.1 Dịch máy và dịch máy thống kê
Dịch máy (Machine Translation - MT) xuất hiện từ thập kỷ 50 của thế
kỷ trước và đặc biệt được phát triển mạnh mẽ từ thập kỷ 80 cho đến ngày nay.
Trên thế giới, hiện tại có rất nhiều hệ dịch máy thương mại nổi tiếng 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 MT chia làm bốn lớp chính là dịch
trực tiếp (direct), dịch dựa trên luật chuyển đổi (transfer), dịch liên ngữ
(interlingua) và dịch dựa vào thống kê (statistical MT). Trước đây, phương
pháp dịch dựa trên luật chuyển đổi và dịch liên ngữ chủ yếu dựa vào cú pháp
có thời gian phát triển khá dài và hiện vẫn còn được sử dụng phổ biến trong
nhiều hệ dịch thương mại. Những hệ dịch máy loại nà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ư AnhPháp, Anh-Tây Ban Nha, … nhưng còn gặp nhiều hạn chế đối với các cặp
ngơn ngữ có cú pháp rất khác nhau như Anh-Trung, Anh-Nhật, …
Dịch Anh-Việt, Việt-Anh ở nước ta 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. Nhiều nghiên cứu với yêu cầu tăng chất
lượng dịch hiện nay vẫn đang được thực hiện và có thể thích nghi với đặc
điểm của các cặp ngôn ngữ khác nhau.



12

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 [1], 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[2] và đã góp phần đáng kể trong sự
hồi sinh việc quan tâ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.
Dịch máy bằng phương pháp thống kê (Statistical Machine Translation)
đã chứng tỏ là một hướng tiếp cận đầy đầy tiềm năng bởi những ưu điểm vượt
trội so với các phương pháp dịch máy dựa trên cú pháp truyền thống qua nhiều
thử nghiệm về dịch máy. Thay bằng việc xây dựng các từ điển, các luật chuyển
đổi bằng tay, hệ dịch này tự động xây dựng các từ điển, các quy luật dựa trên kết
quả thống kê có được từ dữ liệu. Vì thế, dịch máy dựa vào thống kê có tính khả
chuyển cao, có khả năng áp dụng được cho cặp ngôn ngữ bất kỳ. Hệ thống SMT
được đề xuất lần đầu tiên bởi Brown năm 1990 sử dụng mơ hình kênh nhiễu và
đã phát triển áp đảo trong ngành MT nhiều năm trở lại đây. Thêm vào đó dịch
máy thống kê có những ưu điểm sau:

Dịch máy (MT) là vấn đề quyết định: Cho trước những từ trong ngôn
ngữ nguồn, chúng ta phải quyết định chọn những từ trong ngơn ngữ đích. Vì
vậy, nó tạo cho chúng ta một cảm giác là có thể giải quyết nó bằng định lý

quyết định thống kê. Điếu đó dẫn đến cách tiếp cận thống kê được đề xuất.


13

Mối quan hệ giữa đối tượng ngôn ngữ như từ, cụm từ và cấu trúc ngữ
pháp thường yếu và mơ hồ. Để mơ hình hóa những phụ thuộc này, chúng ta
cần một cơng thức hóa như đưa ra phân phối xác suất mà nó có thể giải quyết
với những vấn đề phụ thuộc lẫn nhau.
Để thực hiện MT, chúng ta nhất thiết phải kết hợp nhiều nguồn trí thức.
Trong 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ê (SMT), 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.
SMT khá phù hợp với ứng dụng nhúng mà ở đây MT là một phần của
ứng dụng lớn hơn. Ví dụ, trong dịch các bài nói chuyện, máy nhận dạng tiếng
nói sẽ được thêm vào. SMT xem như rất phù hợp với cách tiếp cận này bởi vì
nó tận dụng được sức mạnh của ngôn ngữ tự nhiện.
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 nếu khơng nói là khơng thể. Vì vậy, việc
hình thức hóa vấn đề này càng chính xác càng tốt khơng thể dựa vào sự giằng
buộc bởi các luật mô tả chúng. 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.
SMT đã cho chất lượng dịch khá tốt. Hệ thống CANDIDE của IBM
được coi là một trong những hệ dịch tốt nhất hiện nay trên thế giới. Chất
lượng đạt trên 80%.
Với phương pháp dịch trực tiếp, từng từ được dịch từ ngơn ngữ nguồn
sang ngơn ngữ đích. Trong dịch dựa trên luật chuyển đổi, đầu tiên chúng ta

cần phải phân tích cú pháp của câu vào, rồi áp dụng các luật chuyển đổi để
biến đổi cấu trúc câu này ở ngôn ngữ nguồn sang cấu trúc của ngôn ngữ đích;


14

cuối cùng ta mới dịch ra câu hoàn chỉnh. Đối với dịch liên ngữ, câu vào được
phân tích thành một dạng biểu diễn trừu tượng hóa về ngữ nghĩa, được gọi là
“interlingua”, sau đó ta tìm cách xây dựng câu đích phù hợp nhất với
“interlingua” này. Dịch máy thống kê có cách tiếp cận hồn tồn khác, khả
năng dịch có được là dựa trên các mơ hình thống kê được huấn luyện từ các
ngữ liệu song ngữ. Kiến trúc chung của một hệ thống SMT được thể hiện
trong hình 1.
Mơ hình của Brown (hay cịn gọi là mơ hình IBM) [7] biểu diễn q
trình dịch bằng một mơ hình kênh nhiễu (noisy channel model) bao gồm ba
thành phần: một mô hình dịch (translation model), có nhiệm vụ liên hệ các từ,
cụm từ tương ứng của các ngôn ngữ khác nhau; một mơ hình ngơn ngữ (LM),
đại diện cho ngơn ngữ đích; một bộ giải mã (decoder), kết hợp mơ hình dịch
và mơ hình ngơn ngữ để thực hiện nhiệm vụ dịch.
Ngơn ngữ nguồn ( f )

Tiền xử lý

Mơ hình ngơn ngữ

f

Pr( e)

Mơ hình dịch Pr(f | e)


Hậu xử lý

Ngơn ngữ đích ( e )

Hình 1: Kiến trúc của một hệ thống SMT


15

1.1.2 Dịch máy thống kê dựa trên cụm
He

Anh ấy
Hình 2: Minh họa dịch máy thống kê dựa vào cụm
Với 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ơng giống
nhau. Hình 2 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. Kết quả ta thu được câu
dịch trong ngơn ngữ đích.
Nếu gọi ngơn ngữ nguồn là f và ngơn ngữ đích là e, 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. Trong thực
tế tồn tại hơn một 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 áp dụng mơ hình kênh nhiễu, sử dụng cơng thức Bayes ta có:
arg max Pr(e| f ) 

e


Vì Pr(f) là khơng thay đổi đối với e, bài toán trở thành việc tìm câu e
nhằm cực đại hố giá trị

Pr( f | e)

và Pr( e) cực đại. 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ữ


16

tốt. Bộ giải mã được sử dụng để tìm ra câu dịch tốt nhất khi đã biết được
Pr( e) .
I

Để có được câu dịch, câu nguồn được chia thành I cụm liên tiếp f1 . Giả
I

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 fi trong f1

được dịch thành cụm tương ứng trong ngơn ngữ đích ei . Các cụm trong ngơn
ngữ đích có thể đảo ví trí cho nhau. Q trình dịch cụm được mơ hình

hóa bởi phân phối xác suất ( f

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(ai – bi-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 như sau:

a
d(

Trong đó α là giá trị tham số thích hợp.
Muốn xác định độ dài phù hợp của câu dịch, ta đưa thêm thừa số ω khi
sinh ra câu trong ngơn ngữ đích. Qua q trình tìm kiếm câu dịch tối ưu thừa
số này sẽ được tối ưu. Độ dài của câu trong ngơn ngữ đích càng dài khi thừa
số này càng lớn hơn 1.
Như vậy, câu dịch tốt nhất ebest được sinh ra từ câu nguồn theo mơ hình
trong là:

e



best

arg max

length ( e)

Với Pr( f | e) được phân tích:
Pr(

f


17


1.2 Tổng quan về 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à ngày nghỉ lễ”] = 0.001
P[“nghỉ lễ là qua hôm ngày”] = 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.
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.
1.2.1 N-gram
Phương pháp đơn giản nhất để ngắt một chuỗi kí tự thành các thành
phần nhỏ hơn gọi là các chuỗi con. Mỗi chuỗi con n-từ như vậy được gọi là ngram.
Với n = 1 ta gọi là unigram hay còn gọi là từ;
Với n = 2 ta gọi là bigram;
Với n = 3 ta gọi là trigram.
Nếu một chuỗi kí tự có rất nhiều n-gram hợp lệ thì ta có thể kết luận
chuỗi kí tự đó là chuỗi hợp lệ. Kí hiệu b(y/x) là xác suất mà từ y theo sau từ x.
Chúng ta có thể ước lượng xác suất này dựa vào Corpus.
Xác suất bigram điều kiện là thương số của phép chia số lần xuất hiện
cụm “xy” cho số lần xuất hiện từ “x” trong Corpus, được kí hiệu là p(x|y).
Ví dụ về xác suất bigram điều kiện:


18


P(qua | hơm,): ta có thể hiểu là xác suất để từ “qua” xuất hiện sau từ
“hôm”. Về giá trị này, chúng ta có thể xác định trực tiếp và tự động từ corpus
tiếng Anh. Giả sử trong corpus mà ta test, “hơm” xuất hiện 468 lần, cịn “hơm
qua” xuất hiện 63 lần, thì P(qua | hơm) = 63/468 = 0,13.
Tương tự, ta có định nghĩa tương tự đối với xác suất trigram điều kiện.
Ví dụ về xác suất trigram điều kiện:
P(là | hơm qua): ta có thể hiểu là xác suất để từ “là” xuất hiện sau dãy
hai từ “ hôm qua”. Giả sử trong corpus mà ta test, “hơm qua là” xuất hiện 9
lần, cịn “hơm qua” xuất hiện là 28 lần, như vậy P(là | hôm qua) = 9/28 = 0,32.
Ta nhận thấy rằng mỗi từ sẽ liên quan có điều kiện tới tồn bộ các từ
trước nó (ta sẽ gọi đây là lịch sử của sự kiện hoặc từ đó).
Tuy nhiên, việc sử dụng tồn bộ các từ trước đó để đốn nhận từ tiếp
theo là khơng thể thực hiện được vì hai ngun nhân sau. Đầu tiên là phương
pháp này không khả thi về mặt tính tốn do tốn q nhiều thời gian, tài
ngun hệ thống cho mỗi lần dự đoán. Hai là, trong rất nhiều trường hợp, chỉ
sau khi duyệt vài từ trong lịch sử, ta đã nhận thấy rằng đó là một câu chưa
từng gặp trước đây. Bởi vậy kể cả khi đã biết toàn bộ lịch sử của một từ, xác
suất của nó vẫn có thể là khơng biết. Thay vào đó, các mơ hình ngơn ngữ
thường được ước lượng tương đối xác suất dựa trên giả định Markov (hay mơ
hình Markov ẩn), rằng từ tiếp theo chỉ chịu ảnh hưởng từ một vài từ trước đó.
Một mơ hình Markov bậc n giả định rằng chỉ n từ trước đó có liên hệ ngữ
cảnh với từ đang cần xác định. Việt quyết định bao nhiêu từ trước đó mà LM
quan tâm được gọi là bậc n (order) của LM, và thường được gọi là 1-gram
(unigram), 2-gram (bigram), 3- gram (trigram), 4-gram (fourgram) tương ứng
với các mơ hình Markov bậc một, hai, ba, bốn. Ví dụ, nếu chúng ta muốn ước


19

lượng xác suất 3-gram của một từ wi với mô hình Markov bậc 2 thì chúng ta

sẽ dựa trên hai từ trước đó:
Pr(w1, w2, ..., wi) ≈ Pr(wi|wi-2, wi-1)
Hình 1: Mơ hình Markov bậc 2
Một cách tổng qt, gọi
từ wi . Khi đó để ước lượng xác xuất n-gram cho một chuỗi chiều dài N ta sử
dụng công thức:

Pr(

1.2.2 Mô hình ngơn ngữ
Trước hết chúng ta xem xét về trật tự từ. Giả sử trong cách dịch của
chúng ta, có một hộp chứa các từ và chúng ta muồn lấy chúng ra theo một thứ
tự hợp lý. Nhưng giả sử rằng chúng ta có vài hộp khác nhau, tương ứng là tập
các nghĩa của cách dịch các từ ở hộp trên. Chúng ta có thể tìm thứ tự từ tốt
nhất của mỗi hộp nhưng làm thế nào để chúng ta chọn câu của ngơn ngữ đích
hợp lý nhất. Câu trả lời là chúng ta sử dụng mơ hình n-gram, gán xác suất cho
bất kì một dãy các từ có thể hiểu được. Sau đó chúng ta chọn ra dãy có thể
nhất (xác suất cao nhất).
Ví dụ: dãy các từ “hơm qua là ngày nghỉ lễ” và “tôi vẫn phải đi làm” là
có thể hiểu được (có thể tồn tại) ngược lại dãy “nghỉ lễ là qua hôm ngày” và
“đi tôi vẫn làm phải” là không thể hiểu được (không tồn tại). Về ngôn ngữ
học, theo truyền thống chúng ta chia các dãy các từ này thành hai loại: đúng
ngữ pháp và sai ngữ pháp nhưng trong dịch máy chúng ta ln ln phải chọn
giữa hai câu đúng ngữ pháp.
Ví dụ: Cách dịch nào là tốt hơn trong (A) và (B)
(A) Hôm qua là ngày nghỉ lễ nhưng tôi vẫn phải đi làm.


(B) Ngày hôm qua là nghỉ lễ nhưng tôi vẫn phải đi làm.



20

Mặt khác, trong nhận dạng tiếng nói người ta sử dụng khá nhiều xác
suất theo kinh nghiệm gán cho dãy các từ. Ví dụ: “nghỉ lễ là” đúng hơn là “là
nghỉ lễ”.
Phương pháp sử dụng ở đây là dựa vào bigram hoặc trigram để chuyển
chúng thành xác suất để so sánh.
Để gán xác suất cho toàn bộ một câu, ta nhân xác suất điều kiện n-gram
mà nó bao gồm. Vì vậy, một câu tốt (càng đúng ngữ pháp) là câu mà có nhiều
dãy n-gram. Ví dụ trong bigram ta có:
P(Hơm qua là ngày nghỉ lễ) =
P(Hôm | đầu câu) *
P(qua | Hôm) *
P(là | qua) *
P(ngày | là) *
P(nghỉ | ngày) *
P(cuổi câu | nghỉ lễ)
Dễ dàng thấy rằng điều này có ích như thế nào đối với trật tự từ. Dựa
vào cách tính xác suất như trên ta thấy rằng câu “Hôm qua là ngày nghỉ lễ” tốt
hơn “Nghỉ lễ ngày là qua hơm”.
Như vậy, ta có thể coi toàn bộ các chủ đề về gán xác suất cho một câu
được gọi là mơ hình ngơn ngữ.
Mơ hình ngơn ngữ khơng chỉ có ích cho thứ tự các từ mà cịn có ích cho
việc chọn nghĩa giữa các cách dịch khác nhau.
Ví dụ: Cho 2 câu (A) và (B)
(A) Áo trắng em đến trường, cùng đàn chim ca rộn ràng.
(B) Em đến trường áo trắng, cùng đàn chim ca rộn ràng.
Quyết định này dịch từ tiếng Anh sang tiếng Việt, cụm từ “Áo trắng em
đến trường” dùng để chỉ nữ sinh còn “Em đến trường áo trắng” lại dùng để



21

chỉ trang phục. Nếu trong corpus của chúng ta, giả sử trigram “Áo trắng em
đến trường” xuất hiện 10 lần, trong khi “Em đến trường áo trắng” không xuất
hiện (hoặc khá nhỏ so với “Áo trắng em đến trường”) thì (A) là câu tốt hơn
(được chọn). Điều đó có nghĩa là ta có thể giả quyết vấn đề nhập nhằng ngữ
nghĩa chỉ dựa vào ngơn ngữ đích.
1.2.3 Huấn luyện mơ hình ngơn ngữ
Khi huấn luyện (xây dựng) một mơ hình ngôn ngữ ta cần chuẩn bị dữ
liệu là một ngữ liệu đơn ngữ (corpus) (kích thước dữ liệu huấn luyện lớn sẽ
cho mơ hình ngơn ngữ tốt) và một bộ ước lượng thống kê có nhiệm vụ mơ
hình hóa lượng xác suất của ngữ liệu. Các bộ ước lượng được mà LM sử dụng
đều cần đến tần suất của các n-gram, vì vậy ta cần đếm tần suất xuất hiện của
các n-gram từ 1-gram cho đến số bậc mơ hình đang huấn luyện.
1.2.3.1 Ước lượng cực đại hóa khả năng (Maximium Likelihood
Estimation - MLE)
Để xây dựng một mơ hình ước lượng cực đại hóa khả năng với tần suất
tương đối của các n-gram trong ngữ liệu ta có thể sử dụng kết quả đếm các ngram. Với ước lượng cực đại hoá khả năng, xác suất một unigram nhất định
nào đó sẽ xuất hiện tiếp theo đơn giản là tần suất nó xuất hiện trong ngữ liệu.

Với c(

w

i '

Phương pháp này được gọi như vậy bởi vì nó cực đại hóa giá trị đầu ra để mơ
hình hóa ngữ liệu huấn luyện. Ví dụ, trong ngữ liệu Brown 1, một ngữ liệu với

một triệu từ, từ khóa ”Chinese” xuất hiện 400 lần. Vậy thì xác suất mà một
mơ hình ngơn ngữ dùng MLE sẽ gán cho unigram ”Chinese” là

PrMLE (Chinese) 



22

Xác suất điều kiện của một n-gram tổng quát với bậc >1 là:

PrMLE

Nghĩa là một từ nào đó có tần suất xuất hiện thường xuyên sau lịch sử
có bậc n-1. Để minh họa, ta tiếp tục ví dụ trên, xác suất bigram ”Chinese
food” xuất hiện là số lần từ ”food” xuất hiện sau từ ”Chinese” chia cho
c(Chinese) = 400. Với ngữ liệu Brown, cụm từ ”Chinese food” xuất hiện 120
lần, ta có:
PrMLE(food|Chinese) =
0.3 1.2.3.2 Các phương pháp làm mịn
MLE là một phương pháp dễ hiểu, dễ sử dụng để ước lượng xác suất
cho mơ hình, tuy nhiên trong thực tế ta gặp phải vấn đề dữ liệu thưa (data
sparseness problem). Nghĩa là tập ngữ liệu dùng để xây dựng LM dù lớn cũng
chỉ là tập hữu hạn các câu trong vơ số câu có thể của một ngơn ngữ tự nhiên.
Do đó một LM chỉ sử dụng MLE sẽ gán xác suất bằng 0 cho nhiều n-gram tốt.
Để hạn chế vấn đề này, người ta thường sử dụng các phương pháp ước lượng
xác suất thống kê phức tạp hơn thay cho MLE. Những phương pháp này được
gọi là làm mịn (smoothing) hay trừ hao (discounting), khi mà một phần xác
suất từ các sự kiện trong mơ hình sẽ được dành cho những sự kiện chưa từng
xuất hiện. Việc lấy từ cái gì và trừ hao như thế nào là một đề tài vẫn đang

được nghiên cứu nhiều. Ví dụ, cách cổ điển nhất của làm mịn là phương pháp
Add-one smoothing [13], trong phương pháp này, ta thêm một lượng l 1vào
kết quả đếm số lần xuất hiện của tất cả từ vựng trong ngữ liệu.
Backoff và interpolation là hai khái niệm quan trọng được sử dụng
trong quá trình làm mịn. Khi LM gặp một n-gram chưa biết, việc tính xác suất
sẽ sử dụng thông tin từ (n-1)-gram, khi sự kiện (n-1)-gram cũng chưa từng
xuất hiện trong quá trình huấn luyện thì LM lại sử dụng thơng tin xác suất từ


23

(n-2)-gram, ... cứ tiếp tục như vậy cho đến khi tính được xác suất của n-gram.
Q trình này được gọi là backoff và được định nghĩa như sau:
PrBO

Với 

là hệ số trừ hao dựa trên tần s

sử,  là tham số backoff. Khi số lượng từ vựng đủ lớn, chúng ta có thể sẽ cần
gán xác suất bằng 0 cho một số từ ngoài từ điển (out of vocabulary – OOV)
khi ở mức unigram. Ví dụ như khi ta có một cuốn từ điển chuyên ngành và
không muốn chia sẻ lượng xác suất của các từ vựng đó (các danh từ chung,
các số thực đặc biệt, ...) cho các OOV. Một cách khác là chúng ta làm mịn LM
và dành một lượng xác suất nhỏ gán cho các OOV khi ở mức unigram.
Interpolation là phương pháp kết hợp thông tin thống kê n-gram qua tất
cả các bậc của LM. Nếu bậc của LM là n thì cơng thức đệ quy interpolation
như sau:
n


Pr

I

Với  là trọng số quyết định bậc của LM có ảnh hưởng lớn nhất đến
giá trị đầu ra. Tổng trọng số
một. Có nhiều cách để xác định giá trị cho các trọng số
phương pháp interpolation đơn giản thì các giá trị 
gram. Tuy nhiên thông thường chúng sẽ tính tốn theo điều kiện ngữ cảnh cụ
thể, nghĩa là theo tần suất của các bậc n-gram trong lịch sử. Các trọng số này
khơng được tính tốn từ dữ liệu huấn luyện, mà sử dụng tập dữ liệu held-out
riêng biệt – tập này chỉ được dùng để huấn luyện các tham số, mà trong
trường hợp này là các giá trị  . Cần thấy rằng sự khác biệt cơ bản giữa hai
phương pháp này là interpolation sử dụng thông tin từ các bậc thấp hơn ngay


24

cả khi dữ liệu xác suất của n-gram cần tính đã khác 0; trong khi đó backoff lại
chỉ tìm kiếm đến dữ liệu khác 0 gần nhất.
Những tiểu mục tiếp theo sẽ trình bày về một số phương pháp làm mịn
phổ biến nhất hiện nay, như Kneser-Ney[6] hay Stupid backoff của Google[5].
1.2.3.2.1 Kneser-Ney
Kneser-Ney (KN) là thuật tốn làm mịn cơng bố năm 1995 [6], được
phát triển bởi Reinhard Kneser và Hermann Ney. Trong thuật toán KN, xác
suất của một unigram không tỉ lệ thuận với tần suất xuất hiện của nó mà với
số tiền tố mà nó có.
Có thể minh họa như sau, bigram “San Francisco” rất phổ biến trong
cuốn sách “Lịch sử thành phố San Francisco”. Với tần suất bigram này cao
như vậy thì nếu sử dụng phương pháp đơn giản, tần suất của từng từ “San” và

“Francisco” cũng sẽ phải rất cao. Tuy nhiên trong thuật toán KN thì xác suất
Pr(Francisco) lại có thể là rất thấp, vì từ “Francisco” thường chỉ đứng sau từ
“San”. Do các LM bậc thấp thường được sử dụng cho việc tính xác suất
backoff của các LM bậc cao hơn, nên thuật toán KN muốn tận dụng sự lãng
phí lượng xác suất này trong các thuật tốn trước đó để dành cho các sự kiện
có khả năng xảy ra lớn hơn.
Trước hết chúng ta định nghĩa số lượng tiền tố của một từ như sau:

N

1

Thuật ngữ N1 để chỉ số lượng các từ xuất hiện một lần hoặc nhiều hơn
và ký tự “ o ” chỉ một từ bất kỳ nào đó. Thay vì sử dụng tần suất như trong
MLE, tần suất thơ của mỗi từ được thay thế bằng số lượng từ (khác nhau)
đứng trước từ đó. Xác suất của unigram trong thuật tốn KN được tính là:
( )

Pr w
KN

i


×