Tải bản đầy đủ (.pdf) (38 trang)

Tổng quan về bài toán tách từ trong văn bản tiếng việt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (824.5 KB, 38 trang )

005.3

TRƢỜNG ĐẠI HỌC VINH
KHOA CÔNG NGHỆ THÔNG TIN

NGUYỄN THỊ PHƢƠNG

BÁO CÁO

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Đề tài:

TỔNG QUAN VỀ BÀI TOÁN TÁCH TỪ
TRONG VĂN BẢN TIẾNG VIỆT

Nghệ An, tháng 12 năm 2014


Đồ án tốt nghiệp Đại học

TRƢỜNG ĐẠI HỌC VINH
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Đề tài:

TỔNG QUAN VỀ BÀI TOÁN TÁCH TỪ
TRONG VĂN BẢN TIẾNG VIỆT


Giảng viên hướng dẫn: ThS. Nguyễn Thị Uyên
Sinh viên thực hiện:Nguyễn Thị Phương
Mã số sinh viên: 1051070449
Lớp: 51K2- CNTT

Nghệ An, tháng 12 năm 2014

SVTH: Nguyễn Thị Phương _51K2 CNTT

ii


Đồ án tốt nghiệp Đại học
MỤC LỤC
LỜI MỞ ĐẦU ................................................................................................................1
1. Cơ sở thực tiễn và khoa học của đề tài .......................................................................1
2. Lịch sử nghiên cứu đề tài ...........................................................................................1
3. Mục tiêu và đóng góp đề tài .......................................................................................1
4. Cấu trúc đề tài .............................................................................................................2
CHƢƠNG 1. TỔNG QUAN VỀ BÀI TOÁN TÁCH TỪ TIẾNG VIỆT ......................3
1.1. Bài toán tách từ tiếng Việt .......................................................................................3
1.1.1. Khái quát về tiếng Việt .........................................................................................3
1.1.2. Khái quát về bài toán tách từ tiếng Việt ...............................................................5
1.2. Các hƣớng tiếp cận bài toán ....................................................................................7
1.2.1. Phƣơng pháp tiếp cận dựa trên từ .........................................................................7
1.2.2. Phƣơng pháp tiếp cận dựa trên ký tự (tiếng) ........................................................8
1.3. Mơ hình N-gram ......................................................................................................8
1.3.1. Khái qt ...............................................................................................................8
1.3.2. Các mơ hình ngơn ngữ ..........................................................................................9
CHƢƠNG 2. TÌM HIỂU MỘT SỐ PHƢƠNG PHÁP TÁCH TỪ TIẾNG VIỆT .......11

2.1. Tìm hiểu một số nhập nhằng khi tách từ ...............................................................11
2.1.1. Định nghĩa ..........................................................................................................11
2.1.2. Một số loại nhập nhằng ......................................................................................11
2.2. Một số phƣơng pháp tách từ hiện nay ...................................................................12
2.2.1. Sử dụng phƣơng pháp so khớp cực đại (Longest Matching) .............................12
2.2.2. Học dựa trên sự cải biến (Transformation-based Learning – TBL) ...................13
2.2.3. Phƣơng pháp tách từ bằng WFST (Weighted Finite State Transducer – WFST)
và mạng Neural .............................................................................................................15
2.2.4. Phƣơng pháp lai kết hợp Longest Maching và ứng dụng cây ............................17
2.2.5. Sử dụng thống kê Internet vào tách từ ................................................................ 18
CHƢƠNG 3. CHƢƠNG TRÌNH ỨNG DỤNG BÀI TỐN TÁCH TỪ BẰNG
PHƢƠNG PHÁP SO KHỚP CỰC ĐẠI ......................................................................20
3.1. Phƣơng pháp làm bài .............................................................................................20
SVTH: Nguyễn Thị Phương _51K2 CNTT

i


Đồ án tốt nghiệp Đại học
3.1.1. Phân tích bài tốn ...............................................................................................20
3.1.2. Xây dựng thuật tốn, viết chƣơng trình ..............................................................20
3.1.3. Một số ví dụ minh họa ........................................................................................20
3.2. Cách làm bài tốn trên ...........................................................................................20
3.2.1. Phân tích bài tốn ...............................................................................................20
3.2.2. Ý tƣởng của phƣơng pháp ..................................................................................21
3.2.3. Thuật toán ...........................................................................................................21
3.2.3. Thử nghiệm .........................................................................................................29
3.2.4. Kết quả ................................................................................................................30
TÀI LIỆU THAM KHẢO ............................................................................................31


SVTH: Nguyễn Thị Phương _51K2 CNTT

ii


Đồ án tốt nghiệp Đại học
DANH MỤC CÁC BẢNG

Bảng 1.1. Cấu trúc 3 thành phần ....................................................................................3
Bảng 1.2. Cấu trúc 4 thành phần ....................................................................................3
Bảng 1.3. Các thành phần của âm tiết ............................................................................4
Bảng 2.1. Ví dụ nhập nhằng giới từ trong tiếng Anh và tiếng Việt .............................11

DANH MỤC CÁC HÌNH
Hình 3.1. Từ điển tiếng Việt .........................................................................................20
Hình 3.2. Tách thành từ đơn .........................................................................................23
Hình 3.3. Tách từ ghép .................................................................................................24
Hình 3.4. Ví dụ tách từ. ................................................................................................27
Hình 3.5. Tạo button nhập lại .......................................................................................28
Hình 3.6. Tạo button thốt khỏi chƣơng trình ..............................................................29

SVTH: Nguyễn Thị Phương _51K2 CNTT

iii


Đồ án tốt nghiệp Đại học
LỜI MỞ ĐẦU

1. Cơ sở thực tiễn và khoa học của đề tài

