Luận văn này nghiên cứu phân loại văn bản tiếng Việt với kỹ thuật phân tích giá trị đơn (Singular Value Decomposition SVD) kết hợp với máy học vectơ hỗ trợ (Support Vector Machine SVM). SVD là một kỹ thuật xấp xỉ ma trận đƣợc áp dụng rộng rãi trong xử lý ngôn ngữ tự nhiên và đã trở thành nền tảng của kỹ thuật phân tích ngữ nghĩa tiềm ẩn. Trong bài toán phân loại văn bản SVD không những xấp xỉ ma trận đặc trưng về số chiều nhỏ hơn mà nó còn làm tăng độ liên kết ngữ nghĩa giữa các tài liệu và loại bỏ nhiễu. Trong khi đó, SVM là một giải thuật máy học đƣợc đánh giá là rất phù hợp cho bài toán phân loại văn bản vì nó có thể xử lý dữ liệu với số chiều lớn, tự động điều chỉnh tham số trong quá trình học và phù hợp với dữ liệu có thể tách tuyến tính. Các thực nghiệm cho thấy rằng, việc kết hợp SVD và SVM để phân loại văn bản đạt kết quả tốt hơn so với chỉ áp dụng SVM thuần túy.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CẦN THƠ
PHẠM HOÀNG SƠN
NGHIÊN CỨU PHÂN LOẠI VĂN BẢN VỚI KỸ THUẬT PHÂN TÍCH GIÁ TRỊ ĐƠN KẾT HỢP
VỚI MÁY HỌC VECTƠ HỖ TRỢ
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Cần Thơ – 2012
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CẦN THƠ
PHẠM HOÀNG SƠN
NGHIÊN CỨU PHÂN LOẠI VĂN BẢN VỚI KỸ THUẬT PHÂN TÍCH GIÁ TRỊ ĐƠN KẾT HỢP
VỚI MÁY HỌC VECTƠ HỖ TRỢ
Chuyên ngành: HỆ THỐNG THÔNG TIN
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của bản thân Các số liệu, kết quả trình bày trong luận văn này là trung thực và chưa từng được ai công bố trong bất kỳ công trình luận văn nào trước đây
Cần Thơ, ngày tháng năm 2012
Người cam đoan
PHẠM HOÀNG SƠN
Trang 5MỤC LỤC
1 Trang bìa i
2 Trang phụ bìa ii
3 Lời cam đoan iii
4 Lời cảm ơn iv
5 Mục lục v
6 Danh mục các ký hiệu, các từ viết tắt vii
7 Danh sách bảng viii
8 Danh sách hình ix
9 Tóm tắt x
CHƯƠNG 1 MỞ ĐẦU 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU NGHIÊN CỨU 1
1.3 PHẠM VI VÀ GIỚI HẠN CỦA ĐỀ TÀI NGHIÊN CỨU 2
1.4 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN 2
1.5 CẤU TRÚC LUẬN VĂN 3
CHƯƠNG 2 PHÂN LOẠI VĂN BẢN 5
2.1 GIỚI THIỆU BÀI TOÁN PHÂN LOẠI VĂN BẢN 5
2.2 MÔ HÌNH PHÂN LOẠI VĂN BẢN 5
2.2.1 Giai đoạn tiền xử lí 5
2.2.2 Huấn luyện máy học 6
2.2.3 Phân loại văn bản 7
2.3 TIỀN XỬ LÍ VĂN BẢN 8
2.3.1 Chuẩn hóa văn bản 8
2.3.2 Tách từ 8
2.3.2.1 Vai trò của tách từ 8
2.3.2.2 Đặc điểm tiếng Việt 8
2.3.2.3 Một số phương pháp tách từ tiếng Việt 9
2.3.2.4 Phương pháp khớp tối đa 10
2.3.2.5 Phương pháp MMSEG 10
Trang 62.3.3 Biểu diễn văn bản 12
2.3.3.1 Trọng số logic 13
2.3.3.2 Tần suất từ 13
2.3.3.3 Trọng số TFIDF 13
2.3.4 Trích chọn đặc trưng 13
2.3.4.1 Ngưỡng tần suất tài liệu 14
2.3.4.2 Phương pháp đo độ lợi thông tin 14
2.3.4.3 Phương pháp lượng tin tương hỗ 15
2.4 CÁC PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN 15
2.4.1 Phương pháp cây quyết định 15
2.4.2 Phương pháp k láng giềng gần nhất 17
2.4.3 Phương pháp Bayes thơ ngây 18
2.4.4 Phương pháp máy học vectơ hỗ trợ 19
2.5 KẾT LUẬN CHƯƠNG 2 22
CHƯƠNG 3 PHÂN TÍCH GIÁ TRỊ ĐƠN 24
3.1 GIỚI THIỆU 24
3.2 CƠ SỞ LÝ THUYẾT 24
3.2.1 Ý tưởng kỹ thuật SVD 24
3.2.2 Tính SVD đầy đủ của một ma trận 27
3.2.2.1 Các khái niệm liên quan 27
3.2.2.2 Tính SVD đầy đủ của một ma trận 29
3.2.3 Tính SVD rút trích 33
3.3 ỨNG DỤNG SVD VÀO BÀI TOÁN PHÂN LOẠI VĂN BẢN 34
3.4 KẾT LUẬN CHƯƠNG 3 37
CHƯƠNG 4 MÁY HỌC VECTƠ HỖ TRỢ 38
4.1 GIỚI THIỆU 38
4.2 GIẢI THUẬT MÁY HỌC VECTƠ HỖ TRỢ 38
4.2.1 Giải thuật SVM cho dữ liệu tách rời tuyến tính 38
4.2.2 Giải thuật SVM cho dữ liệu không tách rời tuyến tính 40
Trang 74.3 ÁP DỤNG SVM VÀO BÀI TOÁN PHÂN LOẠI VĂN BẢN 44
4.4 KẾT LUẬN CHƯƠNG 4 45
CHƯƠNG 5 PHÂN LOẠI VĂN BẢN VỚI KỸ THUẬT PHÂN TÍCH GIÁ TRỊ ĐƠN KẾT HỢP VỚI MÁY HỌC VECTƠ HỖ TRỢ 46
5.1 MÔ HÌNH PHÂN LOẠI 46
5.2 TIỀN XỬ LÍ 48
5.2.1 Chuẩn hóa văn bản 48
5.2.2 Áp dụng phương pháp tách từ MMSEG 49
5.2.3 Áp dụng phần mềm vnTokenizer để tách từ 52
5.2.4 Loại stopword và từ có tần suất tài liệu thấp 52
5.2.5 Mô hình hóa văn bản 53
5.3 ÁP DỤNG SVD RÚT TRÍCH ĐẶC TRƯNG 55
5.4 HUẤN LUYỆN MÁY HỌC SVM 56
5.5 KẾT LUẬN CHƯƠNG 5 57
CHƯƠNG 6 THỰC NGHIỆM 58
6.1 TẬP DỮ LIỆU MẪU 58
6.2 PHƯƠNG PHÁP ĐÁNH GIÁ 59
6.3 KẾT QUẢ THỰC NGHIỆM 60
CHƯƠNG 7 KẾT LUẬN 74
TÀI LIỆU THAM KHẢO 76
PHỤ LỤC 1 78
Trang 8DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
MMSEG Maximum Matching Segmentation Phân đoạn so khớp cực đại SVD Singular Value Decomposition Phân tích giá trị đơn
TF_IDF Term frequency_Inverse document
frequency
Tần suất từ_Tần suất tài liệu ngƣợc
Trang 9DANH SÁCH BẢNG
2.1 Các điểm khác biệt chính giữa tiếng Việt và tiếng Anh [4] 9
6.2 Ma trận kiểm chứng (confusion) dự đoán 50 phần tử thuộc 3 lớp a, b, c 59
6.5 Ma trận kiểm chứng (confusion matrix) kiểm tra chéo 10-folds trên tập dữ
liệu huấn luyện và độ chính xác (sử dụng phương pháp tách từ MMSEG)
62
6.6 Ma trận kiểm chứng (confusion matrix) kiểm tra chéo 10-folds trên tập dữ
liệu huấn luyện và độ chính xác (sử dụng phương pháp tách từ theo phần
mềm vnTokenizer)
63
6.8 Ma trận kiểm chứng (confusion matrix) kiểm tra chéo 10-folds trên tập dữ
liệu huấn luyện và độ chính xác (sử dụng phương pháp tách từ MMSEG,
và rút trích SVD)
65
6.9 Ma trận kiểm chứng (confusion matrix) kiểm tra chéo 10-folds trên tập dữ
liệu huấn luyện và độ chính xác (sử dụng phương pháp tách từ
Trang 10DANH SÁCH HÌNH
3.1 Quay các mũi tên có kích thước cố định để mô tả hình tròn 25
3.2 Quay các mũi tên có chiều dài biến thiên để mô tả hình ellip 26
4.5 Phân lớp tuyến tính trong không gian trung gian 43
Trang 11TÓM TẮT
Với sự phát triển mạnh mẽ của internet thì khối lượng tài liệu điện tử ngày càng nhiều
Do đó phân loại văn bản tự động đã trở thành phương pháp quan trọng để tổ chức và khai thác tri thức từ nguồn tài liệu này Nhiều phương pháp máy học đã được áp dụng cho bài toán phân loại văn bản, nhưng hầu hết chúng được áp dụng cho văn bản tiếng Anh Trong những năm gần đây đã có nhiều nghiên cứu về phân loại văn bản tiếng Việt với kết quả khả quan Tuy nhiên, cần có những nghiên cứu chuyên sâu để có thể
áp dụng các phương pháp này trong thực tế
Luận văn này nghiên cứu phân loại văn bản tiếng Việt với kỹ thuật phân tích giá trị đơn (Singular Value Decomposition - SVD) kết hợp với máy học vectơ hỗ trợ (Support Vector Machine - SVM) SVD là một kỹ thuật xấp xỉ ma trận được áp dụng rộng rãi trong xử lý ngôn ngữ tự nhiên và đã trở thành nền tảng của kỹ thuật phân tích ngữ nghĩa tiềm ẩn Trong bài toán phân loại văn bản SVD không những xấp xỉ ma trận đặc trưng về số chiều nhỏ hơn mà nó còn làm tăng độ liên kết ngữ nghĩa giữa các tài liệu
và loại bỏ nhiễu Trong khi đó, SVM là một giải thuật máy học được đánh giá là rất phù hợp cho bài toán phân loại văn bản vì nó có thể xử lý dữ liệu với số chiều lớn, tự động điều chỉnh tham số trong quá trình học và phù hợp với dữ liệu có thể tách tuyến tính Các thực nghiệm cho thấy rằng, việc kết hợp SVD và SVM để phân loại văn bản đạt kết quả tốt hơn so với chỉ áp dụng SVM thuần túy
Từ khóa: phân loại văn bản, máy học vectơ hỗ trợ, phân tích giá trị đơn
Trang 12ABSTRACT
With the rapid growth of the internet, the volume of electronic documents has been increasing Therefore, automatic categorization of documents has become the key method for information organization and knowledge discovery Many machine learning methods have been proposed for text categorization, but most of them have been applied to English documents In recent years, there have been a number of studies into Vietnamese text categorization, and the results are encouraging However, for these methods to be applied successfully further studies should be conducted This study examines the automatic categorization of Vietnamese documents with Singular Value Decomposition (SVD) in combination with Support Vector Machine (SVM) SVD is a matrix approximation technique which has been widely applied in natural language processing and has become the foundation for latent semantic analysis techniques In text classification SVD not only characterizes the approximation characteristic matrix of smaller dimension, but also increases the semantic link between the document and removes noise Additionally, SVM is considered as a machine learning algorithm well-suited for the text classification as it can handle large dimensional data, automatically adjust the parameters in the learning process and be separated linearly in accordance with data Many experiments have shown that the combination of SVD and SVM to classify documents achieves better results than the application of the pure SVM
Keywords: text classification, support vector machine learning, singular value
decomposition
Trang 13CHƯƠNG 1 MỞ ĐẦU
1.1 ĐẶT VẤN ĐỀ
Trong thời đại số hóa ngày nay, nhiều nguồn thông tin dưới dạng văn bản đã được chuyển dần sang dạng dữ liệu được lưu trữ trên máy tính hoặc truyền tải trên mạng Chính tính ưu việt của nó như: lưu trữ gọn nhẹ, thời gian lưu trữ lâu dài, tiện dụng trong sử dụng và trao đổi Từ các nguồn như: thư viện điện tử, thư điện tử, world-wide-web, các cơ sở dữ liệu trực tuyến… đã tạo thành một khối lượng dữ liệu khổng
lồ Việc khai phá, tìm kiếm trên khối dữ liệu khổng lồ đó nhằm tìm ra những kiến thức cần thiết đã trở thành vấn đề rất được quan tâm Số lượng văn bản ngày càng nhiều thì nhu cầu phân loại càng lớn
Bài toán phân loại văn bản tự động là một trong những bài toán khá cổ điển trong việc
xử lý dữ liệu văn bản Đây là vấn đề có vai trò quan trọng khi phải xử lý một khối lượng dữ liệu lớn Trên thế giới đã có nhiều công trình nghiên cứu về lĩnh vực này và đạt được kết quả khả quan, nhất là đối với văn bản tiếng Anh Tuy vậy các nghiên cứu
và ứng dụng đối với văn bản tiếng Việt còn nhiều hạn chế Một mặt là do đặc điểm về
từ vựng và câu Các phương pháp phân loại thường dựa trên trên việc phân tích văn bản thành từ vựng và câu Đây là vấn đề còn nhiều khó khăn đối với tiếng Việt
Để có một cách tiếp cận mới, đạt hiệu quả tốt hơn trong bài toán phân loại văn bản tiếng Việt tự động, đề tài này tập trung nghiên cứu phân loại văn bản tiếng Việt với kỹ thuật phân tích giá trị đơn(Singular Value Decomposition - SVD) kết hợp với máy học vector hỗ trợ (Support Vector Machine - SVM) Bởi vì SVD là kỹ thuật phân tích ma trận có khả năng rút gọn ma trận đặc trưng, loại bỏ các thuộc tính nhiễu rất tốt Đây là
kỹ thuật đã được áp dụng rộng rãi trong xử lý ngôn ngữ tự nhiên và là nền tảng của kỹ thuật ngữ nghĩa tiềm ẩn Do đó với việc kết hợp kỹ thuật phân tích giá trị đơn sẽ làm cho bộ phân loại SVM đạt hiệu quả tốt hơn
1.2 MỤC TIÊU NGHIÊN CỨU
Đề tài này nghiên cứu phân loại văn bản theo phương pháp máy học vector hỗ trợ (SVM) Kỹ thuật phân tích giá trị đơn (SVD) sẽ được áp dụng để phân tách lấy các thành phần chính của các đặc trưng nhằm rút gọn số đặc trưng và loại bỏ nhiễu
Quá trình phân loại văn được chia thành ba giai đoạn:
Giai đoạn 1: Tiền xử lí dữ liệu Là giai đoạn xây dựng dữ liệu mẫu và thực hiện các
công việc tiền xử lí như: chuyển dữ liệu về Font UTF-8, chuẩn hóa dấu tiếng Việt, tách
Trang 14từ, loại bỏ stopword, mơ hình hĩa văn bản thành vector chứa TF_IDF của các từ Dùng
kỹ thuật SVD để phân tích giá trị đơn và rút gọn ma trận đặc trưng nhằm giảm số chiều khơng gian đang xét
Giai đoạn 2: Huấn luyện SVM Là giai đoạn xây dựng bộ phân lớp SVM từ các tài
liệu mẫu Sử dụng các hàm nhân và các tham số tương ứng để tạo bộ phân lớp tốt nhất
Giai đoạn 3: Phân loại hay phân lớp văn bản Là giai đoạn dự đốn lớp của những
tài liệu mới (chưa biết chủ đề) dựa vào bộ phân lớp đã xây dựng
1.3 PHẠM VI VÀ GIỚI HẠN CỦA ĐỀ TÀI NGHIÊN CỨU
Đề tài này tập trung nghiên cứu phân loại văn bản với máy học vectơ hỗ trợ Kỹ thuật phân tích giá trị đơn sẽ được nghiên cứu để áp dụng trong giai đoạn trích chọn đặc trưng nhằm rút gọn số đặc trưng, loại bỏ các đặc trưng nhiễu Số lượng chủ đề trong nghiên cứu là cĩ hạn, mỗi văn bản thuộc một chủ đề nhất định
1.4 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN
Phân loại văn bản là một bài tốn khá cổ điển trong lĩnh vực xử lý dữ liệu văn bản Đĩ
là việc ánh xạ một văn bản vào một chủ đề đã biết trong một tập hữu hạn các chủ đề dựa trên ngữ nghĩa của văn bản[1] Với nguồn tài liệu phong phú như hiện nay thì việc
tự động phân loại một văn bản vào một chủ đề nào đĩ để dễ dàng tìm kiếm và sử dụng
là một việc cần thiết
Trên thế giới bài tốn phân loại văn bản được nhiều cá nhân và tổ chức quan tâm nghiên cứu Đã cĩ nhiều kỹ thuật máy học và khai phá dữ liệu áp dụng cho bài tốn phân loại văn bản Theo tổng hợp về các kỹ thuật máy học áp dụng cho bài tốn phân loại văn bản được nghiên cứu bởi nhĩm tác giả trong [11] thì các phương pháp như: cây quyết định (Decision Tree), K –láng giềng gần nhất (K – Nearest Neighbor), Bayes ngây thơ (Bayes nạf), máy học vector hỗ trợ (SVM)… đã áp dụng vào bài tốn phân loại văn bản và đều cho kết quả khả quan Trong đĩ phương pháp máy học vector hỗ trợ cho kết quả bằng hoặc cao hơn các phương pháp khác [11][14]
Ở nước ta, trong những năm gần đây bài tốn phân loại văn bản tiếng Việt cũng được nhiều tổ chức, cá nhân quan tâm nghiên cứu Một số cơng trình nghiên cứu về phân loại văn bản tiếng Việt với các cách tiếp cận khác nhau như: máy học vector hỗ trợ [3], cây quyết định [6], mơ hình đồ thị [7], sử dụng lý thuyết tập thơ và luật kết hợp [8], … Nhìn chung, những cách tiếp cận này đều cho kết quả khá 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 trên hướng này
Trang 15Trong các cách tiếp cận trên thì SVM cho kết quả tương đương hoặc tốt hơn các phương pháp khác SVM là một họ các phương pháp dựa trên cơ sở các hàm nhân để 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[19] và có nhiều tiềm năng phát triển về mặt lý thuyết cũng như ứng dụng trong thực tiễn Tuy nhiên, cũng như các kỹ thuật phân loại khác, một trong những khó khăn trong việc áp dụng kỹ thuật SVM để phân loại văn bản tiếng Việt đó là số lượng đặc trưng của văn bản thường rất lớn [1][2][3][11], chứa nhiều đặc trưng không mang ý nghĩa phân loại hoặc nhiễu Do đó, để bài toán phân loại văn bản có hiệu quả và áp dụng được trong thực tiễn, cần thiết phải nghiên cứu làm giảm số lượng đặc trưng một cách hiệu quả
Trong bài toán phân loại văn bản đã có nhiều phương pháp trích chọn đặc được biết đến như: phương pháp lượng tin tương hỗ (MI), phương pháp đo độ lợi thông tin (IG), phương pháp ngưỡng tần suất tài liệu (DF) Các phương pháp này đã đạt được những hiệu quả nhất định khi áp dụng trong bài toán phân loại văn bản [3][11][14] Gần đây
kỹ thuật phân tích giá trị đơn (SVD) được đề xuất và áp dụng để làm giảm số chiều của
ma trận đặc trưng một cách hiệu quả Đây là nền tảng của kỹ thuật phân tích ngữ nghĩa tiềm ẩn (LSI – Latent Semantic Indexing) Kỹ thuật này đã được áp dụng vào các bài toán xử lí văn bản khác nhau như lập chỉ mục và truy vấn [12], tóm tắt văn bản [15], phát hiện sao chép [18] SVD không những là kỹ thuật rút trích đặc trưng tốt mà còn nâng cao hiệu suất của bài toán xử lý văn bản [9][10][11]
Do đó, việc kết hợp SVD vào SVM để phân loại văn bản sẽ đạt hiệu quả cao Bởi vì SVD được sử dụng trong quá trình tiền xử lí sẽ chọn lọc đặc trưng, làm nổi trội các đặc trưng riêng biệt, loại bỏ các đặc trưng nhiễu và đặc biệt là rút gọn không gian đặc trưng Trên cơ sở đó SVM sẽ tạo ra bộ phân lớp đạt hiệu quả cao và tiết kiệm tài nguyên hơn trong quá trình xử lý
1.5 CẤU TRÚC LUẬN VĂN
Nội dung của luận văn được chia thành 7 chương:
Chương 1: Mở đầu Phần này trình bày đặc vấn đề, mục tiêu nghiên cứu, phạm vi và giới hạn của đề tài nghiên cứu, ý nghĩa khoa học và thực tiển và cấu trúc luận văn Chương 2: Phân loại văn bản Phần này trình các vấn đề liên quan đến bài toán phân loại văn bản như tiền xử lí, trích chọn đặc trưng, biểu diễn văn bản và các phương pháp phân loại văn bản
Trang 16Chương 3: Phân tích giá trị đơn Phần này trình bày cơ sở lý thuyết về kỹ thuật phân tích giá trị đơn và việc áp dụng kỹ thuật này vào bài toán phân loại văn bản
Chương 4: Máy học vector hỗ trợ Phần này trình bày cơ sở lý thuyết về máy học vector hỗ trợ và việc áp dụng máy học vector hỗ trợ vào bài toán phân loại văn bản Chương 5: Phân loại văn bản bằng kỹ thuật phân tích giá trị đơn kết hợp với máy học vector hỗ trợ Phần này trình bày nghiên cứu mô hình phân loại văn bản với máy học vector hỗ trợ kết hợp với phân tích giá trị đơn trong giai đoạn tiền xử lí
Chương 6: Thực nghiệm và kết quả nghiên cứu Phần này trình bày một số kết quả thí nghiệm phân loại văn bản dựa trên bộ phân loại SVM kết hợp với SVD So sánh, nhận xét kết quả đạt được
Chương 7: Kết luận Phần này trình bày kết luận về những ưu điểm và hạn chế của phương pháp phân loại văn bản với máy học vector hỗ trợ có kết hợp kỹ thuật phân tích giá trị đơn, định hướng nghiên cứu và hướng phát triển của luận văn
Trang 17CHƯƠNG 2 PHÂN LOẠI VĂN BẢN
2.1 GIỚI THIỆU BÀI TOÁN PHÂN LOẠI VĂN BẢN
Phân loại văn bản có thể xem là bài toán phân lớp dữ liệu, đó 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 [1] Một cách hình thức, cho một tập {Si} hữu hạn các chủ đề mỗi chủ đề gồm một số văn bản {Dij} đã được xác định trước là thuộc
về chủ đề Si (bằng chuyên gia con người chẳng hạn) Khi cần xem xét một văn bản T
để phân loại nó thuộc về chủ đề nào, người ta có thể dùng kỹ thuật phân lớp dữ liệu để gán nhãn Sk nào đó cho T
Có hai loại bài toán phân loại văn bản thường gặp[6]
- Đơn nhãn: là chính xác một phân loại được gán cho một văn bản, còn được gọi là phân loại nhị phân
- Đa nhãn: nhiều phân loại có thể được gán cho một văn bản, hay còn gọi là vấn đề phân loại đa lớp
Bộ phân loại văn bản thường được xây dựng dựa vào các giải thuật máy học có giám sát Một số giải thuật máy học được sử dụng rộng rãi như: cây quyết định, k láng giềng gần nhất, bayes thơ ngây, máy học vector hỗ trợ…
2.2 MÔ HÌNH PHÂN LOẠI VĂN BẢN
Phân loại văn bản theo phương pháp học có giám sát được chia thành 3 giai đoạn: giai đoạn tiền xử lí, giai đoạn huấn luyện máy học và giai đoạn phân loại [11]
2.2.1 Giai đoạn tiền xử lí
Các công việc trong giai đoạn này gồm: xây dựng dữ liệu mẫu và tiền xử lí văn bản Tiền xử lí văn bản bao gồm các công việc chính như: chuẩn hóa dữ liệu, tách từ, loại tầm thường, biểu diễn văn bản, trích chọn đặc trưng Kết thúc giai đoạn này ta thu được không gian vector làm cơ sở cho giải thuật máy học
Cụ thể các công việc trong giai đoạn tiền xử lí như sau:
- Xây dựng dữ liệu mẫu: là bước tốn khá nhiều thời gian Tài liệu có thể thu thập
từ nhiều nguồn khác nhau Do đó phải đảm bảo các tài liệu được lựa chọn một cách phù hợp, phân loại chuẩn xác Vì tập dữ liệu này ảnh hưởng nhiều đến kết quả phân loại sau này
Trang 18- Chuẩn hóa dữ liệu: do tài liệu được thu thập từ nhiều nguồn nên các chuẩn về font cũng khác nhau Để thuận tiện trong quá trình xử lý thì cần phải chuẩn hóa các tài liệu này về dạng chuẩn
- Tách từ: một tài liệu sẽ được tách ra thành danh sách các từ
- Loại từ tầm thường: từ tầm thường (stopwords) là các từ không có ý nghĩa phân loại do tần suất xuất hiện quá nhiều hoặc quá ít trong tập dữ liệu
- Biểu diễn văn bản: mã hóa văn bản bởi mô hình vector trọng số Cần lựa chọn cách đánh trọng số phù hợp với giải thuật máy học
- Trích chọn đặc trưng: chọn một số đặc trưng từ các đặc trưng ban đầu Trích chọn đặc trưng được thực hiện bằng cách chỉ giữ lại các từ có số điểm cao nhất dựa theo biện pháp xác định độ quan trọng của các từ được sử dụng [11]
Hình 2.1 Sơ đồ giai đoạn tiền xử lí
2.2.2 Huấn luyện máy học
Trong giai đoạn này ta lựa chọn thuật toán máy học cho bài toán phân loại văn bản Một số thuật toán máy học thường được áp dụng cho bài toán phân loại văn bản như: cây quyết định, k láng giềng gần nhất, Bayes thơ ngây, máy học vector hỗ trợ,… Mỗi thuật toán đều có ưu điểm và hạn chế riêng Tuy nhiên các thuật toán máy học có giám
Trang 19sát áp dụng cho bài toán phân loại văn bản tự động có đặc điểm chung là dựa trên tập
dữ liệu đã được gán nhãn Dữ liệu đầu vào của giai đoạn này là không gian vectơ đã trải qua giai đoạn tiền xử lí, dữ liệu đầu ra là bộ phân lớp
Hình 2.2 Sơ đồ giai đoạn huấn luyện
2.2.3 Phân loại văn bản
Trong giai đoạn này, các tài liệu cần phân lớp cũng được thực hiện các bước tiền xử lí
để tạo ra vector đặc trưng Đưa vectơ này vào bộ phân loại để dự đoán nhãn của tài liệu mới này Bộ phân loại được xây dựng dựa trên phương pháp học có giám sát, phân lớp xác định 1 lớp / 1 chủ đề biết trước
Hình 2.3 Sơ đồ giai đoạn phân lớp
Bộ phân lớp
Biểu diễn văn bản
Trích chọn đặctrưng
BỘ PHÂN LỚP
Nhãncủa tàiliệu
Trang 202.3 TIỀN XỬ LÍ VĂN BẢN
2.3.1 Chuẩn hóa văn bản
Dữ liệu văn bản có thể đến từ nhiều nguồn với nhiều loại định dạng khác nhau, chẳng hạn như: văn bản thuần túy (TXT), Adode’s Document Fomat (bdf), Microsoft word (DOC), HyperText Markup Language (HTML), Extensible Markup Language (XML)… các tài liệu này cần phải được chuyển về đúng định dạng để có thể sử dụng trong bộ phân loại văn bản
Ngoài ra, do dữ liệu văn bản được thu thập từ nhiều nguồn khác nhau nên vấn đề lỗi chính tả trong các văn bản cũng phải được xử lí Vì vấn đề này ảnh hưởng rất nhiều đến kết quả tách từ và ảnh hưởng đến hiệu quả của bộ phân loại
2.3.2 Tách từ
2.3.2.1 Vai trò của tách từ
Tách từ là bước đầu tiên và hết sức quan trọng trong bài toán phân loại văn bản Tách
từ là việc chuyển đổi văn bản thành các đơn vị rời rạc, mỗi đơn vị tương ứng với một
từ hoặc cụm từ trong văn bản Đó là dữ liệu mà giải thuật máy học có thể phân tích và hiểu được Mỗi ngôn ngữ tự nhiên có đặc điểm khác nhau, do đó kỹ thuật tách từ cũng khác nhau Đối với tiếng Anh từ là một nhóm ký tự có nghĩa, được phân cách bởi ký tự khoảng trắng trong câu Tuy nhiên đối với tiếng Việt một từ có thể có một hoặc nhiều tiếng và tùy thuộc vào ngữ cảnh sử dụng từ mà có ý nghĩa khác nhau Vì vậy việc xác định ranh giới từ trong tiếng Việt là bài toán khó
2.3.2.2 Đặc điểm tiếng Việt
Đơn vị cơ bản trong tiếng Việt là tiếng, không phải từ [4] Một số đặc điểm của tiếng Việt như sau:
Từ ở dạng nguyên thể, hình thức và ý nghĩa của từ độc lập với cú pháp
Từ được cấu trúc từ tiếng
Từ bao gồm từ đơn (từ một tiếng) và từ phức (n-tiếng, với n <=5), bao gồm từ láy và từ ghép
Trong khi đó, định nghĩa về từ trong tiếng Anh như sau: “Từ là một nhóm ký tự có nghĩa, được phân cách bởi ký tự khoảng trắng trong câu” [4] Dưới đây là một số điểm khác biệt chính giữa tiếng Việt và tiếng Anh
Trang 21Bảng 2.1 Các điểm khác biệt chính giữa tiếng Việt và tiếng Anh [4]
Từ loại Không thống nhất Được định nghĩa rõ
Ranh giới từ Tổ hợp có nghĩa dựa vào
ngữ cảnh của các tiếng
Khoảng trắng hoặc dấu câu
Do những đặc điểm này mà ta không thể áp dụng các thuật toán tách từ tiếng Anh cho tiếng Việt được
2.3.2.3 Một số phương pháp tách từ tiếng Việt
Hiện nay tách từ tiếng Việt được nhiều tổ chức và cá nhân quan tâm nghiên cứu với nhiều cách tiếp cận khác nhau Một số cách tiếp cận cho bài toán tách từ tiếng Việt theo[4] như: Maximum Matching: forward/backward hay còn gọi là Left Right Manimum Matching, giải thuật học cải biến TBL, mạng chuyển dịch trạng thái Hay gần đây một phương pháp kết hợp phát triển dựa trên phương pháp so khớp tối đa (Maximum Matching) với tập dữ liệu sử dụng là bảng âm tiết tiếng Việt và từ điển từ vựng tiếng Việt [13] đã cho kết quả tách từ đạt 98% Đặc điểm chung của các phương pháp này là dựa vào từ điển và tập ngữ liệu đã đánh dấu Do đó các phương pháp này
sẽ khó phát huy được hiệu quả khi thiếu một từ điển đầy đủ và một tập ngữ liệu hoàn chỉnh
Một phương pháp tách từ với hướng tiếp cận mới không cần dùng đến từ điển hay tập huấn luyện, đó là phương pháp sử dụng giải thuật di truyền và thống kê trên internet [4] Điểm nổi bật 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 từ điển vốn chưa có sẵn cho tiếng Việt Tác giả đã 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 từ hợp lý nhất Phương pháp này cho hiệu quả tách từ khá cao, tuy nhiên còn hạn chế về tốc độ xử lý do phải thống kê trực tiếp từ internet
Trang 222.3.2.4 Phương pháp khớp tối đa
Phương pháp khớp tối đa (Maximum Matching) còn gọi là Left Right Maximum Matching(LRMM) Theo phương pháp này, ta sẽ duyệt một ngôn ngữ hoặc câu từ trái sang phải và chọn từ có nhiều âm tiết nhất có mặt trong từ điển, rồi cứ thế tiếp tục cho
từ kế tiếp cho đến hết câu Thuật toán này được trình bày trong [17], gồm 2 dạng như sau:
- Dạng đơn giản được dùng giải quyết nhập nhằng từ đơn Giả sử có một chuỗi ký
tự (tương đương với chuỗi tiếng trong tiếng Việt) C1, C2,…, Cn Ta bắt đầu từ đầu chuỗi Đầu tiên kiểm tra xem C1 có phải là từ hay không, sau đó kiểm tra xem C1C2 có phải là từ hay không Tiếp tục tìm cho đến khi tìm được từ dài nhất Từ được đánh giá hợp lý nhất sẽ là từ dài nhất Chọn từ đó, sau đó tìm tiếp như trên cho những từ còn lại đến khi xác định được toàn bộ chuỗi từ
- Dạng phức tạp: đây là dạng biến thể khác của thuật toán Maximum Matching do Chen và Liu (1992) đề xuất Họ cho rằng phân tích hợp lý nhất để chọn ra từ là phân tích trên bộ ba từ có chiều dài lớn nhất Bắt đầu từ đầu tiên của chuỗi nếu
có sự nhập nhằng (ví dụ _C1_ là từ nhưng _C1C2 cũng là từ,…) thì chúng ta tìm những từ kế tiếp bắt đầu bằng hai từ đó, tương tự như vậy cho đến khi tìm được tất cả các bộ ba từ Sau đó, chọn ra bộ ba từ có chiều dài lớn nhất Giả sử ta có
bộ ba từ dài nhất như sau:
Trang 23- Từ điển: gồm hai phần Phần thứ nhất đơn giản được tổ chức thành danh sách từ
vựng, và không có thông tin thêm nào liên kết với mỗi từ vựng Phần thứ hai chứa tất
cả các từ đơn và tần số xuất hiện của chúng (được dùng trong luật 4)
- Hai thuật toán so khớp:
Dạng đơn giản: với mỗi tiếng Cn trong chuỗi tiếng, so khớp chuỗi con bắt đầu bằng Cn
với từ điển và tìm tất cả so khớp có thể có
Dạng phức tạp: với mỗi tiếng Cn trong chuỗi tiếng, tìm tất cả những bộ ba từ có thể có
bắt đầu với Cn, không quan tâm từ đầu tiên có bị nhập nhằng hay không Chỉ thành lập những bộ ba từ này khi đã có một sự nhập nhằng của từ đầu tiên Sau đó sử dụng 4 luật khử nhập nhằng để tìm từ đúng
- Bốn luật giải quyết nhập nhằng:
Luật 1: So khớp cực đại
So khớp cực đại đơn giản: lấy từ có chiều dài dài nhất
So khớp cực đại phức tạp: chọn ra từ đầu tiên trong bộ có chiều dài bộ dài nhất
Nếu có nhiều hơn một bộ với chiều dài bộ dài nhất, sang luật tiếp theo
Luật 2: chiều dài trung bình của từ lớn nhất
Ở cuối mỗi chuỗi thường thấy những bộ chỉ có một hoặc hai từ Ví dụ, những bộ sau đây có cùng chiều dài và cùng độ biến đổi chiều dài từ
_C1_ _C2_ _C3_
_C1C2C3_
Luật 2 chọn từ đầu tiên từ bộ với chiều dài trung bình của từ dài nhất Trong ví dụ bên trên, chọn từ _C1C2C3_ từ bộ thứ hai Giả định của luật này là gặp phải những từ đa tự hơn là những từ đơn tự
Luật này chỉ hữu dụng trong trường hợp một hoặc nhiều vị trí từ trong những bộ rỗng Khi những bộ đều là những bộ ba đầy đủ, luật này không hữu dụng Bởi vì những bộ
ba có cùng độ dài sẽ có cùng chiều dài trung bình Vì vậy, cần phải có phương pháp khác
Trang 24Luật 3: Độ biến thiên chiều dài từ nhỏ nhất
Giả sử có hai bộ có chiều dài giống nhau như sau:
_C1C2_ _C3C4_ _C5C6_
_C1C2C3_ _C4_ _C5C6_
Luật 3 chọn bộ đầu tiên với độ biến đổi chiều dài từ nhỏ nhất Trong ví dụ trên ta sẽ chọn từ _C1C2_ từ bộ đầu tiên
Luật 4: Tổng lớn nhất của mức độ đo hình vị của từ một tự
Ví dụ bên dưới thể hiện hai bộ với cùng chiều dài, cùng độ biến đổi chiều dài từ và cùng chiều dài trung bình của từ
_C1_ _C2_ _C3C4_
_C1_ _C2C3_ _C4_
Ở đây chúng ta chỉ quan tâm đến từ một tự, cả hai bộ này đều có hai từ một tự Công thức được sử dụng để tính toán tổng độ tự do hình vị là logarit tần số của tất cả các từ một tự trong một bộ Cơ sở cho phép chuyển đổi logarit này là cùng một lượng khác nhau về tần số không có một ảnh hưởng nhất định đến dãy sắp xếp tất cả các tần số Luật 4 cho phép lấy từ đầu tiên của bộ với tổng lớn nhất của logarit tần số Vì không thể có hai tự có chính xác cùng một tần số nên sẽ không có nhập nhằng sau khi áp dụng luật này
2.3.3 Biểu diễn văn bản
Sau giai đoạn tách từ, mỗi văn bản được tách thành nhiều từ rời rạc và những từ này thể hiện nội dung, ý nghĩa của văn bản Chúng ta cần biểu diễn văn bản sao cho máy học có thể hiểu và phân tích được Tùy thuộc vào từng thuật toán phân loại mà có mô biểu diễn riêng Một trong những mô hình biểu diễn văn bản thông dụng đó là mô hình không gian vector[11] Nghĩa là mô hình hóa mỗi văn bản thành một vectơ chứa trọng
số các từ Một cách hình thức, một văn bản D có thể xem như là một vectơ D(x1,…,xm) trong đó xi là trọng số của từ thứ i trong bộ từ vựng đang xét
Có nhiều cách đánh trọng số xi cho mỗi từ trong văn bản D(x1,…,xm) Sau đây là một
số cách đánh trọng số từ thông dụng:
Trang 252.3.3.1 Trọng số logic
Là phương pháp đơn giản nhất trong việc định trọng số của từ Theo cách này trọng số của từ thứ i trong văn bản xi=1 nếu từ i có trong D, ngược lại xi=0 nếu từ i không có trong D
- TFi là số lần xuất hiện của từ thứ i trong văn bản D
- DFi là tổng số văn bản có chứa từ thứ i trong tập ngữ liệu
- N là tổng số văn bản trong tập ngữ liệu
Trọng số TFIDF kết hợp thêm giá trị tần suất tài liệu DF vào trọng số TF Điều này có nghĩa là khi một từ xuất hiện trong càng ít tài liệu (tương ứng với giá trị DF nhỏ) thì khả năng phân biệt các tài liệu dựa trên từ đó càng cao
2.3.4 Trích chọn đặc trưng
Các từ được dùng để biểu diễn các tài liệu còn được gọi là các đặc trưng Để nâng cao tốc độ và khả năng phân loại, tại bước tiền xử lý văn bản, ta loại bỏ các từ không có ý nghĩa phân loại văn bản Thông thường những từ này là những từ có tần số xuất hiện quá nhiều hoặc quá ít Tuy vậy việc loại bỏ những từ này có thể không làm giảm đáng
1 Nếu TFi > 0
0 Ngược lại
Trang 26kể số lượng các đặc trưng Với số lượng các đặc trưng lớn bộ phân loại sẽ học chính xác tập tài liệu huấn luyện, tuy vậy nhiều trường hợp cho kết quả dự đoán kém chính xác đối với tài liệu mới[3] Để tránh hiện tượng này, ta phải có một tập tài mẫu đủ lớn
để huấn luyện bộ phân loại Tuy vậy, thu thập được tập mẫu đủ lớn tương ứng với số lượng đặc trưng thường khó thực hiện trong thực tế Do đó để bài toán phân loại có hiệu quả trong thực tiển, cần thiết phải làm giảm số lượng đặc trưng [1][2][3][11] Một số phương pháp chọn đặc trưng hiệu quả đã được sử dụng trong bài toán phân loại văn bản như [11]: ngưỡng tần suất tài liệu (Document Frequency - DF), phương pháp
đo độ lợi thông tin (Informational Gain - IG), phương pháp lượng tin tương hỗ (Mutual Information - MI),…
2.3.4.1 Ngưỡng tần suất tài liệu
Tần suất tài liệu của một từ được tính bởi công thức sau:
Trong đó P(tk) là số lượng tài liệu trong tập ngữ liệu có chứa từ tk
Tần suất tài liệu của một từ là số lượng tài liệu trong tập ngữ liệu có chứa nó Trong phương pháp này ta phải đặt ngưỡng để loại bỏ các đặc trưng thông qua tần suất của
nó Chẳng hạn như lớn hơn hoặc nhỏ hơn một ngưỡng nào đó thì loại bỏ đặc trưng Tuy nhiên khi áp dụng phương pháp này cần phải xem xét đến vấn đề chọn ngưỡng thế nào cho phù hợp Vì mỗi tập tài liệu có số lượng từ cũng như tần suất tài liệu của một
từ là khác nhau
2.3.4.2 Phương pháp đo độ lợi thông tin
Thông tin tương hỗ dùng để đo số lượng thông tin dự đoán đạt được khi biết có sự xuất hiện hay không xuất hiện của một từ khóa trong một văn bản
Gọi c1, c2,…, cm là tập các lớp văn bản Độ lợi thông tin của từ khóa w được định nghĩa như sau:
Trong đó:
P(ci) là xác suất các văn bản thuộc về lớp ci
P(w) là xác suất có từ w xuất hiện
(2.5)
Trang 27 P(ci|w) là xác suất từ w xuất hiện trong lớp văn bản ci
P(ci|𝑤 ) là xác suất từ w không xuất hiện trong lớp văn bản ci
Ta sẽ tính toán độ lợi thông tin cho tất cả các từ khóa và loại bỏ khỏi vector đặc trưng những từ có độ lợi thông tin nhỏ hơn một ngưỡng đã định trước
2.3.4.3 Phương pháp lượng tin tương hỗ
Phương pháp này sử dụng độ đo lượng tin tương hỗ giữa mỗi từ và mỗi lớp tài liệu để chọn các từ tốt nhất Lượng tin tương hỗ giữa từ t và lớp c được tính như sau:
P(t,c) là xác suất xuất hiện đồng thời của từ t trong lớp c;
P(t) là xác xuất xuất hiện của từ t;
P(c) là xác suất xuất hiện của lớp c
Độ đo MI toàn cục (tính trên toàn bộ tài liệu huấn luyện) cho từ t được tính như sau:
𝑀𝐼𝑎𝑣𝑔 𝑡 = 𝑃 𝑐𝑖 𝑀𝐼 𝑡, 𝑐𝑖
𝑖
(2.7)
2.4 CÁC PHƯƠNG PHÁP PHÂN LOẠI VĂN BẢN
Hiện nay, trong lĩnh vực khai phá dữ liệu có nhiều phương pháp phân loại văn bản Mỗi phương pháp có những ưu điểm và hạn chế riêng Sau đây là một số phương pháp được sử dụng rộng rãi và cho kết quả khả quan
2.4.1 Phương pháp cây quyết định
Cây quyết định (Decision Tree) là một trong những lớp giải thuật học tiêu biểu, những năm gần đây cây quyết định được bình chọn là giải thuật được sử dụng nhiều, đạt hiệu quả cao và nó có nhiều ứng dụng trong các bài toán phân loại và hồi quy[5][6]
Phương pháp cây quyết định có thể áp dụng vào bài toán phân loại văn bản Dựa vào tập các văn bản huấn luyện, xây dựng một cây quyết định Cây quyết định có dạng là cây nhị phân, mỗi nút trong tương ứng với việc phân hoạch tập văn bản dựa trên một thuộc tính nào đó Việc chọn thuộc tính phân hoạch có vai trò quan trọng trong việc xây dựng cây quyết định Một số cách chọn thuộc tính phân hoạch thường được sử
Trang 28dụng như độ đo Entropy, độ đo Information Gain, độ đo Gain Ratio và độ đo Gini Index
Để xác định nhãn phân loại cho một mẫu nào đó, ta cho mẫu chuyển động từ nút gốc của cây về phía nút lá Tại mỗi nút, thuộc tính tương ứng với nút sẽ được kiểm tra, tùy theo giá trị của thuộc tính đó mà mẫu sẽ được chuyển xuống nhánh tương ứng bên dưới Quá trình này được lặp lại cho tới khi mẫu tới được nút lá và nhận được nhãn phân loại là nhãn của nút lá tương ứng
Giải thuật xây dựng cây quyết định
Đầu ra: Cây quyết định dạng nhị phân cho việc phân loại theo tập chủ đề C
Giải thuật cây quyết định [2]
- Bắt đầu: nút gốc chứa tất cả văn bản huấn luyện
- Nếu dữ liệu tại nút chỉ thuộc 1 chủ đề thì nút là nút lá và được gán nhãn là chủ
đề nào đó
- Nếu một nút chứa dữ liệu không thuần nhất (thuộc các lớp khác nhau) thì lựa chọn thuộc tính phân hoạch với độ lợi thông tin lớn nhất (giả sử thuộc tính a với giá trị y, y gọi là giá trị phân tách); phân chia nút này một cách đệ qui làm hai tập M1, M2; M1 chứa các văn bản chứa a nhưng giá trị thuộc tính nhỏ hơn y, M2 chứa văn bản chứa a và giá trị thuộc tính lớn hơn bằng y
- Giải thuật dừng khi tất cả các nút là đã được gán nhãn
Trong ứng dụng, người ta có thể không tiến hành phân hoạch nút đến khi dữ liệu đồng nhất (chỉ thuộc một lớp) mà người ta dừng phân hoạch khi số phần tử tại nút còn ít hơn một số lượng nào đó và gán nhãn nút theo luật bình chọn số đông của các phần tử chứa tại nút Điều này nhằm cải tiến tốc độ xây dựng cây và tránh được tình trạng học vẹt
Để tăng tính tổng quát của cây, làm cho cây thích ứng với các mẫu dữ liệu mới, chưa được huấn luyện, người ta cắt bớt các nhánh hay còn gọi là xén tỉa cây với một tập kiểm chứng độc lập với tập huấn luyện
Trang 29Ưu điểm:
- Sử dụng cây quyết định nhị phân nên quá trình học cũng như phân loại nhanh
- Việc thêm một chủ đề vào tập huấn luyện dễ dàng vì chỉ cần xây dựng thêm cây cho chủ đề mới
Hạn chế:
- Việc xén tỉa cây quyết định mất nhiều thời gian
- Bộ phân loại kém hiệu quả khi dữ liệu huấn luyện có nhiễu
- Bộ phân loại kém hiệu quả nếu chọn giá trị phân hoạch không tốt
2.4.2 Phương pháp k láng giềng gần nhất
Phương pháp k láng giềng gần nhất (k Nearest Neighbor – kNN, hay tên khác based, lazy) rất đơn giản, dễ hiểu và thường cho kết quả tốt so với các phương pháp học khác [5] Giải thuật kNN không có quá trình học, khi dự đoán nhãn của phần tử dữ liệu mới đến, giải thuật đi tìm k láng giềng của nó từ tập dữ liệu học, sau đó thực hiện việc phân lớp phần tử mới đến
instance-Giải thuật k láng giếng gần nhất[11]:
Ý tưởng của giải thuật này đó là khi cần phân loại một văn bản mới, thuật toá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 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
Đối với phương pháp kNN hàm tính khoảng cách có vai trò rất quan trọng và thường được xác định trước không thay đổi trong quá trình học và phân loại Có một số hàm tính khoảng cách như: hàm tính khoảng cách Eculid, hàm tính khoảng cách Manhattan, hàm tính độ tương tự cosine Mỗi cách tính phù hợp với một loại dữ liệu riêng Đối với phân loại văn bản hàm tính khoảng cách Eculid thường được sử dụng [12] Công thức khoảng cách Euclid được tính như sau:
Trang 30𝑑 𝑥𝑖, 𝑥𝑗 = ( 𝑥2 𝑖1 − 𝑥𝑗 1 2 + 𝑥𝑖2 − 𝑥𝑗 2 2 + ⋯ + 𝑥𝑖𝑛 − 𝑥𝑗𝑛 2) (2.8) Với xi = (xi1, xi2, …, xin) và xj = (xj1, xj2, …, xjn) là hai điểm dữ liệu trong khơng gian n chiều
Ưu điểm:
- Là phương pháp phân loại hiệu quả, dễ triển khai
- Phân loại tốt trong trường hợp số lượng chủ đề lớn
Hạn chế:
- Khĩ xác định giá trị k hiệu quả
- Sử dụng tất cả các đặc trưng trong việc tính khoảng cách làm cho quá trình xử lý chậm, đặc biệt khi kích thước của tập dữ liệu học là khá lớn
- Độ chính xác bị giảm khi dữ liệu cĩ nhiễu hoặc đặc trưng khơng liên quan
2.4.3 Phương pháp Bayes thơ ngây
Phương pháp Bayes thơ ngây (Nạve Bayes) được đề nghị đầu tiên bởi Good trong
những năm 1965, là mơ hình xác suất được sử dụng phổ biến trong cộng đồng khai mỏ
dữ liệu Giải thuật Bayes thơ ngây đơn giản, chạy nhanh và cho kết quả tương đối tốt
Nĩ được áp dụng thành cơng trong các ứng dụng phân loại văn bản, lọc thư rác và được gĩp mặt vào nhĩm 10 giải thuật quan trọng trong khai mỏ dữ liệu [5]
Mơ hình dự báo Naive Bayes dựa trên định lý xác suất Bayes, được định nghĩa như sau[11]:
𝑃 𝐻 𝐸 =𝑃 𝐸 𝐻 𝑃[𝐻]
𝑃 𝐸 (2.9) Trong đĩ:
E=[E1, E2, …, En] cĩ n giá trị thuộc tính (giả thiết là độc lập nhau) được biết như
là giá trị dữ liệu cần dự báo
H là lớp (nhãn) cần dự báo
Áp dụng trong bài tốn phân loại, các dữ kiện cần cĩ:
D: tập dữ liệu huấn luyện đã được vector hĩa dạng x = (x1, x2, …, xn)
Ci với i={1,2,3…} là tập các phân lớp
Các thuộc tính x1, x2, …, xn độc lập xác suất đơi một với nhau
Trang 31Theo định lý Bayes:
𝑃 𝐶𝑖 𝑋 = 𝑃 𝑋 𝐶𝑖 𝑃[𝐶𝑖]
𝑃 𝑋 (2.10) Theo tính chất độc lập điều kiện:
𝑃 𝑋 𝐶𝑖 = 𝑃[𝑥𝑘|𝐶𝑖
𝑛
𝑘=1
] = 𝑃 𝑥1 𝐶𝑖 𝑥𝑃 𝑥2 𝐶𝑖 𝑥 … 𝑥𝑃 𝑥𝑛 𝐶𝑖 (2.11) Khi đó luật phân lớp cho tài liệu mới XNew = {x1,x2,…,xn} là
P(Ci): được tính dựa trên tần suất xuất hiện tài liệu trong tập huấn luyện
P(xk|Ci): được tính từ những tập thuộc tính đã được tính trong quá trình huấn luyện
Ưu điểm:
Mô hình Bayes ngây thơ là đơn giản, dễ cài đặt, chạy nhanh
Có thể sử dụng tập huấn luyện với ít tài liệu để xây dựng bộ phân loại
Hạn chế:
Phải chịu những giả thiết về tính độc lập của các thuộc tính và độ quan trọng của các thuộc tính bằng nhau Do đó nếu tập dữ liệu nghèo nàn và các tham số
dự đoán có chất lượng kém thì dẫn đến kết quả dự đoán kém
2.4.4 Phương pháp máy học vector hỗ trợ
Máy học véctơ hỗ trợ (Support Vector Machine - SVM) là một giải thuật máy học dựa trên lý thuyết học thống kê do Vapnik và Chervonenkis xây dựng [19] Bài toán cơ bản của SVM là bài toán phân loại hai lớp: Cho trước n điểm trong không gian d chiều (mỗi điểm thuộc vào một lớp kí hiệu là +1 hoặc –1, mục đích của giải thuật SVM là tìm một siêu phẳng (hyperplane) phân hoạch tối ưu cho phép chia các điểm này thành hai phần sao cho các điểm cùng một lớp nằm về một phía với siêu phẳng này (Hình 2.4)
Trang 32Hình 2.4 Siêu phẳng với lề cực đại trong R2Các mặt siêu phẳng trong không gian đối tượng có phương trình là wTx + b = 0, trong
đó w là vector trọng số, b là độ dịch Khi thay đổi w và b, hướng và khoảng cách từ gốc tọa độ đến mặt siêu phẳng thay đổi Bộ phân loại SVM được định nghĩa như sau:
𝑓 𝑥 = 𝑠𝑖𝑔𝑛 𝑤𝑇𝑥 + 𝑏 (2.13) Trong đó
sign(z) = +1 nếu z ≥ 0,
sign(z) = -1 nếu z < 0
Nếu f(x) = +1 thì x thuộc về lớp dương, và ngược lại, nếu f(x) = -1 thì x thuộc về lớp
âm
Giả sử, chúng ta lựa chọn được tập các đặc trưng là T={t1, t2, …, tn}, thì mỗi văn bản di
sẽ được biểu diễn bằng một vector dữ liệu xi=(wi1, wi2, …, win), wij Є R là trọng số của
từ tj trong văn bản di Như vậy, tọa độ của mỗi vector dữ liệu xi tương ứng với tọa độ của một điểm trong không gian Rn
Dữ liệu huấn luyện của SVM là tập các văn bản đã được gán nhãn trước Tr={(x1, y1), (x2, y2), …, (xn, yn)}, trong đó, xi là vector dữ liệu biểu diễn văn bản di (xi Є Rn), yi Є
{+1, -1}, cặp (xi, yi) được hiểu là vector xi được gán nhãn là yi
Trang 33Trường hợp 1:
Tập dữ liệu Tr có thể phân chia tuyến tính mà không có nhiễu thì chúng ta có thể tìm được một siêu phẳng tuyến tính để phân chia tập dữ liệu này Siêu phẳng tốt nhất tương đương với việc giải bài toán tối ưu (1) sau:
ɛi gọi là các biến nới lỏng (slack variable) ɛi ≥ 0
C là tham số xác định trước, định nghĩa giá trị ràng buộc, C càng lớn thì mức độ
vi phạm đối với những lỗi thực nghiệm càng cao
Trường hợp 3:
Tập dữ liệu không thể tách tuyến tính Trường hợp này, chúng ta sẽ ánh xạ các vector
dữ liệu x từ không gian n-chiều vào một không gian m chiều (m<n), sao cho trong không gian m-chiều này tập dữ liệu có thể phân chia tuyến tính được Giả sử Φ là một ánh xạ phi tuyến tính từ không gian Rn vào không gian Rm
Φ : Rn Rm Khi đó, vector xi trong không gian Rn sẽ tương ứng với vector Φ(xi) trong không gian
Rm
Trang 34K(xi,xj) = Φ(xi) Φ(xj) Một số hàm nhân hay dùng trong phân loại văn bản là:
Hàm tuyến tính (linear): K(xi,xj) = xiTxj
Hàm đa thức (polynomial function): K(xi,xj) = (xixj+1)d
Hàm RBF (radial basis function): K(xi,xj)=exp(-γ(xi-xj)2), γ Є R +
Để đạt kết quả phân loại tốt cần chọn hàm nhân Kernel phù hợp
Yêu cầu phải lặp đi lặp lại quá trình huấn luyện đối với bài toán nhiều lớp vì SVM chỉ giải quyết bài toán phân lớp 2 lớp
Thời gian huấn luyện lâu, tốn nhiều bộ nhớ
2.5 KẾT LUẬN CHƯƠNG 2
Chương này đã giới thiệu một cách tổng quát về bài toán phân loại văn bản và một số phương pháp phân loại văn bản hiện nay Với số lượng văn bản khổng lồ ở dạng số hóa thì bài toán phân loại văn bản càng trở nên quan trọng Trong lĩnh vực khai phá dữ liệu
đã có nhiều nghiên cứu cho bài toán phân loại văn bản, mỗi cách tiếp cận có những ưu
Trang 35điểm và hạn chế riêng Trong các cách tiếp cận này thì SVM là phương pháp có nhiều
ưu điểm cho bài toán phân loại văn bản như: có khả năng tự điều chỉnh tham số để tối
ưu hóa hiệu suất phân loại, tạo ra nhiều bộ phân loại khác nhau bằng cách thay đổi tham số huấn luyện, xử lý tốt trong trường hợp không gian đặc trưng lớn hoặc số lượng mẫu hạn chế Tuy nhiên số đặc trưng (số từ) cần xử lí trong tập các văn bản là lớn và
có nhiều đặc trưng nhiễu nên phần nào làm giảm hiệu quả bộ phân loại Do đó áp dụng một phương pháp trích chọn đặc trưng hiệu quả nhằm làm giảm số chiều và loại bỏ nhiễu là một bước quan trọng, làm cho SVM đạt hiệu quả tốt hơn
Tiếp theo chương 3, chương 4 và chương 5 sẽ trình bày chi tiết về kỹ thuật phân tích giá trị đơn, máy học vector hỗ trợ và phân loại văn bản với kỹ thuật phân tích giá trị đơn kết hợp với máy học vector hỗ trợ
Trang 36CHƯƠNG 3 PHÂN TÍCH GIÁ TRỊ ĐƠN
3.1 GIỚI THIỆU
Kỹ thuật phân tích giá trị đơn (Singular Value Decomposition – SVD) được G Golub
và W Kahan giới thiệu vào năm 1965 [10 ] Đây là một kỹ thuật phân tích dùng để tính toán các giá trị đơn, nghịch đảo và hạng ma trận Kỹ thuật này phân tích một ma trận thành ba ma trận mới dựa vào các giá trị đơn được phân tích Kể từ khi được giới thiệu SVD đã trở thành một kỹ thuật phân tích ma trận tiêu chuẩn trong đại số tuyến tính Năm 1988 Deerwester et al sử dụng SVD để giải quyết vấn đề từ vựng trong tương tác người-máy (human-computer interaction) và Ông gọi cách tiếp cận này là Latent Semantic Indexing (LSI) – chỉ mục ngữ nghĩa tiềm ẩn, hay còn được biết đến là Latent Semantic Analysis (LSA) – phân tích ngữ nghĩa tiềm ẩn SVD đã giải quyết được các vấn đề mà LSI trước đây gặp phải như: lưu trữ, tốc độ, độ tin cậy Từ đó SVD được xem như nền tảng của kỹ thuật phân tích ngữ nghĩa tiềm ẩn và được áp dụng rộng rãi trong các bài toán xử lý văn bản như: tóm tắt văn bản[15], phát hiện sao chép[18], lập chỉ mục và truy vấn - tức là tìm kiếm (search) và thu hồi (retrieval) văn bản[12]…
U là ma trận trực giao mxm có các cột là các vectơ đơn bên trái của A
S là ma trận mxn có đường chéo chứa các giá trị đơn, không âm có thứ tự giảm dần: 1 ≥ 2 ≥ … ≥ min(m,n) ≥ 0
V là ma trận trực giao nxn có các cột là các vectơ đơn bên phải của A
VT là ma trận chuyển vị của V
Hạng của ma trận A là số các số dương trên đường chéo chính của ma trận S Giả sử hạng của A là r, tức là rank(A)=r, thì số Frobenius (Frobenius norm) của A là:
𝐴 𝐹 = 𝑟𝑖=1𝛿𝑖2 (3.2)
Trang 37Việc phân tích giá trị đơn không những cung cấp một phương pháp trực tiếp tính hạng của ma trận mà nó còn thể hiện nhiều đặc trưng và tính chất của ma trận
Trong thực tế nhiều ứng dụng dùng kỹ thuật SVD để xấp xỉ ma trận (hay rút gọn số chiều của ma trận) Khi tính toán SVD của một ma trận, để rút gọn số chiều ta thực hiện bằng cách chỉ giữ lại K giá trị đơn lớn nhất đầu tiên của ma trận Việc giữ lại K giá trị đơn đầu tiên của ma trận tương ứng với việc giữ lại K dòng đầu tiên của ma trận
S và VT và K cột đầu tiên của ma trận U, công thức (3.1) được viết lại như sau:
A k = U k S k V T k (3.3)
Trong đó:
Uk là ma trận trực giao mxk có các cột là k cột đầu của ma trận U
Sk là ma trận đường chéo kxk chứa các phần tử đầu tiên 1, 2, …,k (trên đường chéo chính)
Vk là ma trận trực giao nxk có các cột là k cột đầu của ma trận V, VTk là ma trận chuyển vị của Vk
Quá trình này được gọi là giảm chiều và Ak được gọi là xấp xỉ hạng K của ma trận A hoặc rút trích SVD của A [9] đã chứng minh rằng Ak là một xấp xỉ của A với sự thay đổi Frobenius nhỏ nhất Việc xấp xỉ này có thể xem như chuyển không gian đang xét (r chiều) về không gian k chiều, với k nhỏ hơn rất nhiều so với r
Ví dụ 3.1: Giả sử một hình tròn được biểu diễn bởi các mũi tên trong không gian 2 chiều như sau:
Hình 3.1 Quay các mũi tên có kích thước cố định để mô tả hình tròn
Trang 38Khi chúng ta quay mũi tên này chúng ta đã kéo giản và ép nó một lượng nhất định và làm tăng hoặc giảm chiều dài của các mũi tên Do đó thay vì là vòng tròn, các mũi tên bây giờ biểu diễn cho một hình ellip trong không gian 2 chiều như sau:
Hình 3.2 Quay các mũi tên có chiều dài biến thiên để mô tả hình ellip
Việc làm trên cũng giống như việc nhân một vectơ với một ma trận Khi chúng ta nhân một vectơ X với một ma trận A ta được một vectơ mới AX=Y, phép nhân này thực hiện 2 phép toán trên vectơ và ma trận là quay (vectơ thay đổi tọa độ) và thay đổi tỉ lệ (vectơ thay đổi chiều dài) Trong SVD việc kéo dài tối đa và ép tổi thiểu các vectơ được xác định bởi giá trị đơn của ma trận Những giá trị này là duy nhất hoặc “đơn” đối với ma trận A
Trong hình 3.2 ta thấy 2 giá trị đơn lớn nhất là s1 và s2 được xác định là ảnh hưởng nhiều nhất đối với hình ellip Và ta thấy việc nhân một vectơ với một ma trận cũng giống như việc chuyển một hình tròn thành hình ellip trong không gian 2 chiều
Tương tự, trong không gian m chiều, một hình tròn được biểu diễn bởi tập hợp các vectơ m-chiều Do đó hình ellip khi được chuyển qua từ hình tròn trên cũng được biểu diễn trong không gian m-chiều Trong đó m=K, với K là các giá trị đơn khác không Nếu chúng ta giảm chiều bằng cách chỉ giữ lại 3 giá trị đơn lớn nhất thì ta nhận được một ellip được biểu diễn trong không gian 3 chiều và đây là một xấp xỉ hạng 3
Giả sử nếu giá trị đơn thứ 3 nhỏ đến mức ta có thể bỏ qua, như vậy ta có thể giảm thêm
1 chiều nữa và ellip trong không gian 3 chiều trở thành ellip được biểu diễn trong không gian 2 chiều (một xấp xỉ hạng 2) Và nếu ta chỉ giữ lại 1 giá trị đơn lớn nhất thì ellip sẽ thu lại thành một ảnh trong không gian 1 chiều Hình sau đây minh họa quá trình rút gọn số chiều
Trang 39Hình 3.3 Mô tả quá trình giảm chiều Điều này cũng lý giải tại sao ta nói việc giữ lại K giá trị đơn lớn nhất là một quá trình rút gọn số chiều Những giá trị đơn có thể được sử dụng để làm nổi bậc những chiều ảnh hưởng nhất khi ta nhân một vectơ với một ma trận
3.2.2 Tính SVD đầy đủ của một ma trận
3.2.2.1 Các khái niệm liên quan
Do việc tính toán SVD có liên quan nhiều đến các khái niệm trong đại số tuyến tính Vì vậy trước khi đi vào tính SVD ta tìm hiểu một số kiến thức liên quan như sau:
- Ma trận chuyển vị (matrix transposition)
Ma trận AT được gọi là ma trận chuyển vị của ma trận A nếu: các phần tử trên cột của
AT bằng với các phần tử trên dòng của ma trận A
Ví dụ 3.2: cho ma trận A và ma trận chuyển vị AT của A như sau:
Nếu 𝐴 = 4 0
3 −5 Thì 𝐴𝑇 = 4 3
0 −5 Chúng ta sử dụng các ma trận này để tạo ra 2 ma trận mới là “left matrix” và “right matrix” bằng cách nhân AAT
và ATA như sau:
Trang 40“left matrix” “right matrix”
- Hạng của ma trận A (rank of matrix A)
Gọi S là ma trận có đường chéo chứa các giá trị đơn, không âm có thứ tự giảm dần được tạo ra từ ma trận A Khi đó:
Hạng của ma trận A là số các số không âm trên đường chéo chính của ma trận S Giả
sử hạng của A là r, tức là rank(A)=r, thì số Frobenius (Frobenius norm) của A là :
i i F
- Ma trận trực giao (orthogonal matrix)
Một ma trận A được gọi là trực giao nếu AAT = ATA = I
Ví dụ 3.3: Cho ma trận A như sau: