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

Tìm hiểu thuật toán naïve bayes và ứng dụng phân loại tài liệu

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 (1.35 MB, 46 trang )

TRƢỜNG ĐẠI HỌC VINH

KHOA CÔNG NGHỆ THÔNG TIN
--------------------------

HỒ DIÊN CÔNG

BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Tên đồ án:

Tìm hiểu thuật tốn Nạve Bayes
và ứng dụng phân loại tài liệu

Nghệ An, tháng 01 năm 2017


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ên đồ án:

Tìm hiểu thuật tốn Nạve Bayes
và ứng dụng phân loại tài liệu

Sinh viên thực hiện:


Hồ Diên Công – Mã sinh viên :1251075305
Lớp: 53K2 - CNTT

Giáo viên hướng dẫn:

T.S Hoàng Hữu Việt

Nghệ An, tháng 01 năm 2017


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

LỜI CẢM ƠN
Lời đầu tiên, em xin bày tỏ lòng biết ơn sâu sắc nhất tới T.S Hoàng Hữu Việt đã
tận tụy hƣớng dẫn, động viên, giúp đỡ em trong suốt thời gian thực hiện đề tài. Em xin
chân thành cảm ơn quý Thầy Cô trong khoa Công Nghệ Thông Tin - Trƣờng Đại học
Vinh đã truyền đạt những kiến thức và những kinh nghiệm quý báu cho em trong
những năm học vừa qua.
Mặc dù em đã cố gắng hoàn thành đồ án trong phạm vi và khả năng cho phép
nhƣng chắc chắn em sẽ khơng tránh khỏi những thiếu sót trong q trình thực hiện đề
tài. Em kính mong nhận đƣợc sự cảm thơng và các ý kiến đóng góp của q Thầy Cơ
và các bạn.
Sau cùng em xin chúc quý thầy cô trong Khoa Công Nghệ Thông Tin thật dồi
dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt
kiến thức cho thê hệ mai sau.
Một lần nữa, xin chân thành cảm ơn.
Nghệ An, ngày 5 tháng 1 năm 2016
Sinh viên thực hiện,

Hồ Diên Công


Hồ Diên Công – Lớp 53K2 - Khoa CNTT


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

LỜI MỞ ĐẦU
Trong những năm gần đây, với sự phát triển mạnh mẽ của công nghệ thông tin
và nhu cầu sử dụng Internet của con ngƣời đã làm tăng vọt lƣợng thông tin giao dịch
trên Internet. Vì vậy mà số lƣợng văn bản điện tử tăng nhanh chóng mặt về số lƣợng
và chủ đề đặc biệt là thƣ viện điện tử, tin tức điện tử trên mạng tồn cầu….
Với lƣợng thơng tin đồ sộ nhƣ vậy, một yêu cầu lớn đặt ra là làm sao tổ chức và
tìm kiếm thơng tin một cách chính xác, có hiệu quả nhất. Phân loại thơng tin là một
trong những giải pháp hợp lý cho yêu cầu trên. Nhƣng một thực tế cho thấy là khối
lƣợng thông tin quá lớn, việc phân loại dữ liệu thủ công là điều vơ cùng khó khăn.
Hƣớng giải quyết cho việc này là xây dựng một chƣơng trình phân loại thơng tin tự
động bằng máy tính. Phân loại văn bản là một vấn đề quan trọng trong lĩnh vực xử lý
ngôn ngữ. Nhiệm vụ của bài toán này là gán các tài liệu văn bản vào nhóm các chủ đề
cho trƣớc. Đây là một bài toán rất thƣờng gặp trong thực tế điển hình nhƣ việc phân
nhóm tin tức, phân nhóm các văn bản theo từng thể loại khác nhau. Tuy nhiên, chúng
ta không thể cùng lúc đọc tất cả các tin tức, bài viết, bài báo hay các tài liệu để rồi
phân loại chúng theo đúng mục đích của mình bởi vì số tài liệu lớn, nếu để đọc hết
đƣợc tất cả thì sẽ mất rất nhiều thời gian. Đó là lý do cần có một hệ thống phân loại tài
liệu tiếng Việt.
Em đã chọn thực hiện đề tài “Tìm hiểu thuật tốn Nạve Bayes (NB) và ứng
dụng phân loại tài liệu” nhằm tìm hiểu và thử nghiệm các phƣơng pháp phân loại văn,
tài liệu. Trong luận văn này, em cũng tìm hiểu một số cách phân loại tài liệu và thử
nghiệm một phƣơng pháp phân loại áp dụng thuật tốn Nạve Bayes để xây dựng
chƣơng trình dựa trên tập dữ liệu huấn luyện từ đó hƣớng đến việc phân loại các bài
theo từng chuyên ngành. Việc thực hiện đề tài “Tìm hiểu thuật tốn Nạve Bayes (NB)

và ứng dụng phân loại tài liệu” của em hy vọng sẽ đem đến một cách phân loại mới,
nhanh chóng và hiệu quả hơn việc phân loại bằng thủ công nhƣ hiện nay.

Hồ Diên Công – Lớp 53K2 - Khoa CNTT


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

Mục lục
CHƢƠNG 1: TỔNG QUAN ........................................................................................... 1
1.1 Đặt vấn đề .............................................................................................................. 1
1.2 Tổng quan tình hình nghiên cứu trong và ngồi nƣớc ........................................... 1
1.2.1 Tổng quan thế giới ........................................................................................... 1
1.2.2 Tổng quan trong nƣớc...................................................................................... 2
1.3 Mục tiêu của luận văn ............................................................................................ 3
1.4 Nội dung thực hiện ................................................................................................. 3
CHƢƠNG 2: CÁC PHƢƠNG PHÁP PHÂN LOẠI VĂN BẢN .................................... 5
2.1 Tổng quát về các phƣơng pháp phân loại văn bản ................................................. 5
2.2 Mơ tả bài tốn phân loại văn bản ........................................................................... 5
2.3 Các phƣơng pháp phân loại văn bản. ..................................................................... 6
2.3.1 Support vector Machine (SVM) ...................................................................... 6
2.3.2 Naïve Bayes (NB) ........................................................................................... 7
2.3.3 Biểu diễn văn bản ............................................................................................ 9
2.3.4 K–Nearest Neighbor (kNN) ............................................................................. 9
2.3.5 Linear Least Square Fit (LLSF) ..................................................................... 11
2.3.6 Neural Network (NNet) ................................................................................. 11
2.3.7 Centroid- based Vector .................................................................................. 12
2.4 Kết luận chung về các phƣơng pháp phân loại văn bản. ...................................... 13
2.5 Tách từ trong bài tốn phân loại văn bản ............................................................. 14
2.5.1 Khó khăn vƣớng mắc ..................................................................................... 14

2.5.2 Các phƣơng pháp tách từ ............................................................................... 15
CHƢƠNG 3: ỨNG DỤNG PHÂN LOẠI TÀI LIỆU ................................................... 19
3.1 Quy trình xử lý phân loại bài báo ........................................................................ 19
3.1.1 Tách từ trong văn bản .................................................................................... 19
3.1.2 Loại bỏ các từ tầm thƣờng ............................................................................. 20
3.2 Trích chọn đặc trƣng văn bản............................................................................... 20
3.2.1 Các ý tƣởng cơ bản ........................................................................................ 20
3.2.2 Phƣơng pháp rút trích đặc trƣng .................................................................... 21
Hồ Diên Cơng – Lớp 53K2 - Khoa CNTT


