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

Xử lý bài toán thêm dấu cho tiếng việt không dấu dựa trên nghiên cứu mô hình ngôn ngữ N_Gram

72 680 1

Đ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 72
Dung lượng 809,4 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chính điều này đã thúc đẩy tôi lựa chọn và tập trung “Nghiên cứu mô hình ngôn ngữ N-gram và ứng dụng thêm dấu cho tiếng Việt không dấu”, để có thể tạo ra một trong những kết quả cơ bản

Trang 1

2012

Trang 2

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

Thái Nguyên, ngày 20 tháng 9 năm 2012

Học viên

Dương Thị Hà

Trang 3

LỜI CẢM ƠN

Trước tiên, tôi xin gửi lời cảm ơn tới trường Đại học CNTT&TT – Đại học Thái Nguyên đã tạo điều kiện và tổ chức khóa học này để tôi có thể có điều kiện tiếp thu kiến thức mới và có thời gian để hoàn thành Luận văn Cao học này

Tôi xin được cảm ơn TS.Vũ Tất Thắng, 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

Tôi xin chân thành cảm ơn các thày cô đã truyền đạt cho chúng tôi những kiến thức quý báu trong quá trình học Cao học và làm Luận văn

Tôi chân thành cảm ơn các bạn bè, anh chị em trong lớp cao học K9 đã 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

Cuối cùng tôi kính gửi thành quả này đến gia đình và người thân của tôi, những người đã hết lòng chăm sóc, dạy bảo và động viên tôi để tôi có kết quả ngày hôm nay

Mặc dù tôi đã cố gắng hoàn thành Luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn không tránh khỏi những thiếu sót Xin kính mong nhận được sự cảm thông và tận tình chỉ bảo của qu ý Thầy Cô và các bạn

Thái Nguyên, ngày 20 tháng 9 năm 2012

Học viên

Dương Thị Hà

Trang 4

DANH MỤC HÌNH

Trang Hình 3.1 Quy trình tách từ 36

Hình 3.2 Số lượng các cụm N-gram với âm tiết khi tăng kích thước dữ liệu 46 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 47 Hình 3.4 Lưu đồ thực hiện của mô hình đề xuất 53

Hình 3.5 Mô hình tổng quát 54

Trang 5

DANH MỤC BẢNG

Trang 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 46

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ừ 47 Bảng 3.3 Độ hỗn loạn thông tin của các phương pháp làm mịn cho âm tiết 48

Bảng 3.4 Độ hỗn loạn thông tin của các phương pháp làm mịn cho từ 49

Trang 6

MỤC LỤC

Trang

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

DANH MỤC HÌNH iii

DANH MỤC BẢNG iv

MỤC LỤC v

MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN VỀ CÁC MÔ HÌNH NGÔN NGỮ VÀ CÁC ỨNG DỤNG TRONG LĨNH VỰC XỬ LÍ NGÔN NGỮ TỰ NHIÊN 5

1.1 MÔ HÌNH NGÔN NGỮ (LANGUAGE MODEL - LM) 5

1.2 MÔ HÌNH NGÔN NGỮ VĂN PHẠM 6

1.2.1 Từ vựng tiếng Việt 6

1.2.2 Tiếng – đơn vị cấu tạo lên từ 7

1.2.2.1 Khái niệm 7

1.2.2.2 Phân loại 7

1.2.2.3 Mô hình tiếng trong tiếng Việt và các thành tố của nó 8

1.2.3 Cấu tạo từ 9

1.2.3.1 Từ đơn 9

1.2.3.2 Từ ghép 9

1.2.3.3 Từ láy 9

1.3 CÁC MÔ HÌNH NGÔN NGỮ KHÁC DỰA TRÊN KHÁI NIỆM 11

1.4 MÔ HÌNH NGÔN NGỮ N-GRAM 12

1.4.1 Khái quát 12

1.4.2 Công thức tính “xác suất thô” 15

1.4.3 Những vấn đề khó khăn khi xây dựng mô hình ngôn ngữ N-gram 16

1.4.3.1 Phân bố không đều 16

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

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

2.1 CÁC KĨ THUẬT LÀM MỊN HÓA SỰ PHÂN BỐ XÁC SUẤT TRONG MÔ HÌNH N-GRAM ĐỂ TĂNG CHẤT CHẤT LƯỢNG CỦA MÔ HÌNH 17

2.1.1 Các thuật toán chiết khấu (Discounting) 18

Trang 7

2.1.1.1 Kĩ thuật làm mịn theo thuật toán Add-one 18

2.1.1.2 Kĩ thuật làm mịn theo thuật toán Witten-Bell 20

2.1.1.3 Kĩ thuật làm mịn theo thuật toán Good-Turing 21

2.1.2 Kĩ thuật truy hồi (Back-0ff) 21

2.1.3 Kĩ thuật nội suy (Interpolation) 23

2.1.4 Kĩ thuật làm mịn Kneser-Ney 24

2.1.5 Kĩ thuật làm mịn Chen-Goodman 25

2.2 CÁC KĨ THUẬT LÀM GIẢM KÍCH THƯỚC MÔ HÌNH 26

2.2.1 Pruning (loại bỏ) 26

2.2.1.1 Cắt bỏ (cut-off) 27

2.2.1.2 Sự khác biệt trọng số (Weighted difference) 28

2.2.2 Đồng hóa (Quantization) 29

2.2.3 Nén (Compression) 30

2.3 CÁC ĐỘ ĐO ĐỂ ĐÁNH GIÁ CHẤT LƯỢNG CỦA MÔ HÌNH N-GRAM 30

2.3.1 Entropy – Độ đo thông tin 30

2.3.2 Perplexity – Độ hỗn loạn thông tin 32

2.3.3 Error rate – Tỉ lệ lỗi 32

CHƯƠNG 3XÂY DỰNG N-GRAM CHO TIẾNG VIỆT VÀ ỨNG DỤNG TRONG BÀI TOÁN THÊM DẤU CHO TIẾNG VIỆT 34

