1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu

71 3,1K 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 0,94 MB

Nội dung

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn CAO ĐỨC TƯ NGHIÊN CỨU MÔ HÌNH NGÔN NGỮ N-GRAM VÀ ỨNG DỤNG TRONG BÀI TOÁN THÊM DẤU CHO TIẾNG VIỆT KHÔNG DẤ

Trang 1

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

CAO ĐỨC TƯ

NGHIÊN CỨU MÔ HÌNH NGÔN NGỮ N-GRAM

VÀ ỨNG DỤNG TRONG BÀI TOÁN THÊM DẤU

CHO TIẾNG VIỆT KHÔNG DẤU

CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH

MÃ SỐ: 60.48.01

LUẬN VĂN THẠC SĨ : KHOA HỌC MÁY TÍNH

Thái Nguyên - 2011

Trang 2

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

CAO ĐỨC TƯ

NGHIÊN CỨU MÔ HÌNH NGÔN NGỮ N-GRAM

VÀ ỨNG DỤNG TRONG BÀI TOÁN THÊM DẤU

CHO TIẾNG VIỆT KHÔNG DẤU

CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH

MÃ SỐ: 60.48.01

LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS VŨ TẤT THẮNG

Thái Nguyên - 2011

Trang 3

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

LỜI CAM ĐOAN

Tôi xin cam đoan, toàn bộ nội dung liên quan tới đề tài được trình bày trong luận văn là bản thân tôi tự tìm hiểu và nghiên cứu, dưới sự hướng dẫn

khoa học của TS Vũ Tất Thắng Viện công nghệ thông tin thuộc Viện Khoa

học và Công nghệ Việt Nam Các tài liệu, số liệu tham khảo được trích dẫn

đầy đủ nguồn gốc

Tôi xin chịu trách nhiệm trước pháp luật lời cam đoan của mình

Thái Nguyên, ngày 30 tháng 9 năm 2011

Học viên

Cao Đức Tư

Trang 4

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

LỜI CẢM ƠN

Luận văn được hoàn thành bởi sự nỗ lực của bản thân, sự giúp đỡ tận tình của các thầy cô trường Đại học công nghệ thông tin và truyền thông thuộc Đại học Thái Nguyên, thầy cô Viện công nghệ thông tin thuộc Viện Khoa học và Công nghệ Việt Nam.Đã tận tình chỉ dạy, giúp đỡ em trong cả quá trình học tập và hoàn thành luận văn

Xin bày tỏ lòng biết ơn sâu sắc đến TS Vũ Tất Thắng Viện công nghệ

thông tin thuộc Viện Khoa học và Công nghệ Việt Nam, người đã tận tình chỉ dẫn tôi trong suốt quá trình xây dựng đề cương và hoàn thành luận văn

Xin cảm ơn các anh chị em trong lớp cao học K8 đã giúp đỡ, đóng góp

ý kiến chia sẽ những kinh nghiệm học tập, nghiên cứu trong suốt khóa học

Mặc dù đã cố gắng hết sức để hoàn thành luận văn , song không thể tránh khỏi sai sót Xin kính mong nhận được nhận xét và sự đóng góp của qu ý Thầy Cô và bạn bè

Thái Nguyên, ngày 30 tháng 9 năm 2011

Học viên

Cao Đức Tư

Trang 5

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

MỤC LỤC

1

CHƯƠNG 1: GIỚI THIỆU CHUNG 5

1.1.Đặt vấn đề: 5

1.2.Mục tiêu: 7

1.3.Cấu trúc của luận văn: 7

CHƯƠNG 2: MÔ HÌNH NGÔN NGỮ N-GRAM 8

2.1.Giới thiệu chung 8

2.2.Công thức tính “xác suất thô” 9

2.3.Vần đề khó khăn khi xây dựng mô hình ngôn ngữ N-gram 10

2.4.Các phương pháp làm mịn 11

2.5.Kỹ thuật làm giảm kích thước dữ liệu: 19

2.6.Độ đo 23

2.7.Tổng kết chương 23

CHƯƠNG 3: XÂY DỰNG N-GRAM CHO TIẾNG VIỆT 27

3.1.Giới thiệu 27

3.2.Công cụ tách từ cho tiếng Việt - vnTokenizer 3427

3.3.Bộ công cụ SRILM 35

3.4.Bộ công cụ trợ giúp xây dựng tập văn bản huấn luyện 39

3.5.Phương pháp tách câu, tách từ, gán nhãn từ loại và phân tích cú pháp 3340

3.6.Dữ liệu huấn luyện 40

3.7.Kết quả xây dựng mô hình 40

3.8.Tần số của tần số 49

3.9.Cut-off (loại bỏ) 52

3.10.Các phương pháp làm mịn 53

Trang 6

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

3.11.Tổng kết chương 55

CHƯƠNG 4: ỨNG DỤNG N-GRAM TRONG BÀI TOÁN 56

THÊM DẤU TIẾNG VIỆT 56

4.1 Bài toán thêm dấu tiếng Việt 56

4.2 Các phương pháp đánh giá kết quả thêm dấu: 57

4.3 Các hệ thống thêm dấu ứng dụng về N-gram đã có: 59

4.4 Đề xuất hệ thống: 63

4.5 Thử nghiệm hệ thống: 66

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 6760

5.1 Các kết quả đạt được: 6760

5.2.Hạn chế và hướng phát triển của đề tài: 6760

TÀI LIỆU THAM KHẢO 61

Trang 7

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

DANH MỤC CÁC KÝ HIỆU VIẾT TẮT

ACL Association for Computational

Linguistics

Hiệp hội ngôn ngữ học tính toán

SMS Short Message Services Dịch vụ tin nhắn

SRI Stanford Research Institute học viện nghiên cứu sờ ten phoóc

LM language Model Mô hình ngôn ngữ

MM Maximum Mactching Khớp tối đa

LRMM Left Right Max Matching tìm đoạn tương ứng dài nhất tính từ

trái/phải WFST Weighted finite-state Transducer Mạng chuyển dịch trạng thái có trọng

số

Trang 8

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

DANH MỤC HÌNH

Hình 3-1 Quy trình tách từ 34

Hình 3-2 Số lượng các cụm n-gram với âm tiết tăng kích thước dữ liệu 48

Hình 3-3: số lượng các cụm N-gram với từ khi tăng kích thước dữ liệu 49

Hình 3-4: số lượng các cụm Ngram (âm tiết) có tần số từ 1 đến 10 50

Hình 3-5 Số lượng các cụm Ngram (từ) có tần số từ 1 đến 10 51

Hình 4-1 Sự trùng khớp của các bản dịch máy với bản dịch mẫu 5158

Hình 4-2 Lưu đồ thực hiện mô hình ứng dụng trong VietPad 60

Hình 4-3 Lưu đồ thực hiện của mô hình N-gram 55

Hình 4-4 Lưu đồ thực hiện của mô hình đề xuất 6356

Hình 4.5 Mô hình test thêm dấu đề xuất 6659

