Luận văn trình bày phương pháp phân loại Máy Véctơ hỗ trợ, đây được cho là một trong những phương pháp phân loại tốt nhất hiện này đồng thời kết hợp tập trung giải quyết vấn đề “số chiều đặc trưng lớn” bằng cách áp dụng các phương pháp giảm chiều đặc trưng. Sau khi trình bày tổng quan về các tiếp cận giảm chiều đặc trưng luận văn đi sâu vào trình bày các tiếp cận Lantent semantic index, Centroid, Orthogonal Centroid, GSVDLDA được áp dụng cho dữ liệu phân cụm phù hợp với bài toán phân loại văn bản. Trên cơ sở đó chúng tôi cài đặt và thử nghiệm, đưa ra bảng so sánh đánh giá các kết quả phân loại được ứng dụng cho bài toán phân loại văn bản tiếng Việt trong hai trường hợp dựa vào đặc điểm riêng của tiếng Việt là sử dụng tách từ và âm tiết.
Mục lục Danh mục thuật ngữ 3 Danh mục các hình vẽ 4 Danh mục các bảng 4 Mở đầu 5 Chương 1: Tổng quan 6 1.1 Giới thiệu bài toán xử lý văn bản 6 1.2 Các phương pháp phân loại văn bản 6 1.3 Vấn đề giảm chiều đặc trưng 7 1.3.1 Giới thiệu 7 1.3.2 Các tiếp cận và tình hình nghiên cứu ở Việt Nam 8 1.4 Đặc điểm của tiếng Việt 9 1.5 Mục tiêu của luận văn .10 Chương 2: Biểu diễn văn bản 11 2.1 Giới thiệu 11 .11 2.2 Mô hình Boolean .12 2.3 Mô hình tần suất (Term Frequency – TF) 12 2.4 Mô hình nghịch đảo tần số văn bản (Inverse Document Frequency - IDF) 13 2.5 Mô hình kết hợp TFxIDF 13 2.6 Áp dụng phương pháp véc-tơ thưa trong lưu trữ văn bản 13 Chương 3: Các phương pháp phân loại văn bản .15 3.1 Giới thiệu 15 3.2 Quy trình phân loại văn bản 15 3.3 Đặc điểm của Tiếng Việt và ảnh hưởng trong phân loại văn bản 16 3.3.1 Đặc điểm tiếng Việt 16 3.3.2 Ảnh hưởng trong phân loại văn bản .18 3.4 Phương pháp phân loại Naïve Bayes 18 3.5 Phương pháp phân loại Centroid- based vector 19 3.6 Phương pháp phân loại k–Nearest Neighbor (kNN) 19 3.7 Phân loại văn bản bằng phương pháp Support Vector Machines 20 3.7.1 Lý thuyết học thống kê 20 3.7.1.1 Chiều VC (Vapnik Chervonenkis dimension) 20 3.7.1.2 Rủi ro của bài toán học phân loại có giám sát 22 3.7.1.3 Rủi ro thực nghiệm 23 3.7.1.4 Nguyên tắc tối thiểu hoá rủi ro cấu trúc 23 3.7.1.5 Bổ đề Vapnik 24 3.7.2 Support Vector Machines .25 3.7.2.1 Dữ liệu huấn luyện có thể phân chia tuyến tính và không có nhiễu .26 3.7.2.2 Dữ liệu huấn luyện có thể phân chia tuyến tính nhưng có nhiễu 30 3.7.2.3 Dữ liệu huấn luyện không thể phân chia tuyến tính được 32 3.7.2.4 Hàm nhân Kernel .33 3.7.3 Phương pháp giải bài toán tối ưu 34 3.7.3.1 Thuật toán giải bài toán tối ưu 34 3.7.3.2 Thuật toán khởi tạo các biến 37 1 Chương 4: Các phương pháp tối ưu kích thước dữ liệu 38 4.1 Biểu diễn giảm bậc của ma trận Term – Doc 39 4.2 Phương pháp Latent semantic analysis 41 4.2.1 Singular value decomposition 42 4.2.2 Thuật toán giảm số chiều LSI/SVD 44 4.3 Phương pháp trọng tâm 47 4.3.1 Bình phương tối thiểu .47 4.3.2 Thuật toán trọng tâm giảm số chiều .48 4.4 Phương pháp trọng tâm trực giao 49 4.4.1 Phân tích QR của ma trận .49 4.4.2 Thuật toán trọng tâm trực giao giảm số chiều 51 4.5 Phương pháp Linear discriminant analysis .51 4.5.1 Hàm phân lớp tuyến tính của Fisher (Fisher’s linear discriminant - FLD) 52 4.5.2 Generalized Singular Value Decomposition (GSVD) 53 4.5.3 Linear discriminant analysis trong đa lớp 54 4.5.4 Thuật toán giảm số chiều LDA/GSVD 56 Chương 5: Cài đặt chương trình và kết quả thử nghiệm 57 5.1 Chức năng tiền xử lý văn bản 58 5.1.1 Chuẩn hóa 58 5.1.2 Xây dựng bộ từ điển 58 5.1.3 Biểu diễn văn bản 58 5.1.4 Thuật toán giảm số chiều văn bản 59 5.1.4.1 Thuật toán giảm số chiều LSI/SVD 59 5.1.4.2 Thuật toán giảm số chiều Centroid 60 5.1.4.3 Thuật toán giảm số chiều Orthogonal Centroid 60 5.2 Huấn luyện và phân loại 61 5.2.1 Phương pháp SVM 61 5.2.1.1 Quá trình huấn luyện 61 5.2.1.2 Quá trình kiểm tra 63 5.2.1.3 Phân loại văn bản .64 5.3 Kết quả thực nghiệm .64 5.3.1 Văn bản được tách thành các từ (word segments) 65 5.3.2 Văn bản được tách thành các âm tiết 67 Kết luận .70 Tài liệu tham khảo 71 2 Danh mục thuật ngữ Số TT Từ viết tắt 1 2 Tiếng Việt High Dimension SVM 5 Số chiều đặc trưng lớn (Cao) k-Nearest Neighbor k láng giềng gần nhất (phân loại văn bản) Stopwords kNN 3 4 Tiếng Anh từ dừng Support Vector Machines Máy véc-tơ hỗ trợ Text Categorization Classification) (Text Bài toán phân loại văn bản 6 FLD Fisher’s linear discriminant Hàm phân lớp tuyến tính Fisher 7 LSI Latent semantic indexing Đánh chỉ mục ngữ nghĩa ẩn 8 SVD Singular value decomposition Phân tích giá trị kỳ dị 9 GSVD Generalized Singular Value Phân tích giá trị kỳ dị giữa hai ma Decomposition trận 10 Centroid Trọng tâm 11 Orthogonal Centroid Trọng tâm trực giao 12 word segments Tách từ 13 Linear discriminant analysis Phân tích tuyến tính 3 Danh mục các hình vẽ Hình 1 Biểu diễn các véc-tơ văn bản trong không gian chỉ có 2 thuật ngữ 11 Hình 2 Minh họa chiều VC của tập các hàm {f(x)} trong không gian hai chiều với 3 điểm dữ liệu .21 Hình 3 Minh họa các hàm {f(x)} trong không gian hai chiều với 4 điểm dữ liệu 22 Hình 4 Mô tả các siêu phẳng phân chia tập mẫu huấn luyện 26 Hình 5 Siêu phẳng phân chia dữ liệu và các ràng buộc 27 Danh mục các bảng Bảng 1 Dữ liệu huấn luyện và kiểm thử 65 Bảng 2 Độ chính xác phân loại trên mỗi chuyên mục và trên toàn bộ tập dữ liệu trường hợp văn bản tách thành các từ sử dụng thuật toán giảm chiều LSI/SVM 65 Bảng 3 Độ chính xác phân loại trên mỗi chuyên mục và trên toàn bộ tập dữ liệu trường hợp văn bản tách thành các từ sử dụng thuật toán giảm chiều Centroid và Orthogonal Centroid .66 Bảng 4 Chi phí thời gian huấn luyện và phân loại sử dụng hàm nhân Poly (d=2) trường hợp văn bản được tách thành các từ 66 Bảng 5 Chi phí thời gian thực hiện các thuật toán giảm chiều trường hợp văn bản được tách thành các từ 67 Bảng 6 Độ chính xác phân loại trên mỗi chuyên mục và trên toàn bộ tập dữ liệu trường hợp văn bản tách thành các âm tiết sử dụng thuật toán giảm chiều LSI/SVM 67 Bảng 7 Độ chính xác phân loại trên mỗi chuyên mục và trên toàn bộ tập dữ liệu trường hợp văn bản tách thành các âm tiết sử dụng thuật toán giảm chiều Centroid và Orthogonal Centroid 68 Bảng 8 Chi phí thời gian huấn luyện và phân loại sử dụng hàm nhân Poly (d=2) trường hợp văn bản được tách thành các âm tiết 68 Bảng 9 Chi phí thời gian thực hiện các thuật toán giảm chiều trường hợp văn bản được tách thành các âm tiết 69 4 Mở đầu Phân loại văn bản là một trong những bài toán quan trọng trong xử lý văn bản tiếng Việt Một trong những thách thức của bài toán phân loại văn bản là số lượng đặc trưng (thuộc tính) dùng để phân loại thì thường rất lớn Bên cạnh đó, khi áp dụng vào trong xử lý tiếng Việt chúng ta cần phải khảo sát hiệu quả của các phương pháp phân loại trên một số đặc điểm riêng của tiếng Việt như việc sử dụng từ hay âm tiết Luận văn trình bày phương pháp phân loại Máy Véc-tơ hỗ trợ, đây được cho là một trong những phương pháp phân loại tốt nhất hiện này đồng thời kết hợp tập trung giải quyết vấn đề “số chiều đặc trưng lớn” bằng cách áp dụng các phương pháp giảm chiều đặc trưng Sau khi trình bày tổng quan về các tiếp cận giảm chiều đặc trưng luận văn đi sâu vào trình bày các tiếp cận Lantent semantic index, Centroid, Orthogonal Centroid, GSVD/LDA được áp dụng cho dữ liệu phân cụm phù hợp với bài toán phân loại văn bản Trên cơ sở đó chúng tôi cài đặt và thử nghiệm, đưa ra bảng so sánh đánh giá các kết quả phân loại được ứng dụng cho bài toán phân loại văn bản tiếng Việt trong hai trường hợp dựa vào đặc điểm riêng của tiếng Việt là sử dụng tách từ và âm tiết 5 Tổng quan Chương 1: 1.1 Giới thiệu bài toán xử lý văn bản Ngày nay cùng với sự phát triển mạnh mẽ của công nghệ thông tin thì nhu cầu lưu trữ và trao đổi thông tin bằng văn bản số tăng lên với số lượng rất lớn Đó là công văn giấy tờ trong các doanh nghiệp và tổ chức hành chính được số hóa lưu trữ dưới dạng văn bản, tin bài trên các web site báo điện tử, nội dung thông tin trao đổi trong email,… Với một cơ sở dữ liệu có số lượng văn bản khổng lồ cùng với nhu cầu trao đổi thông tin rất lớn thì một lớp bài toán xử lý văn bản ra đời nhằm khai thác một cách hiệu quả thông tin từ dữ liệu văn bản Lớp các bài toán xử lý văn bản bao gồm: dịch tự động văn bản, tóm tắt văn bản, tìm kiếm văn bản, phân loại văn bản,… Xử lý văn bản là một kỹ thuật chung để trích chọn ra những thông tin có ích chưa được biết đến, còn tiềm ẩn từ những văn bản Xử lý văn bản có nhiệm vụ thu thập và phân tích văn bản bằng các công cụ tự động hoặc bán tự động từ các nguồn văn bản đã có khác nhau, để có được các tri thức mới, chưa được biết đến trước đó; phát hiện ra các mô tả chung của các lớp đối tượng văn bản, các từ khoá, các mối liên quan về mặt nội dung, sự phân loại của các đối tượng văn bản, v.v Bài toán tự động phân loại văn bản (Text Classification) là bài toán quan trọng cần giải quyết trong xử lý văn bản Kết quả của phân loại được ứng dụng trực tiếp và là một thành phần quan trọng trong nhiều hệ thống xử lý thông tin khác như trong hệ thống lọc thư rác (mail spam) hay lấy tin tự động Ngoài ra nó cũng có ứng dụng hỗ trợ trong nhiều bài toán xử lý văn bản như tìm kiếm, dịch máy, tóm tắt văn bản 1.2 Các phương pháp phân loại văn bản Trong xử lý văn bản, các phương pháp học máy đã chứng tỏ được tính hiệu quả vượt trội Một số phương pháp phân loại thông dụng đã được sử dụng như quyết định Bayes (Mitchell, 1996), cây quyết định (Fuhr et al, 1991), véc-tơ trọng tâm (Centroidbased vector) (Han, Karypis 2000), k-láng giềng gần nhất (Yang, 1994), mạng nơron (Wiener et al, 1995), Những phương pháp này đã cho kết quả chấp nhận được và được sử dụng trong thực tế Trong những năm gần đây, phương pháp phân loại sử dụng Bộ phân loại véc-tơ hỗ trợ (SVM) được quan tâm và sử dụng nhiều trong những lĩnh vực nhận dạng và phân loại (Joachims, 1998) SVM là một họ các phương pháp dựa trên cơ sở các hàm nhân (kernel) để tối thiểu hóa rủi ro ước lượng 6 Phương pháp SVM ra đời từ lý thuyết học thống kê do Vapnik và Chervonenkis xây dựng và có nhiều tiềm năng phát triển về mặt lý thuyết cũng như ứng dụng trong thực tiễn Các thử nghiệm thực tế cho thấy, phương pháp SVM có khả năng phân loại khá tốt đối với bài toán phân loại văn bản cũng như trong nhiều ứng dụng khác (như nhận dạng chữ viết tay, phát hiện mặt người trong các ảnh, ước lượng hồi quy, ) So sánh với các phương pháp phân loại khác, khả năng phân loại của SVM là tương đương hoặc tốt hơn đáng kể (Nguyễn Linh Giang và Nguyễn Mạnh Hiển, 2005) Hệ thống phân loại văn bản tiếng Việt ở nước ta đã có nhiều nhà nghiên cứu và phát triển xây dựng trong những năm gần đây (Huỳnh Quyết Thắng và Đinh Thị Phương, 1999) (Nguyễn Linh Giang và Nguyễn Mạnh Hiển, 2005) Các hướng tiếp cận bài toán phân loại văn bản đã được nghiên cứu bao gồm: hướng tiếp cận bài toán phân loại bằng lý thuyết đồ thị (Đỗ Bích Diệp, 2004), cách tiếp cận sử dụng lý thuyết tập thô (Nguyễn Ngọc Bình, 2004), cách tiếp cận thống kê (Nguyễn Linh Giang và Nguyễn Duy Hải, 1999), cách tiếp cận sử dụng phương pháp học không giám sát và đánh chỉ mục (Huỳnh Quyết Thắng và Đinh Thị Phương, 1999) Nhìn chung, những cách tiếp cận này đều cho kết quả chấp nhận được Những thách thức trong bài toán phân loại văn bản Tiếng Việt: 1 Số chiều đặc trưng lớn Trong phân loại văn bản tất cả các phương pháp gặp một khó khăn chung khi không gian dữ liệu với số chiều lớn Khi đó đòi hỏi không gian bộ nhớ dữ liệu lớn và mất nhiều thời gian xử lý văn bản phân loại Để giải quyết vấn đề khó khăn này luận văn sẽ trình bày và xây dựng hệ thống phân loại kết hợp với các phương pháp tối ưu kích thước dữ liệu được áp dụng cho văn bản Tiếng Việt 2 Phân tách câu thành các từ Khác với tiếng Anh, văn bản tiếng Việt có thể được biểu diễn bởi danh sách các từ hoặc âm tiết Để biểu diễn văn bản bởi các từ, chúng ta phải xử lý bài toán tách từ (word segmentation) cho tiếng Việt Hai cách sử dụng này (âm tiết và từ) sẽ được khảo sát so sánh trong luận văn của chúng tôi 1.3 Vấn đề giảm chiều đặc trưng 1.3.1 Giới thiệu Những tiến bộ trong công nghệ thông tin như mạng máy tính (network), phần cứng (hardware), phần mềm (software), cấu trúc dữ liệu và thuật toán đã tạo lên cơ sở hạ tầng đủ mạnh để xử lý luồng dữ liệu khổng lồ trên web, trong hệ thống máy tính, trong 7 các bộ cảm biến mạng máy tính (sensor networks), trong việc phân tích gen DNA của người và các sinh vật khác, các loại dữ liệu ở dạng văn bản (text), ảnh, âm thanh song để xử lý được luồng dữ liệu lớn vẫn còn là vấn đề phức tạp Trong bài giảng cho sinh viên với chủ đề “Phân tích dữ liệu có số chiều đặc trưng cao: Những thuận lợi và khó khăn” (High-Dimensional Data Analysis: The Curses and Blessings of Dimensionality) (David Donoho, 2000) tại đại học Standford năm 2000 tiến sỹ David Donoho đã điểm qua những thuận lợi và khó khăn trong việc giải quyết bài toán có số chiều đặc trưng cao đồng thời kêu gọi các nhà toán học trong thế kỷ 21 quan tâm và đóng góp hướng giải quyết nhiều hơn nữa cho lớp bài toán này Khái niệm “khó khăn của số chiều đặc trưng lớn” (curses of dimensionality) (Richard Bellman, 1961) do Richard Bellman sử dụng lần đầu tiên nói đến sự khó khăn trong việc giải quyết các bài toán liên quan đến số chiều đặc trưng lớn (high dimension) Số lượng chiều (dimension) của bài toán có thể là số lượng biến số liên quan, có thể do số lượng các bộ cảm biến (sensors) dùng để thu thập dữ liệu rất lớn Để xử lý dữ liệu với số chiều (dimension) khổng lồ và số lượng khổng lồ đòi hỏi tìm kiếm trong một trong gian trạng thái lớn gấp nhiều lần khi đó chi phí về thời gian có thể theo đa thức hoặc hàm số mũ Điều thú vị là bài toán toán xử lý dữ liệu lớn cũng có nhiều thuận lợi (blessings of dimensionality) trong toán học một trong những yếu tố thuận lợi của số chiều lớn chính là khái niệm “thước đo tập trung tương đối” (concentration of measure) nói đến thống kê sự tập trung xấp xỉ khi có nhiều sự thể hiển có cùng đặc trưng Trong lý thuyết xác suất chúng ta có luật số lớn (law of large numbers) giá trị trung bình của các sự thể hiện ngẫu nhiên thường hội tụ về giá trị kỳ vọng của biến ngẫu nhiên (constant) Hay định luật giới hạn trung tâm (central limit): Giá trị trung bình của các sự thể hiện ngẫu nhiên có hành vi giống như biến Gauss, khi ta chọn ngẫu nhiên một sự thể hiện trong dãy các sự thể hiện thì kích thước dãy các sự thể hiện càng lớn thì các đặc trưng thống kê (trung bình, phương sai,…) của sự thể hiện càng gần với đặc trưng của dãy Giảm chiều không gian đặc trưng trong bài toán phân loại văn bản nói riêng và các bài toán có số chiều lớn nói chung có vai trò quan trọng trong việc: – Giảm thiểu không gian bộ nhớ dữ liệu – Tăng tốc độ xử lý dữ liệu cho giải thuật xử lý văn bản 1.3.2 Các tiếp cận và tình hình nghiên cứu ở Việt Nam 1 Các tiếp cận 8 Được chia làm hai loại: Các phương pháp giảm chiều đặc trưng cho dữ liệu chưa được phân cụm hay còn gọi là dữ liệu không giám sát (Unsupervised) như Principal components analysis (Karl Pearson , 1901), Independent Component Analysis (Pierre Comon, 1994), Locally linear Embedding (Sam T Roweis và Lawrence K Saul , 2000) Khi dữ liệu chưa phân cụm thì có thể áp dụng các giải thuật phân cụm để gom dữ liệu thành các nhóm sau đó áp dụng các phương pháp giảm số chiều cho dữ liệu đã được phân cụm Các phương pháp giảm chiều đặc trưng cho dữ liệu đã được phân cụm hay còn gọi là dữ liệu giám sát (Supervised) như Latent semantic indexing (Scott Deerwester,ext, 1988), Centroid (Park et al, 2003) , Orthogonal centroid (Park et al, 2003), Generalized singular value decompositon (GSVD/LDA) (Park et al, 2003), Linear discriminant analysis (Fisher, 1936),… 2 Tình hình nghiên cứu ở Việt Nam Ở Việt Nam cũng đã có những nghiên cứu về giảm chiều đặc trưng như cách tiếp cận LSI (lantent semantic indexing) đánh chỉ mục ngữ nghĩa ẩn (Dương Thanh Tịnh, 2005) làm giảm chiều đặc trưng áp dụng trong hệ thống hỗ trợ tư vấn cho thương mại điện tử, sử dụng giải thuật phân tán cho mạng máy tính (Đỗ Thanh Nghị, 2002) phân phối công việc cho mạng máy tính xử lý bài toán phân loại văn bản có số chiều đặc trưng cao, xong vẫn còn ít và chưa được quan tâm nhiều đến lớp bài toán có số chiều đặc trưng cao (high dimension) 1.4 Đặc điểm của tiếng Việt Tiếng Việt thuộc ngôn ngữ đơn lập, tức là mỗi một tiếng (âm tiết) được phát âm tách rời nhau và được thể hiện bằng một chữ viết Đặc điểm này thể hiện rõ rệt ở tất cả các mặt ngữ âm, từ vựng, ngữ pháp Về mặt ngữ âm, mỗi tiếng là một âm tiết Hệ thống âm vị tiếng Việt phong phú và có tính cân đối, tạo ra tiềm năng của ngữ âm tiếng Việt trong việc thể hiện các đơn vị có nghĩa Nhiều từ tượng hình, tượng thanh có giá trị gợi tả đặc sắc Tiếng là đơn vị cơ sở của hệ thống các đơn vị có nghĩa của tiếng Việt Từ tiếng, người ta tạo ra các đơn vị từ vựng khác để định danh sự vật, hiện tượng Từ vựng tối thiểu của tiếng Việt phần lớn là các từ đơn tiết (một âm tiết, một tiếng) Từ của tiếng Việt không biến đổi hình thái Đặc điểm này chi phối các đặc điểm ngữ pháp khác Khi từ kết hợp từ thành các kết cấu như ngữ, câu, tiếng Việt rất coi trọng phương thức trật tự từ và hư từ Việc sắp xếp các từ theo một trật tự nhất định là cách chủ yếu để biểu thị các quan hệ cú pháp, trật tự chủ ngữ đứng trước, vị ngữ đứng sau 9 1.5 Mục tiêu của luận văn Luận văn tập trung trình bày các phương pháp tối ưu kích thước dữ liệu ứng dụng trong bài toán phân loại văn bản tiếng Việt Phương pháp phân loại văn bản sử dụng trong luận văn là phương pháp Máy vec tơ hỗ trợ, là một trong những phương pháp phân loại tốt nhất hiện nay Nội dung của luận văn được trình bày bao gồm 5 chương và kết luận: Chương 1 Tổng quan: Giới thiệu về bài toán xử lý văn bản, các cách tiếp cận trong bài toán phân loại văn bản, đặc điểm của Tiếng Việt, vai trò của giảm chiều đặc trưng trong bài toán (high dimension) có số chiều lớn và tình hình nghiên cứu ở Việt Nam • Chương 2 Biểu diễn văn bản: Trình bày các phương pháp biểu diễn văn bản trong không gian Vec tơ • Chương 3 Các phương pháp phân loại văn bản: Trình bày các phương pháp phân loại văn bản, trong đó phương pháp Support Vector Machines được trình bày chi tiết và cụ thể hơn cả • Chương 4 Các phương pháp tối ưu kích thước dữ liệu: Biểu diễn ma trận termdoc, định nghĩa bài toán giảm chiều, trình bày 4 phương pháp được áp dụng cho dữ liệu đã được phân cụm LSI, Centroid, Orthogonal Centroid, LDA/GSVD • Chương 5 Cài đặt và kết quả thử nghiệm: Trình bày các bước cài đặt và các thành phần của chương trình phân loại văn bản Tiếng Việt, đưa ra kết quả so sánh giữa các phương pháp giảm chiều đặc trưng áp dụng trong bài toán • Kết luận: Đánh giá kết quả đạt được của luận văn và hướng nghiên cứu tiếp theo của luận văn 10 số cao nhất Trong trường hợp có hai lớp bằng nhau về điểm số này, ta chỉ đơn giản chọn lớp có số thứ tự nhỏ hơn 5.1 Chức năng tiền xử lý văn bản Việc tiền xử lý văn bản có ý nghĩa hết sức quan trọng, quyết định rất nhiều đến hiệu năng của chương trình xử lý Nếu quá trình tiền xử lý văn bản có tốc độ nhanh và cho độ chính xác cao, thì nhờ đó tốc độ xử lý và hiệu năng của các chức năng xử lý văn bản cũng sẽ cao 5.1.1 Chuẩn hóa Để đơn giản hoá việc tách từ, với mỗi văn bản đầu vào, ta sẽ thực hiệc qua bước tiền xử lý ký tự để đưa văn bản về dạng xâu chuẩn Ở đây xâu chuẩn là xâu mà trong đó không có 2 dấu cách nào liền nhau, có dấu câu khi kết thúc xâu, trước dấu câu không có dấu cách Để có được xâu chuẩn, chuẩn bị cho việc tách từ, ta thực hiện qua các bước sau: 1 Chuyển hết các ký tự chữ hoa thành chữ thường 2 Dùng các dấu câu (bao gồm dấu “.” “,” “:”…) để tách văn bản thành một tâp hợp các câu Ta có thể tách như vậy vì 2 âm tiết cách nhau bởi một dấu câu sẽ không bao giờ thuộc về cùng một từ 3 Tiến hành chuẩn hoá với mỗi câu: - khi có >1 dấu cách đứng kề nhau, loại bớt đi, chỉ để lại một dấu cách loại bỏ những dấu cách ở đầu và cuối câu 5.1.2 Xây dựng bộ từ điển Từ tập dữ liệu huấn luyện ban đầu sau quá trình chuẩn hóa văn bản và tách văn bản ta xây dựng nên bộ từ điển bao gồm các từ đã được tách ra trước đó, mỗi từ xuất hiện một lần duy nhất trong từ điển và với tần suất của từ điển xuất hiện trong tất cả các văn bản Từ điển dữ liệu này phục vụ cho việc biểu diễn văn bản dưới dạng vectơ có số chiều bằng độ dài từ điển 5.1.3 Biểu diễn văn bản Chương 2 của luận văn đã trình bày về một số mô hình biểu diễn văn bản trong không gian vectơ, bao gồm: mô hình Boolean, mô hình tần suất (TF), mô hình nghịch đảo tần số văn bản (IDF) và mô hình kết hợp TFxIDF Trong phần cài đặt chương trình chúng tôi chọn mô hình biểu diễn véc-tơ chuẩn dựa trên mô hình tần suất TF để biểu 58 diễn văn bản Công thức tính trọng số của một từ trong một văn bản theo mô hình này như sau: wij = fij Trong đó: fij là số lần xuất hiện của thuật ngữ ti trong văn bản dj 5.1.4 Thuật toán giảm số chiều văn bản Thông thường sau bước biểu diễn văn bản ta đã sử dụng dữ liệu là các vectơ làm đầu vào cho thuật toán huyến luyện và phân loại, nhưng luận văn tập chung vào thử nghiệm phân loại kết hợp với các phương pháp giảm số chiều nhằm làm giảm thời gian tính toán và không gian bộ nhớ dữ liệu tính toán do đó sau bước biểu diễn văn bản ta được tập các vec tơ dữ liệu huấn luyện và tập các vec tơ dữ liệu test tập các vec tơ này được thực hiện qua các phép toán tối ưu để giảm số chiều Kết quả của việc giảm số chiều được sử dụng làm đầu vào cho thuật toán huấn luyện và phân loại 5.1.4.1.Thuật toán giảm số chiều LSI/SVD Input: Cho ma trận term–doc A∈ ¡ luyện và số nguyên k>0 mxn là ma trận biểu diễn tập dữ liệu huấn 1 Tính Ak = U k ∑ k VkT T 2 Đặt ma trận Y bằng ∑ k Vk Output: Y ∈ ¡ kxn - Ma trận Y = ∑ k VkT là ma trận term – doc biểu diễn văn bản trong không gian ngữ nghĩa ẩn k chiều của tập văn bản huấn luyện hay nói cách khác Y là ma trận biểu diễn giảm số chiều của ma trận A - Ma trận Q = U kT Q là ma trận term – doc biểu diễn tập văn bản kiểm thử (test) trong - không gian ngữ nghĩa ẩn k chiều hay nói cách khác Q là ma trận biểu diễn giảm số chiều của ma trận Q Nếu một văn bản q muốn biểu diễn giảm số chiều trong không gian k chiều thì ^ ^ ^ T q = U k q là một biểu diễn của q 59 5.1.4.2.Thuật toán giảm số chiều Centroid mxn Input: Cho ma trận term–doc A∈ ¡ là ma trận biểu diễn tập dữ liệu huấn luyện hoặc tập dữ liệu kiểm thử (test) và số nguyên k>0 là số lớp dữ liệu huấn luyện (trong luận văn này k=6 lớp) 1 Tính trọng tâm ci của chủ đề thứ i với 1 ≤ i ≤ k 2 Đặt ma trận C = [ c1 , c2 , , ck ] 3 Tìm min Y CY − A 2 Output: Ma trận Y ∈ ¡ kxn – Nếu A là ma trận biểu diễn tập dữ liệu huấn luyện thì Y là ma trận dữ liệu huấn luyện biểu diễn giảm số chiều của A – Nếu A là ma trận biểu diễn tập dữ liệu kiểm thử thì Y là ma trận dữ liệu kiểm thử biểu diễn giảm số chiều của A – Nếu một văn bản q muốn biểu diễn giảm số chiều trong không gian k chiều thì ^ T – q = Qk q là một biểu diễn của q 5.1.4.3.Thuật toán giảm số chiều Orthogonal Centroid mxn Input: Cho ma trận term–doc A∈ ¡ là ma trận biểu diễn tập dữ liệu huấn luyện hoặc tập dữ liệu kiểm thử (test) và số nguyên k>0 là số lớp dữ liệu huấn luyện (trong luận văn này k=6 lớp) 1 Tính trọng tâm ci của lớp thứ i với 1 ≤ i ≤ k 2 Đặt ma trận C = [ c1 , c2 , , ck ] 3 Tính QR của ma trận C = Qk R T 4 Y = Qk A Output: ma trận Y ∈ ¡ kxn – Nếu A là ma trận biểu diễn tập dữ liệu huấn luyện thì Y là ma trận dữ liệu huấn luyện biểu diễn giảm số chiều của A – Nếu A là ma trận biểu diễn tập dữ liệu kiểm thử thì Y là ma trận dữ liệu kiểm thử biểu diễn giảm số chiều của A – Nếu một văn bản q muốn biểu diễn giảm số chiều trong không gian k chiều thì ^ T – q = Qk q là một biểu diễn của q 60 5.2 Huấn luyện và phân loại 5.2.1 Phương pháp SVM Phân loại văn bản sử dụng phương pháp SVM như ta đã biết là một phương pháp học có giám sát (ở đây giám sát bởi tập dữ liệu huấn luyện) Do đó, trước khi có thể đưa ra quyết định phân loại một văn bản nào đó, chương trình cần được huấn luyện trên bộ dữ liệu huấn luyện đã được phân loại trước Như vậy, việc thực hiện chương trình có thể tách thành hai modul riêng biệt: - Modul huấn luyện: từ đầu vào là tập dữ liệu huấn luyện đã qua tiền xử lý và các tham số cần thiết khác (tham số v, tham số của hàm nhân Kernel), với một loại chủ đề văn bản nhất định, thực hiện giải thuật giải bài toán tối ưu để tìm ra một siêu phẳng phân loại văn bản cho chủ đề đó Đầu ra sẽ là những tham số của siêu phẳng b, α=(α1, α2, …, αns) - Modul kiểm tra: với đầu vào là tập văn bản kiểm tra đã qua tiền xử lý, các tham số của siêu phẳng tìm được từ modul huấn luyện, véc-tơ trọng số của văn bản huấn luyện, với từng loại chủ đề văn bản, sử dụng hàm dấu để xét loại cho văn bản đó, và đưa ra danh sách những nhãn (chủ đề) phù hợp để gán cho văn bản Đánh giá kết quả của quá trình kiểm tra thông qua các công thức đánh giá hiệu năng chương trình 5.2.1.1 Quá trình huấn luyện Trong phương pháp phân loại văn bản bằng SVM, công việc huấn luyện (học) là quan trọng nhất và tốn nhiều thời gian nhất Quá trình huấn luyện sẽ trả ra các tham số của hàm tối ưu hoá, cũng chính là tham số của các support véc-tơ Kết quả của quá trình huấn luyện sẽ được dùng cho việc kiểm tra và phân loại các văn bản khác Để chuẩn bị dữ liệu cho quá trình huấn luyện, tập văn bản huấn luyện thô ban đầu sẽ được đưa qua bước tiền xử lý để thu về dạng tập các văn bản huấn luyện biểu diễn ở dạng véc-tơ thưa với các thành phần là các trọng số của từ trong văn bản Tập văn bản huấn luyện cũng đã được gán nhãn và mảng lưu nhãn của các văn bản huấn luyện cũng là đầu vào cho quá trình huấn luyện của chương trình Chú ý rằng với số chủ đề văn bản là m, nhãn của các văn bản được đánh theo giá trị từ 1 đến m để thể hiện chủ đề mà nó thuộc vào Sau đó mảng này sẽ được biến đổi thành mảng giá trị {1/-1} tương ứng với một chủ đề nhất định đang được xét Module huấn luyện có các đầu vào, đầu ra và thuật toán thực hiện như sau: 61 1 Đầu vào: Là tập các véc-tơ biểu diễn tập văn bản huấn luyện đã được gán nhãn (đầu ra của modul tiền xử lý tập văn bản huấn luyện), giá trị của tham số v (Error parameter – tham số lỗi cho phép), tham số kernel của hàm nhân K(xi,xj) - Nếu kernel = 1 thì hàm nhân được sử dụng là hàm tuyến tính - Nếu kernel = 2, đồng thời có thêm tham số d thì hàm nhân là hàm đa thức có số mũ = d - Nếu kernel = 3, đồng thời có thêm tham số γ thì hàm nhân là hàm RBF 2 Đầu ra: Là các hệ số của siêu phẳng tối ưu, b, α=(α1, α2, …, αns) Và lưu lại các tham số của hàm nhân K(xi,xj) sử dụng cho module ra quyết định phân loại 3 Thuật toán: Bước 1: Tuỳ thuộc vào tham số của hàm nhân kernel, sử dụng hàm nhân tương ứng (một trong ba hàm Linear, Poly, hoặc RBF) để tính mảng giá trị hàm nhân của các cặp (xi, xj) trong tập huấn luyện Bước 2: Sử dụng thuật toán khởi tạo biến α0, để khởi tạo các biến α=(α1,α2,…,αns): Khởi tạo giá trị ban đầu cho các tham số (αi, Gi, V1, V2) đều = 0, tính ra tập N0 (N là tập các chỉ số i của các văn bản có cặp giá trị αi, Vi chưa đạt yêu cầu) Lặp công việc tìm kiếm các giá trị αi(0) cho đến khi N = ∅ thì kết thúc Bước 3: Sử dụng thuật toán giải bài toán tối ưu, để thực hiện quá trình huấn luyện: Tại lần lặp thứ t, tìm cặp các văn bản thứ p, q sao cho Gp(t) – Gq(t)>0 và đạt max Cập nhật lại giá trị của αp, αq, W+(t+1), W-(t+1) Lặp cho đến khi W+ =∅ và W-=∅ thì kết thúc Kết thúc thuật toán này chúng ta tìm được giá trị tối ưu của α, từ đó tính ra giá trị của b tương ứng Bước 4: Lưu lại các giá trị b, α, và các tham số của hàm nhân K(xi, xj) (là kernel và d hoặc γ (nếu có)) để sử dụng trong module kiểm tra (ra quyết định phân loại) 62 5.2.1.2.Quá trình kiểm tra Sau khi huấn luyện ta đã thu được các tham số cần thiết để đưa ra quyết định phân loại văn bản Quá trình kiểm tra này có mục đích kiểm nghiệm lại hiệu năng của chương trình phân loại văn bản bằng phương pháp SVM Đầu vào của modul này là tập các văn bản kiểm tra đã qua modul tiền xử lý văn bản, và được biểu diễn ở dạng véc-tơ thưa với các thành phần là các trọng số của một từ trong một văn bản Đồng thời các văn bản kiểm tra cũng đã được gán nhãn trước với mục đích để so sánh với các nhãn mà chương trình phân loại bằng phương pháp SVM gán cho các văn bản kiểm tra, từ đó đưa ra được các giá trị đánh giá hiệu năng của chương trình (Precision, Recall, F-measure, break-even point) Cụ thể modul này có các đầu vào, đầu ra và thuật toán xử lý như sau: 1 Đầu vào : Tập các véc-tơ biểu diễn văn bản kiểm tra, tập các véc-tơ biểu diễn các văn bản huấn luyện đã được gán nhãn, các tham số b, α, của siêu phẳng tối ưu, các tham số của hàm nhân K(xi, xj) đã được dùng trong quá trình huấn luyện, lớp văn bản cần kiểm tra 2 Đầu ra : - Quyết định phân loại cho các văn bản kiểm tra - Các giá trị đánh giá hiệu năng của chương trình phân loại 3 Thuật toán : Bước 1: Với mỗi véc-tơ x đại diện cho một văn bản thuộc tập văn bản kiểm tra, tính giá trị của hàm ns f ( x) = ∑ ai y i K ( xi , x) + b i =1 trong đó xi là véc-tơ biểu diễn văn bản huấn luyện thứ i, i = {1,…,ns} - Nếu f(x)>0 thì x được gán nhãn là 1 - Ngược lại x được gán nhãn là –1 Bước 2: Từ kết quả của bước 1, kết hợp với mảng y lưu nhãn của các văn bản kiểm tra, tính các giá trị độ chính xác, độ bao… để đưa ra kết quả đánh giá hiệu năng của chương trình phân loại đối với lớp văn bản hiện tại 63 Nhận xét: Ưu điểm của việc phân chia giai đoạn phân loại văn bản thành hai modul là, với mỗi lớp văn bản chúng ta chỉ cần thực hiện module huấn luyện một lần, mà có thể sử dụng được cho tất cả các tập dữ liệu kiểm tra sau này 5.2.1.3 Phân loại văn bản Với chức năng tương tự như modul kiểm tra, nhưng modul này có đặc điểm khác là không dung để đánh giá hiệu năng chương trình, mà dùng với mục đích giúp người dùng có được quyết định phân loại cho một văn bản cụ thể Modul này có các đầu vào và đầu ra như sau: 1 Đầu vào: Văn bản cần phân loại biểu diễn ở dạng véc-tơ trọng số, tập văn bản huấn luyện cũng ở dạng véc-tơ trọng số và đã được gán nhãn, các tham số b, α, của siêu phẳng tối ưu, các tham số của hàm nhân K(xi, xj) đã được dùng trong quá trình huấn luyện 2 Đầu ra: Đưa ra quyết định chủ đề phù hợp với văn bản đang xét 3 Thuật toán: - Với từng chủ đề văn bản, tính giá trị ns f ( x) = ∑ ai y i K ( xi , x) + b i =1 Nếu f(x)>0 thì x được gán nhãn là 1 Lưu lại danh sách những chủ đề được gán nhãn =1 cho văn bản - Nếu chỉ có 1 chủ đề mà ứng với nó, văn bản được gán nhãn = 1 thì đưa ra quyết định phân loại cho văn bản vào chủ đề đó - Nếu số chủ đề đó > 1, có 2 giải pháp: đưa ra danh sách tất cả các chủ đề đó để người dùng quyết định, hoặc dựa vào giá trị của hàm f(x) để phân loại văn bản vào chủ đề có là max (dựa vào nguyên tắc tìm siêu phằng tối ưu) 5.3 Kết quả thực nghiệm Dữ liệu huấn luyện (data train) và kiểm thử (data test) được sử dụng gồm 4936 tài liệu được lấy từ trang http://vnexpress.net Tập tài liệu này được chia lấy ngẫu nhiên 60% được dùng làm dữ liệu huấn luyện, 40% được dùng làm dữ liệu kiểm thử (test): 64 Tên chuyên mục Kinh doanh Pháp luật Thể thao Văn hóa Vi tính Xã hội Tổng số Số tài liệu sử dụng làm dữ liệu Số tài liệu sử dụng làm dữ liệu huấn luyện kiểm thử 540 424 240 197 660 450 360 294 660 524 300 218 2760 2170 Bảng 1 Dữ liệu huấn luyện và kiểm thử 5.3.1 Văn bản được tách thành các từ (word segments) Từ data train xây dựng được bộ từ điển gồm 13408 từ Loại bỏ các từ có tần số nhỏ hơn 6 chúng ta được bộ từ điển gồm 6216 từ Bảng 2 Độ chính xác phân loại trên mỗi chuyên mục và trên toàn bộ tập dữ liệu trường hợp văn bản tách thành các từ sử dụng thuật toán giảm chiều LSI/SVM Kernel LSI/SVD Class Full K=6 K=50 K=100 K=200 K=300 Kinh doanh 50x2760 98.82 100x2760 98.58 200x2760 98.34 300x2760 97.40 Pháp luật 96.44 16.75 95.43 97.46 96.95 95.43 Thể thao 97.33 88.66 96 96.88 97.33 97.55 Văn hóa 97.61 86.05 98.29 97.27 96.25 97.61 Vi tính Xã hội 97.13 95.87 94.84 87.22 97.32 89.90 96.56 93.11 96.75 91.28 96.56 91.74 Trung bình Linear (C=10) 6216x2760 6x2760 97.87 95.75 97.19 83.15 96.53 96.86 96.58 96.48 Kinh doanh 98.82 97.40 95.75 96.44 63.95 92.38 95.93 96.44 96.44 97.33 88 98.22 97.55 96 94.44 97.27 85.47 94.89 93.87 90.47 92.85 Vi tính 97.13 94.08 97.32 97.13 95.03 93.32 Xã hội 95.41 91.74 89.440 88.07 88.99 84.86 Trung bình ( 98.58 Văn hóa γ = 1.5 ) 99.05 Thể thao RBF 97.87 Pháp luật Poly (d=2) 97.10 89.46 96.15 96.06 94.58 93.40 Kinh doanh 98.58 98.34 99.52 43.16 0 0 Pháp luật 94.41 58.37 82.74 50.25 3.55 0 65 Thể thao 97.55 88.22 86.66 99.77 12.44 4.22 Văn hóa 94.55 86.39 72.10 56.12 51.70 39.45 Vi tính 96.75 95.22 89.12 68.89 97.13 98.85 Xã hội 96.78 85.77 62.84 18.34 0.45 0 Trung bình 96.77 88.70 85.00 61.55 34.40 30.99 Bảng 3 Độ chính xác phân loại trên mỗi chuyên mục và trên toàn bộ tập dữ liệu trường hợp văn bản tách thành các từ sử dụng thuật toán giảm chiều Centroid và Orthogonal Centroid Kernel Dimension Reduction methods Class Full Centroid Kinh doanh 95.43 92.89 97.33 92.66 92.22 97.61 93.87 91.15 97.13 95.87 96.37 80.27 96.37 72.93 Trung bình 97.19 93.59 91.50 Kinh doanh 97.87 98.58 98.58 Pháp luật 96.44 93.40 95.93 Thể thao 97.33 94.66 94.66 Văn hóa 97.27 93.87 94.21 Vi tính 97.13 96.75 96.94 Xã hội 95.41 89.44 93.57 Trung bình 97.10 95.20 95.96 Kinh doanh 98.58 97.87 97.87 Pháp luật 94.41 95.43 93.40 Thể thao 97.55 93.33 93.55 Văn hóa 94.55 94.89 94.21 Vi tính 96.75 97.13 96.75 Xã hội 96.78 89.90 90.36 Trung bình ( 96.44 Vi tính Xã hội γ = 1.5 ) 6x2760 93.86 Văn hóa RBF 96.93 Thể thao Poly (d=2) 6216x2760 97.87 Pháp luật Linear (C=10) 6x2760 Orthogonal Centroid 96.77 95.25 94.96 Bảng 4 Chi phí thời gian huấn luyện và phân loại sử dụng hàm nhân Poly (d=2) trường hợp văn bản được tách thành các từ 66 Tên thuật toán SVM SVM – Full (6216x2760) SVM – LSI (300x2760) K=300 SVM – Centroid (6x2760) SVM – Orthogonal Centroid (6x2760) Thời gian huấn luyện 20 phút 26 giây 2 phút 29 giây 3 giây 4 giây Thời gian phân loại 12 phút 35 giây 1 phút 21 giây 2 giây 2 giây Bảng 5 Chi phí thời gian thực hiện các thuật toán giảm chiều trường hợp văn bản được tách thành các từ Tên thuật toán Dimension Reduction LSI Centroid Orthogonal Centroid Thời gian thực hiện 2h 27 phút 34 giây 10 giây 10 giây 5.3.2 Văn bản được tách thành các âm tiết Từ data train sau khi loại bỏ các từ stop word và các từ có tần số nhỏ hơn 4 chúng ta xây dựng được bộ từ điển gồm 4740 từ Bảng 6 Độ chính xác phân loại trên mỗi chuyên mục và trên toàn bộ tập dữ liệu trường hợp văn bản tách thành các âm tiết sử dụng thuật toán giảm chiều LSI/SVM Kernel LSI/SVD Class Kinh doanh Linear (C=10) Full K=6 4740x2760 6x2760 98.58 95.75 K=50 K=100 K=200 K=300 50x2760 97.64 100x2760 200x2760 97.64 97.64 300x2760 96.69 Pháp luật 94.92 93.90 97.55 93.77 96 97.77 97.33 95.77 94.89 93.87 98.63 97.27 97.61 96.25 96.56 96.78 94.84 83.94 96.56 93.57 96.94 93.11 95.22 87.62 96.18 88.53 Trung bình 96.77 86.23 96.67 96.96 95.68 95.20 Kinh doanh 98.58 99.05 98.34 97.87 96.46 93.86 Pháp luật 94.41 71.57 95.43 95.93 94.92 90.35 Thể thao 97.55 96 98 97.77 96 94.22 Văn hóa 94.55 90.47 94.21 96.25 90.47 87.75 Vi tính 96.75 96.18 97.90 97.70 97.13 93.89 Xã hội 96.78 95.41 93.57 91.28 87.15 83.02 Trung bình ( 97.46 Vi tính Xã hội γ = 1.5 ) 96.95 Văn hóa RBF 16.75 Thể thao Poly (d=2) 94.41 96.77 93.54 96.82 96.72 94.58 91.64 Kinh doanh 98.58 98.34 99.29 41.98 0 0 Pháp luật 94.41 68.02 81.72 42.13 0 0 Thể thao 97.55 94.66 87.33 56.88 6.22 2 67 Văn hóa 94.55 90.81 73.12 56.08 45.23 6.46 Vi tính 96.75 95.99 88.93 99.23 97.07 98.47 Xã hội 96.78 94.03 62.84 12.01 0 0 Trung bình 96.77 92.64 85.09 58.28 31 25.81 Bảng 7 Độ chính xác phân loại trên mỗi chuyên mục và trên toàn bộ tập dữ liệu trường hợp văn bản tách thành các âm tiết sử dụng thuật toán giảm chiều Centroid và Orthogonal Centroid Kernel Dimension Reduction methods Class Full Centroid Kinh doanh 94.41 95.43 97.55 95.55 96.22 94.89 97.27 97.61 96.56 96.78 96.94 91.28 96.75 89.44 Trung bình 96.77 96.06 96.06 Kinh doanh 98.58 98.58 97.64 Pháp luật 94.41 95.43 95.43 Thể thao 97.55 97.11 97.55 Văn hóa 94.55 95.91 95.91 Vi tính 96.75 98.47 98.66 Xã hội 96.78 97.70 96.78 Trung bình 96.77 97.48 97.34 Kinh doanh 98.58 98.58 98.58 Pháp luật 94.41 94.92 94.92 Thể thao 97.55 97.33 97.33 Văn hóa 94.55 97.27 97.27 Vi tính 96.75 98.09 97.70 Xã hội 96.78 95.87 96.33 Trung bình ( 94.41 Vi tính Xã hội γ = 1.5 ) 6x2760 97.64 Văn hóa RBF 97.87 Thể thao Poly (d=2) 4740x2760 98.58 Pháp luật Linear (C=10) 6x2760 Orthogonal Centroid 96.77 97.38 97.34 Bảng 8 Chi phí thời gian huấn luyện và phân loại sử dụng hàm nhân Poly (d=2) trường hợp văn bản được tách thành các âm tiết Tên thuật toán SVM SVM – Full (4740x2760) SVM – LSI (300x2760) K=300 SVM – Centroid (6x2760) Thời gian huấn luyện 13 phút 17 giây 4 phút 15 giây 11 giây 68 Thời gian phân loại 7 phút 39 giây 2 phút 49 giây 44 giây SVM – Orthogonal Centroid (6x2760) 12 giây 45 giây Bảng 9 Chi phí thời gian thực hiện các thuật toán giảm chiều trường hợp văn bản được tách thành các âm tiết Tên thuật toán Dimension Reduction LSI Centroid Thời gian thực hiện 1h45 phút 5 giây Orthogonal Centroid 5 giây 69 Kết luận 1 Các kết quả đạt được trong luận văn Phân loại văn bản tiếng Việt là bài toán quan trọng trong xử lý văn bản Luận văn đã trình bày tổng quan về các tiếp cận phân loại văn bản, trình bày chi tiếp các thuật toán phân loại Bayes, kNN, Centroid- based vector đặc biệt phương pháp Support Vector Machines được trình bày chi tiết hơn cả Bên cạnh đó giảm chiều đặc trưng hay tối ưu kích thước dữ liệu là hướng nghiên cứu quan trọng nhằm giải quyết lớp bài toán có khối lượng dữ liệu không lồ Luận văn đã trình bày tổng quan về các vấn đề tối ưu kích thước dữ liệu và các tiếp cận Trong đó chúng tôi đi sâu vào trình bày các tiếp cận Lantent semantic index, Centroid, Orthogonal Centroid, GSVD/LDA Trên cơ sở đó chúng tôi cài đặt và thử nghiệm đánh giá các kết quả được ứng dụng trong bài toán phân loại văn bản tiếng Việt Qua bảng so sánh kết quả ta thấy các phương pháp Centroid, Orthogonal Centroid có kết quả khá tốt mà thời gian thực hiện ít hơn rất nhiều nhiều so với khi sử dụng Lantent semantic index giảm chiều đặc trưng Kết quả độ phân loại chính xác trong hai trường hợp dựa vào đặc điểm của tiếng Việt (âm tiết và từ) là xấp xỉ tương đương nhau điều này chứng tỏ nếu bỏ qua bài toán tách từ văn bản tiếng Việt bằng cách tách văn bản theo âm tiết giống văn bản tiếng Anh thì kết quả phân loại văn bản tiếng Việt vẫn cho kết quả khá tốt 2 Hướng nghiên cứu tiếp theo Thử nghiệm bộ phân loại SVM kết hợp với các phương pháp giảm chiều dựa vào các đặc điểm khác của văn bản tiếng Việt có nhiều tri thức hơn như biểu diễn văn bản theo cú pháp hay cụm từ văn bản tiếng Việt 70 Tài liệu tham khảo Tài liệu tiếng Việt 1 Nguyễn Ngọc Bình (2004), Dùng lý thuyết tập thô và các kỹ thuật khác để phân loại, phân cụm văn bản tiếng Việt, ICT.rda’04, Hà nội 2 Đỗ Bích Diệp (2004), Phân loại văn bản dựa trên mô hình đồ thị, Luận văn cao học, Trường Đại học Tổng hợp New South Wales - Australia 3 Nguyễn Linh Giang, Nguyễn Duy Hải (1999), “Mô hình thống kê hình vị tiếng Việt và ứng dụng”, Các công trình nghiên cứu, triển khai Công nghệ Thông tin và Viễn thông, Tạp chí Bưu chính Viễn thông, tr.61-67 4 Nguyễn Thị Minh Khuê (2005), Phân loại văn bản Tiếng Việt bằng phương pháp Support Vectơ Machine, Đồ án tốt nghiệp đại học, Trường Đai học Bách Khoa Hà Nội 5 Đỗ Thanh Nghị (2005), Một thuật toán máy vector hỗ trợ đơn giản và nhanh chóng cho việc khai thác dữ liệu, FAIR’05 6 Dương Thanh Tịnh (2005), Xây dựng hệ thống hỗ trợ tư vấn cho thương mại điện tử, Luận văn cao học, Trường Đại học Công Nghệ Thông Tin TPHCM 7 Huỳnh Quyết Thắng, Đinh Thu Phương Thu (2005), Tiếp cận phương pháp học không giám sát trong học có giám sát với bài toán phân lớp văn bản tiếng Việt và đề xuất cải tiến công thức tính độ liên quan giữa hai văn bản trong mô hình vector, Kỷ yếu Hội thảo ICT.rda’04, tr.251-261, Hà Nội 8 Đinh Thu Phương Thu, Hoàng Vĩnh Sơn, Huỳnh Quyết Thắng (2005), Phương án xây dựng tập mẫu cho bài toán phân lớp văn bản tiếng Việt: nguyên lý, giải thuật, thử nghiệm và đánh giá kết quả, Bài báo đã gửi đăng tại Tạp chí khoa học và công nghệ Tài liệu tiếng Anh 9 Cheong Hee Park, Haesun Park (2006), A Comparison of Generalized Linear Discriminant Analysis Algorithms, CSE Technical Reports, GT-CSE-06-14, Georgia Institute of Technology 10 C T Nguyen, T K Nguyen, X H Phan, L M Nguyen, Q T Ha (2006), Vietnamese word segmentation with CRFs and SVMs: An investigation, In 71 Proceedings of the 20th Pacific Asia Conference on Language, Informa-tion and Computation, Wuhan, CH 11 David L Donoho (2000), High-Dimensional Data Analysis: The Curses and Blessings of Dimensionality, Lecture, Department of StatisticsStanford University 12 Hyunsoo Kim, Peg Howland, Haesun Park (2005), “Dimension Reduction in Text Classification with Support Vector Machines”, Journal of Machine Learning Research, Department of Statistics Stanford University, pp 37-53 13 Hyunsoo Kim, Barry L Drake, Haesun Park (2006), Relationships Between Support Vector Classifiers and Generalized Linear Discriminant Analysis on Support Vectors, CSE Technical Reports, GT-CSE-06-16, Georgia Institute of Technology 14 Haesun Park, Barry L Drake, Sangmin Lee, Cheong Hee Park (2007), Fast Linear Discriminant Analysis using QR Decomposition and Regularization, CSE Technical Reports, GT-CSE-07-21, Georgia Institute of Technology 15 Hongyuan Zha (1989), “A Numerical Algorithm for Computing the Restricted Singular Value Decomposition of Matrix Triplets”, Elsevier Science, New York, ETATS-UNIS, Vol 168, pp 1-25 16 M Jeon, H Park, J.B Rosen (2003), Dimension reduction based on centroids and least squares for efficient processing of text data, Technical Report, University of Minnesota - Computer Science and Engineering 17 Matthew Johnson (2007), Sources http://www.matthewajohnson.org/software/svm.html code SVM.net, 18 Peg Howland, Moongu Jeon, Haesun park (2003), “Structure preserving dimension reduction for clustered text data based on the general singular value decomposition”, Society for Industrial and Applied Mathematics, Vol.25, No.1, pp 165-179 19 Paul Selormey (2004), Sources code DotNetMatrix, http://www.codeproject.com/KB/recipes/psdotnetmatrix.aspx? fid=31332&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=76 20 Two Crows (2005), Introduction to Data Mining and Knowledge Discovery, Third Edition, http://www.twocrows.com/booklet.htm 21 Thorsten Joachims (1998), “Text Categorization with Support Vector Machines: Learning with Many Relevant Features”, Machine Learning: ECML-98, pp 137-142 72 ... luận văn Luận văn tập trung trình bày phương pháp tối ưu kích thước liệu ứng dụng toán phân loại văn tiếng Việt Phương pháp phân loại văn sử dụng luận văn phương pháp Máy vec tơ hỗ trợ, phương pháp. .. cứu Việt Nam • Chương Biểu diễn văn bản: Trình bày phương pháp biểu diễn văn khơng gian Vec tơ • Chương Các phương pháp phân loại văn bản: Trình bày phương pháp phân loại văn bản, phương pháp. .. 1995), Những phương pháp cho kết chấp nhận sử dụng thực tế Trong năm gần đây, phương pháp phân loại sử dụng Bộ phân loại véc- tơ hỗ trợ (SVM) quan tâm sử dụng nhiều lĩnh vực nhận dạng phân loại (Joachims,