Đồ án tốt nghiệp đại học
3.2.3 Phƣơng pháp đặc trƣng đề nghị sử dụng ....................................................... 21
3.4 Sử dụng thuật toán Naïve Bayes để phân loại văn bản ....................................... 22
3.4.1 Lý do chọn Nạve Bayes ................................................................................ 22
3.4.2 Ý tƣởng và cơng thức Naïve Bayes .............................................................. 22
3.5 Ứng dụng Naïve Bayes vào bài toán phân loại ................................................... 23
3.5.1 Ý tƣởng .......................................................................................................... 23
3.5.2 Hƣớng dẫn cài đặt .......................................................................................... 24
CHƢƠNG 4: XÂY DỰNG CHƢƠNG TRÌNH............................................................ 27
4.1 Xây dựng cơ sở dữ liệu ........................................................................................ 27
4.1.1 Từ điển tiếng Việt .......................................................................................... 27
4.1.2 Mô tả thực thể ................................................................................................ 28
4.1.3 Mơ hình cơ sở dữ liệu .................................................................................... 29
4.1.4 Thiết kế giao diện .......................................................................................... 31
4.1.5 Xây dựng các chức năng ................................................................................ 32
KẾT LUẬN ................................................................................................................... 35
i. Kết quả đạt đƣợc ..................................................................................................... 35
ii. Hạn chế của đề tài .................................................................................................. 35
iii. Hƣớng khắc phục và phát triển đề tài ................................................................... 35

TÀI LIỆU THAM KHẢO ............................................................................................. 37
PHỤ LỤC ...................................................................................................................... 38

Hồ Diên Công – Lớp 53K2 - Khoa CNTT


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

CHƢƠNG 1: TỔNG QUAN
1.1 Đặt vấn đề
Trong thời đại bùng nổ công nghệ thông tin hiện nay, phƣơng thức sử dụng
giấy tờ trong giao dịch đã dần đƣợc số hoá chuyển sang các dạng văn bản lƣu trữ trên
máy tính hoặc truyền tải trên mạng. Bởi nhiều tính năng ƣu việt của tài liệu số nhƣ:
cách lƣu trữ gọn nhẹ, thời gian lƣu trữ lâu dài, tiện dụng trong trao đổi đặc biệt là qua
Internet, dễ dàng sửa đổi… Nên ngày nay, số lƣợng văn bản số tăng lên một cách
chóng mặt đặc biệt là trên world-wide-web. Cùng với sự gia tăng về số lƣợng văn bản,
nhu cầu tìm kiếm văn bản cũng tăng theo. Với số lƣợng văn bản đồ sộ thì việc phân
loại văn bản tự động là một nhu cầu bức thiết.
Tại sao phải phân loại văn bản tự động? Việc phân loại văn bản sẽ giúp chúng
ta tìm kiếm thơng tin dễ dàng và nhanh chóng hơn rất nhiều so với việc phải bới tung
mọi thứ trong ổ đĩa lƣu trữ để tìm kiếm thơng tin. Mặt khác, lƣợng thơng tin ngày một
tăng lên đáng kể, việc phân loại văn bản tự động sẽ giúp con ngƣời tiết kiệm đƣợc rất
nhiều thời gian và công sức.
Do vậy, các phƣơng pháp phân loại văn bản tự động đã ra đời để phục vụ cho
nhu cầu chính đáng đó.
1.2 Tổng quan tình hình nghiên cứu trong và ngồi nƣớc
Cơng tác phân loại ln đƣợc các thƣ viện và cơ quan thông tin trên thế giới hết
sức quan tâm. Phân loại tài liệu là một khâu cơng tác quan trọng giúp cho việc kiểm
sốt thƣ mục, góp phần thúc đẩy việc khai thác, trao đổi thông tin trong phạm vi quốc
gia và quốc tế. Trên thế giới và một số thƣ viện lớn ở Việt Nam, phân loại đƣợc áp

dụng sâu rộng trong việc tổ chức kho mở và tra cứu thông tin.
1.2.1 Tổng quan thế giới
Theo Yang & Xiu, 1999, “việc phân loại văn bản tự động là việc gán các nhãn
phân loại lên một văn bản mới dựa trên mức độ tƣơng tự của văn bản đó so với các
văn bản đã đƣợc gán nhãn trong tập huấn luyện”. Từ trƣớc đến nay, phân loại văn bản
tự động trong tiếng Anh đã có rất nhiều cơng trình nghiên cứu và đạt đƣợc kết quả
đáng khích lệ. Dựa trên các thống kê của Yang & Xiu (1999) và tìm hiểu của em, một
số phƣơng pháp phân loại thông dụng hiện nay là: Support Vector Machine (SVM) –
Joachims năm 1998, k-Nearest Neighbor –Yang năm 1994, Linear Least Squares Fit Yang and Chute năm 1994 Neural Network -Wiener et al năm 1995, Naïve Bayes Baker and Mccallum năm 2000, Centroid- based- Shankar and Karypis năm 1998. Các

Hồ Diên Công – Lớp 53K2 - Khoa CNTT

1


Đồ án tốt nghiệp đại học
phƣơng pháp trên đều dựa vào xác suất thống kê hoặc thông tin về trọng số của từ
trong văn bản. Chi tiết về ý tƣởng và cơng thức tính tốn của mỗi phƣơng pháp sẽ
đƣợc em trình bày ở chƣơng 2, mục 2.3.
Mỗi phƣơng pháp phân loại văn bản đều có cách tính tốn, áp dụng cơng thức
khác nhau, tuy nhiên, nhìn một cách tổng quan thì các phƣơng pháp đó đều phải thực
hiện một số bƣớc chung nhƣ sau: đầu tiên, mỗi phƣơng pháp sẽ dựa trên các thông tin
về sự xuất hiện của từ trong văn bản (ví dụ tần số, số văn bản chứa từ…) để biểu diễn
văn bản thành dạng vector. Sau đó, tuỳ từng phƣơng pháp mà ta sẽ áp dụng cơng thức
và cách thức tính tốn khác nhau để thực hiện việc phân loại.
Đối với tiếng Anh, các kết quả trong lĩnh vực này rất khả quan, còn đối với
tiếng Việt, các cơng trình nghiên cứu về phân loại văn bản gần đây đã có một số kết
quả ban đầu nhƣng vẫn còn nhiều hạn chế. Nguyên nhân là ngay ở bƣớc đầu tiên,
chúng ta đã gặp khó khăn trong việc xử lý văn bản để rút ra tần số xuất hiện của từ.
Trong khi đó, để phân loại văn bản thì có thể nói bƣớc đầu tiên là quan trọng nhất bởi