Trang 9

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

DANH MỤC BẢNG

Bảng 3 -1 Số lượng các cụm n-gram trong văn bản huấn luyện với âm tiết 48Bảng 3-2: Số lượng các cụm N-gram trong văn bản huấn luyện với từ 4942Bảng 3-3: Tần số của tần số các cụm N-gram áp dụng cho âm tiết 5043Bảng 3-4 Tần số của tần số các cụm Ngram với từ 51Bảng 3-5: Bộ nhớ và độ hỗn loạn thông tin khi áp dụng loại bỏ trong âm tiết 4552Bảng 3-6: Bộ nhớ và độ hỗn loạn thông tin khi áp dụng loại bỏ với từ 53Bảng 3-7: Độ hỗn loạn thông tin của các phương pháp làm mịn cho âm tiết 5447Bảng 3-8: Độ hỗn loạn thông tin của các phương pháp làm mịn cho từ 5447

MỞ ĐẦU

1 Lý do chọn đề tài:

Trong lĩnh vực xử lí ngôn ngữ tự nhiên, sử dụng các mô hình ngôn ngữ

sẽ giúp giới hạn không gian tìm kiếm để có các giải pháp tốt nhất có thể có trong khoảng thời gian ngắn Chúng ta cần ước lượng độ hợp lý của câu văn được đưa ra trong ngôn ngữ thực tế Trong thực tế, chúng ta có thể thực hiện từng phần, mỗi phần là một chuỗi các từ Vì ngôn ngữ thực ra chỉ được học từ

sự quan sát và vì chúng ta không bao giờ quan sát hết được ngôn ngữ tự nhiên

để có thể xem xét tất cả các câu có thể xảy ra

Hiện tại, chúng ta có thể dễ dàng tìm thấy ngày càng nhiều những hệ thống dịch tự động miễn phí trên mạng như: Systran, Reverso, WorldLingo, IBM translator… Những hệ thống này cho phép dịch tự động các văn bản với một cặp ngôn ngữ chọn trước (ví dụ: dịch một văn bản giữa tiếng Anh và tiếng Pháp, hoặc tiếng Anh và tiếng Việt) Tuy nhiên, chất lượng

Trang 10

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

dịch là vấn đề mà người sử dụng quan tâm vì đa số các hệ thống dịch tự động hiện nay có chất lượng khá thấp Ví dụ, để dịch văn bản giữa tiếng Việt và tiếng Anh chúng ta có thể chọn sử dụng hệ thống dịch của Google nhưng chất lượng dịch theo chiều Việt-Anh là thấp so với chiều dịch Anh-Việt, và đặt biệt thấp cho dịch Việt-Anh với văn bản đầu vào là tiếng Việt không dấu Vấn

đề đặt ra là, làm sao để chuẩn hóa văn bản đầu vào cho hệ thống dịch Ở đó thêm dấu, hay chuẩn hóa dấu văn bản là một vấn đề rất quan trọng

Từ những vấn đề trên cũng như những kiến thức đã được học tôi lựa

chọn đề tài: “Nghiên cứu mô hình Ngôn ngữ N-gram và ứng dụng trong

bài toán thêm dấu cho tiếng Việt không dấu”, một trong những vấn đề có

tính cấp thiết trong lĩnh vực xử lí ngôn ngữ tự nhiên tiếng Việt nói riêng và khoa học công nghệ trong đời sống xã hội nói chung

Về phát triển và triển khai ứng dụng:

Kết quả của đề tài sẽ ứng dụng trong việc hỗ trợ trong việcthêm dấu cho tiếng Việt không dấu

 Nhiệm vụ

- Nghiên cứu các vấn đề khi xây dựng mô hình ngôn ngữ N-gram

- Nghiên cứu các phương pháp làm mịn trong mô hình ngôn ngữ gram

Trang 11

N-Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

- Nghiên cứu các kỹ thuật làm giảm kích thước dữ liệu

3 Phương pháp nghiên cứu:

Nghiên cứu N-gram thông qua tài liệu về cơ sở thống kê của phương

pháp xử lý ngôn ngữ tự nhiên và cơ sở của nó

Nghiên cứu phương pháp xác định ngôn ngữ văn bản thực tế được các

chương trình thêm dấu tự động sử dụng

Tìm hiểu, vận dụng và kế thừa các thuật tuán và quy trình đã công bố kết quả

Áp dụng mô hình ngôn ngữ cho bài toán thêm dấu, có đối sánh với kết

quả của các phương pháp thêm dấu tự động khác

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

- Đối tượng nghiên cứu: Nghiên cứu về mô hình ngôn ngữ N-gram, và

các kỹ thuật liên quan tới việc làm trơn hóa phân bố xác suất của mô hình

- Phạm vi nghiên cứu: Nghiên cứu về mô hình ngôn ngữ N gram, và

ứng dụng trong bài toán thêm dấu cho tiếng Việt không dấu sử dụng mô hình ngôn ngữ N-gram

5 Ý nghĩa khoa học của luận văn

Cài đặt hoàn chỉnh chương trình thêm dấu cho tiếng Việt không dấu

Đưa ra kết quả so sánh với những phần mềm đã có

Trang 12

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

6 Bố cục của luận văn

Mở đầu

1 Lý do chọn đề tài

2 Mục đích và nhiệm vụ

3 Phương pháp nghiên cứu

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

5 Ý nghĩa khoa học và thực tiễn của luận văn

Chương 1.Giới thiệu chung

1.1 Đặt vấn đề

1.2 Mục tiêu

13 Cấu trúc

Chương 2 Mô hình ngôn ngữ N-gram

2.1.Giới thiệu chung

2.2.Vấn đề công thức tính “xác suất thô”

2.3.Vấn đề khi xây dựng mô hình ngôn ngữ N-gram

3.4 Bộ công cụ trợ giúp xây dựng tập văn bản huấn luyện

3.5 Phương pháp tách câu, tách từ, gán nhãn từ loại và phân tích cú pháp 3.6 Dữ liệu huấn luyện

3.7 Kết quả xây dựng mô hình

Trang 13

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

3.8 Tần số của tần số

3.9 Cut-of ( loại bỏ)

3.10 Các phương pháp làm mịn

3.11 Tổng kết chương

Chương 4.Ứng dụng N-gram trong bài toán thêm dấu tiếng Việt

4.1.Bài toán thêm dấu tiếng Việt

4.2 Các phương pháp đánh giá kết quả thêm dấu

4.3 Các hệ thống thêm dấu ứng dụng về N-gram đã có

Trang 14

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1.Đặt vấn đề:

Ngôn ngữ tự nhiên là những ngôn ngữ được con người sử dụng trong các giao tiếp hàng ngày: nghe, nói, đọc, viết[13] Mặc dù con người có thể dễ dàng hiểu và học các ngôn ngữ tự nhiên, việc làm cho máy hiểu được ngôn ngữ tự nhiên không phải là chuyện dễ dàng Sở dĩ có khó khăn là do ngôn ngữ