3.1 CÔNG CỤ XỬ LÍ MÔ HÌNH 34

3.1.1 Bộ công cụ SRILM 34

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

3.2 CÔNG CỤ XỬ LÍ VĂN BẢN TIẾNG VIỆT 35

3.2.1 Công cụ tách từ cho tiếng Việt – vnTokenize 35

3.2.2 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 37

3.2.2.1 Tách câu 37

3.2.2.2 Tách từ 40

3.2.2.3 Gán nhãn từ loại 42

3.2.2.4 Phân tích cú pháp 44

3.3 DỮ LIỆU THỰC NGHIỆM 45

3.3.1 Số lượng các cụm N-gram với tiếng Việt dựa trên âm tiết 46

3.3.2 Số lượng các cụm N-gram với tiếng Việt dựa trên từ 47

Trang 8

3.4 ĐÁNH GIÁ CHẤT LƯỢNG N-GRAM CHO TIẾNG VIỆT TƯƠNG

ỨNG CÁC KĨ THUẬT TRONG CHƯƠNG 2 48

3.4.1.Với âm tiết 48

3.4.2.Với từ 49

3.5 N-GRAM VÀ ỨNG DỤNG ĐỂ THÊM DẤU CHO TIẾNG VIỆT KHÔNG DẤU 50

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

3.5.1.1 Phát biểu bài toán 50

3.5.1.2 Đặc điểm 50

3.5.1.3 Hướng giải quyết: 51

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

3.5.2.1 VietPad 51

3.5.2.2 VnMark – Mô hình thêm dấu tiếng Việt 51

3.5.3 Đề xuất hệ thống 53

3.5.3.1 Mô hình 53

3.5.3.2 Mô hình huấn luyện 60

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 61

TÀI LIỆU THAM KHẢO 63

Trang 9

MỞ ĐẦU

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

Ngôn ngữ tự nhiên là ngôn ngữ được con người sử dụng trong giao tiếp hàng ngày, nó khác hẳn với ngôn ngữ nhân tạo (ngôn ngữ lập trình, ngôn ngữ máy…) Việc làm cho máy tính hiểu được ngôn ngữ tự nhiên không phải dễ dàng Để hiểu đúng nội dung của một văn bản viết bằng ngôn ngữ tự nhiên, trong quá trình đọc hay nghe thì thực tế là ta đã nhận thức được ngữ cảnh của văn bản đó Mặt khác, 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 so với các ngôn ngữ máy tính, để có thể xây dựng một

bộ luật về ngữ pháp, từ vựng…, thật hoàn chỉnh để 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 sâu sắc về ngôn ngữ học

Mô hình ngôn ngữ (Language Model – LM) 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ữ có xác suất sinh ra là bao nhiêu hay nói cách khác thì LM phản ánh một phân bố xác suất của các từ, cụm từ trên các tập văn bản

Đòi hỏi tiên quyết, để máy tính xử lí ngôn ngữ tự nhiên chính là việc xây dựng mô hình ngôn ngữ, mà ngày nay mô hình thống kê thường được sử dụng bởi nó dựa trên các lí thuyết tường minh của xác suất thống kê để mô hình hóa ngôn ngữ, và thường đạt được độ chính xác cao trong các hệ thống thực

tế Xử lí ngôn ngữ tự nhiên dựa trên thống kê, không nhắm tới việc con người xây dựng mô hình ngữ pháp mà lập chương trình cho máy tính có thể “học” , nhờ vào việc thống kê các từ và cụm từ có trong văn bản Trong các mô hình ngôn ngữ tiếng nói thì N-gram là một trong số những mô hình được sử dụng rộng rãi nhất

Trang 10

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ó nhiều lĩnh vực trong xử lí ngôn ngữ tự nhiên sử dụng LM như: kiểm lỗi chính tả, phát sinh câu ngẫu nhiên, 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ề LM á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 LM chuẩn cho tiếng Việt vẫn còn mới mẻ và gặp nhiều khó khăn

Trong thực tế, sử dụng tiếng Việt không dấu đang trở thành thói quen không tốt của nhiều người Việt Nam trên Internet Vì để gõ tiếng Việt có dấu đòi hỏi phải mất công sức, phải có font chữ, bộ gõ Việc tự động thêm dấu và phân tích các từ này là vấn đề cần thiết và thú vị

Chính điều này đã thúc đẩy tôi lựa chọn và tập trung “Nghiên cứu mô

hình ngôn ngữ N-gram và ứng dụng thêm dấu cho tiếng Việt không dấu”,

để có thể tạo ra một trong những kết quả cơ bản nhất về xử lí ngôn ngữ nói chung, và có ích cho việc xử lí ngôn ngữ tiếng Việt vốn vô cùng phong phú của chúng ta nói riêng

Ứng dụng của phương pháp thêm dấu là khá nhiều như: Thêm dấu cho các mail; cho các quản trị web, các trang web yêu cầu viết tiếng Việt nhưng người dùng không có sẵn bộ gõ; thêm dấu cho tin nhắn điện thoại…

2 Mục tiêu và nhiệm vụ

a) Mục tiêu: Do phạm vi bài toán khá lớn và thời gian làm luận văn là có

giới hạn nên mục tiêu nghiên cứu của luận văn tập trung ở các điểm sau:

Về học thuật:

Đề tài này tập trung vào việc ứng dụng một số phương pháp tách từ, tiếng, phương pháp làm mịn trong mô hình ngôn ngữ N-gram nhằm tăng hiệu quả thêm dấu cho tiếng Việt không dấu

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ệc thêm dấu cho

tiếng Việt không dấu

Trang 11

b) 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ữ N-gram

- 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

- Tìm hiểu N-gram thông qua tài liệu

- Tìm hiể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

- Đối sánh kết quả với các phương pháp thêm dấu tự động khác khi áp dụng

