
Mô hình ngôn ngữ Ngram - Cao Văn Việt K51KHMT
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Cao Văn Việt
XÂY DỰNG MÔ HÌNH NGÔN NGỮ CHO TIẾNG VIỆT
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Khoa học máy tính
HÀ NỘI – 2010

LỜI CẢM ƠN
Đầu tiên, cho phép tôi gửi lời cảm ơn sâu sắc tới TS Lê Anh Cường, người đã
trực tiếp hướng dẫn, chỉ bảo và tạo điều kiện cho tôi trong quá trình hoàn thành luận
văn này.
Đồng thời tôi cũng xin gửi lời cảm ơn chân thành tới các thầy cô giáo trường Đại
học Công Nghệ, đặc biệt là các thầy cô trong bộ môn Khoa học Máy tính , những
người đã trực tiếp giảng dạy, hướng dẫn và tạo điều kiện cho tôi trong quá trình học
tập và thực hành ở trường.
Cuối cùng, tôi xin gửi gời cảm ơn tới tất cả cá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 TẮT
Mô hình ngôn ngữ là một bộ phận quan trọng của lĩnh vực xử lý ngôn ngữ tự
nhiên. Có rất nhiều lĩnh vực trong xử lý ngôn ngữ tự nhiên sử dụng mô hình ngôn ngữ
như: kiểm lỗi chính tả, dịch máy hay phân đoạn từ... Trên thế giới đã có rất nhiều nước
công bố nghiên cứu về mô hình ngôn ngữ áp dụng cho ngôn ngữ của họ nhưng ở Việt
Nam, việc nghiên cứu và xây dựng một mô hình ngôn ngữ chuẩn cho tiếng Việt vẫn
còn mới mẻ và gặp nhiều khó khăn. Chính điều này đã gợi ý và thúc đẩy chúng tôi lựa
chọn và tập trung nghiên cứu vấn đề này để có thể tạo điều kiện cho việc xử lý ngôn
ngữ tiếng Việt vốn vô cùng phong phú của chúng ta.
Luận văn sẽ trình bày khái quát về mô hình ngôn ngữ, đồng thời chỉ ra các khó
khăn còn tồn tại để rồi đưa ra những phương pháp khắc phục, trong đó trọng 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 sử dụng chủ
yếu bộ công cụ mã nguồn mở SRILIM để xây dựng mô hình ngôn ngữ cho tiếng Việt,
sau đó áp dụng mô hình ngôn ngữ đã tạo ra để tính toán độ hỗn loạn thông tin của văn
bản và dịch máy thống kê. Kết quả có được sẽ là cơ sở chính để chúng tôi chỉ ra
phương pháp làm mịn nào là tốt nhất khi sử dụng trong việc xây dựng mô hình ngôn
ngữ tiếng Việt.

MỤC LỤC
Chương 1 Giới thiệu vấn đề................................................................................ 1
1.1 Đặt vấn đề: ......................................................................................................... 1
1.2 Mục tiêu: ............................................................................................................ 1
1.3 Cấu trúc của luận văn: ........................................................................................ 2
Chương 2 Mô hình ngôn ngữ Ngram:.................................................................3
2.1 Khái quát:........................................................................................................... 3
2.2 Công thức tính “xác suất thô”: ............................................................................ 3
2.3 Khó khăn khi xây dựng mô hình ngôn ngữ N-gram ............................................ 4
2.3.1 Phân bố không đều: .................................................................................................4
2.3.2 Kích thước bộ nhớ của 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 thuật toán chiết khấu (discounting): .................................................................5
2.4.2 Phương pháp truy hồi:..............................................................................................8
2.4.3 Phương pháp nội 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 cải tiến bởi Chen - GoodMan: .......................12
2.5 Kỹ thuật làm giảm kích thước dữ liệu:.............................................................. 13
2.5.1 Loại 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 – Độ hỗn loạn thông tin:........................................................................18
2.6.3 Error rate – Tỉ lệ lỗi: ..............................................................................................18
Chương 3 Ứng dụng của mô hình ngôn ngữ trong mô hình dịch máy thống kê: 19
3.1 Dịch máy:......................................................................................................... 19

3.2 Dịch máy thống kê:........................................................................................... 19
3.2.1 Giới thiệu: .............................................................................................................19
3.2.2 Nguyên lý và các thành phần: ................................................................................19
3.2.3 Mô hình dịch: ........................................................................................................21
3.2.4 Bộ giải mã: ............................................................................................................25
3.3 Các phương pháp đánh giá bản dịch: ................................................................ 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 Thực nghiệm: ................................................................................... 28
4.1 Công cụ: ........................................................................................................... 28
4.1.1 Bộ công cụ trợ giúp xây dựng tập văn bản huấn luyện: ..........................................28
4.1.2 Công cụ tách từ cho tiếng Việt - vnTokenizer: .......................................................28
4.1.3 Bộ công cụ xây dựng mô hình ngôn ngữ - SRILM:................................................29
4.1.4 Bộ công cụ xây dựng mô hình dịch máy thống kê – MOSES: ................................32
4.2 Dữ liệu huấn luyện: .......................................................................................... 34
4.3 Kết quả:............................................................................................................ 34
4.3.1 Số lượng các cụm ngram:.......................................................................................34
4.3.2 Tần số của tần số: ..................................................................................................36
4.3.3 Cut-off (loại bỏ):....................................................................................................39
4.3.4 Các phương pháp làm mịn: ....................................................................................40
4.3.5 Áp dụng vào mô hình dịch máy thống kê:..............................................................41
Chương 5 Kết luận............................................................................................ 43
Tài liệu tham khảo................................................................................................ 44