tự nhiên có các bộ luật, cấu 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 ngữ tự nhiên cần phải nắm được ngữ cảnh của nội dung đó Do vậy, để có thể xây dựng được một bộ ngữ pháp, từ vựng hoàn chỉnh, chính xác để máy có thể hiểu ngôn ngữ tự nhiên là một việc rất tốn công sức và đòi hỏi người thực hiện phải có hiểu biết rất sâu sắc về ngôn ngữ học

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[8],[13] Nói một cách đơ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à có xác suất sinh ra là bao nhiêu

Ví dụ 1.1: Khi áp dụng mô hình ngôn ngữ cho tiếng Việt, ta có thể có

một kết quả có dạng tương tự như sau:

P[“ngày mai trời sẽ mưa”] ~ 0.001

P[“trời mưa sẽ mai ngày”] ~ 0

Với các vấn đề của xử lí ngôn ngữ tự nhiên, việc sử dụng các mô hình ngôn ngữ để xác định xác suất xẩy ra như trên sẽ giúp giới hạn lại không gian tìm kiếm, để có thể tìm ra các giải pháp tốt nhất trong một khoảng thời gian

Trang 15

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

cụm từ có trong các văn bản Trong các mô hình ngôn ngữ tiếng nói, thì gram là một trong số những mô hình được sử dụng rộng rãi nhất

N-Mục tiêu của luận văn, là nghiên cứu nắm bắt được những vấn đề cốt lõi của mô hình ngôn ngữ N-gram, đặc biệt là các kỹ thuật làm trơn các phân bố xác suất thống kê (Smoothing techniques), nhằm nâng cao chất lượng về lượng giá xác suất bởi mô hình Ngoài ra, luận văn hướng tới việc đưa ra một ứng dụng cụ thể của mô hình này cho tiếng Việt, mà cụ thể là bài toán thêm dấu cho văn bản tiếng Việt không dấu

Dấu là một thành phần không thể thiếu và mang những thông tin, nội dung quan trọng của văn bản tiếng Việt Chúng không là mẫu tự mà là một phần của mẫu tự Tuy nhiên có rất nhiều trường hợp mà người sử dụng đã loại

bỏ các thành phần này, chẳng hạn trong các tin nhắn SMS qua điện thoại, các liên lạc kiểu thư điện tử, chat, …

Khái niệm dấu ở đây không chỉ giới hạn với 5 ký hiệu về dấu thanh điệu được thể hiện trong chữ Việt để thể hiện cho sáu loại thanh điệu khác nhau: ngang, huyền, ngã, hỏi, sắc, và nặng Mà hơn thế nữa, nó còn bao gồm các nhiều dấu phụ trợ cho 5 nguyên âm không dấu: a, i, u, e, o để tạo lập các ký tự

đủ đa dạng cho việc ký âm các nguyên âm tiếng Việt, a ă â e ê i o ô ơ u ư y Ngoài ra chữ Việt có thêm dấu gạch trên đầu d để ký âm cho một phụ âm khác là đ

Trong đa số trường hợp, người đọc văn bản phải nội suy được dấu tương ứng của các đoạn văn không dấu, cố gắng hiểu được ý nghĩa chuyển tải của mỗi đoạn văn dựa theo ngữ cảnh của cả văn bản Đối với các hệ thống xử lí văn bản tự động thì đây chính là một nhập nhằng rất khó giải quyết, đặc biệt

là các hệ thống phân tích cú pháp, hệ thống tìm kiếm, hệ thống dịch tự động,

… Đề tài này sẽ tập trung vào một phương pháp cơ bản là sử dụng mô hình ngôn ngữ N-gram để tính toán các khả năng thêm giấu với xác suất cao nhất, giúp máy tính tự động thêm dấu cho các văn bản không dấu tiếng Việt

Trang 16

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

1.2.Mục tiêu:

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ục tiêu chính của luận văn là tìm hiểu lý thuyết về mô hình N-gram và các vấn đề trong đó, đặc biệt là các phương pháp làm mịn Về thực nghiệm, luận văn có sử dụng bộ công cụ SRILM để xây dựng mô hình ngôn ngữ cho tiếng Việt với các phương pháp làm mịn khác nhau Bằng việc áp dụng các

mô hình ngôn ngữ khác nhau đó vào bài toán thêm dấu cho tiếng Việt không dấu, và chỉ ra được phương pháp làm mịn nào là tốt nhất khi áp dụng cho mô hình ngôn ngữ tiếng Việt

1.3.Cấu trúc của luận văn:

Sau phần giới thiệu chung và mục tiêu nghiên cứu được trình bày ở Chương 1, phần còn lại của Luận văn được cấu trúc như sau:

Chương 2: Nghiên cứu các vấn đề của mô hình ngôn ngữ N-gram, các sự

cố gặp phải và cách khắc phục trong việc xây dựng tối ưu mô hình N-gram Chương 3: Luận văn tập trung vào việc mô tả thực nghiệm, bao gồm công việc xây dựng và cài đặt những chương trình hỗ trợ việc xây dựng được mô hình ngôn ngữ và các kết quả đạt được

Chương 4: Tập trung vào việc áp dụng mô hình ngôn ngữ trong bài toán thêm dấu cho tiếng Việt không dấu

Chương 5: Tổng kết những gì luận văn đã đạt được và đưa ra kế hoạch nghiên cứu trong tương lai

Trang 17

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

CHƯƠNG 2: MÔ HÌNH NGÔN NGỮ N-GRAM 2.1.Giới thiệu chung

Mô hình ngôn ngữ thống kê cho phép gán (ước lượng) xác suất cho một chuỗi m phần tử (thường là từ) P(w1w2…wm) tức là cho phép dự đoán khả

năng một chuỗi từ xuất hiện trong ngôn ngữ đó Theo công thức Bayes:

P(AB) = P(B|A) * P(A), thì ta dễ dàng suy ra được

P(w 1 w 2 …w m ) = P(w 1 ) * P(w 2 |w 1 ) * P(w 3 |w 1 w 2 ) *…* P(w m |w 1 w 2 …w m-1 )

Theo công thức này thì bài toán tính xác suất của mỗi chuỗi từ quy về bài toán tính xác suất của một từ với điều kiện biết các từ trước nó (có thể hiểu P(w1)=P(w1|start) là xác suất để w1 đứng đầu chuỗi hay nói cách khác

người ta có thể đưa thêm ký hiệu đầu dòng start vào mỗi chuỗi)

Trong thực tế, dựa vào giả thuyết Markov người ta chỉ tính xác suất của một từ dựa vào nhiều nhất N từ xuất hiện liền trước nó, và thông thường N=0,1,2,3 Vì vậy nhiều người gọi mô hình ngôn ngữ là mô hình N-gram, trong đó N là số lượng từ ( bao gồm cả từ cần tính và các từ ngữ cảnh phía trước)

Theo công thức Bayes, mô hình ngôn ngữ cần phải có một lượng bộ nhớ

vô cùng lớn để có thể lưu hết xác suất của tất cả cá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 ngữ tự