mô hình ngôn ngữ N-gram cho văn bản tiếng Việt không dấu

Ngoài ra, luận văn còn sử dụng một số phương pháp tiếp cận hệ thống,

phương pháp chuyên gia và phương pháp thống kê và mô hình hóa

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

a) Ý nghĩa khoa học:

- Trình bày các kiến thức toán học cơ bản về mô hình ngôn ngữ N-gram, lý

thuyết độ phức tạp của thuật toán

- Trình bày các phương pháp làm mịn trong mô hình N-gram

b) Ý nghĩa thực tiễn:

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

- Đối sánh kết quả với các phần mềm tương tự đã có

Trang 12

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

Mở đầu

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

2 Mục tiêu 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 của luận văn

Chương 1: Tổng quan về các mô hình ngôn ngữ và các ứng dụng trong

lĩnh vực xử lí ngôn ngữ tự nhiên

1.1 Mô hình LM

1.2 Mô hình ngôn ngữ văn phạm

1.3 Các mô hình ngôn ngữ khác dựa trên khái niệm

1.4 Mô hình ngôn ngữ N-gram

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

2.1 Các kĩ thuật làm mịn hóa sự phân bố xác suất trong mô hình N-gram để tăng chất lượng của mô hình

2.2 Các kĩ thuật làm giảm kích thước mô hình

2.3 Các độ đo để đánh giá chất lượng của mô hình N-gram

Chương 3: Xây dựng N-gram cho tiếng Việt và ứng dụng trong bài toán

thêm dấu cho tiếng Việt không dấu

3.5 N-gram và ứng dụng để thêm dấu cho tiếng Việt không dấu

Kết luận và hướng phát triển của đề tài

Trang 13

CHƯƠNG 1 TỔNG QUAN VỀ CÁC MÔ HÌNH NGÔN NGỮ VÀ CÁC ỨNG DỤNG TRONG LĨNH VỰC XỬ LÍ NGÔN NGỮ TỰ NHIÊN

Ngôn ngữ tự nhiên là ngôn ngữ được con người dùng trong các hoạt động giao tiếp hàng ngày như nghe, nói, đọc, viết [13] Con người có khả năng dễ dàng hiểu và xử lí thông tin thực tế ấy nhưng để máy tính hiểu ngôn ngữ tự nhiên thì không phải dễ Khó khăn ấy là do, ngôn ngữ tự nhiên có những cấu trúc cú pháp, những bộ luật phong phú hơn nhiều so với ngôn ngữ của máy tính, ngoài ra muốn hiểu đúng nội dung giao tiếp còn phải nắm được ngữ cảnh của nó Vì vậy, để xây dựng một bộ từ vựng, cú pháp hoàn chỉnh, chính xác là việc rất tốn công sức, đòi hỏi người thực hiện phải có hiểu biết sâu sắc về ngôn ngữ học

1.1 MÔ HÌNH NGÔN NGỮ (LANGUAGE MODEL - LM)

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] Hay đơn giản, mô hình ngôn ngữ có thể cho biết xác suất của một câu (hoặc cụm từ) của một ngôn ngữ là bao nhiêu

Ví dụ 1.1: Áp dụng mô hình ngôn ngữ cho tiếng Việt:

P[“Hôm nay là thứ năm”] = 0.001

P[“là năm hôm thứ nay”] = 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 khác

Trang 14

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 N-gram

1.2 MÔ HÌNH NGÔN NGỮ VĂN PHẠM

* Các cấp độ trong ngôn ngữ:

- Âm vị: Đơn vị âm thanh nhỏ nhất để cấu tạo nên ngôn ngữ và khu biệt về

mặt biểu hiện vật chất (âm thanh) của các đơn vị khác, ví dụ: k-a-d (card),

b-i-g (bib-i-g)

- Hình vị: Đơn vị nhỏ nhất mang nghĩa (nghĩa ngữ pháp hay nghĩa từ vựng) được cấu tạo bởi các âm vị, ví dụ: read-ing, book –s Hình vị tiếng Việt có khi gồm 1 tiếng nhưng cũng có khi gồm nhiều tiếng tạo thành Ví dụ: lé đé, đủng đỉnh…

- Từ: Đơn vị mang nghĩa độc lập, được cấu tạo bởi (các) hình vị, có chức năng dịnh danh, ví dụ: I-am-read-ding -my-books Từ gồm có 1 tiếng hoặc một tổ hợp tiếng có ý nghĩa hoàn chỉnh

- Ngữ: gồm 2 hay nhiều từ có quan hệ ngữ pháp hay ngữ nghĩa với nhau, ví dụ: bức thư, mạng máy tính

- Câu: gồm các từ/ngữ có quan hệ ngữ pháp hay ngữ nghĩa với nhau và có chức năng cơ bản là thông báo, ví dụ: I am reading my books

- Văn bản: hệ thống các câu được liên kết với nhau về mặt hình thức, từ

ngữ, ngữ nghĩa và ngữ dụng

1.2.1 Từ vựng tiếng Việt

Việc đưa ra chính xác định nghĩa thế nào là một từ thì không phải đơn

giản, đòi hỏi công sức của các nhà ngôn ngữ học Chúng ta đưa ra một định nghĩa sau về từ làm một ví dụ:

“Từ là đơn vị nhỏ nhất có nghĩa, có kết cấu vỏ ngữ âm bền vững, hoàn chỉnh, có chức năng gọi tên, được vận dụng độc lập, tái hiện tự do trong lời nói để tạo câu”[10]

Trang 15

Nhưng xét về góc độ ứng dụng thì ta có thể hiểu một cách đơn giản là

“từ được cấu tạo bởi một hoặc nhiều tiếng”

1.2.2 Tiếng – đơn vị cấu tạo lên từ

1.2.2.1 Khái niệm

Tiếng là đơn vị cơ sở để cấu tạo nên từ tiếng Việt Tiếng do một hay nhiều âm phát ra cùng một lúc tạo thành Tiếng có âm đầu, vần, thanh Vần có