vì nếu ở bƣớc tách từ đã sai thì việc phân loại hầu nhƣ khơng thể thành cơng đƣợc.
Phần trình bày tiếp theo sẽ cho chúng ta biết những thách thức đặt ra trong việc tách từ
tiếng Việt, cũng nhƣ những ứng dụng thú vị của nó.
1.2.2 Tổng quan trong nƣớc
Vấn đề phân loại văn bản tiếng Việt đƣợc nhiều cơ sở nghiên cứu trong cả nƣớc
quan tâm trong những năm gần đây. Một số cơng trình nghiên cứu cũng đạt đƣợc
những kết quả khả quan. Các hƣớng tiếp cận bài toán phân loại văn bản đã đƣợc
nghiên cứu bao gồm: hƣớng tiếp cận bài toán phân loại bằng lý thuyết đồ thị, cách tiếp
cận sử dụng lý thuyết tập thô, cách tiếp cận thống kê, cách tiếp cận sử dụng phƣơng
pháp học không giám sát và đánh chỉ mục. Nhìn chung, những cách tiếp cận này đều
cho kết quả tốt. Tuy vậy để đi đến những triển khai khả thi thì vẫn cần đẩy mạnh
nghiên cứu nhƣng vẫn dựa trên hƣớng nghiên cứu trên. Một trong những khó khăn
trong việc áp dụng những thuật tốn phân loại văn bản vào tiếng Việt là xây dựng
đƣợc tập hợp từ vựng của văn bản. Vấn đề này liên quan tới việc phân tách một câu
thành các từ một cách chính xác. Có thể kể đến cơng trình nghiên cứu của GS.TSKH
Hoàng Kiếm và TS. Đỗ Phúc Đối với tiếng Anh, “từ là một nhóm các ký tự có nghĩa
đƣợc tách biệt với nhau bởi khoảng trắng trong câu” (Webster Dictionary), do vậy việc
tách từ trở nên rất đơn giản. Trong khi đối với tiếng Việt, ranh giới từ không đƣợc xác
định mặc định là khoảng trắng mà tùy thuộc vào ngữ cảnh dùng câu tiếng Việt. Ví dụ
các từ trong tiếng Anh là “book”, “cat”, “stadium” thì trong tiếng Việt là “quyển
sách”, “con mèo”, “sân vận động”. Vấn đề trên thực sự đƣa ra một thách thức đối với

Hồ Diên Công – Lớp 53K2 - Khoa CNTT

2


Đồ án tốt nghiệp đại học
chúng ta - những ngƣời làm tin học. Thách thức nào cũng có cái hay của nó. Khi
chúng ta giải quyết đƣợc việc tách từ một cách chính xác, thì kết quả mà chúng ta đạt

đƣợc là bƣớc phát triển trong các hƣớng nghiên cứu có liên quan đến việc xử lý ngơn
ngữ tự nhiên nhƣ: phân loại văn bản, dịch tự động, kiểm tra lỗi chính tả, kiểm tra ngữ
pháp… Đây là các ứng dụng rất cần thiết đối với con ngƣời và là mục tiêu của con
ngƣời đang hƣớng tới.
Theo nghiên cứu, các phƣơng pháp tách từ sau có nguồn gốc từ tiếng Hoa đã
đƣợc thử nghiệm trên tiếng Việt: Maximum Matching: forward/backward hay còn gọi
LRMM (Left Right Maximum Matching); giải thuật học cải biến TBL; mạng chuyển
dịch trạng thái hữu hạn có trọng số WFST (Weighted finite-state Transducer); giải
thuật dựa trên nén (compression);….Theo các cách tiếp cận trên, điều kiện quan trọng
cần có là một hệ thống từ điển và ngữ liệu đánh dấu đầy đủ, chuẩn xác. Một từ điển
hay một tập ngữ liệu khơng hồn chỉnh sẽ làm giảm hiệu suất của thuật toán.
Gần đây, một phƣơng pháp tách từ mới đƣợc giới thiệu có ƣu điểm là khơng
cần đến tập dữ liệu hay từ điển để lấy thông tin thống kê hay trọng số của từ, đó là
phƣơng pháp Internet and Genetics Algorithm-based Text Categorization (IGATEC)
của H. Nguyen et al (2005). Điểm sáng tạo của thuật toán là kết hợp thuật tốn di
truyền với việc trích xuất thơng tin thống kê từ Internet thơng qua một cơng cụ tìm
kiếm (ví dụ nhƣ Google) thay vì lấy từ tập dữ liệu nhƣ các phƣơng pháp trƣớc. Để
thực hiện bƣớc tách từ trong luận văn này em dựa trên ý tƣởng của mơ hình N-gram là
chia văn bản ra thành nhiều chuỗi, mỗi chuỗi gồm hai, ba ký tự trở lên với tập dữ liệu
xây dƣng thô và dữ liệu đã đƣợc phân loại sẵn.
1.3 Mục tiêu của luận văn
Tìm hiểu thuật tốn Nạve Bayes ứng dụng vào xây dựng một chƣơng trình
phân loại văn bản.
1.4 Nội dung thực hiện
i) Tìm tập dữ liệu bao gồm tập kiểm thử chƣơng trình và tập máy học bao gồm
các bộ test trong đó:
+ Tập máy học bao gồm các bài báo đƣợc phân loại theo tri thức, phân
loại thủ công hay dựa vào đề tài để phân loại làm dữ liệu.
+ Tập dùng để kiểm thử là tập hợp các bài báo đã đƣợc phân loại sẵn
dùng để kiểm thử chƣơng trình lấy kết quả thống kê khi hồn thành chƣơng trình.

ii) Tìm hiểu các phƣơng pháp tách từ hiện nay để chọn ra phƣơng pháp phù
hợp nhất .

Hồ Diên Công – Lớp 53K2 - Khoa CNTT

3


Đồ án tốt nghiệp đại học
iii) Tách từ, xóa những stop word dựa trên phƣơng pháp đã chọn trên tập dữ
liệu tìm đƣợc.
iv) Tìm hiểu các phƣơng pháp tính trọng số của từ, chọn lựa phƣơng pháp phù
hợp.
v) Rút trích đặc trƣng ƣớc lƣợng xác suất theo phƣơng pháp Naïve Bayes vào
chƣơng trình phân loại văn bản tiếng Việt.
v) Thử nghiệm và rút ra kết luận.

Hồ Diên Công – Lớp 53K2 - Khoa CNTT

4


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

CHƢƠNG 2: CÁC PHƢƠNG PHÁP PHÂN LOẠI VĂN BẢN
2.1 Tổng quát về các phƣơng pháp phân loại văn bản
Hiện nay phân loại văn bản tự động là một lĩnh vực đƣợc chú ý nhất trong
những năm gần đây. Để phân loại văn bản ngƣời ta sử dụng nhiều cách tiếp cận khác
nhau nhƣ: dựa trên từ khóa, dựa trên ngữ nghĩa các từ có tần số xuất hiện cao hay
trọng số của từ, tập dữ liệu, mơ hình Maximum Entropy... Tiếng Anh là ngơn ngữ

đƣợc nghiên cứu sớm nhất và đã đạt đƣợc kết quả tốt. Rất nhiều phƣơng pháp đã đƣợc
áp dụng nhƣ: mô hình hồi quy phân loại dựa trên láng giềng gần nhất k-Nearest
Neighbors, phƣơng pháp dựa trên xác suất Naïve Bayes, cây quyết định học luật quy
nạp, máy vector hỗ trợ Support vector Machine, mơ hình cực đại entropy. Hiệu quả
của các phƣơng pháp là rất khác nhau ngay cả khi chúng đƣợc áp dụng trong tiếng
Anh. Việc đánh giá gặp nhiều khó khăn do thiếu các tập dữ liệu huấn luyện chuẩn.
Chƣơng hai này để giới thiệu các thuật toán đƣợc sử dụng rộng rãi và so sách sự giống
và khác nhau giữa các phƣơng pháp.
2.2 Mơ tả bài tốn phân loại văn bản
Ý tƣởng của phƣơng pháp phân loại các chủ đề, cần dự đốn văn bản đó thuộc
vào chủ đề nào trong số các chủ đề đã cho.
Gọi X là tập các văn bản cần phân loại và Y là tập các chủ đề có thể đƣợc gán
cho các văn bản. Khi đó ta cần phải chỉ ra một văn bản x  X thuộc vào chủ đề y  Y
nào. Trong đó, x bao gồm các từ, cụm từ, câu đƣợc dùng cho nhiệm vụ phân loại. Để
rõ hơn ta xét ví dụ gồm 6 lớp các bài báo có thể đƣợc phân loại: báo pháp luật, báo gia
đình, báo thể thao, báo văn hóa, báo về giới tính, báo nhân dân. Và chúng ta có ràng
buộc, nếu một văn bản có từ “bóng đá” xuất hiện thì khả năng văn bản đó thuộc vào
lớp “báo thể thao” là 30% và 70% là khả năng mà văn bản đó thƣợc vào 5 lớp cịn lại.
Với ví dụ này thì chúng ta có thể dễ dàng tính đƣợc. Nhƣng thực tế thì khơng phải chỉ
một vài ràng buộc đơn giản nhƣ vậy, mà là hàng trăm hàng nghìn ràng buộc phức tạp
hơn nhiều.
Vì vậy, nhiệm vụ đầu tiên cần phải làm là biểu diễn văn bản dƣới dạng các từ,
cụm từ và các câu có chọn lọc. Lọc bỏ những từ, cụm từ và câu khơng có nghĩa hay
khơng có tác động tích cực tới việc phân loại.
Bƣớc tiếp theo là xác định các ràng buộc cho bài toán phân loại. Các ràng buộc
này sẽ đƣợc lấy ra từ tập dữ liệu huấn luyện. Mỗi ràng buộc thể hiện một đặc trƣng của
dữ liệu huấn luyện. Khi ta có đƣợc 1 bài báo, khi đó ta dựa vào một số đặc điểm hay
thuộc tính nào đó của bài báo để tăng khả năng phân loại. Các đặc điểm của bài báo
Hồ Diên Công – Lớp 53K2 - Khoa CNTT