nhiên (m có thể tiến tới vô cùng) Để có thể tính được xác suất của văn bản với lượng bộ nhớ chấp nhận được, ta sử dụng xấp xỉ Markov bậc n:

P(w m |w 1 ,w 2 ,…, w m-1 ) = P(w m |w m-n ,w n-m+1 , …,w m-1 )

Nếu áp dụng xấp xỉ Markov, xác suất xuất hiện của một từ (w m) được coi

như chỉ phụ thuộc vào n từ đứng liền trước nó (w m-n w m-n+1 …w m-1) chứ không

phải phụ thuộc vào toàn bộ dãy từ đứng trước (w 1 w 2 …w m-1) Như vậy, công thức tính xác suất văn bản được tính lại theo công thức:

P(w 1 w 2 …w m ) = P(w 1 ) * P(w 2 |w 1 ) * P(w 3 |w 1 w 2 ) *…

* P(w m-1 |w m-n-1 w m-n …w m-2 )* P(w m |w m-n w m-n+1 …w m-1 )

Trang 18

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Với công thức này, ta có thể xây dựng mô hình ngôn ngữ dựa trên việc

thống kê các cụm có ít hơn n+1 từ Các mô hình N-gram được hình dung

thông qua ví dụ như sau:

Ví dụ 2.1: Giả sử cần tính xác suất p=P(nên | không thầy đố mày làm):

 Mô hình 1-Gram(unigram )tính xác suất của một từ mà không phụ thuộc vào các từ trước nó, tức là không có ngữ cảnh:

2.2.Công thức tính “xác suất thô”

Gọi C(w i-n+1 w i-1 w i ) là tần số xuất hiện của cụm w i-n+1 w i-1 w i trong tập văn bản huấn luyện

Gọi P(w i |w i-n+1 w i-1 ) là xác suất w i đi sau cụm w i-n+1 w i-2 w i-1

Ta có công thức tính xác suất như sau:

Dễ thấy, 

trong văn bản huấn luyện Do đó công thức trên viết lại thành:

Trang 19

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Tỉ lệ ở vế phải còn gọi là tỉ lệ tần số Cách tính xác suất dựa vào tỉ lệ tần

số còn gọi là ước lượng xác suất cực đại Cũng có thể gọi đây là công thức

tính “xác suất thô” để phân biệt với các cách tính xác suất theo các thuật toán

sẽ xét ở phần sau

2.3.Vần đề khó khăn khi xây dựng mô hình ngôn ngữ N-gram

2.3.1.Phân bố không đều

Với mô hình N-gram được xây dựng theo công thức “xác suất thô”, sự phân bố không đều trong tập văn bản huấn luyện có thể dẫ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 cụm n-gram không xuất hiện hoặc chỉ có số lần xuất hiện nhỏ, việc ước lượng xác suất để đánh giá các câu có chứa các cụm n-gram này sẽ cho ta một kết quả không tốt Với V là kích thước bộ từ vựng, ta sẽ có V cụm n-gram có thể sinh từ bộ

từ vựng Tuy nhiên, thực tế thì số cụm n-gram có nghĩa và thường gặp chỉ chiếm rất ít

Ví dụ 2.2: Tiếng Việt có số lượng âm tiết nhiều hơn con số mà ở đây ta

tạm đặt là 5000 âm tiết khác nhau, ta có tổng số cụm 3-gram có thể có là: 5.0003 = 125.000.000.000 Tuy nhiên, số cụm 3-gram thống kê được chỉ xấp

xỉ 1.500.000 Như vậy sẽ có rất nhiều cụm 3-gram không xuất hiện hoặc chỉ xuất hiện rất ít nên khả năng rất dễ xẩy ra là nó không xuất hiện trong dữ liệu huấn luyện mô hình

Khi tính toán xác suất của một câu, có rất nhiều trường hợp sẽ gặp cụm n-gram chưa xuất hiện trong dữ liệu huấn luyện bao giờ Điều này làm xác suất của cả câu bằng 0, trong khi câu đó có thể là một câu hoàn toàn đúng về mặt ngữ pháp và ngữ nghĩa Đề khắc phục tình trạng này, người ta phải sử dụng một số phương pháp “làm mịn” kết quả thống kê mà chúng ta sẽ đề cập

ở phần 2.5

2.3.2.Kích thước bộ nhớ của mô hình ngôn ngữ

Khi kích thước tập văn bản huấn luyện lớn, số lượng các cụm n-gram và kích thước của mô hình ngôn ngữ cũng rất lớn Nó không những gây khó

Trang 20

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

khăn trong việc lưu trữ mà còn làm tốc độ xử lý của mô hình ngôn ngữ giảm xuống do bộ nhớ của máy tính là hạn chế Để xây dựng mô hình ngôn ngữ hiệu quả, chúng ta phải giảm kích thước của mô hình ngôn ngữ mà vẫn đảm

bảo độ chính xác Vấn đề này sẽ được giải quyết ở phần 2.6

2.4.Các phương pháp làm mịn

Để khắc phục tình trạng các cụm n-gram phân bố người ta đã đưa ra các

phương pháp “làm mịn” các kết quả thống kê nhằm đánh giá chính xác hơn

(mịn hơn) xác suất của các cụm n-gram Các phương pháp “làm mịn” đánh giá lại xác suất của các cụm n-gram bằng cách:

● Gán cho các cụm n-gram có xác suất 0 (không xuất hiện trong tập huấn luyện) một giá trị khác 0

● Thay đổi lại giá trị xác suất của các cụm n-gram có xác suất khác

0 khác (có xuất hiện khi thống kê) thành một giá trị phù hợp (tổng xác suất của tất cả các khả năng N-gram khác nhau phải đảm bảo

là không đổi, với giá trị là 100%)

Các phương pháp làm mịn có thể được chia ra thành một số loại như sau:

Chiết khấu (Discounting): giảm (lượng nhỏ) xác suất của các

cụm n-gram có xác suất lớn hơn 0 để bù cho các cụm n-gram

không xuất hiện trong tập huấn luyện

Truy hồi (Back-off) : tính toán xác suất các cụm n-gram không

xuất hiện trong tập huấn luyện dựa vào các cụm n-gram thành

phần có độ dài ngắn hơn và có xác suất lớn hơn 0

Nội suy (Interpolation): tính toán xác suất của tất cả các cụm

n-gram dựa vào xác suất của các cụm n-n-gram ngắn hơn

2.4.1.Các thuật toán chiết khấu (discounting)

Vấn đề của các thuật toán chiết khấu là giảm xác suất của các cụm gram có xác suất lớn hơn 0 và bù cho các cụm N-gram chưa từng xuất hiện trong tập huấn luyện[13] Các thuật toán dạng này sẽ trực tiếp làm thay đổi

Trang 21

n-Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

tần số xuất hiện của tất cả các cụm n-gram Ở đây tôi sẽ đề cập đến 3 thuật toán chiết khấu phổ biến:

● Thuật toán Add-one