âm đệm, âm chính, âm cuối Ví dụ: “Toàn” có phụ âm đầu T, âm đệm O, âm

chính A, âm cuối N và thanh huyền

Trong các yếu tố tạo thành tiếng, âm chính và thanh lúc nào cũng có, còn âm đầu, âm đệm và âm cuôi có thể vắng mặt Ví dụ: à, ế, ở…

Về mặt hình thức thì tiếng là một đoạn phát âm của người nói, dù chúng ta có phát âm chậm đến mấy thì ta cũng không thể tách tiếng ra thành

các đơn vị khác được Tiếng được các nhà ngôn ngữ học gọi là âm tiết

Trang 16

 Tiếng tự thân nó không có ý nghĩa nhưng lại đi với nhau để tạo thành

từ Nhưng nếu tách rời tiếng này ra đứng riêng thì không có nghĩa, nhưng ghép lại thì được từ có nghĩa Ta gặp các từ mượn như: a-pa-tit, mì-chính, gác-đơ-bu…

Trong tiếng Việt, thì nhóm đầu tiên chiếm đa số Các tiếng thuộc hai nhóm sau ít sử dụng, đặc biệt là nhóm thứ ba Điều này chứng tỏ là khi nói, người ta thường sử dụng các tiếng có nghĩa, hiếm khi lại nói ra toàn từ vô nghĩa

1.2.2.3 Mô hình tiếng trong tiếng Việt và các thành tố của nó

Ta có thể biểu diễn cấu trúc của tiếng trong bảng sau: [11]

Thanh điệu Vần

Âm đầu

 Thanh điệu: Mỗi tiếng đều có 1 thanh điệu là một trong sáu loại sau: sắc, hỏi, ngã, nặng, huyền và bằng Chúng có tác dụng phân biệt tiếng về cao độ Ví dụ: “quác”, “quạc”

 Âm đầu: Có tác dụng mở đầu âm tiết như “mùa”, “hùa”, “hoa”,

 Âm cuối: Có tác dụng kết thúc tiếng với các âm sắc khác nhau, do đó

có thể phân biệt các tiếng Ví dụ: “nhàn”, “nhài”…

 Cụm gồm âm đệm, âm chính, âm cuối gọi là vần Ví dụ: vần “uay”,

“anh”…

Đây là 5 thành tố của tiếng mà bất cứ tiếng nào trong tiếng Việt đều có cấu trúc như vậy (vần không phải là thành tố mà chỉ là cách gọi của nhóm 3

Trang 17

âm nói trên) Nhưng cũng có một số trường hợp một số âm trùng nhau, nhất là với những tiếng chỉ có 3 kí tự trở xuống

1.2.3 Cấu tạo từ

Như đã nêu ở trên, từ trong tiếng Việt hoặc là bằng 1 tiếng hoặc là tổ hợp của nhiều tiếng khác nhau để tạo ra các loại từ Sau đây, trong giới hạn, luận văn xin đề cập tới một số loại từ sau

Độ dài của từ láy là 2 tiếng hoặc 4 tiếng Nhưng trong tiếng Việt láy 2 tiếng chiếm đa số, chúng chia thành các loại sau:

 Láy hoàn toàn: Là cách láy mà tiếng sau lặp lại hoàn toàn tiếng trước Gọi là hoàn toàn nhưng thực ra các tiếng không trùng khít nhau mà có những sai khác rất nhỏ mà ta có thể nhìn thấy được

o Láy hoàn toàn đối nhau ở thanh điệu Ví dụ: sừng sững, loang loáng…

Trang 18

o Láy hoàn toàn đối nhau ở âm cuối Ví dụ: khin khít, ăm ắp…

o Láy hoàn toàn đối nhau ở trọng âm, tức là 1 tiếng được nói dài hơn, nhấn mạnh hơn so với tiếng kia Ví dụ: ầm ầm, đùng đùng…

 Láy bộ phận: Là cách láy mà chỉ có phần điệp ở phần âm đầu của tiếng, hoặc điệp ở phần vần thì gọi là láy bộ phận Căn cứ vào đó, ta có các loại sau:

o Từ láy điệp ở âm đầu và đối ở vần: nhưng nhức, thơ thẩn…

o Từ láy điệp ở vần và đối ở âm đầu: hấp tấp, liểng xiểng… Tóm lại, tiếng Việt được xếp vào loại hình đơn lập (isolate) hay còn gọi là loại hình phi hình thái, không biến hình, đơn tiết với những đặc điểm chính sau:

- Trong hoạt động ngôn ngữ, từ không biến đổi hình thái, ý nghĩa ngữ pháp nằm ở ngoài từ Ví dụ, tôi nhìn thấy anh ấy; anh ấy nhìn tôi

- Phương pháp chủ yếu là trật tự từ và từ hư Ví dụ, gạo xay và xay gạo

- Tồn tại một loại đơn vị đặc biệt, đó là “hình tiết” mà vỏ ngữ âm trùng khít với âm tiết, và đơn vị đó “cũng chính là hình vị tiếng Việt” hay còn gọi là tiếng (theo tác giả Đinh Điền thì có khoảng 10.000 tiếng, nhưng theo khảo sát của hội người mù Việt Nam khi làm chương trình sách nói thì chỉ có khoảng

3000 từ)

- Ranh giới từ không xác định mặc nhiên bằng khoảng trắng như các thứ tiếng biến hình khác Ví dụ: “học sinh học sinh học” Điều này khiến cho việc phân tích hình thái (tách từ) tiếng Việt trở nên khó khăn Việc nhận ranh giới

từ là quan trọng làm tiền đề cho xử lí tiếp sau đó như: kiểm lỗi chính tả, gán nhãn từ, thống kê tần suất từ…

- Tồn tại loại từ đặc biệt “từ chỉ loại” (classifier) hay còn gọi là phó danh từ chỉ loại đi kèm với danh từ như: cái bàn, cuốn sách, bức thư…