5


Đồ án tốt nghiệp đại học
nhƣ: tiêu đề, nội dung… Càng nhiều những thông tin nhƣ vậy xác suất phân loại đúng
càng lớn, tất nhiên cịn phụ thuộc vào kích thƣớc của tập mẫu huấn luyện.
Việc tính tốn xác suất sẽ dựa vào cơng thức Nạve Bayes, từ xác suất thu đƣợc
ta đem so sánh với một giá trị ngƣỡng t nào đó mà ta xem là ngƣỡng để phân loại bài
báo thuộc thể loại nào.
2.3 Các phƣơng pháp phân loại văn bản.
2.3.1 Support vector Machine (SVM)
SVM - viết tắt tên tiếng Anh Support Vector Machine là phƣơng pháp đƣợc
Vapnik giới thiệu vào năm 1995 nhằm giải quyết vấn đề nhận dạng mẫu 2 lớp sử dụng
nguyên lý cực tiểu hóa rủi ro có cấu trúc.
a) Ý tƣởng
Cho trƣớc tập huấn luyện đƣợc biểu diễn trong không gian vector trong đó mỗi
văn bản là một điểm, phƣơng pháp tìm ra một siêu mặt phẳng h quyết định tốt nhất có
thể chia các điểm trên không gian này thành 2 lớp riêng biệt tƣơng ứng lớp + và lớp -.
Hiệu quả xác định siêu mặt phẳng này đƣợc quyết định bởi khoảng cách của điểm gần
mặt phẳng nhất của mỗi lớp. Khoảng cách càng lớn thì mặt phẳng quyết định càng tốt
đồng nghĩa với việc phân loại càng chính xác và ngƣợc lại. Mục đích cuối cùng của
phƣơng pháp là tìm đƣợc khoảng cách biên lớn nhất.

Hình 2.1 Phân chia dữ liệu huấn huyện

Hồ Diên Công – Lớp 53K2 - Khoa CNTT

6



Đồ án tốt nghiệp đại học
b) Cơng thức
Phƣơng trình siêu mặt phẳng chứa vector nhƣ sau:
̅

̅

Đặt
(̅)



̅

)

{

̅ ̅
̅ ̅

Nhƣ vậy ( ̅ ) biểu diễn sự phân lớp của ̅ vào 2 lớp + và lớp -. Gọi yi = {±1}, yi
= +1 văn bản ̅ thuộc lớp +, yi = -1 văn bản ̅ thuộc lớp -. Để có siêu mặt phẳng h ta
đi giải bài tốn:
Tính Min || ̅|| với ̅ và b thoản mãn điều kiện:
̅̅̅̅̅

(̅ ̅

)


Bài toán SVM có thể đƣợc giải bằng tốn tử Lagrange để biến đổi thành dạng đẳng
thức.
Một điểm đặc biệt trong phƣơng pháp SVM là siêu mặt phẳng h chỉ phụ thuộc
vào các vector hỗ trợ. Khác so với các phƣơng pháp khác vì các phƣơng pháp khác có
kết quả phân loại phụ thuộc vào toàn bộ dữ liệu. Khi dữ liệu có sự thay đổi thì kết quả
cũng thay đổi.
2.3.2 Nạve Bayes (NB)
NB là phƣơng pháp phân loại dựa vào xác suất đƣợc sử dụng rộng rãi trong lĩnh
vực máy học và nhiều lĩnh vực khác nhƣ trong các công cụ tìm kiếm, các bộ lọc mail.
a) Ý tƣởng
Ý tƣởng cơ bản của cách tiếp cận Naïve Bayes (NB) là sử dụng xác suất có
điều kiện giữa từ và chủ đề để dự đoán xác suất chủ đề của một văn bản cần phân loại.
Điểm quan trọng của phƣơng pháp này chính là ở chỗ giả định rằng sự xuất hiện của
tất cả các từ trong văn bản đều độc lập với nhau. Nhƣ thế NB không tận dụng đƣợc sự
phụ thuộc của nhiều từ vào một chủ đề cụ thể. Giả định đó làm cho việc tính tốn NB
hiệu quả và nhanh chóng hơn các phƣơng pháp khác với độ phức tạp theo số mũ vì nó
khơng sử dụng việc kết hợp các từ để đƣa ra phán đoán chủ đề.

Hồ Diên Công – Lớp 53K2 - Khoa CNTT

7


Đồ án tốt nghiệp đại học
b) Cơng thức
|

Mục đích chính là làm sao tính đƣợc xác suất
nằm trong lớp . Theo luật Bayes, văn bản

|
suất
cao nhất.
Cơng thức để tính
|

|

xác suất để văn bản

sẽ đƣợc gán vào lớp

nào có xác

nhƣ sau:
|

hay

Mục tiêu trong phân lớp Nạve Bayes là tìm lớp có giá trị lớn nhất của :
P(ωj|xi): ω* = arg max P(ωj|xi)
j {1,...,m}
Likelihood: Giả sử rằng các mẫu quan sát độc lập và các đặc trƣng độc lập. Với
mỗi vector đặc trƣng xi = (xi1, xi2, · · · , xid):
|

|

|


|



|

trong đó
|
-

là số lần đặc trƣng xik xuất hiện trong lớp
là tổng số tất cả các đặc trƣng trong lớp

.

.

Priori: Xác suất trƣớc đƣợc tính nhƣ sau:

-

là tổng số tất cả các mẫu của tập dữ liệu D.

Evidence: Có giá trị nhƣ nhau với tất cả các lớp.
Ngồi ra cịn có các phƣơng pháp NB khác có thể kể ra nhƣ ML Nạve Bayes,
MAP Nạve Bayes, Expected Nạve Bayes. Nói chung Nạve Bayes là một cơng cụ
rất hiệu quả trong một số trƣờng hợp. Kết quả có thể rất xấu nếu dữ liệu huấn luyện
nghèo nàn và các tham số dự đốn (nhƣ khơng gian đặc trƣng) có chất lƣợng kém.
Nhìn chung đây là một thuật tốn phân loại tuyến tính thích hợp trong phân loại văn
bản nhiều chủ đề.