● Thuật toán Witten-Bell

● Thuật toán Good-Turing

2.4.1.1.Phương pháp làm mịn Add-one

Thuật toán làm mịn Add-one cộng thêm 1 vào số lần xuất hiện của mỗi

cụm n-gram bất kỳ rồi nhân với phân số chuẩn hóa (để bảo toàn tổng xác suất vẫn giữ nguyên là 1)

Ví dụ, với unigram, khi cộng thêm 1 vào số lần xuất hiện của mỗi cụm unigram, thì tổng số cụm unigram được thêm vào là:

M‟ = M + V với M là tổng số cụm unigram đã xuất hiện, V là kích thước bộ từ vựng

Để bảo toàn tổng số cụm unigram vẫn bằng M, thì tần số mới của các cụm unigram được tính lại theo công thức:

Ci

*

= (Ci+1) M‟Mvới Ci là tần số của cụm unigram trước khi làm mịn Như vậy, xác suất của các cụm unigram cũng được tính lại:

Pi* = Ci*

M =

(Ci+1)

M + V

Xét các cụm n-gram với n>1, thay M bằng C(w i-n+1 w i-1 ) thì xác suất

của cụm (w i-n+1 w i-1 w i ) được tính theo công thức sau:

P(w i |w i-n+1 w i-1 ) = C(w i-n+1 w i-1 w i ) + 1

Trang 22

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

10 lần, do kích thước bộ từ điển là lớn trong khi tần số xuất hiện của cụm gram đó không cao Để thuật toán thêm hiệu quả, người ta có thể sử dụng công thức tương tự ở dạng sau:

n-P(w 1 w 2 w n ) = C(w 1 w 2 w n ) +

C(w 1 w 2 w n-1 ) + M

Công thức trên là một phiên bản cải tiến thông dụng của thuật toán one Để bảo toàn tổng xác suất của tất cả các cụm N-gram, thì  được chọn trong khoảng [0, 1], với một số giá trị thông dụng sau:

add-  = 0: không làm mịn

  = 1: thuật toán add-one

  = 1

2: được gọi là thuật toán Jeffreys - Perks

2.4.1.2.Phương pháp làm mịn 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ầnnào) được tính bằng: T

T+MGọ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:

Trang 23

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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:

P(w) = c(w)

T+M 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(w i-n+1 w i-1 ) thì xác suất của cụm w i-n+1 w i-1 w i với C(w i-n+1 w i-1 w i )

= 0 được tính theo công thức sau:

Với C(wi-n+1 wi-1wi) > 0, thì xác suất cụm (w i-n+1 w i-1 w i) được tính bằng công thức:

2.4.1.3.Phương pháp làm mịn 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 gram xuất hiện c lần Như vậy:

n-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)

Trang 24

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trên thực tế, người ta không tính toán và thay thế mọi tần số c bởi một

tần số mới c* Người ta chọn một ngưỡng k nhất định, và chỉ thay thế tần số c bởi tần số mới c* khi c nhỏ hơn hoặc bằng k, còn nếu c lớn hơn k thì giữ

nguyên tần số

2.4.2.Phương pháp truy hồi(back-off)

Trong các phương pháp chiết khấu như phương pháp Add-One hay

Witten-Bell, nếu cụm (w 1 w 2 …w n ) không xuất hiện trong tập huấn luyện, và

cụm (w 1 w 2 …w n ) cũng không xuất hiện, thì xác suất của cụm (w 1 w 2 …w n ) sau

khi làm mịn vẫn bằng 0 Phương pháp truy hồi tránh rắc rối trên bằng cách ước lượng xác suất các cụm n-gram chưa xuất hiện lần nào dựa vào xác suất của các cụm N-gram ngắn hơn có xác suất khác 0.[9],[13]

Cụ thể, xác suất của cụm wi-n+1 wi-1wi được tính lại theo công thức sau:

PB(wi|wi-n+1 wi-1)= 

P(wi|wi-n+1 wi-1) nếu C(wi-n+1 wi-1wi) > 0

 * PB(wi|wi-n+2 wi-1) nếu C(wi-n+1 wi-1wi) = 0

Áp dụng cho bigram, ta có:

PB(wi|wi-1) = 

P(wi|wi-1) nếu C(wi-1wi) > 0

 * P(wi) nếu C(wi-1wi) = 0Công thức trên có thể viết lại thành:

P B (w i |w i-1 ) = P(w i |w i-1 ) + (w i-1 w i ) * * P(w i ) với u(x) =

1 nếu C(x) = 0

0 nếu C(x) > 0Tương tự, khi áp dụng cho trigram ta có:

PB(wi|wi-2wi-1)=

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

2 * P(wi) nếu C(wi-2wi-1wi ) = 0 và C(wi-1wi ) = 0Công thức trên cũng có thể viết lại thành:

Trang 25

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

PB(wi|wi-2wi-1) = P(wi|wi-2wi-1) + (wi-2wi-1wi)*1*P(wi|wi-1) + (wi-1wi)*2 * P(wi)

Sự chính xác của mô hình truy hồi phụ thuộc vào các tham số 1 và 2

Có vài kỹ thuật giúp lựa chọn được những tham số này, tùy theo tập huấn luyện và mô hình ngôn ngữ Một cách đơn giản, có thể chọn 1 và 2 là các hằng số Tuy nhiên rất khó có thể chọn được hai hằng số để tổng xác suất của tất cả các cụm n-gram không thay đổi Việc chọn hằng số không chính xác, sẽ làm ảnh hưởng lớn đến độ chính xác của cả môhình ngôn ngữ Do đó, ta có thể chọn tham số  như một hàm của N-gram:

1 = 1(wi-1wi) và 2 = 2(wi-1wi) Tuy nhiên, trong phương pháp truy hồi, tổng xác suất của tất cả các cụm n-gram sẽ luôn lớn hơn 1, do xác suất của các cụm n-gram đã xuất hiện thì không thay đổi, trong khi xác suất của các cụm n-gram chưa xuất hiện thì được tăng lên Do đó, để thuật toán chính xác hơn, thì ta cần kết hợp nó với một thuật toán chiết khấu như Witten-Bell hay Good-Turing để làm giảm xác suất của các cụm n-gram đã xuất hiện Do đó, trong thực tế, chúng ta có công thức sau:

P(wi|wi-2wi-1) =

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

2 * P‟(wi) nếu C(wi-2wi-1wi) = 0 và C(wi-1wi) = 0Trong đó P‟ chính là xác suất của cụm n-gram khi áp dụng thuật toán làm mịn chiết khấu

2.4.3.Phương pháp nội suy(Interpolation)

Phương pháp này có chung nguyên lý với phương pháp truy hồi: “sử dụng các cụm n-gram ngắn hơn để tính xác suất của cụm n-gram dài hơn”[6],[8] 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ụ thuộc vào sự xuất hiện của các cụm n-gram Công thức tính xác suất theo phương pháp nội suy như sau:

Trang 26

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Áp dụng cho bigram và trigram ta có:

P I (w i |w i-1 ) = P(w i |w i-1 ) + (1-)P(w i ) P I (w i |w i-n+1 w i-1 ) = 1 P(w i

|w i-2 w i-1 ) + 2 P(w i |w i-1 ) + 3 P(w i ) với

i i = 1

Ở công thức trên, do tổng của tất cả các tham số  bằng 1 nên để đơn giản ta có thể chọn tất cả  bằng nhau và bằng 1

3 Tuy nhiên, cũng có thể chọn các tham số  như là một hàm của N-gram:

1 = 1(wi-2wi-1wi), 2 = 2(wi-1wi) và 3 = 3(wi)

2.4.4.Phương pháp làm mịn Kneser - Ney

Thuật toán Kneser-Ney xây dựng theo hai mô hình: truy hồi và nội suy, tuy nhiên trong thuật toán này không cần phải áp dụng các thuật toán chiết khấu trước khi áp dụng công thức truy hồi

a Mô hình truy hồi:

Trong đó:

o PBKN(wi) = N(vwi) - D

w N(vw)

với N(vw) là số lượng từ v khác nhau xuất hiện

trước w trong tập huấn luyện

Trang 27

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

(wi-2wi-1)PBKN(wi|wi-1) nếu C(wi-2wi-1wi) = 0

(wi-1)PBKN(wi) nếu C(wi-1wi) = 0

PBKN(wi) = N(vwi) - D

wN(vw)

b Mô hình nội suy:

Trong đó:

nhau xuất hiện liền sau cụm wi-n+1 wi trong tập huấn luyện

o PIKN(wi) = N(vwi) - D

w N(vw)

+ 1

V với N(vw) là số lượng từ v khác nhau xuất

hiện liền trước từ w trong tập huấn luyện

o  = D N(v)

w N(vw)Như vậy:

PIKN(wi|wi-2wi-1) = C(wi-2wi-1wi) - D

C(wi-2wi-1) + (wi-2wi-1)PIKN(wi|wi-1)

PIKN(wi|wi-1) = C(wi-1wi) - D

C(wi-1) + (wi-1)PIKN(wi)

Trang 28

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.4.5.Phương pháp làm mịn Chen - GoodMan

Công thức tính toán của thuật toán Kneser-Ney cải tiến bởi Chen và GoodMan giống công thức của thuật toán Kneser-Ney, tuy nhiên hằng số D bị thay đổi

Chen và GoodMan chọn D như sau:

Trong đó: Ni là số lượng cụm n-gram có số lần xuất hiện bằng i

Chú ý rằng: với mỗi bậc của n-gram ta lại có một bộ 3 hằng số trên Điều

đó có nghĩa là: unigram, bigram, có các hằng số trên là khác nhau

2.5.Kỹ thuật làm giảm kích thước dữ liệu:

Các kỹ thuật này làm giảm kích thước của mô hình ngôn ngữ Mặc dù đều

có chung một mục tiêu, nhưng mỗi kỹ thuật lại có hiệu quả khác nhau Có ba

kỹ thuật chính, bao gồm:

Trang 29

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Pruning (loại bỏ): làm giảm số lượng các cụm n-gram trong mô

hình ngôn ngữ bằng cách loại bỏ các cụm n-gram không quan trọng

Quantization (lượng tử hóa): thay đổi lại cấu trúc thông tin của

mỗi cụm n-gram trong mô hình ngôn ngữ

Compression (nén): nén cấu trúc dữ liệu sử dụng trong việc lưu trữ

các cụm n-gram trong mô hình ngôn ngữ

Tuy nhiên, để tăng tính hiệu quả, ở bước thứ hai, thuật toán này đồng hóa một số giá trị trong bảng tần số Điều đó có nghĩa là, một số giá trị trong bảng có giá trị gần với nhau sẽ được thay thế bằng một con số chung Sau bước này, chúng ta sẽ thu được một bảng tần số với ít giá trị hơn, cũng tức là

đã làm giảm kích thước của mô hình ngôn ngữ đi một lần nữa

2.5.2.Loại bỏ (pruning):

Số lượng các cụm n-gram xuất hiện vài lần trong tập huấn luyện thường là lớn so với tổng số các cụm n-gram Các cụm n-gram đó thường là lỗi ngữ pháp trong tập huấn luyện, hoặc là một số dạng đặc biệt như: tên riêng, từ viết tắt,.[13] Những cụm n-gram này thường rất ít sử dụng trong thực tế, do đó việc tồn tại của chúng có thể làm ảnh hưởng đến độ chính xác

Trang 30

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

của mô hình ngôn ngữ Chính vì lý do đó, kỹ thuật pruning tập trung vào việc

loại bỏ các cụm n-gram như vậy Có 2 phương pháp chính:

Cut-off (cắt bỏ): phương pháp này tập trung vào việc loại bỏ các

cụm Ngram có tần số thấp trong tập huấn luyện

Weighted difference: phương pháp này tập trung vào việc đánh

giá và loại bỏ các cụm Ngram không hiệu quả dựa vào xác suất của các cụm Ngram trước và sau khi làm mịn theo phương pháp

truy hồi

2.5.2.1.Cắt bỏ (cut-off):

Phương pháp này là phương pháp thông dụng, thường được sử dụng để làm giảm kích thước mô hình ngôn ngữ Trong thực tế, trong tập văn bản huấn luyện, có rất nhiều cụm bigram và trigram chỉ xuất hiện một hoặc hai lần trong đoạn văn bản chứa trên một triệu từ Khi loại bỏ các cụm n-gram này ra khỏi mô hình ngôn ngữ, thông tin về chúng (bao gồm tần số và xác suất) của chúng vẫn có thể nhận lại được thông qua việc sử dụng mô hình truy hồi hay nội suy

Phương pháp cut-off hoạt động như sau: Nếu cụm n-gram xuất hiện ít hơn

k lần trong tập văn bản huấn luyện thì cụm n-gram đó sẽ bị loại bỏ ra khỏi mô hình ngôn ngữ Khi tính toán, nếu gặp lại các cụm n-gram này, thì tần số và xác suất của chúng sẽ được tính toán thông qua các phương pháp làm mịn đã trình bày ở trên

Trong một mô hình ngôn ngữ, chúng ta có thể sử dụng các tham số k khác nhau với các cụm n-gram có độ dài khác nhau Ví dụ: với unigram thì sử dụng

k = 10, với bigram thì k = 1, và trigram thì k =5

Như vậy, việc chọn tham số k cho phương pháp cut-off chính là vấn đề chính của kỹ thuật này Nếu k quá lớn, chúng ta sẽ bỏ sót thông tin về một số cụm n-gram, hiệu suất của ứng dụng cũng bị giảm Nhưng ngược lại, nếu k quá nhỏ, thì kích thước của mô hình ngôn ngữ cũng giảm không đáng kể Có

Trang 31

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2 cách để chọn k: chọn k theo phương pháp chạy thử nhiều lần hoặc chọn k theo tỉ lệ phần trăm của số lượng các cụm n-gram