- Về mặt âm học, các âm tiết tiếng Việt đều mang 1 trong 6 thanh điệu (ngang, sắc, huyền, hỏi, ngã, nặng) Đây là âm vị siêu đoạn tính

Trang 19

- Có hiện tượng láy trong từ tiếng Việt như: lấp lánh, lung linh… Ngoài ra, còn có hiện tượng nói lái (do mối liên kết giữa phụ âm đầu và phần vần trong

âm tiết là lỏng lẻo) như: hiện đại  hại điện…

- Ngoài ra, theo[1] tiếng Việt còn có một loại từ là từ Ngẫu hợp Đây là những từ mà người bản ngữ hiện nay không tìm thấy mối quan hệ gì về ngữ

âm hay ngữ nghĩa giữa các tiếng cấu tạo nên chúng Ví dụ: bồ câu, bồ hòn, cao su, hy sinh, kinh tế…

1.3 CÁC MÔ HÌNH NGÔN NGỮ KHÁC DỰA TRÊN KHÁI NIỆM

Trên thực tế, mỗi một mô hình ngôn ngữ đều có chứa lượng lớn những ngoại lệ Thậm chí ngay cả khi người thiết kế tìm cách giải quyết hết các ngoại lệ mà họ nghĩ đến thì vẫn tồn tại những trường hợp chỉ xuất hiện khi hệ thống được đưa vào thực nghiệm Hơn nữa, việc xây dựng một mô hình ngôn ngữ dựa trên các luật là rất tốn công sức Thông thường để xây dựng một hệ thống như vậy đòi hỏi công sức vài tháng từ một lập trình viên với nhiều kinh nghiệm về ngôn ngữ học Thời gian này còn lớn hơn khi chúng ta chuyển sang lĩnh vực khác hay sang ngôn ngữ khác

Câu trả lời cho các giới hạn này là phải xây dựng một hệ thống bằng cách nào đó có thể “tự học”, điều này sẽ giúp bớt sự tham gia của các chuyên gia ngôn ngữ và làm tăng tính khả chuyển của hệ thống Có nhiều phương pháp học máy như mô hình Markov ẩn (Hidden Markov Models - HMM), mô hình Markov cực đại hóa Entropy (Maximum Entropy Markov Models – MEMM)

và mô hình Conditional Random Field (CRF)…

* Mô hình Markov ẩn (HMM) được nghiên cứu cuối những năm 1960 và đầu những năm 1970, cho đến nay nó được ứng dụng nhiều trong nhận dạng tiếng nói, tin sinh học và xử lí ngôn ngữ tự nhiên HMM là mô hình máy trạng thái hữu hạn (Probabilistic finite state machine) với các tần số biểu diễn xác suất chuyển trạng thái và xác suất sinh dữ liệu quan sát tại mỗi trạng thái

Trang 20

Trong bài toán “Maximum Entropy Markov Models for Information Extration and Segmentation”, Andrew McCallum đã đưa ra hai vấn đề mà các

mô hình HMM truyền thống nói riêng và các mô hình sinh (generative models) nói chung gặp phải khi gán nhãn cho dữ liệu dạng chuỗi

* Mô hình Markov cực đại hóa Entropy (MEMM): Mc Callum đã đưa ra một mô hình Markov mới – mô hình MEMM như một đáp án cho những vấn

đề của mô hình Markov truyền thống Mô hình MMEM quan niệm rằng các quan sát đã được cho trước và chúng ta không cần quan tâm đến xác suất sinh

ra chúng, điều duy nhất cần quan tâm là xác suất chuyển trạng thái So với mô hình HMM, ở đây quan sát hiện tại không chỉ phụ thuộc vào trạng thái hiện tại mà còn phụ thuộc vào trạng thái trước đó, điều đó có nghĩa là quan sát hiện tại được gắn liền với các trạng thái riêng lẻ như mô hình HMM truyền thống

* CRF được giới thiệu lần đầu tiên vào đầu năm 2001 bởi Lafferty và các đồng nghiệp Giống như MMEM, CRF là mô hình dựa trên xác suất điều kiện, nó có thể tích hợp được các thuộc tính đa dạng của chuỗi dữ liệu quan sát nhằm hỗ trợ cho quá trình phân lớp Tuy vậy, khác với MEMM, CRF là

đồ thị vô hướng Điều này cho phép CRF có thể định nghĩa phân phối xác suất của toàn bộ chuỗi trạng thái với điều kiện biết chuỗi trạng cho trước thay

vì phân phối trên mỗi trạng thái với điều kiện biết trạng thái trước đó và quan sát hiện tại như các mô hình MEMM

1.4 MÔ HÌNH NGÔN NGỮ N-GRAM

1.4.1 Khái quát

Mô hình ngôn ngữ thống kê cho phép gán (ước lượng) xác suất xuất hiện của một chuỗi gồm m phần tử, thường là từ P(w1w2…wm), hay nói cách khác

Trang 21

nó cho phép dự đoán khả năng xuất hiện một chuỗi từ trong 1 ngôn ngữ Theo công thức Bayes:

P(AB)=P(B|A)*P(A) trong đó:

+ P(A): Xác suất xảy ra sự kiện A

+ P(B): Xác suất xảy ra sự kiện B

+ P(B|A): Xác suất (có điều kiện) xảy ra sự kiện B nếu biết rằng sự kiện A

thể bổ sung vào công thức tính xác suất của câu giá trị P(stop|wn) là xác suất

để từ wn xuất hiện ở cuối câu

Trong thực tế, dựa vào giả thuyết Markov, người ta chỉ tính xác suất của 1

từ dựa vào nhiều nhất n từ liền ngay trước nó, thường n = 0, 1, 2, 3 Do đó, nhiều người gọi mô hình ngôn ngữ là mô hình N-gram, trong đó N là số lượng

Trang 22

từ (bao gồm cả từ cần tính và các từ ngữ cảnh nằm phía trước nó) hay gọi là bậc của N-gram