NB có ƣu điểm là cài đặt đơn giản, tốc độ thực hiện thuật toán nhanh, dễ dàng cập nhật
dữ liệu huấn luyện mới và có tính độc lập cao với tập huấn luyện.

Hồ Diên Công – Lớp 53K2 - Khoa CNTT

8


Đồ án tốt nghiệp đại học
2.3.3 Biểu diễn văn bản
Bƣớc đầu tiên của các phƣơng pháp phân loại văn bản là chuyển việc mô tả văn
bản dùng chuỗi ký tự thành dạng mô tả khác phù hợp với các thuật toán. Hầu hết các
thuật toán đều sử dụng cách biểu diễn theo vector đặc trƣng, khác nhau chủ yếu ở việc
lựa chọn không gian đặc trƣng. Cụ thể với mô hình cực đại entropy, thuật tốn IIS chỉ
có thể tính toán đƣợc các tham số dựa trên các vector đặc trƣng. Vậy vector đặc trƣng
là gì?
Mỗi vector đặc trƣng ̅ đại diện cho một văn bản tƣơng ứng trong không gian
các từ w: ̅ (TF( ), TF( ), ..., TF( )). Trong đó: TF( ) là số lần xuất hiện của từ
trong chính văn bản đó ( ); n là số chiều của khơng gian.

Hình 2.2 Biểu diễn văn bản
Biểu diễn văn bản theo các vector đặc trƣng sẽ nảy sinh các vấn đề nhƣ: cần
phải lựa chọn bao nhiêu từ để biểu diễn cho văn bản đó?. Và làm thế nào để lựa chọn
đƣợc những từ đó? Ở đây xin giới thiệu hƣớng tiếp cận sử dụng Information Gain
[Yang & Petersen, 1997].
Các đặc trƣng của văn bản khi biểu diễn dƣới dạng vector:
- Số chiều không gian đặc trƣng thƣờng rất lớn
2.3.4 K–Nearest Neighbor (kNN)
kNN là phƣơng pháp truyền thống khá nổi tiếng theo hƣớng tiếp cận thống kê
đã đƣợc nghiên cứu trong nhiều năm qua. KNN đƣợc đánh giá là một trong những


Hồ Diên Công – Lớp 53K2 - Khoa CNTT

9


Đồ án tốt nghiệp đại học
phƣơng pháp tốt nhất đƣợc sử dụng từ những thời kỳ đầu trong nghiên cứu về phân
loại văn bản.
a) Ý tƣởng
Ý tƣởng của phƣơng pháp này đó là khi cần phân loại một văn bản mới, thuật
tốn sẽ xác định khoảng cách (có thể áp dụng các công thức về khoảng cách nhƣ
Euclide, Cosine, Manhattan,…) của tất cả các văn bản trong tập huấn luyện đến văn
bản này để tìm ra k văn bản gần nhất, gọi là k Nearest Neighbor – k láng giềng gần
nhất, sau đó dùng các khoảng cách này đánh trọng số cho tất cả các chủ đề. Khi đó,
trọng số của một chủ đề chính là tổng tất cả các khoảng cách ở trên của các văn bản
trong k láng giềng có cùng chủ đề, chủ đề nào khơng xuất hiện trong k láng giềng sẽ
có trọng số bằng 0. Sau đó các chủ đề sẽ đƣợc sắp xếp theo giá trị trọng số giảm dần
và các chủ đề có trọng số cao sẽ đƣợc chọn làm chủ đề của văn bản cần phân loại.
b) Công thức
Trọng số của chủ đề cj đối với văn bản x đƣợc tính nhƣ sau:

Trong đó:
thuộc {0,1}, với:
- y = 0: văn bản di không thuộc về chủ đề
- y = 1: văn bản di thuộc về chủ đề cjsim (x, d): độ giống nhau giữa văn bản cần
phân loại x và văn bản d. Chúng ta có thể sử dụng độ đo cosine để tính khoảng
cách:

- bj là ngƣỡng phân loại của chủ đề cj đƣợc tự động học sử dụng một tập

văn bản hợp lệ đƣợc chọn ra từ tập huấn luyện.
Để chọn đƣợc tham số k tốt nhất cho thao tác phân loại, thuật toán cần đƣợc
chạy thử nghiệm trên nhiều giá trị k khác nhau, giá trị k càng lớn thì thuật tốn càng ổn
định và sai sót càng thấp.

Hồ Diên Công – Lớp 53K2 - Khoa CNTT

10


Đồ án tốt nghiệp đại học
2.3.5 Linear Least Square Fit (LLSF)
LLSF là một cách tiếp cận ánh xạ đƣợc phát triển bởi Yang và Chute vào năm
1992. Ban đầu LLSF đƣợc thử nghiệm trong lĩnh vực xác định từ đồng nghĩa sau đó sử
dụng trong phân loại vào năm 1994. Các thử nghiệm cho thấy hiệu suất phân loại của
LLSF có thể ngang bằng với phƣơng pháp kNN kinh điển.
a) Ý tƣởng
LLSF sử dụng phƣơng pháp hồi quy để học từ tập huấn luyện và các chủ đề có
sẵn [Yang & Chute, 1994]. Tập huấn luyện đƣợc biểu diễn dƣới dạng một cặp vector
đầu vào và đầu ra nhƣ sau:
- Vector đầu vào một văn bản bao gồm các từ và trọng số.
- Vector đầu ra gồm các chủ đề cùng với trọng số nhị phân của văn bản ứng với
vector đầu vào Giải phƣơng trình các cặp vector đầu vào/ đầu ra, ta sẽ đƣợc ma trận
đồng hiện của hệ số hồi quy của từ và chủ đề (matrix of word-category regression
coefficients).
b) Cơng thức

Trong đó A, B là ma trận đại diện tập dữ liệu huấn luyện (các cột trong ma trận
tƣơng ứng là các vector đầu vào và đầu ra) FLS là ma trận kết quả chỉ ra một ánh xạ
từ một văn bản bất kỳ vào vector của chủ đề đã gán trọng số Nhờ vào việc sắp xếp

trọng số của các chủ đề, ta đƣợc một danh sách chủ đề có thể gán cho văn bản cần
phân loại.
Nhờ đặt ngƣỡng lên trọng số của các chủ đề mà ta tìm đƣợc chủ đề thích hợp cho
văn bản đầu vào. Hệ thống tự động học các ngƣỡng tối ƣu cho từng chủ đề, giống với
kNN. Mặc dù LLSF và kNN khác nhau về mặt thống kê, nhƣng ta vẫn tìm thấy điểm
chung ở hoạt động của hai phƣơng pháp là việc học ngƣỡng tối ƣu.
2.3.6 Neural Network (NNet)
Nnet đƣợc nghiên cứu mạnh trong hƣớng trí tuệ nhân tạo. Wiener là ngƣời đã
sử dụng Nnet để phân loại văn bản, sử dụng 2 hƣớng tiếp cận: kiến trúc phẳng (không
sử dụng lớp ẩn) và mạng nơron 3 lớp (bao gồm một lớp ẩn).
Cả hai hệ thống trên đều sử dụng một mạng nơron riêng rẽ cho từng chủ đề, NNet
học cách ánh xạ phi tuyến tính những yếu tố đầu vào nhƣ từ, hay mơ hình vector của
một văn bản vào một chủ đề cụ thể.

Hồ Diên Công – Lớp 53K2 - Khoa CNTT

11