Chọn k theo phương pháp chạy thử nhiều lần nghĩa là ta dùng phương pháp cut-off cho mô hình ngôn ngữ với nhiều giá trị k khác nhau rồi đánh giá

độ hỗn loạn thông tin(perplexity) của tập văn bản đầu vào sau khi sử dụng phương pháp cut-off Sau khi có kết quả, ta sẽ chọn tham số k sao cho mô hình ngôn ngữ là hiệu quả nhất (độ hỗn loạn thông tin của tập văn bản huấn luyện và kích thước mô hình ngôn ngữ đều thấp) Kỹ thuật này giúp chúng ta chọn được k phù hợp, tuy nhiên rất mất thời gian do phải chạy thử với rất nhiều giá trị của k Tuy nhiên, để đạt được một mô hình ngôn ngữ hiệu quả thì đây là một phương pháp tốt

Phương pháp thứ hai, chọn k dựa theo tỷ lệ phần trăm của số lượng các cụm n-gram phải bảo đảm rằng số cụm n-gram xuất hiện không quá k lần chiếm h% so với tổng số các cụm n-gram

Ví dụ 2.3: Nếu h=50, thì chọn k sao cho số lượng các cụm n-gram xuất

hiện không quá k lần (sẽ bị loại bỏ) chiếm 50% tổng số các cụm n-gram đã thống 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 thứ nhất đã đề cập ở trên

2.5.2.2.Sự khác biệt trọng số (Weighted difference):

Phương pháp cut-off chỉ quan tâm đến việc loại bỏ các cụm n-gram có tần số thấp, trong khi phương pháp weighted difference(sự khác biệt trọng số) thì quan tâm đến nhiều thông tin trong mô hình ngôn ngữ hơn như mối quan

hệ giữa các cụm n-gram, xác suất của từng cụm n-gram[13] Như đã trình bày

ở các phần trên, nếu một cụm n-gram không xuất hiện trong tập huấn luyện, thì xác suất của nó được ước lượng thông qua xác suất của các cụm n-gram ngắn hơn (phương pháp làm mịn kiểu truy hồi) Do đó, nếu xác suất thực tế của một cụm n-gram xấp xỉ với xác suất có được theo công thức truy hồi, thì chúng ta chẳng cần lưu trữ cụm n-gram đó làm gì nữa Đó chính là ý tưởng

Trang 32

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

của phương pháp weighted difference Sự khác biệt trọng số của một cụm gram được định nghĩa bằng:

n-w.d.factor = K * log((xác suất ban đầu) - log(xác suất truy hồi))

K chính là tham số sử dụng trong phương pháp làm mịn Good Turing Dựa vào nhân tố w.d.factor ở trên, chúng ta sẽ biết nên giữ lại hay loại bỏ một cụm n-gram Nếu w.d.factor nhỏ hơn một ngưỡng nhất định, thì cụm n-gram

đó sẽ bị loại bỏ khỏi mô hình ngôn ngữ Và ngưỡng nhất định đó chúng ta có thể bằng cách tìm theo phương pháp thử sai hoặc đặt nó bằng một giá trị hằng

số

Trong thực tế, phương pháp này mất nhiều thời gian hơn phương pháp cut-off do phải tính toán hệ số w.d.factor cho tất cả các cụm n-gram trong mô hình ngôn ngữ Và sự khác biệt lớn nhất giữa 2 phương pháp loại bỏ này chính là phương pháp weighted different chỉ hoạt động trong mô hình ngôn ngữ kiểu truy hồi, còn phương pháp cut-off thì chỉ hoạt động trong mô hình ngôn ngữ lưu trữ dữ liệu dưới dạng tần số

2.5.3.Nén (Compression)

Mô hình ngôn ngữ nào cũng có một cấu trúc dữ liệu Do đó nếu cấu trúc

dữ liệu đó được nén lại bằng các thuật toán nén, thì kích thước của mô hình ngôn ngữ tất nhiên là giảm Tuy nhiên, khi một mô hình ngôn ngữ bị nén, thì

độ chính xác và tốc độ của mô hình ngôn ngữ đều giảm (do phải giải nén, hoặc bị mất dữ liệu do thuật toán nén chưa tốt)[13] Do không hiệu quả nên

kỹ thuật này hiện nay không còn phổ biến như hai kỹ thuật trên

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

Trang 33

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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ị rất lớn trong xử lý ngôn ngữ Nó thể hiện mức độ thông tin trong ngữ pháp, thể hiện sự phù hợp của một câu với một ngôn ngữ, và dự đoán được từ tiếp theo trong cụm n-gram[6],[13]

Entropy của một biến ngẫu nhiên X được tính theo công thức:

H(X) = - 

x  X p(x)log2p(x)

Xét các câu gồm hữu hạn m từ W = (w 1 , w 2 , , w m ) trong ngôn ngữ L

Ta có công thức tính entropy như sau:

cả các câu có thể có trong ngôn ngữ L), đó là điều không thể Do đó, ta có thể tính xấp xỉ tỉ lệ entropy trên các từ theo công thức sau:

Trang 34

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Định lý Shannon-McMillan-Breiman đã chỉ ra rằng nếu ngôn ngữ ổn

định (chứa các câu gồm các từ với cấu trúc thông dụng) thì công thức trên có thể biến đổi thành:

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á trị H(L) tính theo công thức cuối cùng sẽ lớn hơn giá trị H(L) gốc Do vậy, khi tính H(L) của các mô hình ngôn ngữ khác nhau trên ngôn ngữ L, mô hình nào cho H(L) nhỏ hơn thì mô hình ngôn ngữ đó thể hiện chính xác ngôn ngữ L hơn

2.6.2 Perplexity – Độ hỗn loạn thông tin:

Độ hỗn loạn thông tin (perplexity) cũng được dùng làm thước đo để đánh giá

độ chính xác của một mô hình ngôn ngữ Trong mô hình ngôn ngữ, độ hỗn loạn thông tin của một văn bản với từ “cái” thể hiện số từ có thể đi sau từ “cái” Độ hỗn loạn thông tin của một mô hình ngôn ngữ nói chung, có thể hiểu đơn giản là số lựa chọn từ trung bình mà mô hình ngôn ngữ phải đưa ra quyết định Như vậy, độ hỗn loạn thông tin càng thấp, thì độ chính xác của mô hình ngôn ngữ càng cao

Độ hỗn loạn thông tin có thể tính theo công thức:

P(L) = 2H(L)

Ví du 2.4: L dãy kí tự a, b, …, z có perplexity là 26 còn bảng mã ASCII có

perplexity là 256

Trang 35

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.6.3.Error rate – Tỉ lệ lỗi:

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ữ[13]

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 Tỉ lệ lỗi thấp chứng tỏ mô hình ngôn ngữ hiệu quả Việc sử dụng tỉ lệ lỗi