Như đã đề cập ở trên, theo công thức Bayes, mô hình ngôn ngữ cần bộ nhớ rất lớn để lưu trữ xác suất xuất hiện của tất cả các chuỗi từ có độ 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) Để tính được xác suất của văn bản với dung lượng bộ nhớ chấp nhận được, ta dùng xấp xỉ Markov bậc n:

P(wm|w1w2…wm) = P(wm|wm-nwm-n+1…wm-1)

Điều này chứng tỏ, nếu áp dụng xấp xỉ Markov thì xác suất xuất hiện của một từ (wm) được coi như chỉ phụ thuộc vào n từ đứng liền ngay trước nó (wm-

nwm-n+1…wm-1), chứ không phải phụ thuộc vào tất cả các từ đứng trước nó (w1

w2…wm-1) Như vậy, công thức tính xác suất văn bản như sau:

P(w1w2…wm) = P(w1)*P(w2|w1)*P(w3|w1w2)*…*P(wm-1|wm-n-1wm-n…w

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

Với công thức trên, 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 ngôn ngữ N-gram được hình dung qua ví dụ sau:

Ví dụ 1.2: Giả sử cần tính xác suất của P(bạn|học thày không tày học bạn)

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

P=P(bạn)

 Mô hình 2-gram (bigram): Tính xác suất của 1 từ dựa vào 1 từ liền ngay trước nó

P=P(bạn|học)

Trang 23

 Mô hình 3-gram (trigram): Tính xác suất của 1 từ dựa vào 2 từ liền ngay trước nó

P=p(bạn|tày bạn)

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

Để sử dụng được, mô hình n-gram cần được cung cấp nhiều thông tin về xác suất Các thông tin này được rút trích từ một kho ngữ liệu cho trước, gọi

là kho ngữ liệu huấn luyện

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

Gọi P(wi| wi-n+1…wi-1) là xác suất từ wi đi sau cụm từ wi-n+1…wi-1 Khi đó ta

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

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

Đây là việc huấn luyện N-gram bằng cách đếm tần số và trung bình hóa

Tỉ lệ ở vế phải 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ông thức tính xác suất khác sẽ được đề cập tới

ở những nội dung sau

Trang 24

1.4.3 Những vấn đề khó khăn khi xây dựng mô hình ngôn ngữ N-gram

1.4.3.1 Phân bố không đều

Với mô hình ngôn ngữ N-gram xây dựng theo công thức tính “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 những ướ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 hay số lần xuất hiện ít, thì việc ta ước lượng xác suất

để đánh giá câu có chứa cụm N-gram này sẽ cho ta 1 kết quả không tốt Với V

là kích thước bộ từ vựng, ta có thể có V cụm N-gram sinh ra từ V Trong thực

tế, số cụm N-gram có nghĩa và thường gặp chiếm rất ít

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

đây là 5000 âm tiết khác nhau, ta có tổng số cụm 3-gram có thể là 50003=125

000 000 000 Tuy nhiên, số cụm 3-gram xuất hiện thống kê được chỉ xấp xỉ

1500 000 Như vậy, có rất nhiều cụm 3-gram không xuất hiện hoặc xuất hiện rất ít nên khả năng nó không xuất hiện trong trong dữ liệu huấn luyện mô hình

là rất dễ xảy ra

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

N-số phương pháp “làm mịn” kết quả thống kê mà ta sẽ đề cập trong phần 2.1

1.4.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ụm N-gram và kích thước mô hình ngôn ngữ cũng lớn, điều này không những khó khăn trong việc lưu trữ mà còn làm giảm tốc độ xử lí của mô hình ngôn ngữ do bộ nhớ máy tính là hữu hạn Để 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, điều này

được làm rõ trong phần 2.3

Trang 25

CHƯƠNG 2

MÔ HÌNH NGÔN NGỮ N-GRAM

2.1 CÁC KĨ THUẬT LÀM MỊN HÓA SỰ PHÂN BỐ XÁC SUẤT TRONG MÔ HÌNH N-GRAM ĐỂ TĂNG CHẤT CHẤT LƯỢNG CỦA

MÔ HÌNH

Do hoàn toàn dựa vào ngữ liệu huấn luyện, mô hình N-gram có một nhược điểm, đó là khi ngữ liệu không đủ sự dày đặc cần thiết, các xác suất thu được

sẽ rất nhỏ (thường bằng 0) làm cho việc tính toán không còn chính xác

Với bigram, sự tồi tệ này xảy ra khi C(w i-1 w i )=0 hoặc thậm chí C(w i-1 )=0

Để khắc phục tình trạng các cụm N-gram phân bố không đều, người ta đã đưa ra các kĩ thuật “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 kĩ thuật làm mịn 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 lần nào trong tập văn bản 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 kĩ thuật làm mịn có thể có 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-N-gram không xuất hiện trong tập văn bản huấn luyện

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

xuất hiện dựa vào các cụm N-gram có độ dài ngắn hơn và có xác suất lớn hơn 0 trong tập huấn luyện

Trang 26

 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-gram ngắn hơn

2.1.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à làm 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 tần số xuất hiện của tất cả các cụm N-gram Trong luận văn, đề cập tới ba thuật toán chiết khấu phổ biến:

N- Thuật toán Add-one

 Thuật toán Witten-Bell

 Thuật toán Good-Turing

2.1.1.1 Kĩ thuật làm mịn theo thuật toá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ới cụm unigram, khi cộng thêm 1 vào số lần xuất hiện của mỗi cụm thì tổng số cụm unigram được thêm vào là:

Trang 27

Khi đó, xác suất của các cụm unigram cũng được tính lại:

M

i

=

V M

w w w C

i i n i

i i n i

(

1 )

(

1 1

1 1

Nhận xét, với công thức trên, thuật toán này sẽ làm thay đổi đáng kể xác suất của các cụm N-gram đã xuất hiện trong tập huấn luyện nếu kích thước của bộ từ điển V là rất lớn

Trong thực nghiệm, một vài cụm N-gram có xác suất giảm đi gần 10 lần,

do kích thước của bộ từ điển là lớn, trong khi đó tần số xuất hiện của cụm gram đó không cao Nói cách khác, phương pháp Add-One cho kết quả không hợp lí, do dưới góc độ nào đó, giá trị 1 đôi khi trở nên rất lớn cho những sự kiện không hề được quan tâm đến

N-Vì vậy, để thuật toán thêm hiệu quả, thay vì cộng 1 thì ta cộng thêm 1 giá trị thích hợp, người ta có thể sử dụng công thức tương tự như sau:

P(w1w2 wn) =

M w

w w C

w w w w C

(

)

(

1 2 1

2 1

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 đoạn [0,1] với một số giá trị như sau:

Trang 28

2.1.1.2 Kĩ thuật làm mịn theo thuật toán Witten-Bell

Hoạt động của thuật toán: Khi gặp cụm N-gram có tần số là 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, M là tổng

số cụm unigram đã thống kê Khi đó, 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 nào) được tính bằng:

M T

w C

) (

, với C(w) là số lần xuất hiện của cụm

w

* Với các cụm N-gram (n>1), thì cũng giống như thuật toán Add-one, thay

M bởi C(wi-n+1 wi-1), thì xác suất của cụm (w i-n+1 wi-1wi) với:

 C(w i-n+1 wi-1wi) = 0 được tính theo công thức:

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

))