Bài toán tách từ tiếng Việt là một trong những bài toán căn bản, quan trọng của
xử lý ngôn ngữ tiếng Việt đƣợc nhiều nhà khoa học trên thế giới quan tâm nghiên cứu
trong suốt nhiều năm qua. Một số ứng dụng của tách từ trong Xử lý ngôn ngữ tự nhiên
nhƣ kiểm tra và sửa lỗi văn bản[1].
Bài toán tách từ tiếng Việt là một trong những bài toán căn bản, quan trọng của
xử lý ngơn ngữ tiếng Việt. Về mặt hình thức, từ tiếng Việt đƣợc cấu tạo bởi một hay
nhiều âm tiết ghép lại. Mặt khác ranh giới và nghĩa của từ cịn tuỳ thuộc vào ngữ cảnh
của nó, phụ thuộc vào các từ đứng trƣớc, đứng sau nó. Vì vậy việc xác định ranh giới
từ là một thách thức, đặc biệt là xử lý nhập nhằng trong ngôn ngữ tiếng Việt.
2. Lịch sử nghiên cứu đề tài
Bài toán tách từ cho các ngôn ngữ nhƣ tiếng Anh, tiếng Nhật, tiếng Hoa đã
đƣợc nhiều nhà nghiên cứu trên thế giới nghiên cứu rất nhiều trong những năm qua.
Tuy nhiên bài tốn tách từ tiếng Việt chƣa đƣợc tìm hiểu và nghiên cứu nhiều.
Do đặc thù phức tạp và đa dạng của ngôn ngữ tiếng Việt nên nhiều nghiên cứu
chƣa áp dụng đƣợc trong thực tế và độ chính xác cũng chƣa cao.
Vì vậy trong đề tài này em sẽ kế thừa những thành tựa nghiên cứu đó để xây
dựng thử nghiệm một chƣơng trình ứng dụng bài tốn tách từ bằng phƣơng pháp so
khớp cực đại.
3. Mục tiêu và đóng góp đề tài
Khi thực hiện đề tài này em đã đề ra một số mục tiêu nhƣ sau.
- Tìm hiểu tổng quan về bài tốn tách từ tiếng Việt.
- Tìm hiểu các phƣơng pháp tách từ tiếng Việt hiện nay.
- Xây dựng chƣơng trình ứng dụng bài tốn tách từ bằng phƣơng pháp so khớp
cực đại.

SVTH: Nguyễn Thị Phương _51K2 CNTT

1



Đồ án tốt nghiệp Đại học
4. Cấu trúc đề tài
Đề tài bao gồm các nội dung sau:
Chƣơng 1: Tổng quan về bài toán tách từ tiếng Việt.
Chƣơng 2: Một số phƣơng pháp tách từ tiếng Việt.
Chƣơng 3: Chƣơng trình ứng dựng tách từ bằng phƣơng pháp so
khớp cực đại.
Kết luận và kiến nghị.
Trong thời gian làm đồ án, em đã cố gắng rất nhiều song do kiến thức còn hạn
chế, thời gian nghiên cứu đề tài cịn có hạn. Em rất mong nhận đƣợc sự phê bình, các ý
kiến đóng góp chân thành của các thầy cơ và các bạn để đồ án đƣợc hoàn thiện hơn.
Em xin gửi lời cảm ơn chân thành đến các thầy cô giáo trong khoa, c bit em
xin gửi lời cảm ơn sâu sắc ®Õn cơ giáo ThS. Nguyễn Thị Un đã tận tình hƣớng dẫn
cho em trong st thêi gian thùc hiƯn ®Ị tµi và cảm ơn các bạn trong lớp đã giúp đỡ
mình trong quá trình làm đồ án.

SVTH: Nguyễn Thị Phương _51K2 CNTT

2


Đồ án tốt nghiệp Đại học
CHƢƠNG 1
TỔNG QUAN VỀ BÀI TỐN TÁCH TỪ TIẾNG VIỆT

1.1. Bài tốn tách từ tiếng Việt
1.1.1. Khái quát về tiếng Việt
1.1.1.1. Định nghĩa
Tiếng Việt thuộc ngôn ngữ đơn lập, tức là mỗi một tiếng âm tiết đƣợc phát âm
tách rời nhau và đƣợc thể hiện bằng một chữ viết. Đặc điểm này thể hiện r rệt ở tất cả

các mặt ngữ âm, từ vựng, ngữ pháp.
1.1.1.2. Đặc Điểm Tiếng Việt
1.1.1.2.1. Đặc điểm 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ột âm tiết khác bằng một khoảng cách 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”[2].
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 khác nhau.
Bảng 1.1. Cấu trúc 3 thành phần
< Thanh Điệu >
[ Phụ Âm]

< Vần >

Bảng 1.2. Cấu trúc 4 thành phần
< Thanh Điệu >
Vần
[Âm Đầu]
[ Âm Đệm ]

[ Âm Chính ]

[ Âm Cuối ]

Chú Thích:
- 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.
SVTH: Nguyễn Thị Phương _51K2 CNTT


3


Đồ án tốt nghiệp Đại học
Bảng 1.3. Các thành phần của â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
a ă â e ê i o ô ơ u ƣ y iê ƣơ oe ai au ua ƣa ƣu âu uâ ia ui ƣi iu êu oi

Nguyên âm

ôi ơi ay ây uy uô uâ oa oă ao eo uêuya ƣơi uyê iêu oai oay uây uôi
ƣơu

Phụ âm cuối

c p t m n ch ng nh

Thanh điệu

Ngang, huyền, hỏi, sắc, nặng, ngã

