Kỹ thuật rút tríchthông tin được sử dụng trong 3 giai đoạn của quá trình phân loại văn bản: 1 -Đánh chỉ số: các văn bản ở dạng thô cần được chuyển sang một dạng biểu diễn nào đó để xử lý
Trang 1Em xin gửi lời cảm ơn chân thành đến PGS.TS Đỗ Phúc, người đã truyền đạtnhững kiến thức quý báu không chỉ là lý thuyết mà còn hướng dẫn cách thức vậndụng chúng vào việc nghiên cứu và khám phá tri thức, đặc biệt trong lĩnh vực Khaiphá dữ liệu, giúp em có nhiều hiểu biết hơn và ngày càng yêu thích lĩnh vực này Emxin chân thành cảm ơn Thầy vì sự hướng dẫn của Thầy trong quá trình thực hiện báocáo này.
Xin chân thành cảm ơn sự giúp đỡ của các anh chị, bạn bè và những người đãthường xuyên trao đổi, thảo luận và đóng góp ý kiến cho tôi về các vấn đề liên quantrong thời gian qua
Mặc dù cố gắng thực hiện báo cáo một cách tốt nhất nhưng chắc chắn rằngkhông tránh khỏi những thiếu sót Mong quý Thầy cô và các bạn góp ý Tôi xin chânthành cảm ơn!
Sinh viên thực hiện
Lê Thanh Trọng MSHV: CH1101052 Lớp: CH CNTT K6
Trang 5I GIỚI THIỆU
1.1 Tri thức và phân lớp văn bản
Với sự phát triển không ngừng của máy tính nói chung và các thiết bị chứa dữliệu ngày càng được cải tiến, có dung lượng khổng lồ nói riêng cùng sự bùng nổ thôngtin trên Internet thì khối lượng thông tin ngày càng vô cùng lớn Chắc chắn rằng mộtđời người không thể nào đọc hay học hết được Chính vì vậy mà việc tổ chức thôngtin hay phân loại thông tin thật sự là một điều quan trọng và cần thiết để chúng ta cóthể tìm thấy được những thông tin cần thiết và bổ ích Thông tin được tổ chức tốt vàphân loại hợp lý thì con người mới có thể khai thác, khám phá và tổng hợp các thôngtin đó thành các tri thức quý giá Do đó, phân lớp dữ liệu là điều vô cùng thiết yếu vàquan trọng và là tiền đề cơ sở cho việc khám phá tri thức khi thông tin xung quanh tangày càng tăng rất nhanh
Trong biển cả thông tin, nếu thông tin không được phân lớp, không được sắpxếp về mặt nội dung thì việc tìm và thu thập tri thức của con người sẽ bị hạn chế.Nhưng với khối thông tin khổng lồ của thế giới thì ai là người thực hiện việc sắp xếpđó? Phải chăng con người ? Đúng vậy, không ai khác hơn chính là con người.Nhưng thật sự con người chỉ có thể thực hiện ở một mức độ nhất định vì không thểnào duyệt bằng tay hết tất cả thông tin và đưa ra quyết định xem thông tin đó đượcsắp xếp thế nào Nếu làm như vậy chắc chắn tiêu tốn khối lượng thời gian cực kì lớn
Với tốc độ xử lý ngày càng được cải thiện đáng nể của máy tính thì máy tính làmột công cụ hữu hiệu cho việc học, từ đó tổ chức thông tin một cách tự động Đóđược gọi là chiến lược máy học được áp dụng để giải bài toán phân lớp dữ liệu Trongbáo cáo này, tôi xin trình bày dữ liệu ở khía cạnh văn bản vì thông tin hầu hết thôngtin hằng ngày được thể hiện ở dạng văn bản Vì vậy bài toán phân lớp văn bản sẽ làchủ đề chính của báo này
Trang 6Để giải quyết phần nào bài toán nói trên, tôi đã tìm hiểu về bài toán phân loạivăn bản, xây dựng và thử nghiệm một công cụ tự động huấn luyện, phân lớp và tổchức thông tin theo các chủ đề trên máy tính Bước đầu tiên tôi thử nghiệm cho kếtquả tốt trên tiếng Anh lẫn tiếng Việt Hi vọng khóa luận có thể đóng góp phần nàocho giải quyết bài toán tổ chức và phân loại thông tin tự động
1.2 Bài toán phân lớp văn bản
Phân lớp văn bản (Text Categorization hay Text Classification) được mô tảnhư sau: Cho một số lớp văn bản đã được xác định trước, nhiệm vụ của phân lớp vănbản là gán văn bản vào một (hay một số) lớp văn bản thích hợp dựa vào nội dung củavăn bản
Trong những năm 80, bài toán phân lớp văn bản được đào sâu nghiên cứu vàtìm hiểu hết sức rộng rãi Ban đầu, các kĩ thuật điều khiển bằng tay tức có sự tham giacủa các chuyên gia tri thức ( Knowledge Engineering – KE) được áp dụng trong các
hệ thống đưa quyết định phân lớp Hệ chuyên gia này bao gồm một tập các luật logicđược định nghĩa bằng tay, có dạng:
If(DNF formula) then (category)
Trong đó DNF (Disjunctive Normal Form) bao gồm các mệnh đề liên kết Mộtvăn bản được phân loại vào category nếu nó thỏa mãn công thức Một ví dụ nổi tiếngcho cách tiếp cận này là hệ thống CONSTRUE [Hayes et al 1990], xây dựng bởiCarnegie Group cho tập tin tức Reuters Bên dưới là một số ví dụ về luật được sửdụng trong CONSTRUE
If ((wheat & farm) or (wheat & commodity)
or (bushels & export) or (wheat & tonnes)
or (wheat & winter &¬ soft)
Trang 7và công sức
Chính vì vậy đầu thập kỷ 90, cách tiếp cận máy học (Machine Learning) dùngkhám phá nguồn tri thức xung quanh nói chung và dùng trong bài toán phân lớp vănbản nói riêng được coi là nổi tiếng và trở nên chiếm ưu thế trong giới nghiên cứu cũngnhư trong việc ứng dụng thực tiễn
Với phương pháp máy học, sự cố gắng về phương diện công việc của kỹ sưtheo hướng không phải xây dựng một phân lớp mà xây dựng một phân lớp tự động(học) từ một tập hợp các tài liệu đã được phân loại bằng tay Trong các tiếp cận máyhọc, các tài liệu đã được phân lớp trở thành nguồn Trường hợp thuận lợi nhất, chúng
đã có sẵn, khi đó quá trình phân loại bắt đầu bằng việc học từ tập dữ liệu này, sau đó
sẽ thực hiện phân loại tự động với các tài liệu khác Trường hợp ít thuận lợi, không cósẵn tài liệu đã phân loại bằng tay; khi đó quá trình phân loại bắt đầu một hành độngphân loại và chọn một phương pháp tự động ngay lập tức Do đó, cách tiếp cận máyhọc là thuận lợi hơn cách tiếp cận kỹ sư tri thức
I.3 Mô hình phân lớp
Phương pháp máy học đã mang lại kết quả ấn tượng và vô cùng hiệu quả vớinhiều kỹ thuật được đề xuất và khiến cho phân lớp tự động trở thành xu thế và là lựachọn cho việc phân lớp bằng tay Sau đây là mô hình phân lớp văn bản dựa vào kỹthuật máy học
Trang 8Hình 1.1: Bài toán phân loại văn bản dựa trên kỹ thuật máy học
Cách tiếp cận máy học dựa trên một tập dữ liệu có sẵn từ đầu Ω= {d1, …, d|Ω|}
⊂D, trong đó D làtập tất cả các tài liệu đã được phân lớp trước, djlà văn bản thứ j, Tập
Trang 9Tập huấn luyện Tr={d1 , …, d |TV| } Phân lớp Φ cho các phân loại C={c 1 , …, c |C| }
được xây dựng quy nạp dựa trên sự quan sát các đặc trưng của các tài liệu trong Tr.
Tập kiểm tra Te={d|TV+1| , …d |Ω| }, được sử dụng để kiểm tra hiệu quả của phân
lớp Mỗi dj∈Teđược đưa vào hệ thống phân lớp để xác định giá trị, và so sánh giá trị
này với quyết định Φ( )d, c
của chuyên gia Hiệu quả của phân lớp dựa trên sự phù
hợp giữa Φ( )d, c
và Φ∪( )d, c
Số tài liệu trong tập luyện và tập kiểm tra thường đượcchọn theo tỷ lệ tương ứng là 70% và 30% Trong đó, Tr∩Te=φ
, nếu điều kiện này bị
vi phạm thì kết quả đánh giá hiệu quả của mô hình mất đi yếu tố khách quan, khoahọc
Phân loại văn bản chủ yếu dựa trên cơ chế rút trích thông tin Kỹ thuật rút tríchthông tin được sử dụng trong 3 giai đoạn của quá trình phân loại văn bản:
1 -Đánh chỉ số: các văn bản ở dạng thô cần được chuyển sang một dạng biểu
diễn nào đó để xử lý Quá trình này được gọi là quá trình biểu diễn văn bản, dạng biểudiễn của văn bản phải có cấu trúc và dễ dàng xử lý
2 -Kỹ thuật: kỹ thuật ở đây là phương pháp học để phân loại văn bản, nó
thường được sử dụng trong quá trình xây dựng quy nạp của các phân loại
3 - Đánh giá: đánh giá hiệu quả của các phân lớp được thực hiện.
Sự khác nhau trong các cách tiếp cận trước đây phần lớn là để giải quyết (2)mặc dù trong một số ít đề xuất cũng sử dụng (1) và (3)
Hầu hết các phương pháp phân loại văn bản dựa trên kỹ thuật máy học hiệnnay đều dựa vào tần suất xuất hiện (số lần xuất hiện) của từ hoặc cụm từ trong văn
Trang 10bản, hoặc dựa vào tần suất xuất hiện của từ trong văn bản và tần suất văn bản (số cácvăn bản trong tập dữ liệu huấn luyện có chứa từ đó) Độ chính xác của kết quả tách từ
có ảnh hưởng rất lớn đến kết quả của phân loại, không thể có một kết quả phân loạitốt nếu như không tách được đúng các từ trong văn bản Bởi vậy, một vấn đề quantrọng đối với phân loại văn bản là phải tách được chính xác các từ trong văn bản Cácvăn bản được viết bằng các ngôn ngữ khác nhau thì có đặc trưng riêng của ngôn ngữ
đó, và không có một phương pháp chung nào để tách các từ trong các văn bản đượcviết bằng các ngôn ngữ khác nhau
Tóm lại, một bài toán phân loại văn bản dựa trên kỹ thuật máy học gồm cácbước sau:
- Chuẩn bị tập dữ liệu huấn luyện (Training Set) và tập dữ liệu kiểm tra (Test Set)
-Tách từ trong văn bản
-Biểu diễn văn bản
-Phương pháp học để phân loại văn bản
-Đánh giá hiệu quả của phương pháp học
I.4 Phương pháp biểu diễn văn bản
Các chuỗi tách được trong văn bản có thể là từ theo đúng định nghĩa trongtiếng Việt, nhưng cũng có khi là các ký hiệu viết tắt, các từ phiên âm tên nước ngoài,
… ví dụ, cty (công ty), btc (ban tổ chức), lđbđvn (liên đoàn bóng đá Việt Nam), …
Mà các kí hiệu này nhiều khi lại có giá trị thông tin cao để biểu diễn văn bản Do đó,
Trang 11I.4.1 Các kỹ thuật trích chọn đặc trưng của văn bản
a Loại bỏ các từ dừng
Trong ngôn ngữ tự nhiên, có rất nhiều từ dùng để biểu diễn cấu trúc câu, nhưnghầu như không mang ý nghĩa về mặt thể hiện nội dung của văn bản, ví dụ như các loạitừ: các từ quan hệ, kết từ, Các loại từ này xuất hiện thường xuyên trong văn bảnnhưng không hề mang bất cứ một thông tin nào về nội dung của văn bản, những từnày gọi là từ dừng (stop word) Việc loại bỏ các từ này, đồng nghĩa với việc giảm sốchiều của văn bản, tăng độ chính xác và tốc độ xử lý văn bản
Ví dụ: Một số từ dừng trong tiếng Việt:
có thể khi mà Là rõ ràng
sau khi Bởi Không thể với
trước khi vì thay vì quả thật
trước hết nhưng vì vậy với lại
tóm lại nếu cho nên tất cả
tất cả thì nếu không hầu hết
phần lớn do loại trừ
hầu như vì thế ngoài ra
khi đó cho nên một số
Bảng 1.1: Một số từ dừng trong văn bản tiếng Việt
Xuất phát từ định nghĩa, từ dừng là từ không mang lại ý nghĩa nội dung cho
văn bản, vì nó xuất hiện trong hầu hết các văn bản Chúng ta có thể loại bỏ từ dừng
trong văn bản bằng cách đặt ngưỡng để phát hiện từ dừng, ví dụ nếu chúng ta thấymột từ nào đó xuất hiện trong hơn một nửa số văn bản thì có thể coi đó là từ dừng.Tùy thuộc vào từng bài toán cụ thể mà ta đưa ra một ngưỡng phát hiện từ dừng thíchhợp
Trang 12b Giảm số chiều
Giảm số chiều thực chất là giảm số thuật ngữ trong tập hợp T, nghĩa là, giảm
kích thước của không gian vector từ |T| thành |T ’ |<<|T|
Giảm số chiều có khuynh hướng làm giảm hiện tượng overfiting Có hai hướng
khác nhau trong việc giảm số chiều, phụ thuộc vào nhiệm vụ giảm số chiều là bộ phậnhay tổng thể:
- Giảm số chiều bộ phận: Cho một loại ci, một tập các thuật ngữ , |T ’ |<<|T|,
được chọn chỉ để thực hiện phân lớp cho loại ci
- Giảm số chiều tổng thể: Một tập các thuật ngữ T ’ , với |T ’ |<<|T|, được chọn
để thực hiện phân lớp cho tất cả các loại C={c1,…,c|C|}
Có rất nhiều phương pháp giảm số chiều Trong đó phương pháp giảm số chiềudựa trên lý thuyết thông tin được xem là rất tốt cho việc giảm số chiều văn bản.Phương pháp này sử dụng các hàm lựa chọn thuật ngữ dựa trên lý thuyết thông tin
Các hàm lựa chọn thuật ngữ dựa trên lý thuyết thông tin
Kí hiệu:
) , (t_k c i P
là xác suất cho một tài liệu ngẫu nhiên x, thuật ngữ tk không xảy ra trong x và x thuộc loại ci, xác suất này được đánh giá bởi đếm số lần xảy ra
trong tập huấn luyện
) , (t k c i P
là xác xuất chọn ngẫu nhiên một tài liệu thì tài liệu đó
có chứa từ tk, và thuộc lớp ci P(ci ) là xác xuất chọn ngẫu nhiên một tài liệu, thì tài liệu
này thuộc vào lớp ci P(tk ) là xác xuất chọn ngẫu nhiên một tài liệu trong tập dữ liệu
thì tài liệu đó có chứa từ tk Tất cả các hàm được xác định là cục bộ cho phân loại xác định ci
Trong trường hợp cần đánh giá giá trị của thuật ngữ tk trong tổng thể tất cả các phân loại độc lập, thì hàm f(tk ) được tính như sau:
Trang 13( ) = ( ) =∑=| ( )
1
,
C i
i k k
sum
t f
i k i k
wsum
t f
hoặc
C i k
t
1 max = =
=
Trong đó, f(t k,c i)
là giá trị của từ tk trong lớp ci
Theo phương pháp này người ta dựa vào các hàm tính toán giá trị thông tin của
từ tk đối với phân loại ci để quyết định xem có nên lựa chọn từ tk làm đặc trưng của tàiliệu hay không Chúng ta chỉ giữ lại những từ có hàm giá trị thông tin không thấp hơnngưỡng đưa ra, nếu hàm giá trị thông tin của tk thấp hơn ngưỡng đưa ra thì nó sẽ bịloại bỏ Bảng 1.2 trình bày, một số hàm tính giá trị thông tin của từ tk đối với lớp ci
Tên hàm Kí hiệu Công thức toán học
Hệ số liên kết DIA
(DIA association
factor)
),(t k c i
z P(c i|t k)
Lợi nhuận thông tin
(Information gain)
),(t k c i
∈ { ,_} ∈ { ,_ }
,log.,
t P
Thông tin liên hệ
(Mutual information)
),(t k c i
( ) ( )k i
i k
c P t P
c t P
.
, log
Chi bình phương
(Chi-square)
) , (
2
i
k c t
λ
)()
()
()
(
),()
,(),()
,(
|
_ _
2 _ _ _
_
i i k k
i k i k i
k i k
c P c P t P t P
c t P c t P c t P c t P Tr
Trang 14Hệ số NGL
(NGL coefficient)
),(t k c i NGL
)()
()
()
(
),()
,(),()
,(.|
|
_ _
_ _ _
_
i i k k
i k i k i
k i k
c P c P t P t P
c t P c t P c t P c t P Tr
d c t P
d c t P
i k
i k
+
+
)
|(
)
|(log _ _
Hệ số GSS
(GSS coefficient)
) , (t k c i GSS
) , ( ).
, ( ) , ( ).
, (t k c i P t_k c_i P t k c_i P _t k c i
Bảng 1.2: Một số hàm tính toán giá trị thông tin của từ trong phân loại
Các hàm trên cho kết quả lựa chọn từ tốt hơn là phương pháp tần xuất tài liệu.Kết quả thực nghiệm Yang và Pedersen trên nhiều tập mẫu và phân loại khác nhaucho thấy rằng, các kỹ thuật như: IG hoặc λ2 có thể giảm không gian từ tới 100 lần màkhông ảnh hưởng (hoặc giảm rất ít) hiệu quả phân loại
I.4.2 Phương pháp biểu diễn văn bản bằng mô hình không gian vector
Việc mô tả lại văn bản được coi là một khâu quan trọng trong quá trình xử lývăn bản Mỗi tài liệu được mô tả như một chuỗi các ký tự, cần phải được biến đổithành những mô tả phù hợp với nhiệm vụ và thuật toán xử lý văn bản Có rất nhiềuphương pháp biểu diễn văn bản, mỗi phương pháp thích hợp với từng bài toán cụ thể.Trong phần này chúng tôi xin trình bày phương pháp biểu diễn văn bản theo khônggian vector dựa vào tần suất, đây được coi là một hướng tiếp cận tương đối đơn giản
và hiệu quả để biểu diễn văn bản Và cũng là phương pháp được sử dụng để cài đặtthuật toán phân loại văn bản theo phương pháp Support Vector Machine, được trìnhbày trong phần sau của luận văn
Trong mô hình tần xuất, ma trận W={wij} được xác định dựa trên tần số xuấthiện của thuật ngữ ti trong văn bản dj hoặc trong toàn bộ tập văn bản D
Trang 15a Phương pháp dựa trên tần số thuật ngữ (TF-Term Frequency)
Các giá trị wij được xác định dựa trên tần số (hay số lần) xuất hiện của thuậtngữ trong văn bản Gọi fij là tần số của thuật ngữ ti trong văn bản dj, thì wij có thể đượctính bởi một trong số các công thức sau:
b Phương pháp dựa trên nghịch đảo tần số văn bản (IDF - Inverse Document Frequency )
Với phương pháp này, giá trị wij được tính như sau:
)log(
i ij
h m
h
m w
Trong đó, m là số lượng văn bản, hi là số các văn bản có chứa thuật ngữ ti
Trọng số wij trong công thức này cho ta biết độ quan trọng của thuật ngữ titrong văn bản dj Nếu wij càng lớn, thì số lượng văn bản chứa ti càng ít Điều đó có
nếu ngược lại
nếu t i xuất hiện trong d j
Trang 16nghĩa là ti là thuật ngữ quan trọng để phân biệt văn bản dj với các văn bản khác trong
cơ sở dữ liệu
c Phương pháp TF × IDF
Phương pháp này, thực chất là sự kết hợp của phương pháp TF và phươngpháp IDF Theo phương pháp này, trọng số wij được tính bằng tần số xuất hiện củathuật ngữ ti trong văn bản dj và khả năng xuất hiện của thuật ngữ ti trong các văn bảnkhác, cụ thể:
= 0
1 log
) log(
i
ij ij
h h
m f
w
I.5 Phương pháp đánh giá hiệu quả phân lớp
Giả sử ta qui định như sau:
Tỷ lệ dương đúng TP (True Positive): là số văn bản được gán nhãn là 1 và việcgán nhãn này là đúng
Tỷ lệ dương sai FP (False Positive): là số văn bản được gán nhãn là 1 nhưngviệc gán nhãn này là sai
Tỷ lệ âm sai FN (False Negative) : là số văn bản được gán nhãn là –1 nhưngviệc gán nhãn này là sai
Tỷ lệ âm đúng TN (True Negative): là số văn bản được gán nhãn là –1 và việcgán nhãn này là đúng
Phân lớp
Quyết địnhcủa
chuyên gia
nếu nếu ngược lại
Trang 17YES NOQuyết
định của
hệ thống
YES
NO
Bảng 1.3: Định nghĩa các tỷ lệ để đánh giá hiệu quả phân lớp
Hiệu quả (hay độ chính xác) của hệ thống phân lớp, được đánh giá bởi cáccông thức sau:
FP TP
TP ecision
+
=
Pr
FN TP
TP call
+
=
Re
precision recall
precision recall
score F
+
=
I.6 So sánh giữa các phương pháp phân loại văn bản
Có nhiều phương pháp phân loại văn bản được đề xuất, sự khác nhau cơ bảngiữa các phương pháp này là ở thuật toán học quy nạp Nhiều thực nghiệm cho thấycác phương pháp như: cây quyết định (decision tree), k-láng giềng gần nhất (k-nearestneighbors), phương pháp sử dụng các vector hỗ trợ (Support Vector Machines) lànhững phương pháp có hiệu quả phân loại cao
Các thuật toán phân loại trên từ thuật toán phân loại 2 lớp (SVM) đến các thuậttoá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ểudiễn dưới dạng vector đặc trưng Ngoài ra các thuật toán như kNN, NB, LLSF đềuphải sử dụng các ước lượng tham số và ngưỡng tối ưu trong khi đó thuật toán SVM cóthể tự tìm ra các tham số tối ưu này Trong các phương pháp SVM là phương pháp sử
Trang 18dụng không gian vector đặc trưng lớn nhất (hơn 10000 chiều) trong khi đó chỉ là 2000đối với NB, 2415 cho kNN và LLSF, 1000 cho Nnet Thời gian huấn luyện cũng khácnhau đối với từng phương pháp, Nnet (sử dụng mỗi mạng tương ứng một chủ đề) vàSVM là hai phương pháp có thời gian huấn luyện lâu nhất trong khi đókNN,NB,LLSF và Centroid là các phương pháp có tốc độ (thời gian huấn luyện, phânloại) nhanh và cài đặt dễ dàng.
Về hiệu suất, dựa vào thử nghiệm của Yang [Yang, Liu, 1997] trên tập dữ liệuReuter-21578 với hơn 90 chủ đề và trên 7769 văn bản, ta có thể sắp xếp các phươngpháp phân loại văn bản theo thứ tự như sau SVM > kNN >> {LLSF,NB,Nnet} Tuynhiên kết quả trên có thể không còn đúng khi áp dụng thử nghiệm phân loại trênTiếng Việt Các lý do chính như sau:
- Thứ nhất: không có một tập dữ liệu chuẩn dành riêng cho việc phân loại.
- Thứ hai: hiện tại chưa có chuẩn thống nhất nào cho vấn đề font và dấu câu cho
Tiếng Việt
- Thứ ba: việc biểu diễn văn bản Tiếng Việt bằng vector đặc trưng gặp nhiều trở
ngại do bị phụ thuộc nhiều vào các phương pháp tách từ Trong khi đó cácphương pháp này không đạt được hiệu quả cao như trong tiếng Anh
Để có thể áp dụng các phương pháp phân loại văn bản đã được sử dụng thànhcông trên nhiều ngôn ngữ (Anh, Pháp,…) như đã liệt kê trên, điều kiện tiên quyết làphải tìm ra một phương pháp tách từ tốt để thông qua đó cải thiện hiệu quả của cácthuật toán phân loại Trong tiếng Anh, đơn vị nhỏ nhất là “từ” nên việc tách từ trở nênkhá đơn giản, trong khi đối với một số ngôn ngữ như tiếng Hoa, Nhật, Hàn Quốc vàTiếng Việt của chúng ta phải xử lý hoàn toàn khác do đơn vị nhỏ nhất lại là “tiếng”
Do đó, trước khi thực hiện phân loại, chúng ta phải tìm hiểu về các hướng tiếp cậncho việc tách từ tiếng Việt, một vấn đề khá thú vị không kém các phương pháp phânloại
I.7 Tình hình nghiên cứu bài toán phân loại văn bản
Trang 19Trong lĩnh vực khai phá dữ liệu, các phương pháp phân loại văn bản đã dựatrên những phương pháp quyết định như quyết định Bayes, cây quyết định, k-lánggiềng gần nhất, mạng nơron, Những phương pháp này đã cho kết quả chấp nhậnđược và được sử dụng trong thực tế.
Trong những năm gần đây, phương pháp phân loại sử dụng Bộ phân loại vector
hỗ trợ (SVM) được quan tâm và sử dụng nhiều trong những lĩnh vực nhận dạng vàphân loại SVM là một họ các phương pháp dựa trên cơ sở các hàm nhân (kernel) để
tối thiểu hóa rủi ro ước lượng Phương pháp SVM ra đời từ lý thuyết học thống kê do
Vapnik và Chervonenkis xây dựng và có nhiều tiềm năng phát triển về mặt lý thuyếtcũng như ứng dụng trong thực tiễn
Các thử nghiệm thực tế cho thấy, phương pháp SVM có khả năng phân loạikhá tốt đối với bài toán phân loại văn bản cũng như trong nhiều ứng dụng khác (nhưnhận dạng chữ viết tay, phát hiện mặt người trong các ảnh, ước lượng hồi quy, ) Sosánh với các phương pháp phân loại khác, khả năng phân loại của SVM là tươngđương hoặc tốt hơn đáng kể
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 đã đượcnghiê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ậnthố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ả chấp nhận được Tuyvậy để đi đến những triển khai khả thi thì vẫn cần đẩy mạnh nghiên cứu trên hướngnày Một trong những khó khăn trong việc áp dụng những thuật toán phân loại văn
Trang 20bả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ênquan 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.
II MỘT SỐ PHƯƠNG PHÁP PHÂN LỚP 2.1 Phương pháp cây quyết định
Phương pháp cây quyết định được Mitchell đưa ra vào năm 1996 Nó được sửdụng rộng rãi nhất cho việc học quy nạp từ tập mẫu lớn Đây là phương pháp học xấp
xỉ các hàm mục tiêu có giá trị rời rạc Mặt khác cây quyết định còn có thể chuyển
sang dạng biểu diễn tương đương dưới dạng cơ sở tri thức là các luật Nếu – Thì Cây
quyết định này được tổ chức như sau: Các nút trong được gán nhãn bởi các thuật ngữ,nhãn của các cung tương ứng với trọng số của thuật ngữ trong tài liệu mẫu, nhãn củacác lá tương ứng với nhãn của các lớp Cho một tài liệu dj, ta sẽ thực hiện so sánh cácnhãn của cung xuất phát từ một nút trong (tương ứng với một thuật ngữ nào đó) vớitrọng số của thuật ngữ này trong dj, để quyết định nút trong nào sẽ được duyệt tiếp.Quá trình này được lặp từ nút gốc của cây, cho tới khi nút được duyệt là một lá củacây Kết thúc quá trình này, nhãn của nút lá sẽ là nhãn của lớp được gán cho văn bản.Với phương pháp này, phần lớn người ta thường chọn phương pháp nhị phân để biểudiễn văn bản, cũng như cây quyết định
Ví dụ, ta có bảng dữ liệu gồm 10 tài liệu được mô tả bằng vector nhị phân
thông qua 7 thuật ngữ “thời tiết”, “độ ẩm”, “lượng mưa”, “gió”, “khí hậu”, “thuyền”,
“nhiệt độ” Trong đó cột cuối cùng trong bảng là nhãn được gán cho từng tài liệu với
chủ đề thời tiết, giá trị của tài liệu di trong cột này bằng 1 tương ứng dithuộc chủ đềthời tiết, nếu giá trị này bằng 0 thì dikhông thuộc chủ đề thời tiết
Tàil
t h ờ i
đ ộ
ẩ
l ư ợ n
g i ó
k h í
t h u y
n h i ệ
t h ờ i
Trang 21t i ế t
m g
m ư a
h ậ u
ề n
t đ ộ
t i ế t
d1
1 1 1 0 0 0 0 1
d2
1 1 0 0 0 1 0 0
d3
1 1 1 0 0 0 1 1
d4
1 1 1 0 0 0 0 1
d5
1 0 0 1 0 0 0 1
d6
1 0 0 1 1 1 0 1
d7
1 0 0 0 0 1 0 0
d8
0 1 0 0 0 1 0 0
d 0 0 0 0 1 0 1 1
Trang 220 0 0 0 1 0 0 0
Bảng 2.1: Biểu diễn văn bản bằng vector nhị phân
Cây quyết định được xây dựng tương ứng với bảng 1.1 là:
Hình 2.1: Xây dựng cây quyết định cho tập mẫu dùng để huấn luyện
Từ cây quyết định trên ta xây dựng được cơ sở tri thức dưới dạng luật Nếu -Thì như sau:
Nếu(thời tiết=1) và (lượng mưa=1) và (độ ẩm=1) Thì class thời tiết=1
Nếu(thời tiết=1) và (lượng mưa=0) và (độ ẩm=1) Thì class thời tiết=0
Nếu(thời tiết=1) và (gió=0) và (độ ẩm=0) Thì class thời tiết=0
Trang 23Nếu(thời tiết=1) và (gió=1) và (độ ẩm=0) Thì class thời tiết=1
Nếu(thời tiết=0) và (khí hậu=0) Thì class thời tiết=0
Nếu(thời tiết=0) và (khí hậu=1) và (nhiệt độ=0) Thì class thời tiết=0
Nếu(thời tiết=0) và (khí hậu=1) và (nhiệt độ=1) Thì class thời tiết=1
Xét tài liệu d, được biểu diễn bởi vector nhị phân như sau:
d = (thời tiết, lượng mưa, độ ẩm, gió, khí hậu, thuyền, nhiệt độ) =(1, 1, 1, 0, 0,
1, 0)
Quá trình tìm kiếm lời giải trên cây quyết định sẽ như sau:
Hình2.2: Quá trình tìm kiếm lời giải trên cây quyết định
Class thời tiết=1, hay nói cách khác văn bản d thuộc lớp văn bản nói về chủ đề
thời tiết (lớp thời tiết)
Trang 24Các thuật toán cây quyết định ngày càng được phát triển và cải tiến Nhưnghầu hết các thuật toán này đều dựa vào cách tiếp cận từ trên xuống và chiến lược tìmkiếm tham lam trong không gian tìm kiếm của cây quyết định Trong số các thuật toánhọc cây quyết định thì thuật toán ID3 và cải tiến của nó là C4.5 được đánh giá là hiệuquả và được sử dụng phổ biến nhất Thuật toán ID3, lần đầu tiên được giới thiệu bởi
Quinlan năm 1975, trong tạp chí Machine learing, Vol.1, N no.1.
2.2 Phương pháp K-Nearest Neighbor (kNN)
Ý tưởng chính của thuật toán này là so sánh độ phù hợp của văn bản d với từng nhómchủ đề, dựa trên k văn bản mẫu trong tập huấn luyện mà có độ tương tự với văn bản d
là lớn nhất
Có 2 vấn đề cần quan tâm khi phân loại văn bản bằng thuật toán K- láng giềng
gần nhất là xác định khái niệm gần, công thức để tính mức độ gần; và làm thế nào để
tìm được nhóm văn bản phù hợp nhất với văn bản đó (nói cách khác là tìm được chủ
đề thích hợp để gán cho văn bản)
Khái niệm gần ở đây được hiểu là độ tương tự giữa các văn bản Có nhiều cách
để xác định độ tương tự giữa hai văn bản, trong đó công thức Cosine trọng số được
coi là hiệu quả để đánh giá độ tương tự giữa hai văn bản Cho T={t1 , t 2 , …, t n} là tập hợp các thuật ngữ; W={wt1 , w t2 , …, w tn} là vector trọng số, wti là trọng số của thuật ngữ ti Xét hai văn bản X={x1, x2, …, xn} và Y={y1, y2, …, yn}, xi, yi lần lượt là tần sốxuất hiện của thuật ngữ ti trong văn bản X, Y Khi đó độ tương tự giữa hai văn bản X
và Y được tính theo công thức sau:
2 2
)(
)(
)(
)(
),,(cos),(
w y w
x
w y w x W
Y X ine Y
X
Sim
Trong vector X, Y các thành phần xi, yi được chuẩn hoá theo tần số xuất hiện(TF- Term Frequence) của thuật ngữ ti trong các văn bản X và Y Vector W được xác
Trang 25định bằng tay hoặc được tính theo một thuật tốn tham lam nào đĩ Một đề xuất đưa
ra là tính vector W theo nghịch đảo tần suất văn bản IDF (Inverse DocumentFrequence), khi đĩ văn bản được biểu diễn dưới dạng vector tần xuất TFxIDF
Cĩ nhiều đề xuất để tìm nhãn phù hợp gán cho văn bản khi đã tìm được k văn bản gần nhất như gán nhãn văn bản gần nhất, gán theo số đơng, gán theo độ phù hợp của chủ đề
2.3 Phương pháp Nạve – Bayes (NB)
NB là phương pháp phân loại dựa vào lý thuyết xác suất và được sử dụng rộngrã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…
Ý tưởng cơ bản của cách tiếp cận này là sử dụng xác suất cĩ điều kiện giữa từhoặc cụm từ và chủ đề để dự đố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ủatấ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ể Chính giả định đĩ làm cho việc tínhtố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 cách kết hợp các từ để đưa ra phán đốn chủ đề
Mục đích chính là làm sao tính được xác suất Pr(Cj, d’), xác suất để văn bảnd’nằm trong lớp Cj.Theo luật Bayes, văn bản d’ sẽ được gán vào lớp Cj nào cĩ xácsuất Pr(Cj, d’) cao nhất
Cơng thức để tính Pr(Cj, d’) như sau :
Trang 26|wiPr
c'Pr
d'1
i Pr wi|C j
C jPrargmax
TF(wi, d’) là số lần xuất hiện của từ wi trong văn bản d’
|d’| là số lượng các từ trong văn bản d’
wi là một từ trong khơng gian đặc trưng F với số chiều là |F|
Pr(Cj) được tính dựa trên tỷ lệ phần trăm của số văn bản mỗi lớp tương ứng
C j C
+
=
Fw'
c j,w'TFF
c j,wiTF1
C j
|wi
Pr
Ngồi ra cịn cĩ các phương pháp NB khác cĩ thể kể ra như MaximumLikelihood (ML) Nạve Bayes, Maximum A Posteriori (MAP) Nạve Bayes, ExpectedNạve Bayes Nĩi chung Nạve Bayes là một cơng cụ rất hiệu quả trong một số trườnghợ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ânloạ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
Trang 27đặ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ệnmới và có tính độc lập cao với tập huấn luyện.
2.4 Phương pháp 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ìnhvector của một văn bản vào một chủ đề cụ thể
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ệchuấn luyện mạng nơron
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 toán tìm kiếm (search algorithm).
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 quylogic Thuật toá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 Ví dụ, chúng ta có thể học trọng số trong mạng kếtquả (logistic network) bằng cách sử dụng không gian trọng số giảm dần (gradientdescent in weight space) hoặc sử dụng thuật toán interated-reweighted least squares làthuật toán truyền thống trong hồi quy (logistic regression)
Kiến trúc mô dun (modular architecture): Việc sử dụng một hay nhiều lớp ẩn
của những hàm kích hoạt phi tuyến tính cho phép mạng thiết lập các mối quan hệ giữa
Trang 28những biến nhập và biến xuất Mỗi lớp ẩn học để biểu diễn lại dữ liệu đầu vào bằngcách khám phá ra những đặc trưng ở mức cao hơn từ sự kết hợp đặc trưng ở mứctrước.
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
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ừ 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:
Trong đó, η = β T x là sự kết hợp của những đặc trưng đầu vào và p phải thỏa điều kiện p∈(0,1)
Hình 2.3: Kiến trúc mô đun (Modular Architecture) trong Neural Network.
2.5 Phương pháp 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 đó
Trang 29sử 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ạicủa LLSF có thể ngang bằng với phương pháp kNN kinh điển.
Ý tưởng của LLSF là sử dụng phương pháp hồi quy để học từ tập huấn luyện