Đồ án tốt nghiệp đại học
Khuyết điểm của phƣơng pháp NNet là tiêu tốn nhiều thời gian dành cho việc
huấn luyện mạng nơron.
a) Ý tƣởng
Mơ hình mạng neural gồm có ba thành phần chính nhƣ sau: kiến trúc
(architecture), hàm chi phí (cost function), và thuật tốn tìm kiếm. Kiến trúc định
nghĩa dạng chức năng (functional form) liên quan giá trị nhập (inputs) đến giá trị xuất
(outputs). Kiến trúc phẳng (flat architecture): Mạng phân loại đơn giản nhất (còn gọi là
mạng logic) có một đơn vị xuất là kích hoạt kết quả (logistic activation) và khơng có
lớp ẩn, kết quả trả về ở dạng hàm (functional form) tƣơng đƣơng với mô hình hồi quy
logic.Thuật tốn tìm kiếm chia nhỏ mơ hình mạng để thích hợp với việc điều chỉnh mơ

hình ứng với tập huấn luyện.

Hình 2.3 Hình Kiến trúc mơ đun (Modular Architecture)
Các kết quả của từng mạng con sẽ là giá trị đầu vào cho mạng siêu chủ đề và
đƣợc nhân lại với nhau để dự đoán chủ đề cuối cùng.
b) Cơng thức
Trong cơng trình của Wiener et al (1995) dựa theo khung của mơ hình hồi quy,
liên quan từ đặc trƣng đầu vào cho đến kết quả gán chủ đề tƣơng ứng đƣợc học từ 17
tập dữ liệu. Do vậy, để phân tích một cách tuyến tính, tác giả dùng hàm sigmoid sau
làm hàm truyền trong mạng neural:

2.3.7 Centroid- based Vector
Là một phƣơng pháp phân loại đơn giản, dễ cài đặt và tốc độ nhanh do có độ
phức tạp tuyến tính O(n).

Hồ Diên Cơng – Lớp 53K2 - Khoa CNTT

12


Đồ án tốt nghiệp đại học
a) Ý tƣởng
Ý tƣởng của cách tiếp cận này là mỗi lớp trong dữ liệu huấn luyện sẽ đƣợc biểu
diễn bằng một vector trọng tâm. Việc xác định lớp của một văn bản bất kỳ sẽ thơng
qua việc tìm vector trọng tâm nào gần với vector biểu diễn văn bản thứ nhất. Lớp của
văn bản chính là lớp mà vector trọng tâm đại diện và khoảng cách đƣợc xác định theo
độ đo cosine.
b) Công thức
Công thức tính vector trọng tâm của lớp i:


Độ đo khoảng cách giữa vector x và vector Ci:

Trong đó:
i) x là vector văn bản cần phân loại.
ii) {i} là tập hợp các văn bản thuộc chủ đề Ci.
iii) Chủ đề của vector x là Cx thỏa mãn cos(x, Cx) = arg max (cos(x, Ci)).
2.4 Kết luận chung về các phƣơng pháp phân loại văn bản.
Các thuật toán phân loại trên từ thuật toán phân loại hai lớp (SVM) đến các
thuật toán phân loại đa lớp (kNN) đều có điểm chung là yêu cầu văn bản phải đƣợc
biểu diễn dƣới dạng vector đặc trƣng. Ngồi ra các thuật tốn nhƣ kNN, NB, LLSF
đều phải sử dụng các ƣớc lƣợng tham số và ngƣỡng tối ƣu khi phân loại văn bản, trong
khi thuật tốn SVM có thể tự xác định các tham số tối ƣu này trong qúa trình thực hiện
thuật tốn. Xét về mặt thời gian, các phƣơng pháp có thời gian huấn luyện khác nhau,
các phƣơng pháp kNN, NB, LLSF có thời gian huấn luyện và phân loại văn bản nhanh
hơn so với các thuật tốn cịn lại, đồng thời dễ dàng cài đặt hơn. Một câu hỏi đƣợc đặt
ra là: “Để có đƣợc một kết quả phân loại đạt kết quả tốt thì cần những yếu tố gì?”
Có 3 yếu tố quan trọng tác động đến kết quả phân loại văn bản:
i) Cần một tập dữ liệu huấn luyện chuẩn và đủ lớn để cho thuật toán học phân
loại. Nếu chúng ta có đƣợc một tập dữ liệu chuẩn và đủ lớn thì qúa trình huấn luyện sẽ
tốt và khi đó chúng ta sẽ có kết quả phân loại tốt sau khi đã đƣợc học.
Hồ Diên Công – Lớp 53K2 - Khoa CNTT

13


Đồ án tốt nghiệp đại học
ii) Các phƣơng pháp trên hầu hết đều sử dụng mơ hình vector để biểu diễn
văn bản, do đó phƣơng pháp tách từ trong văn bản đóng vai trị quan trọng trong qúa
trình biểu diễn văn bản bằng vector. Yếu tố này rất quan trọng, vì có thể đối với một số
ngơn ngữ nhƣ tiếng Anh chẳng hạn thì thao tác tách từ trong văn bản đơn giản chỉ là

dựa vào các khoảng trắng, tuy nhiên trong các ngôn ngữ đa âm tiết nhƣ tiếng Việt và
một số ngơn ngữ khác thì sử dụng khoảng trắng khi tách từ là khơng chính xác, do đó
phƣơng pháp tách từ là một yếu tố quan trọng.
iii) Thuật tốn sử dụng để phân loại phải có thời gian xử lý hợp lý, thời gian
này bao gồm: thời gian học, thời gian phân loại văn bản, ngoài ra thuật tốn này phải
có tính tăng cƣờng (incremental function) nghĩa là khơng phân loại lại tồn bộ tập văn
bản khi thêm một số văn bản mới vào tập dữ liệu mà chỉ phân loại các văn bản mới mà
thơi, khi đó thuật tốn phải có khả năng giảm độ nhiễu ( noise ) khi phân loại văn bản.
2.5 Tách từ trong bài toán phân loại văn bản
Hiện nay các phƣơng pháp tách từ tiếng Việt đƣợc công bố vẫn chƣa nhiều và
hƣớng tiếp cận chủ yếu là dựa vào tập huấn luyện và từ điển. Việc tạo ra hệ thống dữ
liệu đó khơng phải là một điều dễ dàng, mà u cầu đầu tƣ khá nhiều công sức, thời
gian và tiền bạc. Bởi vì trong tiếng Việt, hình vị nhỏ nhất là “tiếng” đƣợc hình thành
bởi nhiều ký tự trong bảng chữ cái. Phƣơng pháp này đơn thuần rút trích ra một số
lƣợng nhất định các tiếng trong văn bản nhƣ rút trích từ 1 ký tự (unigram) hay nhiều
ký tự (n-gram) đƣợc minh chứng thơng qua một số cơng trình nghiên cứu đã đƣợc
công bố, nhƣ của tác giả Lê An Hà [2003] xây dựng tập ngữ liệu thô 10MB bằng cách
sử dụng phƣơng pháp qui hoạch động để cực đại hóa xác suất xuất hiện của các ngữ.
Ƣu điểm nổi bật của hƣớng tiếp cận dựa trên nhiều ký tự là tính đơn giản, dễ ứng
dụng, ngồi ra cịn có thuận lợi là ít tốn chi phí cho thao tác tạo chỉ mục và xử lý nhiều
câu truy vấn.
Sau đó, em sẽ cài đặt, thử nghiệm độ chính xác của phƣơng pháp tách từ này
trong khía cạnh phân loại văn bản.
2.5.1 Khó khăn vƣớng mắc
Vấn đề phân định từ loại tiếng Việt ở nƣớc ta khá phức tạp. Tiếng Việt là loại
hình phi hình thái nên việc phân biệt loại từ (danh từ, động từ, tính từ …) và ý nghĩa từ
là rất khó, cho dù có sử dụng từ điển.
Việc tiền xử lý văn bản (tách từ, tách đoạn, tách câu…) sẽ thêm phức tạp với
phần xử lý các hƣ từ, phụ từ, từ láy, từ ghép vv…
Ví dụ: lấp lánh, lung linh. Hiện đại → hại điện, thầy giáo → tháo giầy…