1.1.1.2.2. Đặc điểm từ
a. Định nghĩa
Từ là đơn vị cơ bản của ngơn ngữ, có thể tách khỏi các đơn vị khác của lời nói
để vận dụng một cách độc lập và là một khối hoàn chỉnh về mặt ý nghĩa và cấu tạo.
Từ là một 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.

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[2].
b. Các loại từ
+ Từ đơn.
Từ đơn là loại từ do một tiếng có nghĩa tạo thành.
Ví dụ: Ngày, tháng, năm, ăn, mặc, đẹp, xấu, ...
+ Từ ghép.
Từ ghép là loại từ gồm hai, ba hoặc bốn tiếng ghép lại tạo thành một ý
nghĩa chung.
Ví dụ: Nhà cửa, học sinh, vi sinh vật, học sinh giỏi,…
Có 2 kiểu từ ghép:
+ Từ ghép có nghĩa phân loại:
Là từ ghép mà quan hệ giữa các từ đơn tạo thành có quan hệ chính phụ(phụ
nghĩa)nghĩa cụ thể hơn.
Ví dụ: Xe máy, bút chì, trắng ngà,…
SVTH: Nguyễn Thị Phương _51K2 CNTT

4


Đồ án tốt nghiệp Đại học
+ Từ ghép có nghĩa tổng hợp:
Là từ ghép mà quan hệ giữa các từ đơn tạo thành có quan hệ song song (hợp
nghĩa) nghĩa khái quát hơn nghĩa từng tiếng.
Ví dụ: Ăn uống, quần áo, nhà cửa,…
*Từ láy.
Từ láy là từ gồm hai hay nhiều tiếng trong đó có một bộ phận của tiếng hoặc
tồn bộ tiếng đƣợc lặp lại.
Ví dụ: Long lanh, xinh xinh, lung linh, lanh lảnh,…

Tiếng Việt có 4 kiểu từ láy:
+ Láy âm:
Bộ phận âm đầu của tiếng trƣớc đƣợc láy lại (lặp lại) ở bộ phận âm đầu của
tiếng sau.
Ví dụ: Đậm đà, long lanh, vội vàng
+ Láy vần:
Bộ phận vần của tiếng trƣớc đƣợc láy lại (lặp lại) ở bộ phận vần của tiếng sau.
Ví dụ: Bát ngát, loáng thoáng,…
+ Láy cả âm cả vần:
Bộ phận âm đầu và vần của tiếng trƣớc đƣợc láy lại (lặp lại) ở bộ phận âm đầu
và vần của tiếng sau.
Ví dụ: Chầm chậm, trăng trắng, đo đỏ, lành lạnh,…
+ Láy tiếng:
Tiếng trƣớc đƣợc láy lại (lặp lại) ở tiếng sau.
Ví dụ: Xinh xinh, hây hây, lánh lánh, ào ào,…
1.1.1.2.3. Đặc điểm câu
Câu do các từ hợp thành theo một quy tắc nhất định.Trong tiếng Việt các quy
tắc này rất đa dạng.
1.1.2. Khái quát về bài toán tách từ tiếng Việt
1.1.2.1. Khái niệm
Tách từ là một quá trình xử lý nhằm mục đích xác định ranh giới của các từ
trong câu văn, cũng có thể hiểu đơn giản rằng tách từ là q trình xác định các từ đơn,
từ ghép… có trong câu. Đối với xử lý ngơn ngữ, để có thể xác định cấu trúc ngữ pháp
SVTH: Nguyễn Thị Phương _51K2 CNTT

5


Đồ án tốt nghiệp Đại học
của câu, xác định từ loại của một từ trong câu, yêu cầu đặt ra là phải xác định đƣợc

đâu là từ trong câu. Vấn đề này tƣởng chừng đơn giản với con ngƣời nhƣng đối với
máy tính, đây là bài tốn rất khó giải quyết[3].
1.1.2.1. Ứng dụng bài toán tách từ trong xử lý ngôn ngữ tự nhiên
Đối với xử lý ngôn ngữ tự nhiên, để có thể xác định cấu trúc ngữ pháp của câu,
xác định từ loại của một từ trong câu, yêu cầu nhất thiết đặt ra là phải xác định đƣợc
đâu là từ trong câu.
Chính vì lý do đó tách từ đƣợc xem là bƣớc xử lý quan trọng đối với các hệ
thống Xử Lý Ngôn Ngữ Tự Nhiên, đặc biệt là đối với các ngôn ngữ thuộc vùng Đông
Á theo loại hình ngơn ngữ đơn lập. Với các ngơn ngữ thuộc loại hình này, ranh giới từ
khơng chỉ đơn giản là những khoảng trắng nhƣ trong các ngôn ngữ thuộc loại hình hịa
kết nhƣ tiếng Anh…, mà có sự liên hệ chặt chẽ giữa các tiếng với nhau, một từ có thể
cấu tạo bởi một hoặc nhiều tiếng. Vì vậy đối với các ngôn ngữ thuộc vùng Đông Á,
vấn đề của bài toán tách từ là khử đƣợc sự nhập nhằng trong ranh giới từ.
Bài toán tách từ là bài toán cơ bản đầu tiên trong các bài toán đặt ra cho xử lý
ngơn ngữ tự nhiên. Vì vậy tách từ là một trong những bài toán đƣợc ứng dụng trong
nhiều lĩnh vực của Xử lý ngôn ngữ tự nhiên[3]. Cụ thể nhƣ sau:
 Phân tích hình thái:
- Phân tích phụ tố.
- Nhận diện tên riêng.
- Nhận diện ranh giới ngữ.
 Phân tích ngữ pháp:
- Gán nhãn từ loại.
- Gán nhãn ranh giới ngữ.
- Gán nhãn quan hệ cú pháp.
 Xử lý văn bản:
- Kiểm lỗi chính tả.
- Kiểm lỗi văn phạm.
- Phân loại văn bản.
- Tóm tắt văn bản.
- Hiểu văn bản.

SVTH: Nguyễn Thị Phương _51K2 CNTT

6