để đánh giá đưa lại kết quả chính xác nhất khi muốn chọn lựa mô hình ngôn ngữ phù hợp để giải quyết bài toán cụ thể Tỉ lệ lỗi thường tỉ lệ thuận với giá trị entropy nhưng đôi khi mức độ tăng/giảm của tỉ lệ lỗi và entropy không đều

2.7.Tổng kết chương

Trong chương 2, tác giả tập trung vào nghiên cứu mô hình ngôn ngữ N-gram như:

-Các phương pháp làm mịn

-Các kỹ thuật làm giảm kích thước dữ liệu

Để xây dựng được mô hình ngôn ngữ có hiệu quả thì cần phải có cách đánh giá chúng Từ những vấn đề nêu trên tác giả cũng đã đề cập đến một số phương pháp đánh giá một mô hình ngôn ngữ như:

Entropy - Độ đo thông tin

Perplexity - Độ hỗn loạn thông tin

Error rate - Tỉ lệ lỗi

Ngày đăng: 02/08/2014, 21:43

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2]. Đoàn Xuân Kiên, “Bàn về chuyện đánh dấu thanh trong tiếng Việt”, đăng tại trang http://home.tiscali.be/centre.vietnam/ Sách, tạp chí
Tiêu đề: Bàn về chuyện đánh dấu thanh trong tiếng Việt
[3]. Đoàn Xuân Kiên, “xem lại một số vấn đề ngữ âm tiếng Việt: cấu trúc âm tiết”, đăng tại trang http://home.tiscali.be/centre.vietnam/ Sách, tạp chí
Tiêu đề: xem lại một số vấn đề ngữ âm tiếng Việt: cấu trúc âm tiết
[6].Chris Manning and Hinrich Schutze, Foundations of Statistical Natural Language Processing, MIT Press. Cambridge, May 1999 Sách, tạp chí
Tiêu đề: Foundations of Statistical Natural Language Processing
[7]. Boulos Harb, Ciprian Chelba, Jeffrey Dean, Sanjay Ghemawat, “Back- Off Language Model Compression”, Proceedings of Interspeech 2009, pp.325-355 Sách, tạp chí
Tiêu đề: “Back-Off Language Model Compression”
[8].Daniel Jurafsky and James H. Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition, chapter 6, February 2000 Sách, tạp chí
Tiêu đề: Speech and Language Processing: "An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition
[9]. R. Kneser and H. Ney, “Improved backing-off for M-gram language modeling”, Acoustics, Speech, and Signal Processing, 1995. ICASSP-95., 1995 International Conference on Sách, tạp chí
Tiêu đề: Improved backing-off for M-gram language modeling
[10]. Andreas stolcke, “Entropy-based pruning of backoff language models”, Proceedings of the ARPA Workshop on human language technology, 1998 [11]. Andreas stolcke, SRILM – an extensible language modeling toolkit, Conference on spoken language processing, 2002 Sách, tạp chí
Tiêu đề: “Entropy-based pruning of backoff language models"”, Proceedings of the ARPA Workshop on human language technology, 1998 [11]. Andreas stolcke, "SRILM – an extensible language modeling toolkit
[4]. Tài liệu về phần mềm VietPad đƣợc công bố tại trang web http://vietpad.sourceforge.net Link
[5]. Tài liệu về phần mềm AMPad đƣợc công bố tại trang web: http://www.echip.com.vn/echiproot/weblh/qcbg/duynghi/automarkTiếng anh Link
[1]. TS. Đinh Điền, Giáo trình xử lý ngôn ngữ tự nhiên, Khoa Công nghệ Thông tin, Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh, Tháng 12- 2004 Khác

HÌNH ẢNH LIÊN QUAN

Hình 3-1. Quy trình tách từ - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Hình 3 1. Quy trình tách từ (Trang 36)
Hình 3-2 Số lượng các cụm n-gram với âm tiết tăng kích thước dữ liệu - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Hình 3 2 Số lượng các cụm n-gram với âm tiết tăng kích thước dữ liệu (Trang 50)
Bảng 3 -1. Số lượng các cụm n-gram trong văn bản huấn luyện với âm tiết - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Bảng 3 1. Số lượng các cụm n-gram trong văn bản huấn luyện với âm tiết (Trang 50)
Bảng 3-2: Số lượng các cụm N-gram trong văn bản huấn luyện với từ - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Bảng 3 2: Số lượng các cụm N-gram trong văn bản huấn luyện với từ (Trang 51)
Bảng 3-3: Tần số của tần số các cụm N-gram áp dụng cho âm tiết - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Bảng 3 3: Tần số của tần số các cụm N-gram áp dụng cho âm tiết (Trang 52)
Hình 3-5. Số lượng các cụm Ngram (từ) có tần số từ 1 đến 10 - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Hình 3 5. Số lượng các cụm Ngram (từ) có tần số từ 1 đến 10 (Trang 53)
Bảng 3-4. Tần số của tần số các cụm Ngram với từ - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Bảng 3 4. Tần số của tần số các cụm Ngram với từ (Trang 53)
Bảng 3-5: Bộ nhớ và độ hỗn loạn thông tin khi áp dụng loại bỏ trong âm tiết - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Bảng 3 5: Bộ nhớ và độ hỗn loạn thông tin khi áp dụng loại bỏ trong âm tiết (Trang 54)
Bảng 3-6: Bộ nhớ và độ hỗn loạn thông tin khi áp dụng loại bỏ với từ - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Bảng 3 6: Bộ nhớ và độ hỗn loạn thông tin khi áp dụng loại bỏ với từ (Trang 55)
Bảng 3-7: Độ hỗn loạn thông tin của các phương pháp làm mịn cho âm tiết - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Bảng 3 7: Độ hỗn loạn thông tin của các phương pháp làm mịn cho âm tiết (Trang 56)
Bảng 3-8: Độ hỗn loạn thông tin của các phương pháp làm mịn cho từ - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Bảng 3 8: Độ hỗn loạn thông tin của các phương pháp làm mịn cho từ (Trang 56)
Hình 4-1. Sự trùng khớp của các bản dịch máy với bản dịch mẫu - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Hình 4 1. Sự trùng khớp của các bản dịch máy với bản dịch mẫu (Trang 60)
Hình 4-2. Lưu đồ thực hiện mô hình ứng dụng trong VietPad - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Hình 4 2. Lưu đồ thực hiện mô hình ứng dụng trong VietPad (Trang 62)
Hình 4-3. Lưu đồ thực hiện của mô hình N-gram  a) Tiền xử lý - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Hình 4 3. Lưu đồ thực hiện của mô hình N-gram a) Tiền xử lý (Trang 64)
Hình 4-4. Lưu đồ thực hiện của mô hình đề xuất - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Hình 4 4. Lưu đồ thực hiện của mô hình đề xuất (Trang 65)
Hình 4.5. Mô hình test thêm dấu đề xuất. - Nghiên cứu mô hình ngôn ngữ n-gram và ứng dụng trong bài toán thêm dấu cho tiếng việt không dấu
Hình 4.5. Mô hình test thêm dấu đề xuất (Trang 68)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w