Đầu thập kỷ 90, cách tiếp cận máy học Machine Learning để phân loại văn bản được coi là nổi tiếng và trở thành thống trị, ít nhất là trong cộng đồng người nghiên cứu Mitchell, 1996, Theo
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
KHÓA LUẬN TỐT NGHIỆP
NGHIÊN CỨU VÀ CẢI TIẾN PHƯƠNG PHÁP PHÂN ĐA LỚP VĂN BẢN BẰNG SUPPORT VECTOR MACHINES
Giảng viên hướng dẫn: TS VŨ THANH NGUYÊN
Sinh viên thực hiện: NGUYỄN HOÀNG VŨ
LÊ QUÝ QUỐC CƯỜNG
TP Hồ Chí Minh, tháng 7 năm 2011
Trang 2MỞ ĐẦU
Ngày này, đi cùng sự phát triển của các công nghệ hiện đại thì máy tính nói chung và các thiết bị lưu trữ nói riêng ngày càng được cải tiến không ngừng với dung lượng tăng dần lên tới một con số khổng lồ và chưa có dấu hiệu dừng lại Bên cạnh đó, sự bùng nổ của internet làm các nguồn thông tin được kết nối với nhau càng làm khối lượng thông tin đó đã lớn lại càng trở nên lớn hơn Chính vì vậy mà nhu cầu tổ chức, phân loại thông tin ngày càng trở nên tối cần thiết Thử tưởng tượng khi chúng ta đứng trước một thư viện lớn với khoảng 1000 đầu sách để lẫn lộn vào nhau, công việc tìm một cuốn sách đáp ứng được ý muốn của chúng ta sẽ trở nên thực sự khó khăn khi phải xem xét tất cả những đầu sách ở đó Nếu như
1000 đầu sách đó được chia làm các lĩnh vực, khu vực cụ thể thì công việc của chúng ta sẽ trở nên đơn giản hơn nhiều Chúng ta chỉ cần đi với khu vực chứa lĩnh vực chúng ta cần và lướt qua 1 số lượng nhỏ các cuốn sách, như thế là đã chọn được cuốn sách chúng ta cần Do vậy, hầu hết bất cứ thư viện hay nhà sách nào cũng đã phân loại cách đầu sách để cho người đọc dễ chọn lựa
Chúng ta có thể thấy, ví dụ trên chỉ đưa ra khối lượng thông tin là 1000 đầu sách trong thư viện đã đủ gây ra nhiều khó khăn, huống hồ dữ liệu trên internet hiện nay lại vô cùng lớn, gấp hàng trăm hàng triệu lần ví dụ ở trên Giải pháp được đưa
ra là phân loại thông tin Nhưng một vấn đề gặp phải ở đây nữa là 1000 đầu sách thì
có thể phân loại bằng tay nhưng với một khối lượng khổng lồ thông tin thì làm cách nào chúng ta có thể phân loại được? Nếu như chúng ta vẫn phân loại bằng tay thì sẽ tiêu tốn rất nhiều thời gian, nhân lực, vật lực, và liệu chăng phương pháp này có khả thi?
May thay, chúng ta đang sống trong thời đại của công nghệ Tốc độ xử lý của máy tính càng ngày càng lớn và thực sự trở thành một công cụ đắc lực của con người, hỗ trợ con người trong nhiều lĩnh vực, trong đó có phân loại thông tin Máy tính trở thành một công cụ hữu hiệu cho việc phân loại tự động thông tin bằng cách
Trang 3học, đó đượ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 văn bản
Để giải quyết phần nào bài toán nói trên, chúng em 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 Và
từ những thuật toán đã có từ trước, chúng em xin được đưa ra một mô hình phân đa lớp văn bản dựa trên các mô hình phân đa lớp đã có của thuật toán vector hỗ trợ (Support Vector Machines) Hi vọng khóa luận của chúng em có thể đóng góp phần nào cho giải quyết bài toán tổ chức và phân loại thông tin tự động
Khóa luận bao gồm 4 chương, nội dung chính của các chương như sau:
Chương 1: Định nghĩa bài toán phân loại văn bản, các khái niệm cơ bản, quá
trình tiền xử lý văn bản và các phương pháp phổ biến, đã được công bố dùng để phân loại văn bản hiện nay Từ đó đưa ra sự so sánh giữa các phương pháp này với nhau để có thể thấy được ưu điểm, khuyết điểm của từng phương pháp
Chương 2: Đề cập đến cơ sở lý thuyết của phương pháp phân lớp Support
Vector Machines (SVMs) Trong phần này chúng em đi sâu về các vấn đề chính của SVMs cùng với giải thuật huấn luyện SMO Trong phần sau của chương, chúng em giới thiệu một số phương pháp phân đa lớp sử dụng SVMs nhị phân và các nhận xét, đánh giá
Chương 3: Đây là phần chính của khóa luận Phần này sẽ trình bày về
phương án được đề xuất để giải quyết vấn đề phân đa lớp Để giải quyết bài toán đa lớp, chúng em sử dụng SVMs kết hợp cây nhị phân để đưa ra mô hình cây tổng quát Bên cạnh đó chúng em cũng đưa ra tiêu chuẩn để đánh giá cây tổng quát là xác suất lỗi của cây Cuối cùng độ khái niệm độ tách rời của hai lớp cùng với giải thuật thử nghiệm để phát sinh cây tổng quát được đưa ra để thử nghiệm trên cây tổng quát
Chương 4: Trong phần đầu của chương sẽ đề cập đến phần cài đặt của
SVMs Framework – một framework dành cho việc tiền xử lý, huấn luyện và phân lớp văn bản Phần sau sẽ thống kê dữ liệu của các bộ huấn luyện cùng với kết quả
Trang 4phân lớp khi áp dụng giải thuật đã đề xuất ở chương 3 trên các bộ dữ liệu này với các tham số khác nhau
Trang 5LỜI CẢM ƠN
Trước tiên, chúng em xin gởi lời cảm ơn chân thành đến thầy hướng dẫn của chúng em, TS Vũ Thanh Nguyên Trong suốt quá trình làm khóa luận, thầy đã giúp chúng em đặt vấn đề, tìm hiểu vấn đề và giải quyết các vấn đề Trong thời gian làm việc với thầy chúng em không những đã học hỏi được nhiều kiến thức bổ ích mà còn học được tinh thần làm và thái độ làm việc nghiêm túc
Bên cạnh đó, chúng em xin cảm ơn chân thành đến các thầy cô trong khoa Khoa Học Máy Tính Thầy cô không chỉ truyền dạy cho chúng em những kiến thức nền tảng vô cùng bổ ích trong những năm học vừa qua mà còn chia sẻ cho chúng
em những kinh nghiệm quý báu trong phương pháp nghiên cứu
Chúng em xin gởi lời cảm ơn chân thành đến tất cả quí thầy cô của trường Đại Học Công Nghệ Thông Tin đã tận tình giảng dạy và truyền đạt kiến thức cho chúng em trong suốt 4 năm học qua Chúng em xin hứa sẽ vận dụng tốt những kiến thức đó trong quá trình học tập, nghiên cứu và làm việc sắp tới
Gia đình và bạn bè vừa là cổ động viên nhiệt tình và là chỗ dựa tinh thần cho chúng em hoàn thành khóa luận này Tuy có những lúc căng thẳng, mệt mỏi nhưng chúng em không bao giờ chùn bước vì được sự động viên tích cực từ gia đình và bạn bè Xin gởi lời cảm ơn chân thành đến gia đình và các bạn đã luôn động viên, ủng hộ
Mặc dù đã cố gắng hoàn thiện đồ án với tất cả sự nỗ lực của bản thân, nhưng chắc chắn không thể tránh khỏi những thiếu sót Chúng em kính mong nhận được
sự thông cảm và chỉ bảo của quý Thầy Cô và các bạn
Chúng em xin chân thành cảm ơn!
Trang 6NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 7
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Trang 8
MỤC LỤC
MỞ ĐẦU i
LỜI CẢM ƠN iv
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN v
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN vi
MỤC LỤC vii
CHƯƠNG 1: TỔNG QUAN BÀI TỐN PHÂN LOẠI VĂN BẢN 1
1.1 Giới thiệu bài tốn phân loại văn bản 1
1.2 Tiền xử lý văn bản và biểu đặc trưng văn bản trong khơng gian vector 5
1.2.1 Tiền xử lý văn bản 5
1.2.1.1 Tách từ ( tiếng Việt ) 6
1.2.1.2 Loại bỏ các ký tự thừa 8
1.2.1.3 Loại bỏ các từ cĩ chiều dài ngắn 10
1.2.1.4 Loại bỏ các từ dừng 10
1.2.1.5 Chỉ giữ lại dạng nguyên mẫu 10
1.2.2 Biểu diễn đặc trưng văn bản trong khơng gian vector 11
1.2.2.1 Chọn lựa đặc trưng 11
1.2.2.2 Vector hĩa văn bản 14
1.3 Một số phương pháp phân lớp phổ biến 17
1.3.1 K láng giềng gần nhất ( K-nearest Neighbor ) 17
1.3.2 Phương pháp cây quyết định ( decision tree ) 20
1.3.3 Phương pháp Nạve Bayes 21
1.3.4 Mạng nơron nhân tạo 22
1.3.5 Phương pháp Centroid-based vector 25
1.3.6 Phương pháp SVMs 25
CHƯƠNG 2: PHƯƠNG PHÁP PHÂN LỚP SVMs 27
2.1 Phân lớp SVMs nhị phân 27
2.1.1 Phân lớp tuyến tính 28
2.1.2 SVMs với siêu phẳng cĩ lề cực đại 29
2.1.3 Bài tốn tối ưu hĩa 32
Trang 92.1.4 Trường hợp không thể phân tách tuyến tính - Lề mềm (Soft margin) 33
2.1.5 SVMs phi tuyến - Hàm nhân 35
2.1.6 Giải thuật huấn luyện 37
2.1.7 Ưu khuyết điểm của SVMs 45
2.2 Phân loại đa lớp 46
2.2.1 One-versus-All 46
2.2.2 One-Versus-One (OvO, Pairwise) 49
2.2.3 Các phương pháp dựa trên cây nhị phân 50
2.2.3.1 Decision Directed Acyclic Graph (DDAG) 51
2.2.3.2 Half-against-Half (HAH) 52
CHƯƠNG 3: CÂY TỔNG QUÁT VÀ XÁC SUẤT LỖI 54
3.1 Mô hình cây tổng quát 54
3.2 Xác suất lỗi của cây tổng quát 56
3.2.1 Định nghĩa: 56
3.2.2 Xác định xác suất lỗi của cây 56
3.3 Giải thuật thử nghiệm 60
3.3.1 Độ tách rời giữa hai nhóm 60
3.3.2 Giải thuật xác định cấu trúc cây 62
CHƯƠNG 4: CHƯƠNG TRÌNH PHÂN LỚP, KẾT QUẢ THỰC NGHIỆM 69
4.1 SVM Framework 69
4.1.1 Module tiền xử lý văn bản: 71
4.1.2 Module huấn luyện: 71
4.1.3 Module phân lớp 73
4.2 Kết quả thử nghiệm và kết luận 74
4.2.1 Dữ liệu thử nghiệm 74
4.2.2 Kết quả thử nghiệm 77
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 83
Kết luận và những kết quả đạt được 83
Hướng phát triển 84
PHỤ LỤC 85
Kết quả phân lớp bộ R8 85
Trang 10Kết quả phân lớp bộ R52 87
Kết quả phân lớp bộ 10ng 90
Kết quả phân lớp bộ DTR 93
Kết quả phân lớp bộ r9TTO 95
TÀI LIỆU THAM KHẢO 99
Tiếng Việt 99
Tiếng Anh 99
Trang 11DANH MỤC CÁC HÌNH
Hì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 3
Hình 1.2: So sánh mạng noron sinh học và mạng noron nhân tạo 22
Hình 1.3: Một perceptron với hàm f là hàm sigmoid 23
Hình 1.4: Mô hình một mạng nơron nhiều tầng 24
Hình 1.5: Minh họa việc huấn luyện một SOM 25
Hình 1.6: Phương pháp phân lớp SVMs 26
Hình 2.1: Phân lớp tuyến tính 29
Hình 2.2: Phân lớp tuyến tính với lề cực đại 31
Hình 2.3: SVMs với lề mềm (soft margin) 34
Hình 2.4: Trường hợp không thể phân tách tuyến tính 35
Hình 2.5: Ánh xạ dữ liệu vào không gian đặc trưng 35
Hình 2.6: Ba phương pháp khác nhau để giải quyết bài toán tối ưu hóa SVMs 40
Hình 2.7: Minh họa việc tối ưu hóa hai nhân tử Lagrange 42
Hình 2.8: Minh họa phương pháp One-versus-All 47
Hình 2.9: Vùng không thể phân lớp 48
Hình 2.10: Minh họa phương pháp One-against-One 50
Hình 2.11: Minh họa một đồ thị DDAG 52
Hình 2.12: Một minh họa cho HAH 52
Hình 3.1: Minh họa một cây tổng quát 55
Hình 3.2: Cây T với node gốc có G1 = {c1,1, , c1,n1} ; G2 = {c2,1, , c2,n2} 57
Hình 3.3: Minh họa giải thuật alpha - beta 64
Hình 3.4: Cây tổng quát có được sau khi áp dụng giải thuật 68
Hình 4.1: Mô hình tổng quát của SVM Framework 70
Hình 4.2: Lưu đồ thực hiện của Module tiền xử lý văn bản 71
Hình 4.3: Lưu đồ thực hiện của module huấn luyện 73
Hình 4.4: Lưu đồ thực hiện của module phân lớp 74
Trang 12DANH MỤC CÁC BẢNG
Bảng 1.1: Các hàm tính giá trị thông tin của một từ đối với lớp 14
Bảng 1.2: Phương pháp K-NN gán nhãn dựa trên văn bản gần nhất 18
Bảng 1.3: Phương pháp KNN gán nhãn dựa trên số đông 19
Bảng 4.1: Cấu hình bộ dữ liệu R8 75
Bảng 4.2: Cấu hình bộ dữ liệu 8 lớp trích từ R52 75
Bảng 4.3: Cấu hình bộ dữ liệu 10ng 76
Bảng 4.4: Cấu hình bộ dữ liệu DTR 76
Bảng 4.5: Cấu hình bộ dữ liệu R9TTO 77
Bảng 4.6: Trích xuất kết quả phân lớp bộ R8 77
Bảng 4.7: Trích xuất kết quả phân lớp bộ 8 lớp trích từ R52 78
Bảng 4.8: Trích xuất kết quả phân lớp DTR 79
Bảng 4.9: Trích xuất kết quả phân lớp bộ 10ng 80
Bảng 4.10: Trích xuất kết quả phân lớp bộ r9TTO 81
Bảng 4.11: Tổng hợp kết quả phân lớp trên các bộ dữ liệu 82
Trang 13CHƯƠNG 1: TỔNG QUAN BÀI TOÁN PHÂN LOẠI VĂN BẢN
1.1 Giới thiệu bài toán phân loại văn bản
Bài toán Phân loại 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 loại văn bản là: gán các 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ủa văn bản
Trong những thập kỷ 80 hầu hết các cách tiếp cận (ít nhất là trong việc thiết đặt thao tác) để phân loại văn bản tự động gồm các kỹ thuật điều khiển bằng tay bởi chuyên gia tri thức (Knowledge Engineering - KE), một hệ thống chuyên gia có khả năng đưa ra quyết định phân loại Hệ chuyên gia bao gồm một tập các luật logic định nghĩa bằng tay, cho mỗi loại, có dạng:
If(DNF formula) then (category)
Một công thức DNF (“Disjunctive Normal Form”) là hợp của các mệnh đề
liên kết, tài liệu được phân loại vào category nếu nó thỏa mãn công thức, nghĩa là,
nếu nó thỏa mãn ít nhất một mệnh đề trong công thức Một ví dụ nổi tiếng cho cách tiếp cận này là hệ thống CONSTRUE [Hayes và các đồng nghiệp 1990], xây dựng bởi Carnegie Group cho tập tin tức Reuters Sau đây, là một 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)
then WHEAT
else ¬ WHEAT
Điều trở ngại của cách tiếp cận này là hạn chế trong quá trình thu nhận tri thức
từ tài liệu của các hệ thống chuyên gia Nghĩa là, các luật phải được định nghĩa bằng
Trang 14tay bởi kỹ sư tri thức với sự giúp đỡ của chuyên gia về lĩnh vực được nêu trong tài liệu: nếu tập hợp của các loại được cập nhật, thì hai nhà chuyên gia phải can thiệp lại, và nếu phân loại được chuyển hoàn toàn sang một phạm vi khác, một chuyên gia về lĩnh vực này cần thiết phải can thiệp vào và công việc phải được bắt đầu lại
từ tập tài liệu hỗn tạp ban đầu
Đầu thập kỷ 90, cách tiếp cận máy học (Machine Learning) để phân loại văn bản được coi là nổi tiếng và trở thành thống trị, ít nhất là trong cộng đồng người nghiên cứu (Mitchell, 1996), Theo cách tiếp cận này, một quá trình xử lý quy nạp chung (cũng được gọi là quá trình học) xây dựng tự động một phân lớp cho một loại
học, bài toán phân lớp là hoạt động học có giám sát, quá trình học được “giám sát” bởi tri thức của các phân loại và của các mẫu huấn luyện thuộc chúng
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áy họ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 động phâ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áy học là thuận lợi hơn cách tiếp cận kỹ sư tri thức
Các phân lớp xây dựng theo nghĩa của kỹ thuật máy học ngày nay gây được ấn tượng về mức độ hiệu quả, khiến cho phân lớp tự động trở thành một lựa chọn tốt
để thay thế phân loại bằng tay (không chỉ về phương diện kinh tế) Chúng ta có thể hình dung các công việc của bài toán phân loại văn bản dựa trên kỹ thuật máy học như sau:
Trang 15Hì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
trong Tr
Trang 16trị 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ự
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, khoa họ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ích thô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ểu diễ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ện nay đề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 bả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ác vă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ại tố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
đề quan trọ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ác vă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 được viế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ác bước sau:
Trang 17- 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
1.2 Tiền xử lý văn bản và biểu đặc trưng văn bản trong không gian vector
Để máy tính có thể tự động phân loại văn bản, các văn bản phải được biểu diễn dưới dạng các vector đặc trưng, trong đó chiều thứ i trong vector đại điện cho giá trị của đặc trưng thứ i Để rút được các đặc trưng của văn bản, chúng ta cần phải thực hiện khác nhiều thao tác tiền xử lý như tách từ ( đối với văn bản tiếng Việt ), loại các ký tự thừa, loại bỏ các từ có chiều dài ngăn, loại bỏ các từ dừng, đưa các từ
về dạng nguyên mẫu ( đối với văn bản tiếng Anh )
1.2.1 Tiền xử lý văn bản
Mục đích chính của bước tiền xử lý văn bản là đưa một văn bản về dạng chuẩn, loại bỏ tất cả những yếu tố không cần thiết hoặc có thể làm nhiễu việc phân lớp như kí tự thừa, các từ dừng, dấu câu… Sau bước này, chúng ta còn lại được những nội dung đặc trưng nhất của văn bản đó, các từ còn lại trong văn bản là các
từ có giá trị thông tin cao Điều đó giúp cho việc rút trích đặc trưng được dễ dàng, chính xác làm tiền đề cho việc nâng cao hiệu suất ở bước phân lớp
Bên cạnh đó, bước tiền xử lý này còn giúp cho các văn bản có dung lượng nhỏ hơn mà nội dung vẫn đầy đủ, không bị thiếu thông tin Điều này làm cho hệ thống xử lý và làm việc nhanh hơn, giúp ta có được kết quả tốt, văn bản gốc không
bị ảnh hưởng vì ta chỉ thực hiện thao tác trên các văn bản đã qua tiền xử lý này Do vậy bước tiền xử lý luôn luôn quan trọng trong bất cứ thuật toán phân lớp nào
Với phương pháp SVM như đã trình bày ở phần trước, không gian đặc trưng
là yếu tố đầu vào hết sức quan trọng đối với việc tìm siêu phẳng có thể phân loại tốt,
Trang 18ít xảy ra lỗi Để huấn luyện 2 nhóm trong SVM khách quan và cho kết quả tốt thì tập đặc trưng dành cho 2 nhóm phải thỏa mãn các yếu tố sau:
- Các đặc trưng phải thực sự là những từ đại diện cho nhóm về mặt nội dung Thực sự ta có lấy những đặc trưng chính xác cao và đầy đủ mới biểu diễn tốt các văn bản Nếu tập đặc trưng được chọn không bao phủ rộng tất cả các văn bản huấn luyện thì việc phân loại sẽ không khách quan và ảnh hưởng ít nhiều đến kết quả tùy thuộc vào mức độ thiếu hụt các đặc trưng
- Các đặc trưng phải được rút gọn về mặt hình thức, tức có nghĩa phải tìm được một từ gốc để có thể biểu diễn các từ trong cùng một gia đình từ (đối với tiếng Anh), và đưa các từ trong gia đình của nó thành từ gốc Để đánh trọng số đúng cho một đặc trưng thì tìm từ gốc là một điều hết sức quan trọng Điều này giúp đánh giá tốt hơn độ quan trọng của gia đình từ dưới dạng một đặc trưng đại diện duy nhất
Ví dụ: trong tập huấn luyện có các từ như “hope”, “hoping”, “hopes”,
“hoped”, “hopeless” để các từ như thế như các từ riêng biệt, không có liên quan với nhau thì rõ ràng gia đình “hope” không được biểu diễn độ quan trọng đúng mức Trong trường hợp này từ “hope” được chọn làm từ gốc để biểu diễn cho gia đình từ này Đây được gọi là tiền xử lý Nội dung về tiền xử lý cho bài toán phân loại văn bản mà chúng em đề cập trong khóa luận này có nội dung như phần bên dưới Vì khóa luận đề cập đến phân lớp cho cả tiếng Anh lẫn tiếng Việt nên từng giai đoạn trong tiền xử lý văn bản sẽ được đề cập đây có thể chỉ áp dụng cho 1 ngôn ngữ Chính vì vậy trong luận văn này khi đề cập văn bản tức có thể là văn bản tiếng Anh hoặc tiếng Việt Tuy nhiên cả văn bản thuộc cả 2 ngôn ngữ vẫn có những giai đoạn
xử lý giống nhau
1.2.1.1 Tách từ ( tiếng Việt )
Tách từ là giai đoạn xử lý chỉ áp dụng cho các văn bản tiếng Viêt Bài toán tách từ tiếng Việt cũng từng là một bài toán lớn trong lĩnh vực khai khoáng văn bản tiếng Việt vì nó có ý nghĩa hết sức quan trọng Như chúng ta đã biết, đặc trưng của tiếng Việt là các từ có thể có một hay nhiều tiếng mà mỗi tiếng được phân tách với
Trang 19nhau bởi khoảng trắng Khác với tiếng Việt, các từ trong tiếng Anh được phân tách
rõ ràng bởi các khoảng trắng Do vậy, bước này chỉ áp dụng đối với văn bản tiếng Việt
VD: tách câu “ Có rất nhiều hướng tiếp cận trong bài toán tách từ tiếng Việt Chúng ta có thể dựa trên từ điển, dựa trên thống kê hay áp dụng nhiều phương pháp với nhau.” Sau khi tách thì kết quả như sau: “Có rất nhiều hướng tiếp_cận trong bài_toán tách từ tiếng Việt Chúng_ta có_thể dựa trên từ_điển , dựa trên thống_kê hay áp_dụng nhiều phương_pháp với nhau ” Lúc này thì các từ được tách nhau bởi các khoảng trắng
Có rất nhiều hướng tiếp cận trong bài toán tách từ tiếng Việt Chúng ta có thể dựa trên từ điển, dựa trên thống kê hay áp dụng nhiều phương pháp với nhau Những phương pháp tách từ có thể kể đến như: 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)… và gần đây nhất là phương pháp áp dụng kĩ thuật di truyền kết hợp với thống kê qua mạng
Rất nhiều nghiên cứu đã được thực hiện trong bải toán tách từ tiếng Việt và
đã đạt được những kết quả tốt và đã được áp dụng phổ biến Một trong các công cụ tách từ tiếng Việt khá nổi tiếng hiện nay và được sử dụng khá phổ biến đó là
“vnTokenizer”
“vnTokenizer” là công cụ tách từ tiếng Việt tự động, được thực hiện bởi một nhóm GV thuộc Khoa Toán Cơ Tin học, trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội thực hiện Phiên bản đầu tiên của chương trình được viết từ năm 2001 Tuy nhiên, qua thời gian công cụ này đã thực hiện nhiều lần nâng cấp, cải tiến
Phiên bản hiện tại là phiên bản 4.1.1 là sự phát triển tiếp theo của những phiên bản trước trên cơ sở cải tiến và nâng cấp các tính năng, tối ưu khả năng kế thừa và mở rộng chương trình cho các mục đích xử lý tiếng Việt về lâu dài Tách
Trang 20đơn vị từ vựng tự động là bước tiền xử lý không thể thiếu đối với hầu hết các lĩnh vực xử lý tự động ngôn ngữ tự nhiên
Các tính năng mà công cụ vnTokenizer mang lại :
1 Tách các đơn vị từ vựng trong từ điển kèm thông tin từ loại
2 Tách các dấu chấm câu, các ký hiệu chữ và số,
3 Tách các tên riêng, ngày tháng, các số (nguyên, thập phân)
4 Các mẫu tự cần tách được chỉ định trong tệp ngoài Tệp này sử dụng các biểu thức chính quy (regular expressions) để định nghĩa các mẫu cần tách, do đó việc mở rộng tính năng cho chương trình để tách các mẫu chưa gặp rất dễ dàng, chỉ cần thêm định nghĩa cho mẫu chưa gặp vào tệp này
Công cụ cài đặt một thuật toán tách từ tự động cho phép liệt kê mọi phương
án tách từ có thể của một câu tiếng Việt (nếu nó có nhiều cách tách) Tuy nhiên, hiện tại việc chọn phương án tách từ nào cho đúng thì cần sự can thiệp của người sử dụng Công vụ hiện tại đã được thử nghiệm và cho kết quả rất tốt
Chương trình được viết bằng ngôn ngữ lập trình Java, sử dụng bộ công cụ phát triển Java SE 5
Trong khóa luận này chúng em sử dụng vnTokenizer phiên bản 4.1.1 Đây là phiên bản mới nhất và cho kết quả rất tốt
Trang 21Loại bỏ các dấu câu, số Trong hầu hết tất cả các văn bản, phần nội dung được thể hiện ở các ký tự dạng chữ cái Ví dụ trong một văn bản về “thể thao”, các con số như số áo cầu thủ, số vòng đấu… không phải là đặc trưng của văn bản mà là các từ khóa chính như vận động viên, cầu thủ, bàn thắng” Nếu giữ lại dấu câu và số không những không đóng góp về mặt nội dung mà có thể còn gây nhiễu trong quá trình phân lớp
Đưa tất cả các kí từ về dạng chữ thường(không chứa chữ in hoa) Để tiện cho việc so sánh các từ thì tất cả các kí tự được chuyển về dạng chữ thường nhằm nâng cao mật độ xuất hiện của từ, nâng độ ảnh hưởng của từ trong khâu lựa chọn đặc trưng và đánh trọng số
Loại bỏ nhiều khoảng trắng liên tiếp và chỉ giữ lại một khoảng trắng duy nhất làm ranh giới giữa các từ để văn bản dễ nhìn, tối ưu về mặt cấu trúc vì không còn chứa các khoảng trắng thừa
Thêm tựa hay chủ đề vào trước văn bản Trong hẩu hết các trường hợp nếu tựa đề mang ý nghĩa tường minh thì nó có chứa những từ mang tính khái quát về nội dung của chủ đề
Đưa tất cả các kí từ về dạng chữ thường Để tiện cho việc so sánh các từ thì tất cả các kí tự được chuyển về dạng chữ thường nhằm nâng cao mật độ xuất hiện của từ, nâng độ ảnh hưởng của từ trong khâu lựa chọn đặc trưng và đánh trọng số
Ví dụ một từ “ca sĩ” khi đứng đầu câu sẽ được viết hoa thành “Ca sĩ” nhưng khi từ này nằm ở giữa câu thì sẽ là “ca sĩ”, tuy cách viết khác nhau nhưng về mặt đóng góp của nó trong quá trình phân lớp là như nhau dù vị trí của nó đứng ở đâu trong văn bản
Loại bỏ nhiều khoảng trắng liên tiếp và chỉ giữ lại một khoảng trắng duy nhất làm ranh giới giữa các từ để văn bản dễ nhìn, tối ưu về mặt cấu trúc vì không còn chứa các khoảng trắng thừa
Trang 221.2.1.3 Loại bỏ các từ có chiều dài ngắn
Bước này áp dụng cho cả văn bản tiếng Anh và tiếng Việt Chúng ta loại các
từ có chiều dài ít hơn 3 kí tự đối với tiếng Anh và ít hơn 2 kí tự đối với tiếng Việt Chẳng hạn ta loại bỏ các từ có ít hơn 3 kí tự như: a, an, on, in, I, we, he…trong tiếng Anh hoặc các từ a, á ,ờ, ó… trong tiếng Việt Các từ có ít kí tự thường chỉ là các liên từ nối các vế với nhau hay các âm diễn tả cảm xúc nên chúng chỉ có ý nghĩa
về mặt cú pháp đối với văn bản hay thái độ của đối tượng Bước này nhằm hạn chế phần nào các từ thừa, lọc bớt các thành phần không chứa thông tin Điều này giúp cho tập từ vựng trong bài toán phân loại văn bản được giảm tải và không gian đặc trưng được rút gọn nhiều hơn
1.2.1.4 Loại bỏ các từ dừng
Bước này là một bước rất quan trọng trong việc tiền xử lý của cả văn bản dạng tiếng Anh lẫn tiếng Việt Trong tiếng Anh có hơn 500 từ dừng và con số này đối với tiếng Việt là 1500 từ Trong tiếng Anh và cả tiếng Việt, từ dừng không có tác dụng trong việc truy xuất nội dung của một văn bản hay chúng chỉ là các thành phần thừa về mặt ý nghĩa Có chăng cũng chỉ là về mặt hình thức các từ dừng này giúp cho cấu trúc câu anh văn rõ ràng, trôi chảy, hay diễn đạt về mặt cảm xúc
Hai bảng trong phần phụ lục là danh sách các từ dừng của tiếng Anh và tiếng Việt được sử dụng trong khóa luận này Các chuyên gia tin rằng trong lĩnh vực tìm kiếm máy học thì việc loại các từ dừng giúp nội dung một văn bản rõ ràng và cô đọng hơn Do đó việc loại các từ dừng là điều phải được thực hiện trong việc tối ưu văn bản
1.2.1.5 Chỉ giữ lại dạng nguyên mẫu
Chỉ áp dụng cho tiếng Anh vì trong tiếng Anh có hình thái gia đình từ nhưng lại không có trong tiếng Việt Những ai có học về tiếng Anh điều biết trong tiếng Anh, một từ lại có nhiều dạng khác nhau: danh từ, động từ, tính từ, trạng
từ…nhưng lại có chung một ý nghĩa Nhưng trong tiếng Việt thì mỗi từ chỉ có duy nhất một hình thái
Trang 23Sau khi thực hiện tất cả các bước trên, giờ này trong vă bản hầu như chỉ chứa các từ cần thiết cho việc trích chọn tập đặc trưng đại diện cho một văn bản hay một chủ đề Nhưng một điều đáng lưu ý là trong tiếng anh có rất nhiều gia đình từ, tức một từ gốc làm phát sinh ra rất nhiều loại từ khác nhau như danh từ, động từ, tính
từ, trạng từ,…chính vì vậy để nâng cao giá trị của từ thì ta chỉ nên giữ lại từ gốc và biến các từ xuất phát từ nó thành chính từ đó Khi đó các đặc trưng sẽ tránh được tình trạng trùng lặp và các đặc trưng sẽ được đánh giá đúng đắn và khách quan hơn
Để giải quyết vấn đề gia đình từ này, ta áp dụng giải thuật Porter’s Stemmer
để đưa tất cả các từ trong cùng một gia đình về dạng từ gốc được rút gọn
Ví dụ: các từ “beauty”, “beautiful”, “beautifulness” được chuyển thành
“beauti” Khi đó giá trị của từ beauti sẽ được nâng lên và việc quan sát các từ mang chung nghĩa “đẹp” dễ dàng hơn vì lúc này chỉ có một từ “beauti” duy nhất
1.2.2 Biểu diễn đặc trưng văn bản trong không gian vector
Sau bước tiền xử lý, văn bản giờ chỉ còn lại những ký tự được chọn lọc 1 chuỗi ký tự sát nhau không bao gồm khoảng trắng ( hiển nhiên không bao gồm các dấu câu, con số, từ dừng… đã được loại bỏ ) được gọi là 1 thuật ngữ ( hay có thể gọi là từ ) Tuy nhiên đây mới chỉ là giai đoạn đầu, văn bản ở dạng này vẫn chưa phù hợp với nhiệm vụ và thuật toán xử lý văn bản mà nó cần được biến đổi Mỗi văn bản sẽ được đưa về dạng 1 vector gồm n chiều Có rất nhiều phương pháp biểu diễn văn bản và mỗi phương pháp thích hợp với một bài toán cụ thể, nhưng ý tưởng chung là chúng ta tập hợp tất cả các thuật ngữ trong tất cả văn bản huấn luyện vào trong tập hợp T, và mỗi văn bản chúng ta có thể biểu diễn được dưới dạng 1 vector
Trang 24Giả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ận hay tổng thể:
Có rất nhiều phương pháp giảm số chiều Trong đó phương pháp giảm số chiều dự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
Xét các giá trị dưới đây (tất cả được xác định là cục bộ cho phân loại xác
định c i )
t k c i
t k c i
t k c i
t k c i
Trang 25Trong trường hợp cần đánh giá giá trị của thuật ngữ t ktrong tổng thể tất cả
C i
i k k
sum
k f t f t c t
i k i k
wsum
k f t P c f t c t
f
i k
k f t f t c t
1
Trong đó, ft k,c i là giá trị của từ tktrong 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ài liệu hay không Chúng ta chỉ giữ lại những từ có hàm giá trị thông tin không
Lợi nhuận thông tin
(Information gain)
),(t k c i
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
Trang 26Hệ 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
Điểm tương quan
(Relevancy score)
) , (t k c i RS
d c t P
d c t P
i k
i k
)
|(
)
|(log _ _
Hệ số GSS
(GSS coefficient)
) , (t k c i GSS
),()
,(),()
,(
_ _ _
_
i k i k i
k i
k c P t c P t c P t c t
Bảng 1.1: Các hàm tính giá trị thông tin của một từ đối với lớp
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 [4] trên nhiều tập mẫu và phân loại khác nhau cho 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
1.2.2.2 Vector hóa văn bản
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 đổi thà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ều phươ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 em xin trình bày phương pháp biểu diễn văn bản theo không gian 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 đặt thuật toán phân loại văn bản theo phương pháp Support Vector Machine, được trình bày trong phần sau của luận văn
a Phương pháp dựa trên tần số thuật ngữ (TF-Term Frequency)
Trang 27Cá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ật ngữ trong văn bản Gọi fijlà tần số của thuật ngữ titrong văn bản dj, thì wij có thể được tính bởi một trong số các công thức sau:
w ij = f ij
w ij = 1+log(f ij)
w ij= f ij
thuật ngữ ti.
Phương pháp này khá đơn giản và có hạn chế là có những từ xuất hiện nhiều lần trong văn bản, nhưng nó lại không có ý nghĩa nhiều đối với văn bản như tần
đi Phương pháp IDF trình bày sau đây, phần nào khắc phục nhược điểm của phương pháp TF
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ị w
)log(
i ij
h m
h
m
khác trong cơ sở dữ liệu
nếu ngược lại
nếu ti xuất hiện trong
d
Trang 28âm nhạc, thế nên từ đàn là một từ khá thông dụng, ví dụ trong 1 văn bản có nhắc tới đàn piano 1 lần và các loại đàn khác rất nhiều lần Thuật ngữ “đàn” được lặp đi lặp lại nhiều lần sẽ làm tăng trọng số của “đàn” và “piano” lên rất nhiều trong khi văn bản đó không thực sự nói về đàn piano Vậy nên chúng
ta cần sử dụng thêm thuật toán còn lại là IDF để loại bỏ bớt sự ảnh hưởng của thuật ngữ “đàn” Và công thức tính cuối cùng để xác định văn bản nào liên quan nhiều nhất tới “đàn” “piano” sẽ là TF x IDF Cụ thể công thức TFxIDF là:
) log(
i ij
ij
h h
m f
w
Trong phần này chúng em đã trình bày từng bước để có thể biểu diễn
1 văn bản về dạng cuối cùng thích hợp nhất cho các thuật toán phân loại văn bản: tách từ, loại bỏ các ký tự thừa, loại bỏ các từ có chiều dài ngắn, loại bỏ các từ dừng, đưa các thuật ngữ về dạng nguyên mẫu, rút gọn các thuật ngữ và biểu diễn các văn bản theo không gian đặc trưng Kết quả của bước này là
Trang 29trọng số của từ t j trong văn bản d i Quá trình phân loại văn bản không thực
1.3 Một số phương pháp phân lớp phổ biến
1.3.1 K láng giềng gần nhất ( K-nearest Neighbor )
Đây là một phương pháp nổi tiếng trong các phương pháp phân loại dựa trên xác suất thống kê Đúng như tên gọi, văn bản mới sẽ được phân lớp thông qua việc tìm hiểu k người “láng giềng” của nó Láng giềng ở đây được hiểu là các lớp ở gần
nó nhất Trong thuật toán này có 2 vấn đề quan trọng cần quan tâm làm rõ, thứ nhất
là khái niệm gần và công thức tính mức độ gần, thứ hai là làm thế nào để tìm được nhãn thích hợp sau khi đã tìm được k láng giềng cũng như mức độ gần của k láng giềng đó
a Khái niệm gần và mức độ gần
Khái niệm gần trong thuật toán này được hiểu là mức độ tương tự giữa các văn bản
Có rất nhiều cách để đánh giá mưc độ tương tự giữa hai văn bản, trong
đó công thức Cosine trọng đố được soi là hiệu quả để đánh giá độ tương tự giữa 2 văn bản Dưới đây là công thức tính giá trị tương tự giữa 2 văn bản X, Y:
ngữ ti
công thức TF ( sẽ nói rõ trong phần rút trích đặc trưng văn bản )
Độ tương tự giữa 2 văn bản X và Y được tính như sau
2 2
) (
) (
) (
) (
) , , ( cos ) , (
t t t
t t T
t t t
w y w
x
w y w x W
Y X ine Y
X
Trang 30W được tính bằng tay hoặc được tính theo 1 thuật toá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 (sẽ nói rõ trong phần rút trích đặc trưng văn bản), lúc đó văn bản sẽ được biểu diễn dưới dạng TF*IDF
Sau khi tìm được mức độ tương tự của văn bản, có khá nhiều cách để tìm nhãn phù hợp với văn bản Sau đây chúng em xin được trình bày 1 số cách phổ biến:
b Cách chọn nhãn lớp cho văn bản giựa trên k văn bản láng giềng
+ Gán nhãn văn bản gần nhất
Đây là phương pháp đơn giản nhất trong các phương pháp được xét
bản ( trong số k văn bản ) có độ tương tự cao nhất với d Phương pháp này không được đánh giá cao vì kết quả của phương pháp này không có tính tổng hợp, đặc biệt là khi tập mẫu lớn thì kết quả lại càng dễ sai
Ví dụ : chúng ta thử xét trường hợp với k = 5 và các láng giềng khi đưa một văn bản mới vào phân lớp như sau
Bảng 1.2: Phương pháp K-NN gán nhãn dựa trên văn bản gần nhất
Theo phương pháp này, văn bản mới sẽ được phân vào lớp 1 vì văn
d3, d4, d5 của lớp 3 có mức độ tương tự xấp xỉ văn bản d1 và chiếm 1 số lượng khá lớn (3/5) trong số 5 láng giếng Một cách trực quan, chúng ta có
trường hợp dữ liệu huấn luyện có nhiễu, trong tất cả các văn bản thuộc lớp 1
Trang 31(k-1) láng giềng còn lại, trong khi đó các văn bản còn lại của lớp 1 có mức độ tương tự rất thấp, tuy vậy kết quả vẫn phân vào lớp 1 Những trường hợp trên thường xảy ra trong thực tế, do vậy phương pháp này được đánh giá là không tốt
+ Gán nhãn theo số đông
Như tên gọi của phương pháp, nhãn của văn bản d sẽ được phân vào lớp có số lượng văn bản ( trong k văn bản láng giềng ) nhiều nhất Tuy nhiên cách này cũng bị đánh giá thấp Để thấy rõ hơn về phương pháp và các khuyết điểm của nó ta xét ví dụ dưới đây với k = 8
Bảng 1.3: Phương pháp KNN gán nhãn dựa trên số đông
Theo phương pháp này thì văn bản d sẽ được gán nhãn là 3 vì trong k văn bản được chọn, lớp 3 chứa tới 4/8 số lượng văn bản trong khi lớp 2 là 3/8, lớp 1 là 1/8 Tuy nhiên ở đây ta dễ thấy được hạn chế của phương pháp này khi số lượng văn bản thuộc lớp 2 xấp xỉ số lượng văn bản thuộc lớp 3, thêm vào đó, giá trị độ tương tự của các văn bản lớp 2 đều rất lớn, lớn hơn nhiều so với độ tương tự của 4 văn bản thuộc lớp 3 Một cách trực quan, ta
có thể thấy phương pháp này chưa đủ mức độ tổng quát khi đánh giá, gán nhãn cho văn bản d
c Gán nhãn theo độ phù hợp của chủ đề
Độ phù hợp của văn bản d với một lớp c sẽ được tính theo công thức sau
Trang 32
c d
i
i
d d sim c
d sim( , ) ( , )
Ở phương pháp này, ta lần lượt tính độ phù hợp của d với tất cả các lớp sau đó chọn lớp có độ phù hợp cao nhất để gán nhãn cho d Phương pháp này khá dễ hiểu và được đánh giá cao hơn các phương pháp trên
Nhận xét:
Ưu điểm:
+ K láng giềng là một phương pháp đơn giản, dễ hiểu, dễ thực hiện + Các giai đoạn của thuật toán có thể thay đổi để áp dụng với các trường hợp dữ liệu khác nhau ( thay đổi các độ đo, cách chọn nhãn cho văn bản đưa vào )
Nhược điểm:
+ Khó tìm ra k tối ưu
+Trường hợp dữ liệu huấn luyện có nhiễu thì sự phân loại là không tốt
1.3.2 Phương pháp cây quyết định ( decision tree )
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ì Bộ phân lớp cây quyết định là một dạng cây mà mỗi nút được gán nhãn là một đặc trưng, mỗi nhánh là giá trị trọng số xuất hiện của đặc trưng trong văn bản cần phân lớp, và mỗi lá là nhãn của phân lớp tài liệu Việc phân lớp của một tài liệu dj
sẽ được duyệt đệ quy theo trọng số của những đặc trưng có xuất hiện trong văn bản
dj Thuật toán lặp đệ quy đến khi đạt đến nút lá và nhãn của dj chính là nhãn của nút
lá tìm được Thông thường việc phân lớp văn bản nhị phân sẽ tương thích với việc dùng cây nhị phân
Thuật toán này có ưu điểm là dễ hiểu, dễ cài đặt Có thể chấp nhận trường hợp tập dữ liệu huấn luyện có nhiễu, và cho hiệu quả phân loại tương đối cao Các
Trang 33thuật tốn cây quyết định ngày càng được phát triển và cải tiến Nhưng hầu hết các thuật tố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ìm kiếm tham lam trong khơng gian tìm kiếm của cây quyết định Trong số các thuật tốn học cây quyết định thì thuật tốn ID3 và cải tiến của nĩ là C4.5 được đánh giá là hiệu quả và được sử dụng phổ biến nhất Thuật tố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, No.1
1.3.3 Phương pháp Nạve Bayes
Nạve Bayes là phương pháp phân loại dựa trên xác suất Ý tưởng cơ bản của cách tiếp cận Nạve Bayes là sử dụng xác suất cĩ điều kiện giữa 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ủa tất cả các từ trong văn bản đều độc lập với nhau
- Các từ hay đặc trưng của văn bản xuất hiện là độc lập với nhau
- Vị trí của các từ hay các đặc trưng là độc lập và cĩ vai trị như nhau
Giả sử ta cĩ:
văn bản đối với các chủ đề, theo luật Bayes, văn bản sẽ được phân lớp vào chủ đề
i
c nào cĩ xác suất cao nhất
Giải thuật Nạve Bayes là phương pháp đơn giản, dễ cài đặt, tốc độ nhanh và được đánh giá tốt hơn cây quyết định Tuy nhiên do Nạve Bayes chấp nhận rằng các đặc trưng trong một văn bản là độc lập với nhau nên việc thực thi sẽ khơng tốt khi các đặc trưng trong một văn bản cĩ mối liên hệ với nhau
Trang 341.3.4 Mạng nơron nhân tạo
Mạng nơron nhân tạo (Artificial Neural Network - ANN) là một mô hình máy học mô phỏng của hệ thần kinh con người ANN chứa các đơn vị xử lý có khả năng liên lạc với nhau bằng cách gửi các tín hiệu đến lẫn nhau thông qua các liên kết có trọng số Hiện nay ANN là một trong những mô hình máy học hiệu quả và phổ biến nhất với rất nhiều ứng dụng trong thực tế:
Nhận dạng hình ảnh, âm thanh
Dự đoán, dự báo
Điều khiển tự động
…
Hình 1.2: So sánh mạng noron sinh học và mạng noron nhân tạo
a Mạng noron sinh học b Mạng noron nhân tạo
Mạng nơron có rất nhiều mô hình khác nhau Một trong những mô hình phổ biến nhất hiện nay là mạng nơron truyền thẳng
Perceptron là đơn vị cơ bản nhất của mạng nơron truyền thẳng Perceptron còn gọi là một nơron nhân tạo Một perceptron có n đầu vào và một đầu ra, mỗi đầu vào được gán với một trọng số Đầu ra là kết quả tính toán dựa trên các giá trị của đầu vào và các trọng số n đầu vào sẽ được lấy từ n perceptron ở lớp trước, giá trị của đầu ra sẽ là một giá trị đầu vào của perceptron ở lớp sau Mô hình tính toán của perceptron:
Trang 35Trong đó:
f được gọi là hàm kích hoạt (activation action) hay hàm truyền
Hình 1.3: Một perceptron với hàm f là hàm sigmoid
Trang 36Hình 1.4: Mô hình một mạng nơron nhiều tầng Với 1 lớp đầu vào, 1 lớp đầu ra và l-2 lớp ẩn
Một mạng nơron nhiều tầng bao gồm một lớp đầu vào (Input Layer), một lớp đầu ra (Output Layer) và một hoặc một số lớp ẩn (Hidden Layer) Mỗi lớp là một tập hợp các đơn vị perceptron Các nơron trong tầng input thực chất không phải là một perceptron mà chỉ là đầu vào của dữ liệu Các perceptron ở lớp trước sẽ truyền tín hiệu cho các perceptron ở lớp sau thông qua các liên kết có trọng số Mỗi perceptron sẽ nhận tín hiệu từ các perceptron ở lớp trước, xử lý đưa ra kết quả và truyền kết quả cho các perceptron ở lớp sau của nó
Thông thường các mạng nơron dùng 1 tầng ẩn Số lượng các noron trong tầng ẩn thường được chọn bằng một nửa của tổng số nơron trong lớp input và lớp output
Một số mô hình mạng norơn khác:
Mạng RBF (Radial basic function) RBF là những kỹ thuật rất mạnh trong việc nội suy trong không gian đa chiều RBF đã được ứng dụng trong các mạng noron, được dùng thay thế cho tính chất truyền của lớp ẩn sigmoid trong mạng
Trang 37MLP Mạng RBF có hai lớp xử lý, đầu vào được ánh xạ vào mỗi RBF trong lớp ẩn RBF được chọn thường là một hàm Gauss
Mạng tự quản lý Kohonen (Kohonen self-organizing network hay còn gọi là Self-organizing map -SOM) là mô hình được đề xuất bởi Teuvo Kohonen dùng cho mục đích học không giám sát (unsupervised learning) để tạo ra một biểu diễn chiều
có số chiều thấp (thường là hai), rời rạc hóa của không gian đầu vào của mẫu huấn luyện, gọi là một ánh xạ Những ánh xạ tự quản lý (Self-organizing map) khác với những mạng noron khác ở chỗ chúng sử dụng hàm lân cận để giữ những tính chất topo của không gian đầu vào SOM có hai cơ chế chính là huấn luyện và ánh xạ Huấn luyện xây dựng nên ánh xạ bằng những ví dụ huấn luyện Quá trình huấn luyện còn được gọi là lượng tử hóa vector (vector quantization) Quá trình ánh xạ tự động phân lớp một vector đầu vào mới
Hình 1.5: Minh họa việc huấn luyện một SOM
1.3.5 Phương pháp Centroid-based vector
Đây là một trong những phương pháp phân lớp đơn giản nhất Trong quá trình huấn luyện, các vector trọng tâm của mỗi lớp được xác định Trong quá trình phân lớp, với mỗi mẫu mới x, khoảng cách từ x đến các vector trọng tâm của mỗi lớp được tính Mẫu x sẽ được phân vào lớp có trọng tâm gần với x nhất Thời gian tính toán của phương pháp này rất nhanh Cả quá trình huấn luyện và quá trình phân lớp đều chỉ tốn O(n)
1.3.6 Phương pháp SVMs
Phương pháp SVM là phương pháp máy học được đề xuất bởi V Vapnik SVMs là một phương pháp học có giám sát dùng để phân lớp nhị phân, có nghĩa là
Trang 38phân hai lớp với nhau Trong phương pháp SVM, các mẫu huấn luyện sẽ được biểu diễn trong một không gian vector Các mẫu huấn luyện được đánh nhãn dựa theo lớp của chúng (thường là +1 và -1) Tư tưởng chính của SVM là tìm một mặt phẳng phân tách tuyến tính hai lớp với nhau Khi đó một mẫu mới sẽ được phân lớp dựa trên vị trí tương đối của mẫu đó với mặt phẳng này SVM sẽ tìm một mặt phẳng “tốt nhất” nghĩa là mặt phẳng có lề (khoảng cách từ điểm dữ liệu gần nhất đến mặt phẳng) lớn nhất
Hình 1.6: Phương pháp phân lớp SVMs
Đối với những trường hợp dữ liệu không thể phân tách tuyến tính, SVM ánh
xạ dữ liệu từ không gian đầu vào vào không gian đặc trưng có số chiều lớn hơn Vì
sử dụng hàm nhân (kernel trick) nên có thể giảm đi rất nhiều độ phức tạp tính toán của việc ánh xạ
Mặc dù xuất hiện sau nhưng vì cho kết quả rất tốt nên phương pháp SVMs đã trở thành một trong các phương pháp được sử dụng phổ biến hiện nay
Trang 39CHƯƠNG 2: PHƯƠNG PHÁP PHÂN LỚP SVMs
Các ứng dụng của SVM trong thực tế cho hiệu quả phân lớp rất cao so với các phương pháp phân loại máy học khác và được ứng dụng trong rất nhiều lĩnh vực:
Phân lớp văn bản (Text categorization): Như đã trình bày ở trên nhiệm vụ của phân lớp văn bản là phân loại những tài liệu văn bản tự nhiên (hoặc siêu văn bản – HTML) thành một số loại được định nghĩa trước dựa trên nội dung Kỹ thuật này có thể áp dụng để lọc mail, web searching, sắp xếp tài liệu theo chủ đề Đặc trưng của các vector văn bản là có số chiều rất lớn, do
đó rất thích hợp để áp dụng phương pháp SVM
Nhận dạng ảnh (Image Recognition): Hiện nay có một số lượng hình ảnh rất lớn trên Internet hoặc trên những cơ sở dữ liệu chuyên dụng Những kỹ thuật của việc nhận dạng ảnh được ứng dụng trong rất nhiều lĩnh vực như: rút trích thông tin, lọc dữ liệu trên Internet, ứng dụng trong y học, phát hiện vật thể,
an ninh
Nhận dạng chữ viết: Nhận dạng chữ viết là một trong những ứng dụng rất rộng rãi của SVM, nó có thể ứng dụng trong các ngành như: bưu điện (phân loại thư theo mã bưu điện), số hóa các văn bản (nhận dạng chữ viết của một
Trang 40văn bản được scan lên máy tính), Có 2 kiểu nhận dạng chữ viết là nhận dạng chữ viết tay và nhận dạng chữ in Những mô hình SVM nhận dạng chữ viết được test chủ yếu trên 2 cơ sở dữ liệu ký tự là: USPS (United State Postal Service) và NIST (National Institute for Standard and Technology)
Bài toán phân loại văn bản bằng SVMs nhị phân: Cho một văn bản, dựa
vào nội dung kiểm tra xem văn bản đó thuộc vào loại gì trong hai loại đã cho trước
Sau khi trích chọn đặc trưng, mỗi văn bản được biểu thị dưới dạng một
Các văn bản huấn luyện thuộc 2 lớp (được đánh nhãn là +1 và -1) là các điểm trong không gian đầu vào n chiều SVM sẽ tìm một mặt phẳng “tốt nhất” phân tách 2 tập điểm +1 và -1 Mặt phẳng đó sẽ là hàm phân lớp để quyết định một mẫu mới sẽ thuộc lớp nào Tổng quát, ta xét bài toán sau: “Cho một tập huấn luyện các vector trong không gian n chiều Các vector thuộc một trong hai lớp +1 và -1 Khi có một vector mới, ta phải xác định được nó thuộc lớp nào trong hai lớp đã cho"
f(x) >= 0 và lớp âm (-1) nếu ngược lại