Đồ án tốt nghiệp Đại học
- Khai thác văn bản.
1.2. Các hƣớng tiếp cận bài toán
1.2.1. Phƣơng pháp tiếp cận dựa trên từ
Phƣơng pháp này đƣợc chia làm 3 nhóm chính:
- Dựa vào từ điển.
- Dựa vào thống kê.
- Kết hợp 2 phƣơng pháp trên để tận dụng ƣu điểm của từng phƣơng pháp.
1.2.1.1. Phƣơng pháp dựa vào từ điển
Định nghĩa: Từ điển tiếng Việt là tập hợp lớn các từ ngữ và ý nghĩa của chúng.
Đƣợc sắp xếp theo một thứ tự nhất định.
Ý tƣởng của phƣơng pháp: Là dựa vào 1 từ điển từ có sẵn rồi dùng các biện
pháp so khớp để tách ra các từ, cụm từ trong văn bản mà có trong từ điển.
Hai phƣơng pháp tiêu biểu của hƣớng tiếp cận dựa vào từ điển là:
+ So khớp từ dài nhất < Longest Matching >.
+ So khớp từ ngắn nhất < Maximal Matching >.
Hiện nay thì phƣơng pháp so khớp dài nhất đƣợc xem là phƣơng pháp hiệu quả
nhất trong hƣớng tiếp cận này.
Hƣớng tiếp cận dựa vào từ điển có đặc điểm là đơn giản, dễ hiểu tuy nhiên hiệu
quả mang lại không cao. Lý do là bởi nó khơng xử lý đƣợc rất nhiều trƣờng hợp nhập
nhằng cũng nhƣ khơng có khả năng phát hiện từ mới trong văn bản.Chính vì vậy mà
các hệ thống tách từ có chất lƣợng cao hiện nay thƣờng sử dụng hƣớng tiếp cận dựa
trên thống kê.
1.2.1.2. Tiếp cận dựa vào thống kê
Định nghĩa: Thống kê là một hệ thống các phƣơng pháp bao gồm thu thập,

tổng hợp, trình bày số liệu, tính tốn các đặc trƣng của đối tƣợng nghiên cứu nhằm
phục vụ cho quá trình phân tích, dự đốn và đề ra các quyết định.
Ở đây chúng ta sử dụng phƣơng pháp thống kê để nhận dạng từ mới và tách từ.
Ý tƣởng của phƣơng pháp: Là dựa vào các thông tin nhƣ tần số xuất hiện
trong tập dữ liệu huấn luyện ban đầu, dựa vào các giải thuật học máy sẽ đƣa ra một tập
các từ đƣợc gán trọng số. Dựa trên các trọng số này, khi phân tách câu sẽ quyết định
một cụm các tiếng có phải là một từ hay khơng.
SVTH: Nguyễn Thị Phương _51K2 CNTT

7


Đồ án tốt nghiệp Đại học
Phƣơng pháp này tỏ ra linh hoạt hơn và có độ chính xác cao hơn so với phƣơng
pháp dựa trên từ điển.
1.2.1.3. Tiếp cận dựa trên cả hai phƣơng pháp trên
Với mục đích kết hợp các hƣớng tiếp cận khác nhau để thừa hƣởng đƣợc ƣu
điểm của nhiều kỹ thuật khác nhau. Hƣớng tiếp cận này thƣờng kết hợp giữa hƣớng
dựa trên thống kê và dựa trên từ điển nhằm lấy đƣợc ƣu thế chung và các mặt vƣợt trội
riêng của mỗi phƣơng pháp.
Tuy có ƣu điểm về độ chính xác nhƣng nó lại gặp phải các vấn đề phức tạp
khác, đòi hỏi nhiều hơn về thời gian cũng nhƣ bộ nhớ.
1.2.2. Phƣơng pháp tiếp cận dựa trên ký tự (tiếng)
Phƣơng pháp này sử dụng mơ hình N- gram nó đóng vai trị rất hữu ích.
Ý tƣởng phƣơng pháp này chia 1 câu ra thành các tiếng phân cách nhau bởi các
dấu cách hay các dấu câu, sau đó dựa vào các giải thuật nhƣ quy hoạch động, giải
thuật di truyền hay thống kê để tìm ra cách phân chia mà có tổng xác suất các phân
đoạn là tối ƣu nhất.
Phƣơng pháp này tỏ ra đơn giản, linh hoạt hơn do không phải dựa vào 1 bộ
từ điển cố định. Cách tiếp cận này có tính khả quan, hứa hẹn nhiều triển vọng hơn so

với phƣơng pháp dựa trên từ điển.
1.3. Mơ hình N-gram
1.3.1. Khái qt
- Nhiệm vụ của mơ hình ngơn ngữ là cho biết tần suất xuất hiện của một câu w1,
w2 , w3………….wm là bao nhiêu.
- Theo cơng thức Bayes thì:
P(AB)=P(B/A)*P(A).
Thì:
P(w1 w2 ... wm)=P(w1)*P(w2 / w1)*P(w3 / w1w2)*…* P(wm / w1 w2 ...wm-1)
Theo cơng thức này, 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. vì vậy để có thể tính
SVTH: Nguyễn Thị Phương _51K2 CNTT

8


Đồ án tốt nghiệp Đại học
đƣợ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 sỉ
Markov bậc n: P(wm | w1, w2 ,... ,wm-1)= P(wm | wm-n, wn-m+1 ,... ,wm-1).
-> Xác suất xuất hiện của một từ (wm) chỉ phụ thuộc vào n từ đứng liền trƣớc nó
(wm-n, wm-n+1 ,... ,wm-1) chứ khơng phải phụ thuộc vào toàn bộ dãy từ đứng trƣớc
(w1, w2 ,... ,wm-1).
Nhƣ vậy cơng thức tính xác suất xuất hiện xâu là:
P(w1 w2 ... wm)= P(w1)*P(w2 / w1)*P(w3 / w1w2)*…*
P(wm-1 / wm-n-1wm-n ...wm)* P(wm / wm-nwm-n +1...wm-1).
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ừ. Đây chình là ngơn ngữ N-gram.
- Một cụm N-gram là 1 dãy con gồm n phần tử liên tiếp nhau của 1 dãy các
phần tử cho trƣớc.

