Hệthống chữviếttiếng Việt là một hệthống chữviết linh động, thông minh, có
thểdễdàng biểu thịtiếng nói dưới dạng chữviết chỉcần dựa trên những luật nhất định
mà không đòi hỏi quá nhiều vềmặt kiến thức từvựng như nhiều ngôn ngữkhác (tiếng
Anh, Pháp, Trung ).Tuy nhiên, việc giao tiếp hằng ngày chủyếu là qua tiếng nói,
điều này dẫn đến việc có nhiều cách phát âm không giống nhau giữa các vùng miền
khác nhau đối với cùng một từ. Việc này rất dễdẫn đến mắc lỗi sai chính tảtrong khi
viết. Thêm vào đó, công nghệthông tin ngày càng phát triển, việc soạn thảo văn bản
bằnghình thức viết tay dần được thay thếbằng soạn thảo văn bản qua hình thức đánh
máy. Do đó, xuất hiện thêm một loại lỗi chính tảnữa là lỗi do đánh máy gây ra. Những
lỗi sai này, người soạn thảo vănbản thường không hoặc khó có thểnhận ra lỗi chính tả
của mình. Điều này đã dẫn nhu cầu kiểm lỗi chính tảtựđộng cho nhiều ngôn ngữtrên
các hệsoạn thảo khác nhau.
Có hai loại lỗi chính tảtiếng Việt là lỗi sai âm tiết và lỗi sai từvựng (âm tiết
đúng).Luận văn này sửdụng thông tin ngữcảnh đểsửa loại lỗi thứhai. Thông tin ngữ
cảnh được thống kê từcorpus văn bản thô dựa trên mô hình ngôn ngữn-gram. Nguồn
dữliệu cho corpus được lọc tách từInternet.
Luận văn nhắm đến ứng dụng kiểm lỗi chính tả tự động trên nền web (web
application). Ưu điểm của chương trình thừa hưởng ưu điểm của Internet là không tốn
tài nguyên trên máy của người sử dụng, không phụ thuộc vào nơi sử dụng chương
trình (phạm vi ứng dụng lớn).Do đó, chương trình có thểsửdụng trên các thiết bịdi
động (Laptop, netbook, smartphone ).
Luận văn gồm có 4chương:
Chương 1: Giới thiệu tổng quan về tiếng Việt, bài toán kiểm lỗi chính tả và
phương pháp kiểm lỗi chính tảđược sửdụng.
Chương 2: Trình bày một sốvấn đềlý thuyết vềmô hình ngôn ngữn-gram.
Chương 3: Kiểm lỗi chính tảdựa vào ngữcảnh sửdụng n-gram.
Chương 4: Một sốvấn đềvề ứng dụng trên nền web và cách giải quyết.
39 trang |
Chia sẻ: oanhnt | Lượt xem: 1344 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Khóa luận Kiểm lỗi chính tảtiếng việt, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Tuấn Linh
KIỂM LỖI CHÍNH TẢ TIẾNG VIỆT
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Lời cảm ơn
Tôi xin chân thành cảm ơn thầy giáo hướng dẫn Ths. Bùi Ngọc Thăng, người đã
tạo điều kiện giúp tôi có thể thực hiện được luận văn này.
Tôi xin chân thành cảm ơn thầy Lê Anh Cường. Thầy đã giúp đỡ và chỉ bảo tận
tình về chuyên môn giúp tôi giải quyết được nhiều vấn đề còn khúc mắc. Đồng thời,
thầy cũng là người định hướng và giúp tôi theo đuổi lĩnh vực xử lý ngôn ngữ tự nhiên
mà tôi yêu thích.
Tôi cũng xin chân thành cảm ơn thầy Nguyễn Phương Thái, anh Nguyễn Việt
Cường đã giúp đỡ tôi giải đáp một số vấn đề lý thuyết và dữ liệu trong quá trình thực
hiện luận văn.
Cuối cùng, nhưng không kém phần quan trọng, tôi xin chân thành cảm ơn người
thân, bạn bè đã luôn giúp đỡ, động viên tôi trong suốt quá trình học tập và hoàn thành
luận văn.
Tóm tắt luận văn
Hiện nay, vấn đề kiểm lỗi chính tả văn bản tự động là một vấn đề được rất nhiều
cá nhân, đơn vị trên thế giới nghiên cứu và triển khai. Với tiếng Việt, hiện cũng có
không ít công trình nghiên cứu và sản phẩm giải quyết bài toàn này, tuy nhiên các
chương trình kiểm lỗi chính tả cảm ngữ cảnh tiếng Việt còn rất ít, và đặc biệt là chưa
có chương trình kiểm lỗi chính tả cảm ngữ cảnh tiếng Việt nào được thực thi trên nền
web mà chỉ dừng lại ở mức độ âm tiết. Luận văn này sẽ tập trung nghiên cứu vấn đề
kiểm lỗi chính tả tiếng Việt nói chung và kiểm lỗi chính tả cảm ngữ cảnh tiếng Việt
nói riêng. Bên cạnh đó, luận văn đề xuất việc kiểm lỗi chính tả trực tuyến nhằm ứng
dụng được rộng rãi hơn, giúp giảm bớt công sức của con người.
Luận văn “Kiểm lỗi chính tả tiếng Việt” nghiên cứu việc sử dụng mô hình ngôn
ngữ cho việc giải quyết bài toán kiểm lỗi chính tả cảm ngữ cảnh tiếng Việt.
Mục lục
Mở đầu ........................................................................................................................1
Chương 1: Tổng quan ..................................................................................................2
1.1. Giới thiệu..........................................................................................................2
1.1.1. Bài toán kiểm lỗi chính tả ..........................................................................2
1.1.2. Một số phương pháp kiểm lỗi chính tả .......................................................2
1.2. Một số đặc điểm trong tiếng Việt ......................................................................3
1.2.1. Đặc điểm của tiếng Việt .............................................................................3
1.2.2. Các đơn vị của tiếng Việt ...........................................................................3
1.3. Một số lỗi chính tả cơ bản và phương pháp kiểm lỗi mức độ âm tiết .................5
1.3.1. Lỗi do đánh máy ........................................................................................5
1.3.2. Lỗi do phát âm ...............................................................................................6
1.4. Mục tiêu của luận văn .......................................................................................7
Chương 2: Mô hình ngôn ngữ ......................................................................................8
2.1. Giới thiệu..........................................................................................................8
2.2. Tính toán xác suất dựa trên n-gram ...................................................................8
2.3. N-gram đơn giản ...............................................................................................9
2.4. Làm mịn (smoothing)......................................................................................12
2.5. Áp dụng cho tiếng Việt ...................................................................................14
Chương 3: Phương pháp kiểm lỗi chính tả tiếng Việt dựa trên n-gram.......................15
3.1. Collocation .....................................................................................................15
3.2. Huấn luyện......................................................................................................16
3.3. Thuật toán kiểm lỗi .........................................................................................17
3.3.1. Sinh tập nhầm lẫn âm tiết .........................................................................17
3.3.2. Sử dụng n-gram để đưa ra âm tiết gợi ý....................................................21
3.4. Kết quả và thảo luận .......................................................................................22
3.4.1. Kết quả ....................................................................................................22
3.4.2. Thảo luận.................................................................................................24
Chương 4: Ứng dụng trên môi trường Web................................................................25
4.1. Môi trường lập trình web ................................................................................25
4.2. Ưu điểm và nhược điểm..................................................................................25
4.2.1. Ưu điểm...................................................................................................25
4.2.2. Nhược điểm .............................................................................................26
4.2.3. Một số kỹ thuật nhằm khắc phục nhược điểm ..........................................26
Kết luận .....................................................................................................................29
Phụ lục.......................................................................................................................30
Phụ lục 1: Bảng kết hợp nguyên âm với các phụ âm gi, qu ....................................30
Phụ lục 2: Bảng một số lỗi phát âm tiếng Việt .......................................................32
Tài liệu tham khảo .....................................................................................................33
Tiếng Anh..............................................................................................................33
Tiếng Việt..............................................................................................................33
1
Mở đầu
Hệ thống chữ viết tiếng Việt là một hệ thống chữ viết linh động, thông minh, có
thể dễ dàng biểu thị tiếng nói dưới dạng chữ viết chỉ cần dựa trên những luật nhất định
mà không đòi hỏi quá nhiều về mặt kiến thức từ vựng như nhiều ngôn ngữ khác (tiếng
Anh, Pháp, Trung…). Tuy nhiên, việc giao tiếp hằng ngày chủ yếu là qua tiếng nói,
điều này dẫn đến việc có nhiều cách phát âm không giống nhau giữa các vùng miền
khác nhau đối với cùng một từ. Việc này rất dễ dẫn đến mắc lỗi sai chính tả trong khi
viết. Thêm vào đó, công nghệ thông tin ngày càng phát triển, việc soạn thảo văn bản
bằng hình thức viết tay dần được thay thế bằng soạn thảo văn bản qua hình thức đánh
máy. Do đó, xuất hiện thêm một loại lỗi chính tả nữa là lỗi do đánh máy gây ra. Những
lỗi sai này, người soạn thảo văn bản thường không hoặc khó có thể nhận ra lỗi chính tả
của mình. Điều này đã dẫn nhu cầu kiểm lỗi chính tả tự động cho nhiều ngôn ngữ trên
các hệ soạn thảo khác nhau.
Có hai loại lỗi chính tả tiếng Việt là lỗi sai âm tiết và lỗi sai từ vựng (âm tiết
đúng). Luận văn này sử dụng thông tin ngữ cảnh để sửa loại lỗi thứ hai. Thông tin ngữ
cảnh được thống kê từ corpus văn bản thô dựa trên mô hình ngôn ngữ n-gram. Nguồn
dữ liệu cho corpus được lọc tách từ Internet.
Luận văn nhắm đến ứng dụng kiểm lỗi chính tả tự động trên nền web (web
application). Ưu điểm của chương trình thừa hưởng ưu điểm của Internet là không tốn
tài nguyên trên máy của người sử dụng, không phụ thuộc vào nơi sử dụng chương
trình (phạm vi ứng dụng lớn). Do đó, chương trình có thể sử dụng trên các thiết bị di
động (Laptop, netbook, smartphone…).
Luận văn gồm có 4 chương:
Chương 1: Giới thiệu tổng quan về tiếng Việt, bài toán kiểm lỗi chính tả và
phương pháp kiểm lỗi chính tả được sử dụng.
Chương 2: Trình bày một số vấn đề lý thuyết về mô hình ngôn ngữ n-gram.
Chương 3: Kiểm lỗi chính tả dựa vào ngữ cảnh sử dụng n-gram.
Chương 4: Một số vấn đề về ứng dụng trên nền web và cách giải quyết.
2
Chương 1: Tổng quan
Chương này giới thiệu về bài toán kiểm lỗi chính tả, một số phương pháp kiểm
lỗi chính tả và phương pháp sẽ được sử dụng trong luận văn này. Chúng tôi cũng trình
bày một số đặc điểm của tiếng Việt và chữ viết tiếng Việt, tập trung vào những đặc
điểm có thể sử dụng để kiểm tra và sửa lỗi chính tả tiếng Việt. Luận văn chỉ đề cập đến
vấn đề chính tả tiếng Việt, do đó khi nói “tiếng Việt” cũng có thể được hiểu là “chữ
viết tiếng Việt”. Chương này có tham khảo một số tư liệu tin cậy trên Internet và cuốn
“Chính tả tiếng Việt” của cố Giáo sư Hoàng Phê [8].
1.1. Giới thiệu
1.1.1. Bài toán kiểm lỗi chính tả
Bài toán kiểm lỗi chính tả là một bài toán khá phức tạp, được không ít đơn vị
nghiên cứu, phát triển và nó có tính ứng dụng cao, đặc biệt là trong các ứng dụng soạn
thảo hay nhận dạng văn bản.
Chương trình kiểm lỗi chính tả cần có hai chức năng chính, cơ bản là chỉ ra lỗi
sai và đưa ra gợi ý sửa lỗi. Tuy nhiên, các chức năng kiểm lỗi chính tả được tích hợp
trong nhiều ứng dụng soạn thảo tiếng Việt hiện nay (Vietkey, Unikey…) không đưa ra
gợi ý cho người dùng lựa chọn.
Đề giải quyết bài toàn này, hiện nay đã có một số cá nhân hoặc nhóm nghiên cứu
và phát triển phần mềm kiểm lỗi chính tả như:
- Kiểm lỗi chính tả trên hệ soạn thảo ngoại tuyến (offline): Chương trình kiểm lỗi
chính tả CopCon của ThS. Mai Tuấn Khôi - Giảng viên khoa CNTT ĐH Sư Phạm Kỹ
Thuật TPHCM; Chương trình kiểm lỗi chính tả Cú Mèo do Công ty cổ phần đầu tư
phát triển công nghệ SOBIC phát triển. Các phần mềm này có khả năng sửa lỗi chính
tả ở mức độ từ ghép hai hoặc ba âm tiết.
- Kiểm lỗi chính tả trực tuyến hầu hết là cho tiếng Anh. Các chương trình kiểm
lỗi chính tả trực tuyến đa số là chưa hoàn chỉnh, và chỉ dừng lại ở mức độ kiểm lỗi âm
tiết.
1.1.2. Một số phương pháp kiểm lỗi chính tả
Ta có thể tạm chia ra hai phương pháp chính đó là dựa vào luật và dựa vào thống
kê. Các phương pháp dựa theo luật có ưu điểm là không tốn quá nhiều tài nguyên của
3
thiết bị, tuy nhiên các chương trình sử dụng phương pháp này không có khả năng học,
và hiện tại kết quả cũng chưa cao đối với nhiều ngôn ngữ.
Có khá nhiều phương pháp dựa vào thống kê khác nhau đã được đưa ra để kiểm
lỗi chính tả tiếng Anh. Trong phạm vi giới hạn của luận văn, chúng tôi xin chỉ liệt kê
một vài phương pháp được đánh giá là nổi bật.
“Một số nghiên cứu sử dụng mô hình kênh nhiễu như Mays và cộng sự (1990),
Church và Gale (1991), Brill và Moore (2001)”. “Phương pháp lai Bayes, sử dụng
hàm phân loại Naive Bayes”. “Kết hợp mô hình trigram từ loại và hàm phân loại
Bayes”. Các phương pháp: “học dựa trên biến đổi (Mangu và Brill, 1997), phân tích
nghĩa ẩn (Jones và Martin, 1997), differential-grammars (Powers, 1997), Winnow-
based (Golding và Roth, 1999), và khôi phục cố kết từ vựng (Hirst và Budanitsky,
2001)”1
1.2. Một số đặc điểm trong tiếng Việt
1.2.1. Đặc điểm của tiếng Việt
Tiếng Việt là một ngôn ngữ đơn lập, quan hệ giữa các từ được biểu thị bằng
những phương tiện nằm ngoài từ như trật tự từ, hư từ. Đặc điểm này được áp dụng cho
cả về ngữ âm, ngữ pháp và ngữ nghĩa.
1.2.2. Các đơn vị của tiếng Việt
* Tiếng (âm tiết)
Âm tiết là đơn vị phát âm tự nhiên nhỏ nhất trong ngôn ngữ. Trong tiếng Việt,
một âm tiết bao giờ cũng được phát ra với một thanh điệu, và khi viết được tách rời
với âm tiết khác bằng một khoảng trống. Trên chữ viết, mỗi âm tiết tiếng Việt được
ghi thành một “chữ” và đọc thành một “tiếng”.
Có nhiều cách mô tả cấu trúc âm tiết tiếng Việt khác nhau: 3 thành phần, 4 hay 5
thành phần.
Bảng 2.1. Cấu trúc 3 thành phần:
[Phụ âm]
1 Nguyễn Phương Thái, Kiểm lỗi chính tả cảm ngữ cảnh tiếng Việt, 2003, Luận văn thạc sĩ, Hà Nội
4
Bảng 2.2. Cấu trúc 4 thành phần:
[Phụ âm đầu] [Phụ âm cuối]
Bảng 2.3. Cấu trúc 5 thành phần:
Vần
[Âm đầu]
[Âm đệm] [Âm cuối]
- Các thành phần trong dấu là bắt buộc
- Các thành phần trong dấu [ ] là không bắt buộc
- Thanh ngang (không được viết) cũng được tính là một dấu thanh.
Luận văn này sử dụng cấu trúc âm tiết bốn thành phần.
Bảng 2.4. Các thành phần âm tiết:
Phụ âm đầu b c d đ g h k l m n q r s t v x ch gh gi kh ng nh ph qu th tr ngh
Nguyên âm
a ă â e ê i o ô ơ u ư y ai ao au ay âu ây eo êu ia iu iê oa oă oe oi
oo ôi ơi ua uâ ui uê uô uơ uy ưa ưi ươ ưu yê oai oay uây uôi
iêu uyê ươu ươi uya yêu uyu
Phụ âm cuối c p t m n ch ng nh
Thanh điệu Ngang, huyền, hỏi, ngã, sắc, nặng
Từ:
Từ là đơn vị ngôn ngữ có nghĩa hoàn chỉnh. Từ tiếng Việt bao gồm một hay
nhiều âm tiết sắp xếp theo một thứ tự nhất định. Có từ đơn, từ ghép và từ láy.
Từ trong tiếng Việt có khả năng hoạt động tự do và độc lập về mặt cú pháp. Từ
tiếng Việt không có sự biến dạng (số nhiều, ngôi thứ, bị động…) như trong nhiều ngôn
ngữ khác.
Câu:
5
Câu do các từ hợp thành theo những quy tắc nhất định. Trong tiếng Việt, các quy
tắc này rất đa dạng.
Dấu thanh
Tiếng Việt gồm có 6 thanh điệu: ngang, huyền, hỏi, ngã, sắc, nặng. Trong đó có
5 dấu thanh, thanh ngang không được biểu diễn bởi dấu thanh nào. Trong văn bản viết
tay, dấu thanh được đánh khá tùy tiện, không đặt vào đúng vị trí của âm chính. Tuy
nhiên, trong văn bản đánh máy, việc đánh dấu thanh cần tuân thủ một số quy tắc sau:
- Với những âm tiết chỉ có một con chữ nguyên âm, thì dấu thanh được đặt vào con
chữ nguyên âm đó. Vd: á à, ì ạch, ọ ẹ, ủ rũ, ọp ẹp, ục ịch, hà, lán, giá, giục, quả,
quỹ, quỵt... (Chú ý: gi và qu được coi là phụ âm).
- Với những âm tiết, mà trong âm tiết đó chỉ cần có một con chữ nguyên âm mang
dấu phụ (Ă, Â, Ê, Ô, Ơ, Ư) và không kể kết thúc bằng con chữ gì, thì dấu thanh
bao giờ cũng đặt ở con chữ đó (riêng ƯƠ, dấu đặt ở Ơ). Vd: thuyền, trường…
- Với những âm tiết có hai con chữ nguyên âm và kết thúc bằng một con chữ phụ
âm hoặc tổ hợp con chữ phụ âm, thì dấu thanh được đặt vào con chữ nguyên âm
cuối cùng.
- Với những trường hợp còn lại thì dấu thanh được đặt vào con chữ nguyên âm áp
chót.
Hiện tại với các trường hợp nguyên âm là oa, oe, uy mà không có phụ âm kết
thúc như hòa, hòe, thùy… có hai cách đánh dấu thanh là: hòa hoặc hoà. Ở luận văn
này thống nhất cách viết thứ nhất – hòa – giống như các quy tắc đánh dấu thanh ở trên.
1.3. Một số lỗi chính tả cơ bản và phương pháp kiểm lỗi mức độ âm tiết
Các vấn đề chính tả tiếng Việt có thể gặp phải gồm có: sai cấu tạo, đúng cấu tạo
nhưng không có trong từ điển, có trong từ điển nhưng sai về ngữ nghĩa, sai cấu tạo
nhưng có thể là từ tiếng nước ngoài. Các lỗi sai về cấu tạo âm tiết có thể dễ dàng phát
hiện bằng cách sử dụng từ điển, tập âm tiết. Dưới đây chúng tôi chỉ tập trung đến các
lỗi sai về nghĩa của từ khi âm tiết có trong từ điển. Có nhiều nguyên nhân khác nhau
dẫn đến các lỗi trên, trong luận văn này chúng tôi chỉ xét đến hai nguyên nhân: do
đánh máy và do lỗi phát âm (tiếng địa phương).
1.3.1. Lỗi do đánh máy
Đây là loại lỗi phổ biến, và hầu hết đều ở mức âm tiết. Loại lỗi này gây ra các lỗi
sai chính tả đơn và lỗi chính tả phức. Có bốn loại lỗi chính tả đơn:
6
- Chèn: như nhầm “an” thành “anh”
- Xoá: như nhầm “chung” thành “chun”
- Thay thế: như nhầm “vào” thành “cào”
- Hoán vị: như nhầm “hoà” thành “hào”
Lỗi chính tả phức là sự kết hợp liên tiếp trong số các lỗi chính tả đơn ở trên.
Để phát hiện được lỗi và đưa ra gợi ý sửa lỗi, chúng ta cần xác định được tập
nhầm lẫn âm tiết của âm tiết mà ta đang xét. Với các lỗi do đánh máy, tập nhầm lẫn
âm tiết được sinh ra gồm các âm tiết có “khoảng cách soạn thảo” (edit distance) so với
âm tiết đang xét nhỏ hơn một ngưỡng chọn trước. Khoảng các soạn thảo cho biết mức
độ khác nhau giữa xâu ban đầu và xâu bị biến đổi.
Trước khi tính khoảng cách soạn thảo nhỏ nhất, chúng tôi tách riêng dấu thanh và
biến đổi xâu ban đầu đã loại bỏ dấu về dạng đánh máy TELEX. Ví dụ: “chào” ->
“chao” + “f”, “trưởng” -> “truwowng” + “r”. Khi đó, việc tính khoảng cách soạn thảo
sẽ cho kết quả tính giá tương đối đúng với việc soạn thảo trên bàn phím. Việc tính giá
cho phép thay thế dựa vào vị trí các phím trên bàn phím. Các phím liền kề nhau có giá
thấp hơn so với các phím không liền kề (c -> v nhỏ hơn c -> s).
Để tạo tập nhầm lẫn cho các lỗi soạn thảo, chúng tôi tách từ ban đầu ra thành 4
phần theo cấu trúc âm tiết, sau đó xử lý từng phần và ghép chúng lại với nhau. VD: âm
tiết (sai) hcào được tách ra thành 4 phần và được xử lý:
- hc: c, ch, h,… -> cào, chào, hào,…
- ao: oa, eo, au,… -> hcòa, hcèo, hcàu,…
- (rỗng): n, m, t,… -> hcàon, hcàom, hcàot,…
- f(dấu huyền): s, r, x,… -> hcáo, hcảo, hcão,…
Tiếp đó, các âm tiết mới được tạo ra sẽ được kiểm tra trong từ điển âm tiết1, âm
tiết có trong từ điển sẽ được đưa vào tập nhầm lẫn âm tiết và tập này sẽ được sắp xếp
theo thứ tự tăng dần về khoảng cách soạn thảo so với âm tiết ban đầu.
1.3.2. Lỗi do phát âm
1 Hoàng Phê (chủ biên), Từ điển tiếng Việt, 2002, Nhà xuất bản Đà Nẵng
7
Lỗi do phát âm xảy ra cả trong văn bản viết tay và văn bản đánh máy. Lỗi này
xảy ra do thói quen “đọc như thế nào thì viết như thế”, do đó lỗi này thường gắn liền
với các phương ngữ.
VD: nhiều -> nhìu; hỏi -> họi; ra, gia -> da…
Có thể tập hợp một số lỗi phát âm theo như trong bảng Phụ lục 2.
Tập nhầm lẫn do phát âm có tính đối xứng, tức là các âm trong cùng một tập có
thể nhầm lẫn với nhau. Để đưa ra các đề nghị cho loại lỗi này chỉ cần tra âm tiết dựa
vào bảng lỗi phát âm.
1.4. Mục tiêu của luận văn
Do nhược điểm của phương pháp kiểm lỗi chính tả tiếng Việt chỉ dựa theo luật là
khá phức tạp và không có khả năng học.
Luận văn này hướng tới việc tìm hiểu và ứng dụng kiểm lỗi chính tả tiếng Việt
mức độ từ vựng dựa vào thông tin ngữ cảnh, sử dụng phương pháp học máy thống kê
trên mô hình ngôn ngữ n-gram. Nhờ khả năng học, chương trình có thể thích ứng được
với sự thay đổi không ngừng của ngôn ngữ mà không tốn quá nhiều công sức của con
người.
Đồng thời, luận văn cũng đề xuất việc kiểm lỗi chính tả trực tuyến và cài đặt
chương trình ứng dụng chạy trên nền web, dựa trên phương pháp lý thuyết được nêu ra
trong luận văn.
8
Chương 2: Mô hình ngôn ngữ
Chương này nhắc lại một số lý thuyết về n-gram và đưa ra hướng tiếp cận sử
dụng n-gram vào việc kiểm lỗi chính tả cảm ngữ cảnh. Chương này có tham khảo tài
liệu [1].
2.1. Giới thiệu
Mô hình n-gram là một mô hình xác suất sử dụng cho việc dự đoán phần tử tiếp
theo trong một dãy tuần tự các đối tượng. Các đối tượng chúng ta xét tới ở đây là các
âm tiết và dấu câu.
2.2. Tính toán xác suất dựa trên n-gram
Giả sử ta muốn dự đoán âm tiết tiếp theo s5 dựa trên thông tin ngữ cảnh trước đó
của các âm tiết s1s2s3s4. Chúng ta cần tính xác suất của sự kiện âm tiết tiếp theo là s5
khi các âm tiết trước nó là s1…s4, hay nói cách khác, ta cần tìm xác suất:
P(s1,…,s5)
Tổng quát, với sn, ta cần tìm:
P(s1,…,sn)
Theo quy tắc dây chuyền (chain rule) ta có:
P(s1,…,sn) = P(s1).P(s2|s1)…P(sn|s1,…,sn-1)
Áp dụng công thức trên cho một câu có n âm tiết, ta sẽ tìm ra được tổ hợp âm tiết
“tốt nhất” cho câu, và tổ hợp này được coi là đúng chính tả. Tuy nhiên, việc tính xác
suất đó trong thực tế là điều gần như không thể: bởi chúng hiếm khi xảy ra, và nếu có
thể tính được thì cũng cần có một lượng dữ liệu rất lớn được dùng để tính toán.
Để giải quyết vấn đề trên, chúng ta có thể xấp xỉ những xác suất đó bằng một giá
trị n-gram nhất định với n cho trước