Hồ Diên Công – Lớp 53K2 - Khoa CNTT

14


Đồ án tốt nghiệp đại học
Phƣơng thức ngữ pháp chủ yếu là trật tự từ nên nếu áp dụng phƣơng pháp tính
xác suất xuất hiện của từ có thể khơng chính xác nhƣ mong đợi.
Ranh giới từ khơng đƣợc xác định mặc nhiên bằng khoảng trắng. Đ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
diện ranh giới từ là quan trọng làm tiền đề cho các xử lý tiếp theo sau đó, nhƣ: kiểm
lỗi chính tả, gán nhãn từ loại, thống kê tần suất từ…
Tồn tại loại từ đặc biệt “từ chỉ loại” hay cịn gọi là phó danh từ chỉ loại kèm
theo với danh từ, nhƣ: cái ghế, cuốn vở, lá thƣ, con mèo, con sơng, vì sao, tại sao vv…
Tập ngữ liệu vẫn còn khá nhỏ để đảm bảo dung lƣợng và độ phong phú cho
việc tách từ. Mặc khác, do tập ngữ liệu đƣợc xây dựng một cách thủ cơng, nên sẽ phần
nào mang tính chủ quan. Và một hạn chế nữa là việc đánh giá lại đƣợc những thay đổi
hằng ngày rất chậm, và có thể xảy ra hiện tƣợng flip-flop (hiện tƣợng khi khắc phục
lỗi này lại dẫn đến lỗi khác không ngờ tới). Ở hƣớng tiếp cận dựa trên từ điển, các từ
đƣợc tách phải tƣơng ứng với những từ có trong từ điển. Hiện tại, ta vẫn chƣa xây
dựng đƣợc một bộ từ điển Việt Nam chứa toàn bộ các từ và ngữ.
2.5.2 Các phƣơng pháp tách từ
a) Phƣơng pháp dựa trên Otomat
Phƣơng pháp này sử dụng tập dữ liệu gồm bảng âm tiết tiếng Việt (khoảng
6700 âm tiết) và từ điển từ vựng tiếng Việt (khoảng 30.000 từ). Các từ điển đƣợc lƣu
dƣới dạng các tệp văn bản có định dạng mã TCVN hoặc Unicode dựng sẵn (UTF-8).
Các bƣớc giải quyết của phƣơng pháp:
- Xây dựng ơtơmát âm tiết đốn nhận tất cả các âm tiết tiếng Việt
- Xây dựng ôtômát từ vựng đoán nhận tất cả các từ vựng tiếng Việt.

Dựa trên các ôtômát nêu trên, xây dựng đồ thị tƣơng ứng với câu cần phân tích và
sử dụng thuật tốn tìm kiếm trên đồ thị để liệt kê các cách phân tích có thể. Bảng chữ
cái của ơtơmát âm tiết là bảng chữ cái tiếng Việt, mỗi cung chuyển đƣợc ghi trên đó
một ký tự. Ví dụ, với ba âm tiết phƣơng, pháp, trình ta sẽ có ơtơmát đốn nhận âm tiết
nhƣ Hình 2.4.

Hồ Diên Cơng – Lớp 53K2 - Khoa CNTT

15


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

Hình 2.4 Xây dựng ơtơmát âm tiết.
Ơtơmát từ vựng đƣợc xây dựng tƣơng tự, với điểm khác nhƣ sau: thay vì ghi
trên mỗi cung chuyển một âm tiết, chúng ta ghi số hiệu của trạng thái (kết) của ơtơmát
âm tiết tại đó đốn nhận mỗi âm tiết của từ nhằm giảm kích thƣớc của ơtơmát từ vựng.
Ví dụ, với hai từ phƣơng pháp và phƣơng trình, giả sử khi đƣa lần lƣợt các âm tiết
phƣơng, pháp, trình qua ơtơmát âm tiết, ta đến đƣợc các trạng thái kết ghi các số n1,
n2, n3 thì trên các cung chuyển tƣơng ứng ta ghi các số n1, n2, n3 (Hình 2.5).

Hình 2.5 Xây dựng ơtơmát từ vựng.
Tƣ tƣởng của thuật toán phân tách từ vựng là quy việc phân tách câu về việc
tìm đƣờng đi trên một đồ thị có hƣớng, khơng có trọng số. Giả sử câu ban đầu là một
dãy gồm n+1 âm tiết s0, s1,..., sn. Phƣơng pháp xây dựng một đồ thị có n+2 đỉnh v0,
v1,..., vn, vn+1, sắp thứ tự trên một đƣờng thẳng từ trái sang phải; trong đó, từ đỉnh vi
đến đỉnh vj có cung (i < j) nếu các âm tiết si, si+1,. .., sj-1 theo thứ tự lập thành một
từ. Khi đó mỗi cách phân tách câu khác nhau tƣơng ứng với một đƣờng đi trên đồ thị
từ đỉnh đầu v0 đến đỉnh cuối vn+1. Trong thực tế, cách phân tích câu đúng đắn nhất
thƣờng ứng với đƣờng đi qua ít cung nhất trên đồ thị. Trong trƣờng hợp câu có sự

nhập nhằng thì đồ thị sẽ có nhiều hơn một đƣờng đi ngắn nhất từ đỉnh đầu đến đỉnh
cuối, phƣơng pháp liệt kê toàn bộ các đƣờng đi ngắn nhất trên đồ thị, từ đó đƣa ra tất
cả các phƣơng án tách từ có thể và để ngƣời dùng quyết định sẽ chọn phƣơng án nào,
tuỳ thuộc vào ngữ nghĩa hoặc văn cảnh. Ví dụ, xét một câu có cụm "thuộc địa bàn", ta
có đồ thị nhƣ hình 2.6:

Hồ Diên Cơng – Lớp 53K2 - Khoa CNTT

16


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

Hình 2.6 Một tình huống nhập nhằng trong phân tách từ.
Cụm này có sự nhập nhằng giữa thuộc địa và địa bàn và ta sẽ có hai kết quả
phân tách là “thuộc địa/bàn” và “thuộc/địa bàn”. Ta có thể chỉ ra rất nhiều những cụm
nhập nhằng trong tiếng Việt, chẳng hạn “tổ hợp âm tiết”, “bằng chứng cớ”…
Trƣờng hợp trong câu có âm tiết khơng nằm trong từ điển thì rõ ràng ơtơmát âm
tiết khơng đoán nhận đƣợc âm tiết này. Kết quả là đồ thị ta xây dựng từ câu đó là
khơng liên thơng. Dựa vào tính chất này, ta thấy rằng nếu đồ thị khơng liên thơng thì
dễ dàng phát hiện ra rằng đơn vị âm tiết khơng đốn nhận đƣợc khơng nằm trong từ
điển âm tiết, tức nó bị viết sai chính tả hoặc là một đơn vị âm tiết (từ vựng) mới.
Với cách tiếp cận nhƣ trên, bài toán phân tách từ vựng trong câu tiếng Việt về
cơ bản đã đƣợc giải quyết, đặc biệt là vấn đề tách các tổ hợp từ tƣơng đƣơng với một
đơn vị từ vựng, thƣờng là các cụm từ cố định, cụm từ gợi ý hoặc các thành ngữ trong
tiếng Việt. Với những câu nhập vào có sự nhập nhằng từ vựng, tức có nhiều hơn một
cách phân tách thì phƣơng pháp liệt kê tồn bộ các phƣơng án tách từ có thể và giành
quyền lựa chọn kết quả cho ngƣời sử dụng. Trong tất cả các phƣơng án phân tách đó
bao giờ cũng tồn tại phƣơng án đúng.
b) Dùng mơ hình n-gram và phƣơng pháp xác suất thống kê