1.3.2. Các mô hình ngơn ngữ
1.3.2.1. Mơ hình Uni-gram (n=1)
- Uni-gram với n=1 thì từ đứng sau chỉ phụ thuộc vào một từ đứng trƣớc và liền
kề với nó.
- Cơng thức:

P(w1 w2 ... wm)= P(w1)*P(w2 / w1)* P(w3 / w2)*…*
P(wm-1 / wm-2)* P(wm / wm-1).

1.3.2.2. Mơ hình Bi-gram (n=2)
- Bi-gram với n=2 thì từ đứng sau phụ thuộc vào hai từ đứng trƣớc và liền kề
với nó.
- Cơng thức:

P(w1 w2w3 ... wm)= P(w1)*P(w2 / w1)* P(w3 / w1w2)*…*
P(wm-1 / wm-3wm-2)* P(wm / wm-2wm-1).

1.3.2.3. Mơ hình Tri-gram (n=3)
- Tri-gram với n=3 thì từ đứng sau phụ thuộc vào ba từ đứng trƣớc và liền kề
với nó.
SVTH: Nguyễn Thị Phương _51K2 CNTT

9


Đồ án tốt nghiệp Đại học
- Công thức:
P(w1 w2w3 w4... wm)= P(w1)*P(w2 / w1)* P(w3 / w1w2)
*P(w4 / w3w2w1 *…*P(wm -1/ wm-4wm-3wm-2)* P(wm / wm-3wm-2wm-1).


SVTH: Nguyễn Thị Phương _51K2 CNTT

10


Đồ án tốt nghiệp Đại học
CHƢƠNG 2
TÌM HIỂU MỘT SỐ PHƢƠNG PHÁP TÁCH TỪ TIẾNG VIỆT

2.1. Tìm hiểu một số nhập nhằng khi tách từ
2.1.1. Định nghĩa
Tiếng Việt là “ngôn ngữ đơn lập” nên từ vựng chủ yếu là các từ ghép.
Khoảng trắng không phải luôn luôn là ranh giới chính xác vì thế việc xác định
các từ ghép gặp rất nhiều khó khăn vì thế nhập nhằng trong tách từ chính là vấn đề
trọng tâm mà các nghiên cứu về tách từ phải giải quyết[4].
2.1.2. Một số loại nhập nhằng
2.1.2.1. Nhập nhằng ranh giới từ
Tiếng Việt khác với các ngôn ngữ khác nhƣ trong tiếng Anh, việc xác định ranh
giới từ khá dễ dàng, mỗi từ riêng lẻ đã mang trọn vẹn một nghĩa và ranh giới của
chúng đƣợc xác định thơng qua khoảng trắng.
Ví dụ:
Bảng 2.1. Ví dụ nhập nhằng giới từ trong tiếng Anh và tiếng Việt
Tiếng Anh

Tiếng Việt
Anh ấy là giáo viên

He is a teacher
Sau khi tách các từ:


Sau khi tách các từ:
->Anh / ấy / là / giáo / viên

->He / is / a / teacher

2.1.2.2. Nhập nhằng từ đa nghĩa
Một ngơn ngữ bất kì nào kể cả ngơn ngữ tiếng Việt đều có từ “đa nghĩa”,
ngun nhân là vì rất nhiều khái niệm có các sắc thái ý nghĩa tuy khơng hồn tồn
trùng khớp nhau nhƣng lại có nhiều nét tƣơng đồng.
- Ví dụ: Từ “ăn” trong “ăn uống” và “ăn cƣớp” vừa có những nét nghĩa giống
và khác nhau.
SVTH: Nguyễn Thị Phương _51K2 CNTT

11


Đồ án tốt nghiệp Đại học
2.1.2.2. Nhập nhằng từ đồng âm
Hai từ đồng âm với nhau nghĩa là hai từ có âm giống nhau nhƣng mang nghĩa
khác nhau, cịn đồng tự là hai từ về mặt ký tự là giống nhau nhƣng nghĩa khác nhau.
Ví dụ: Từ “kiếm” trong hai câu sau đây là hai từ đồng tự:
 Anh ta sử dụng kiếm rất điêu luyện.
 Kiếm ăn bây giờ khó lắm.
2.1.2.4. Nhập nhằng từ loại
Từ loại là một yếu tố quan trọng trong việc xác định nghĩa chính xác của từ và
sắp xếp các từ thành câu hoàn chỉnh trong dịch tự động. Vì vậy từ loại giúp khử nhập
nhằng, nhƣng chính bản thân nó trong một số trƣờng hợp cũng nhập nhằng.
2.2. Một số phƣơng pháp tách từ hiện nay
2.2.1. Sử dụng phƣơng pháp so khớp cực đại (Longest Matching)
- Ý tƣởng phƣơng pháp:

Phƣơng pháp này sẽ duyệt câu từ trái qua phải, lần lƣợt duyệt chuỗi các
tiếng kiểm tra xem nó có phải là từ hay khơng. Chuỗi dài nhất đƣợc xác định là từ sẽ
đƣợc chọn ra, tiếp tục làm nhƣ thế với chuỗi còn lại của câu cho đến khi hết câu.
- Cách thực hiện:
+ Phân tách câu ban đầu thành một chuỗi các tiếng, chẳng hạn với câu A ta
phân tích đƣợc chuỗi các tiếng là: A1 A2 A3 A4…
+ Sử dụng vòng lặp để xác định chuỗi dài nhất đƣợc xác định là từ bằng cách so
khớp với từ điển đã có sẵn.
- Ví dụ:
+ Xác định A1 có là từ hay khơng
+ Xác định A1A2 có phải là từ khơng
+ Xác định A1A2A3
+…
* Chuỗi dài nhất đƣợc xác định là từ sẽ đƣợc chọn.
* Xét chuỗi các tiếng còn lại, lặp lại vịng lặp từ bƣớc 2.
- Ví dụ với câu: “ Học sinh học sinh học”
• Ta xác định đƣợc các tiếng: học, sinh, học, sinh, học
SVTH: Nguyễn Thị Phương _51K2 CNTT

12


Đồ án tốt nghiệp Đại học
• Lần lƣợt xét các chuỗi: học, học sinh, học sinh học, học sinh học sinh…
• So khớp với từ điển, ta xác định đƣợc “học sinh” là từ chuỗi dài nhất thoả
mãn, vậy từ đầu tiên đƣợc xác định là: học sinh.
• Xét chuỗi các tiếng còn lại “học sinh học” lặp lại các bƣớc nhƣ trên ta
sẽ thu đƣợc kết quả:
Học sinh | học sinh | học
- Ƣu điểm:

+ Phƣơng pháp này giải quyết đƣợc nhập nhằng đơn
+ Cách tách từ đơn giản, nhanh chóng và dễ thực hiện, chỉ cần dựa vào
từ điển
+ Dễ dàng tách đƣợc các câu đơn giản nhƣ: Thành lập | nƣớc | Việt Nam
| dân chủ | cộng hoà hay Cộng hoà | xã hội chủ nghĩa | Việt Nam.
- Nhƣợc điểm:
+ Phƣơng pháp này phụ thuộc hồn tồn vào độ chính xác và đầy đủ của
từ điển, xây dựng đƣợc bộ từ điển đầy đủ là vấn đề cốt lõi. Mục tiêu này khá
khó khăn do kho từ vựng dân gian là vô cùng lớn.
+ Không giải quyết đƣợc nhập nhằng, chẳng hạn nhƣ câu học sinh học
sinh học sẽ đƣợc phân tích thành:
Học sinh | học sinh | học.
Tuy nhiên kết quả đúng phải là:
Học sinh | học | sinh học.
2.2.2. Học dựa trên sự cải biến (Transformation-based Learning – TBL)
2.2.2.1. Giới thiệu về giải thuật học cải tiến
Giải thuật học cải biến (TBL) là một phƣơng pháp máy học dạng thống kê đƣợc
phát triển trong những năm gần đây bởi tiến sĩ Eric Brill. Phƣơng pháp này đã và đang
đạt đƣợc nhiều thành công trong các ứng dụng của lĩnh vực xử lý ngôn ngữ tự
nhiên[5].
Ý tƣởng thuật toán:
Phƣơng pháp này tiếp cận dựa trên tập ngữ liệu đã đánh dấu .Theo cách tiếp cận
này để cho máy tính có thể nhận biết ranh giới giữa các từ để có thể tách từ chính xác,

SVTH: Nguyễn Thị Phương _51K2 CNTT

13


Đồ án tốt nghiệp Đại học

chúng ta sẽ cho máy học các câu mẫu trong tập ngữ liệu đã đƣợc đánh dấu ranh giới
giữa các từ đúng.
Phƣơng pháp học này đã đạt đƣợc những kết quả đáng kinh ngạc khi giải các
bài tốn trong lĩnh vực xử lý ngơn ngữ nhƣ: tách từ, đánh nhãn từ loại, xác định vị trí
bổ nghĩa của ngữ giới từ, bắt lỗi chính tả, khử nhập nhằng ngữ nghĩa. Hiện nay, các
ứng dụng của TBL vẫn đang đƣợc phát triển cũng phƣơng pháp học này cũng nhận
đƣợc nhiều nghiên cứu cải tiến đáng kể nhƣ: Fast TBL, μ TBL, Lazy TBL.
2.2.2.2. fnTBL(Fast Transformation-based learning)
Trong ứng dụng tách từ, phƣơng pháp học cải biến huấn luyện cho máy tính
biết cách nhận diện ranh giới từ tiếng Việt, ta có thể cho máy học trên ngữ liệu
hàng vạn câu tiếng Việt đã đƣợc đánh dấu ranh giới từ đúng. Sau khi học xong, máy sẽ
xác định đƣợc các tham số (các xác suất) cần thiết cho mơ hình nhận diện từ.
- Hệ thống fnTBL(Fast Transformation-based learning) gồm hai tập tin chính:
+ Tập tin dữ liệu học (training): tập tin dữ liệu học đƣợc làm thủ công, địi hỏi độ
chính xác.
+ Tập tin chứa các mẫu luật (rule – template): mỗi luật đƣợc đặt trên một
dòng, hệ thống fnTBL sẽ dựa vào các mẫu luật để áp dụng vào tập tin dữ liệu học.
- Quá trình học gồm 3 bƣớc:
Bƣớc 1: Từ tập dữ liệu học đã có sẵn, sử dụng phƣơng pháp thống kê ta sẽ có
từ điển các tiếng (Lexicon).
Bƣớc 2: Từ tập dữ liệu học, tạo ra tập dữ liệu mới.
Bƣớc 3: So sánh tập dữ liệu học với tập dữ liệu đang xét, dựa vào các mẫu luật
đã cho, kết quả sẽ rút ra tập luật đƣợc chọn.
- Ƣu điểm:
+ Đặc điểm của phƣơng pháp là khả năng tự rút ra quy luật của ngơn ngữ.+ Tạo
ra bộ luật dễ hiểu vì dựa trên các luật đã có sẵn.
+ Các luật đƣợc thử nghiệm tại chỗ để đánh giá độ chính xác và hiệu quả của
luật(dựa trên ngữ liệu huấn luyện).
+ Thời gian học cũng nhƣ thực hiện là tuyến tính.
+ Có khả năng giải quyết đƣợc một số nhập nhằng, những tình huống có

xác suất thấp hoăc chƣa gặp trong q trình học.
SVTH: Nguyễn Thị Phương _51K2 CNTT

14


Đồ án tốt nghiệp Đại học
- Nhƣợc điểm:
+ Phƣơng pháp này học dựa trên tập ngữ liệu tự động, việc xây dựng một tập
ngữ liệu trong tiếng Việt là điều rất khó, tốn kém nhiều về mặt thời gian và công sức.
+ Hệ thống trải qua một thời gian huấn luyện khá lâu để có thể rút ra các luật
tƣơng đối đầy đủ.
+ Cài đặt phức tạp.
2.2.3. Phƣơng pháp tách từ bằng WFST (Weighted Finite State Transducer
– WFST) và mạng Neural
Mơ hình WFST của Richard W.Sproat đƣợc áp dụng trong tách từ từ năm 1996.
Ý tƣởng phƣơng pháp: Áp dụng WFST với trọng số là xác suất xuất hiện của
mỗi từ trong kho ngữ liệu. Dùng WFST để duyệt qua các câu cần xét, khi đó từ có
trọng số lớn nhất là từ đƣợc chọn để tách.
Khi áp dụng WFST sẽ đƣa ra kết quả tách từ với xác suất kèm theo nếu phƣơng
pháp cho nhiều đáp án có xác suất xấp xỉ nhƣ nhau, việc chọn lời giải ƣu gặp khó
khăn. Để khắc phục khuyết điểm này cần sử dụng thêm mạng Neural để khử nhập
nhằng trong kết quả.
Do đó hệ thống tách từ tiếng Việt này sẽ gồm 2 tầng:
+ Tầng 1: WFST sẽ giải quyết việc tách từ và một số vấn đề của tiếng Việt
nhƣ từ láy, tên riêng,…
+ Tầng 2: mạng Neural dùng để khử nhập nhằng nếu có.
Mơ hình WFST và mạng Neural.
2.2.3.1. Mơ hình WFST
Để xây dựng mơ hình WFST gồm có 3 bƣớc:

Bƣớc 1: Xây dựng từ điển trọng số.
Theo mơ hình WFST, việc tách từ đƣợc xem nhƣ là một sự chuyển dịch trạng
thái có xác suất. Từ điển D là một đồ thị biến đổi trạng thái hữu hạn có trọng số.
Giả sử:
- H: là tập các từ chính của tiếng.
- P: là từ loại của từ.
Mỗi cung của D có thể là:
- Từ một phần tử của H đến một phần tử của H.
SVTH: Nguyễn Thị Phương _51K2 CNTT

15


Đồ án tốt nghiệp Đại học
- Từ (ký hiệu kết thúc từ đến một phần tử của P.
Các nhãn trong D biểu thị một chi phí ƣớc lƣợng (estimated cost) bằng công
thức:
Cost = -log(f/N)
- Với f: tần số của từ, N: kích thƣớc tập mẫu.
Bƣớc 2: Xây dựng dãy các khả năng tách từ.
Vấn đề ở đây là giảm bùng nổ tổ hợp khi sinh ra các dãy các từ có thể từ một
dãy các tiếng có trong câu. Giả sử 1 câu gồm n âm tiết, mà trong tiếng Việt một từ
gồm tối đa 4 âm tiết tức là sẽ có tối đa cách tách từ khác nhau. Một câu tiếng Việt có
24 âm tiết thì lúc đó sẽ phải giải quyết 8000000 trƣờng hợp tách từ có thể trong câu.
Với việc sử dụng từ điển đã hạn chế đƣợc sự bùng nổ này. Khi thấy từ nào đó khơng
có trong từ điển sẽ loại bỏ nhánh tách xuất phát từ đó.
Bƣớc 3: Lựa chọn khả năng tách từ tối ƣu.
Sau khi có đƣợc danh sách các cách tách từ đã có của câu sẽ chọn trƣờng
hợp tách có tổng trọng số bé nhất.
2.2.3.2. Tầng mạng Neural

Sau khi câu đƣợc tách từ qua mơ hình WFST. Để xác định kết quả tách từ
trên có thực sự hợp lệ khơng cần định ra một ngƣỡng giá trị với ý nghĩa: nếu sự
chênh lệnh về trọng số (giữa các cách tách từ khác nhau với cách tách có trọng
số nhỏ nhất) lớn hơn thì kết quả tách từ với trọng số nhỏ nhất đó là đúng và
đƣợc chấp nhận, cịn nếu ngƣợc lại thì kết quả tách với trọng số nhỏ nhất chƣa
đƣợc xem là cách tách đúng của câu.
Lúc này đƣa những cách tách từ của câu này qua mô hình mạng Neural để
xử lý tiếp.
Ví dụ: Sau khi qua phần xử lý WFST ta đƣợc 3 cách tách có trọng số nhỏ nhất
nhƣng sự chênh lệch trọng số không lớn hơn:
1. học sinh/N học/V sinh học/N
2. học sinh/N học sinh/N học/V
3. học/V sinh học/N sinh học/N
Trong thực tế tiếng Việt có những dãy từ loại khơng thể tuần tự đứng cạnh nhau
theo luật ngữ pháp tiếng Việt, khi dùng mơ hình mạng Neural sẽ ƣớc lƣợng giá 3dãy từ
SVTH: Nguyễn Thị Phương _51K2 CNTT

16


Đồ án tốt nghiệp Đại học
loại: NNV, NVN, VNN. Lúc này sẽ tách từ bằng tay và đƣa vào máy học để giải quyết
nhập nhằng.
Để kiểm tra từ loại của một dãy các từ loại trong câu có hợp lệ hay khơng có
thể dùng hàm truyền sigmoid, đây là một hàm thông dụng trong các mạng Neural.
Câu đƣợc chọn là câu có trọng số lớn nhất.
2.2.3.3. Ƣu điểm, hạn chế
Ƣu điểm:
+ Độ chính xác của phƣơng pháp này rất cao (trên 97%).
+ Kết quả tách từ có độ tin cậy kèm theo.

+ Khi WFST có nhiều kết quả sẽ dùng Neural để khử nhập nhằng.
+ Kết quả trong phƣơng pháp này thƣờng đƣợc dùng cho dịch máy vì độ
chính xác cao.
Hạn chế:
+ Sự phong phú của từ điển là điều kiện quyết định kết quả của phƣơng pháp.Vì
vậy việc xây dựng tập từ điển rất khó khăn.
2.2.4. Phƣơng pháp lai kết hợp Longest Maching và ứng dụng cây
Mục đích của phƣơng pháp này nhằm xử lý các nhập nhằng trong câu và đƣa ra
tất cả các khả năng tối ƣu có thể tách đƣợc trong câu.
- Ý tƣởng phƣơng pháp:
Tƣ tƣởng của phƣơng pháp này là bằng cách kết hợp với từ điển để xác
định các từ, ta xây dựng một cấu trúc dữ liệu dạng cây miêu tả mối quan hệ giữa các
tiếng trong câu theo thứ tự từ trái qua phải.
Thông qua cấu trúc cây này, ta xác định đƣợc tất cả các đƣờng đi từ nút gốc đến
nút lá. Với các trƣờng hợp nhập nhằng, kết quả sẽ trả lại hơn 1 đáp án bằng cách liệt
kê tất cả các đƣờng đi ngắn nhất.
- Các bƣớc thực hiện:
• Với câu nhận đƣợc, ta phân tách chúng thành 1 tổ hợp các tiếng. Giả sử với
câu A ta phân tách đƣợc tổ hợp tiếng là A1 A2 A3 A4 A5…
• Với mỗi tiếng ta đƣa vào 1 cấu trúc dữ liệu array gồm có id của nút
parent_id là id của nút đứng liền trƣớc và value là giá trị của tiếng đó
• Với mỗi nhập nhằng sẽ sinh ra 1 đƣờng đi riêng để đến nút lá.
SVTH: Nguyễn Thị Phương _51K2 CNTT

17


Đồ án tốt nghiệp Đại học
• Duyệt ngƣợc cây từ nút lá đến nút gốc để lấy ra tất cả các cấu hình có
thể.

- Ƣu điểm:
+ Đƣa ra đƣợc tất cả các phƣơng pháp tách từ hợp lý.
+ Tính đƣợc cả các trƣờng hợp nhập nhằng.
- Nhƣợc điểm:
+ Phụ thuộc vào sự đầy đủ và chính xác của từ điển.
+ Chƣa đƣa ra đƣợc phƣơng pháp tối ƣu.
+ Với các câu dài sẽ mất thời gian xử lý.
2.2.5. Sử dụng thống kê Internet vào tách từ
Đây là phƣơng pháp mới dựa vào Internet thơng qua các cỗ máy tìm
kiếm (search engine) tiêu biểu là google, bing, yahoo…Bằng cách trích rút các thông
tin thống kê về tần số xuất hiện tài liệu (document frequency-df), số lƣợng các tài liệu
đã đƣợc đánh dấu…
Do một từ trong tiếng Việt có thể bao gồm nhiều tiếng, có một đại lƣợng đặc
trƣng cho mức độ liên kết giữa các tiếng Mutual information – MI.
2.2.5.1. Độ tƣơng hỗ (MI)
- Độ tƣơng hỗ là mức độ liên quan < xuất hiện > cùng với nhau giữa các từ đi
cùng nhau .
- Thông tin tƣơng hỗ: là so sánh sác xuất xuất hiện đồng thời của từ x và từ y so
với sác xuất tìm thấy x và y độc lập .
Cơng thức:

Trong đó:

+ x , y là hai âm tiết .
+ M (x , y): Thông tin tƣơng hỗ của hai âm tiết .
+ P (x) , P (y): Xác suất xuất hiện độc lập của x và y .
+ P (x , y): Xác suất xuất hiện đồng thời cả x và y .

Kết luận: Gía trị M (x , y) càng lớn thì khả năng kết hợp của x và y càng cao.


SVTH: Nguyễn Thị Phương _51K2 CNTT

18


Đồ án tốt nghiệp Đại học
2.2.5.2. Ƣu điểm và hạn chế của phƣơng pháp
- Ƣu điểm:
+ Linh hoạt, đạt kết quả khả quan
+ Không cần dựa vào từ điển
+ Tận dụng đƣợc kết quả của search engine để xây dựng MI thay cho quá
trình học máy thống kê tần suất dữ liệu từ nguồn dữ liệu ban đầu
+ Một ƣu điểm nổi bật là có thể nhận biết đƣợc tên riêng, địa danh… là
các từ thƣờng khơng có trong từ điển
+ Khả năng đoán nhận đƣợc các từ mới cao
- Nhƣợc điểm:
+ Kết qủa phụ thuộc vào search engine nên đơi khi có thể khơng chính
xác
+ Nếu khơng có xử lý thêm thì các trƣờng hợp nhập nhằng vẫn chƣa
đƣợc giải quyết.
+ Phải thƣờng xuyên request ra internet nên để tích luỹ đƣợc một tập học
đáng kể lƣu trữ MI cũng mất khá nhiều thời gian.

SVTH: Nguyễn Thị Phương _51K2 CNTT

19


Đồ án tốt nghiệp Đại học
CHƢƠNG 3

CHƢƠNG TRÌNH ỨNG DỤNG BÀI TOÁN
TÁCH TỪ BẰNG PHƢƠNG PHÁP SO KHỚP CỰC ĐẠI

3.1. Phƣơng pháp làm bài
3.1.1. Phân tích bài tốn
- Xác định input, output của bài toán.
- Các yêu cầu của bài tốn.
3.1.2. Xây dựng thuật tốn, viết chƣơng trình
3.1.3. Một số ví dụ minh họa
3.2. Cách làm bài tốn trên
3.2.1. Phân tích bài tốn
- Xác định input, output:
+ Input:- Bộ từ điển bao gồm các từ thƣờng dùng và có ý nghĩa.

Hình 3.1. Từ điển tiếng Việt
+ Output: Là một câu tiếng Việt đƣợc tách thành các từ có nghĩa theo phƣơng
pháp so khớp cực đại.

SVTH: Nguyễn Thị Phương _51K2 CNTT

20


×