w ( )

w ( )(

w (

)

w (

1 1 1

1 1

1

1 1

n i

i n i

w C

w T

w Z

w T

 C(w i-n+1 wi-1wi) > 0 được tính theo công thức:

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

)

w ( )

w (

)

w (

1 1 1

1

1 1

i i n i

w C

w T

w w T

Trang 29

2.1.1.3 Kĩ thuật làm mịn theo thuật toán Good-Turing

Thuật toán này dựa trên việc tính toán Nc, với Nc là số 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 (cụm N-gram không xuất hiện lần nào trong tập huấn luyện)

N1 là số cụm N-gram có tần số 1 (cụm N-gram xuất hiện 1 lần trong tập huấn luyện)

Nc có thể hiểu như sau: Nc = 

 c

w count

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ố c* mới Người ta chọn một ngưỡng k nhất định, và chỉ thay tần số c bởi tần

số c* khi c nhỏ hơn hoặc bằng k, ngược lại thì không thay thế gì cả

2.1.2 Kĩ thuật truy hồi (Back-0ff)

Trong kĩ thuật làm mịn bằng thuật toán chiết khấu, như thuật toán Add-one, Witten-Bell, nếu cụm (w1w2 wm) không xuất hiện trong tập huấn luyện, và cụm ấy cũng không xuất hiện, thì xác suất của nó sau khi làm mịn vẫn là 0 Kĩ thuật truy hồi sẽ tránh được 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á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 theo công thức sau:

Trang 30

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 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 ) = 0

Công thức trên cũng có thể được viết lại như sau:

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ó một vài kĩ thuật giúp lựa chọn được tham số này, tùy theo tập văn bản huấn luyện và mô hình ngôn ngữ Một cách đơn giản là có thể chọn 1 và 2 là các hằng số Tuy nhiên, rất khó để 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 lựa chọn không chính xác sẽ làm ảnh hưởng không nhỏ tới sự 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 kĩ thuật 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 là không đổi trong khi xác suất của các cụm N-gram chưa xuất hiện lần nào được tăng lên

Do đó, để thuật toán chính xác hơn, cần kết hợp nó với một thuật toán như

Trang 31

Witten-Bell hoặc 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.1.3 Kĩ thuật nội suy (Interpolation)

Hoạt động của kĩ thuật này có điểm giống với kĩ thuật 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ác cụm N-gram dài hơn [2], [4] Tuy nhiên, kĩ thuật này cũng có điểm khác với kĩ thuật truy hồi ở chỗ: kĩ thuật 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:

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

Á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-2 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 Trong 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

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

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

Trang 32

2.1.4 Kĩ thuật làm mịn Kneser-Ney

Thuật toán theo kĩ thuật làm mịn Kneser-Ney được xây dựng theo hai mô hình: truy hồi và nội suy Tuy nhiên, kĩ thuật này không cần kết hợp với 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:

PBKN(wi|wi-n+1 wi-1) =

C(wi-n+1 wi) - D

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

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

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

o (wi-n+1 wi-1) =

1 -

w:C(wi-n+1 wi-1w)>0 C(wi-n+1 wi-1w) - D

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

PBKN(wi|wi-1) =

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

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

PBKN(wi) = N(vwi) - D

wN(vw)

Trang 33

b Mô hình nội suy:

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

C(wi-n+1 wi-1) + (wi-n+1 wi-1)PIKN(wi|wi-n+2 wi-1) Trong đó:

(wi-n+1 wi-1) = D N(wi-n+1 wi-1v)

C(wi-n+1 wi-1) với N(wi-n+1 wi-1v) là số lượng từ v khác 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 34

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

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

2.2 CÁC KĨ THUẬT LÀM GIẢM KÍCH THƯỚC MÔ HÌNH

Một số kĩ thuật chính:

 Pruning (loại bỏ): Làm giảm số lượng của các cụm N-gram bằng cách

loại bỏ các cụm N-gram không quan trọng

 Quantization (đồng hóa, lượng tử hóa): Thay đổ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ữ

2.2.1 Pruning (loại bỏ)

Trường hợp các cụm N-gram chỉ xuất hiện vài lần trong tập huấn luyện là thường gặp Các cụm N-gram loại này thường là những lỗi ngữ pháp trong tập huấn luyện hoặc một số dạng đặc biệt như tên riêng, từ viết tắt [13] Các cụm N-gram ấy rất ít sử dụng trong thực tế, nên việc tồn tại chúng có thể làm ảnh

Trang 35

hưởng đến độ chính xác 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ó hai phương pháp chính:

 Cắt bỏ (cut-off): Phương pháp này sẽ loại bỏ các cụm N-gram 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 N-gram không hiệu quả dựa vào xác suất của các cụm N-gram trước và sau khi làm mịn theo thuật toán truy hồi

2.2.1.1 Cắt bỏ (cut-off)

Đây là phương pháp thông dụng để làm giảm kích thước của mô hình ngôn ngữ Trong thực tế, có rất nhiều cụm bigram, trigram chỉ xuất hiện vài 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 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) vẫn