Hƣớng tiếp cận này thƣờng quy định tham số đầu vào n trong mơ hình n-gram,
thơng thƣờng n=2 do số lƣợng từ ghép 2 tiếng chiếm đa số trong từ điển tiếng Việt. Có
thể giải thích sơ qua về mơ hình n-gram, đây là mơ hình tách các từ liên tiếp nhau
trong văn bản, giả sử ta có văn bản S = {t1, t2,…, ti} với ti là tiếng trong văn bản, mơ
hình trên sẽ gom các tiếng liên tiếp nhau thành 1 từ, với i tiếng sẽ có (i-(n-1)) từ.
Ví dụ ta có câu: “Bài báo trình bày một phương pháp hồn tồn mới”.
Dùng mơ hình n-gram với n=2 ta sẽ có các từ:
w1=”Bài báo”, w2=”báo trình”, w3=”trình bày”, w4=”bày một”,
w5=”một phương”, w6= “phương pháp”, w7=”pháp hồn”, w8=”hồn tồn”,
w9=”tồn mới”.
Ta thấy chỉ có w1, w3, w6, w8 là những cụm từ có nghĩa, theo quan niệm những
cụm từ sau khi tách xuất hiện nhiều trong nhiều văn bản khác nhau thì ta cho rằng từ
Hồ Diên Công – Lớp 53K2 - Khoa CNTT

17


Đồ án tốt nghiệp đại học
đó có nghĩa. Nhƣ vậy các từ có nghĩa sẽ có tần suất xuất hiện nhiều nhất. Tuy nhiên
nhƣ đã thấy qua ví dụ trên với i=10 và n=2 chỉ có 4 cụm từ có nghĩa, nhƣng có đến 5
cụm từ vơ nghĩa, chính vì thế nếu sử dụng phƣơng pháp này ta phải xác định ngƣỡng
tần suất chấp nhận từ có nghĩa và khuyết điểm của phƣơng pháp này là sinh dữ liệu rác
khá nhiều.
c) Sử dụng giải thuật di truyền và thống kê trên Internet
Phƣơng pháp tập trung vào cách tách từ trong văn bản tiếng Việt theo một cách
khả thi nào đó mà không dựa vào bất kỳ bộ lexicon hay ngữ liệu huấn luyện đƣợc gán
nhãn nào để phục vụ cho việc phân loại văn bản tiếng Việt. Do có thể tồn tại nhiều
cách tách từ hợp lý khác nhau cho cùng một câu, phƣơng pháp sử dụng giải thuật di
truyền để tiến hóa quần thể mà trong đó, mỗi cá thể là tƣơng ứng với một cách tách từ
cho câu đang xét. Hàm đánh giá độ thích nghi thể hiện thơng tin thống kê rút trích trực

tiếp từ Internet sử dụng các search engine thƣơng mại. Thơng tin rút trích bao gồm tần
số của tài liệu và thông tin tƣơng quan n-gram.
Hƣớng tiếp cận lai áp dụng nhiều cách khác nhau để tận dụng ƣu điểm của các
giải pháp.Tóm lại, các hƣớng tiếp cận để phân loại văn bản tiếng Việt dựa vào từ chỉ
khả thi khi có bộ lexicon tốt và hay ngữ liệu huấn luyện đủ lớn và đáng tin cậy.
Với mỗi câu, phƣơng pháp sẽ xác định cách tách từ hợp lý nhất. Tuy nhiên,
khơng gian tìm kiếm sẽ rất lớn do có nhiều cách tổ hợp các tiếng thành từ. Dựa vào
nguyên lý tiến hóa và di truyền, giải thuật di truyền thích hợp cho việc xác định (xấp
xỉ) các lời giải tối ƣu hóa tồn cục trong khơng gian tìm kiếm rất lớn thay vì các lời
giải tối ƣu cục bộ. Giải thuật di truyền sẽ tiến hóa một quần thể qua nhiều thế hệ nhằm
tối ƣu hóa tồn cục thơng q q trình chọn lọc, lai, biến dị và tái sinh. Chất lƣợng
của mỗi cá thể trong quần thể đƣợc xác định bằng hàm thích nghi và qua mỗi thế hệ,
chúng ta sẽ chọn lại N cá thể tốt nhất sau khi thực hiện quá trình lai, biến dị và tái sinh.
Điểm mới của hƣớng tiếp cận này là thay vì phải sử dụng ngữ liệu huấn luyện đã đƣợc
gán nhãn hay lexicon – vốn chƣa có sẵn cho tiếng Việt, tác giả phƣơng pháp đã sử
dụng thơng tin thống kê rút trích trực tiếp từ search engine và dùng giải thuật di truyền
để xác định những cách tách từ hợp lý nhất đối với văn bản tiếng Việt cho trƣớc. Các
kết quả thực nghiệm cho thấy hƣớng tiếp cận này đạt đƣợc những kết quả khả quan
trong việc tách từ và phân loại văn bản tiếng Việt với độ đo micro-averaging F1 đạt
trên 90%. Phƣơng pháp này hứa hẹn tiềm năng lớn cho việc xử lý các văn bản của các
ngôn ngữ tƣơng tự tiếng Việt – vốn cịn chƣa có các ngữ liệu đƣợc gán nhãn hay
lexicon chuẩn.

Hồ Diên Công – Lớp 53K2 - Khoa CNTT

18


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


CHƢƠNG 3: ỨNG DỤNG PHÂN LOẠI TÀI LIỆU
3.1 Quy trình xử lý phân loại bài báo
Để tiến hành phân loại văn bản nói chung, chúng ta sẽ thực hiện các bƣớc nhƣ
sau:

Hình 3.1 Mơ hình phân loại tài liệu tự động.
Bƣớc 1: Rút trích đặc trƣng văn bản và tính trọng số của từ.
Bƣớc 2: Áp dụng thuật toán phân loại văn bản. Bƣớc này chúng tơi sử dụng
thuật tốn Navie Bayes để phân loại văn bản vì nhìn chung đây là một thuật tốn phân
loại tuyến tính thích hợp trong phân loại văn bản nhiều chủ đề. NB có ƣu điểm là
cài đặt đơn giản, tốc độ thực hiện thuật toán nhanh, dễ dàng cập nhật dữ liệu huấn
luyện mới và có tính độc lập cao với tập huấn luyện. Để rút trích đặc trƣng của văn
bản, chúng sẽ thực hiện thao tác tách từ trong văn bản, xác định từ loại của từ và sau
đó tiến hành tính trọng số.
3.1.1 Tách từ trong văn bản
Do thời gian hạn chế và kiến thức còn hạn hẹp nên em chƣa thể áp dụng
phƣơng pháp tách từ bằng N-gram đƣợc nên em đã sử dụng cách tách từ bằng các dấu
câu, khoảng trắng và các ký tự đặc biệt.
Ví dụ ta có câu : “báo cáo, tốt;nghiệp ,sinh viên! Hồ #diên @công”
Khi tách ta đƣợc các từ :
= “báo”,
“viên”,

= “Hồ”,

= “cáo”,

= “diên”,

= “nghiệp”,


= “sinh”,

=

= “công”.

Hồ Diên Công – Lớp 53K2 - Khoa CNTT

19


×