có thể lấy lại được thông qua việc sử dụng kĩ thuật truy hồi hay nội suy

Hoạt động của kĩ thuật cắt bỏ: Nếu cụm N-gram xuất hiện ít hơn k lần trong tập huấn luyện thì nó sẽ bị loại bỏ khỏi mô hình Khi tính toán, nếu gặp 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 đã đề cập ở phần 2.1

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ì dùng k

= 10, bigram thì dùng k = 1 và với trigram thì chọn k = 5

Như vậy, việc chọn tham số k cho kĩ thuật cắt bỏ chính là vấn đề chính của

kĩ thuật này Nếu k quá lớn, ta có thể 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 giảm Ngược lại, nếu k quá nhỏ thì mô hình ngôn ngữ cũng giảm không đáng kể Có 2 cách chọn k: hoặc chọn k theo

Trang 36

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 kĩ thuật cắt

bỏ 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 kĩ thuật cắt bỏ này Sau khi có kết quả, ta sẽ chọn tham số k sao cho mô hình ngôn ngữ đạt hiệu quả nhất (độ hỗn loạn thông tin của tập 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 mất thời gian vì phải chạy thử nhiều lần với từng giá trị k Song, để đạt được một mô hình hiệu quả thì đây là một kĩ thuật tốt

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

N-so với tổng các cụm N-gram

Ví dụ 2.1: Nếu h = 50, ta chọn k sao cho số lượng cụm N-gram xuất hiện

không quá k lần 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 bằng phương pháp thứ nhất ở trên

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

Kĩ thuật cắt bỏ chỉ quan tâm đến việc loại bỏ các cụm N-gram có tần số thấp, trong khi kĩ thuật weighted difference thì quan tâm nhiều đến thông tin trong mô hình ngôn ngữ hơn 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, 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 tính toán thông qua xác suất của cụm N-gram ngắn hơn (kĩ thuật 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, chúng ta chẳng cần lưu trữ cụm N-gram ấy làm gì nữa Đó

Ngày đăng: 07/11/2014, 18:32

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2]. Andreas stolcke, “Entropy-based pruning of backoff language models”, Proceedings of the ARPA Workshop on human language technology, 1998 [3]. 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 [3]. Andreas stolcke, "SRILM – an extensible language modeling toolkit
[4]. 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”
[5]. 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
[6]. 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
[7]. 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
[8]. Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu, Bleu: a Method for Automatic Evaluation of Machine Translation, IBM T. J. Watson Research Center, Proceedings of the 40th Annual Meeting of the Associaon for Computational Linguistics (ACL), Philadelphia, July 2002 Sách, tạp chí
Tiêu đề: Bleu: a Method for Automatic Evaluation of Machine Translation
[9]. Đ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
[10]. Đ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
[13]. Tô Hồng Thắng, Building language model for vietnamese and its application, graduation thesis, 2008 Sách, tạp chí
Tiêu đề: Building language model for vietnamese and its application
[11]. Tài liệu về phần mềm VietPad được công bố tại trang web http://vietpad.sourceforge.net Link
[12]. 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/automark 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.Tiếng anh Khác

HÌNH ẢNH LIÊN QUAN

Hình 3.1 Quy trình tách từ - Xử lý bài toán thêm dấu cho tiếng việt không dấu dựa trên nghiên cứu mô hình ngôn ngữ N_Gram
Hình 3.1 Quy trình tách từ (Trang 44)
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. - Xử lý bài toán thêm dấu cho tiếng việt không dấu dựa trên nghiên cứu mô hình ngôn ngữ N_Gram
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 54)
Hình 3.2 Số lượng các cụm N-gram với âm tiết khi tăng kích thước dữ liệu. - Xử lý bài toán thêm dấu cho tiếng việt không dấu dựa trên nghiên cứu mô hình ngôn ngữ N_Gram
Hình 3.2 Số lượng các cụm N-gram với âm tiết khi tăng kích thước dữ liệu (Trang 54)
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ừ. - Xử lý bài toán thêm dấu cho tiếng việt không dấu dựa trên nghiên cứu mô hình ngôn ngữ N_Gram
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 55)
Bảng 3.3 Độ hỗn loạn thông tin của các phương pháp làm mịn cho âm tiết - Xử lý bài toán thêm dấu cho tiếng việt không dấu dựa trên nghiên cứu mô hình ngôn ngữ N_Gram
Bảng 3.3 Độ 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.4 Độ hỗn loạn thông tin của các phương pháp làm mịn cho từ - Xử lý bài toán thêm dấu cho tiếng việt không dấu dựa trên nghiên cứu mô hình ngôn ngữ N_Gram
Bảng 3.4 Độ hỗn loạn thông tin của các phương pháp làm mịn cho từ (Trang 57)
Hình 3.4 Lưu đồ thực hiện của mô hình đề xuất - Xử lý bài toán thêm dấu cho tiếng việt không dấu dựa trên nghiên cứu mô hình ngôn ngữ N_Gram
Hình 3.4 Lưu đồ thực hiện của mô hình đề xuất (Trang 61)
Hình 3.5 Mô hình tổng quát - Xử lý bài toán thêm dấu cho tiếng việt không dấu dựa trên nghiên cứu mô hình ngôn ngữ N_Gram
Hình 3.5 Mô hình tổng quát (Trang 62)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w