Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
1,1 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƢỜNG ĐẠI HỌC BÁCH KHOA NGÔ HẢI NAM PHÂN LOẠI VĂN BẢN TIN TỨC DÙNG MÁY VEC-TƠ HỖ TRỢ Chuyên ngành: Khoa học máy tính Mã số: 84 80 101 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2019 Cơng trình đƣợc hoàn thành TRƢỜNG ĐẠI HỌC BÁCH KHOA Ngƣời hƣớng dẫn khoa học: TS NINH KHÁNH DUY Phản biện 1: TS ĐẶNG HOÀI PHƢƠNG Phản biện 2: TS HỒ VĂN PHI Luận văn đƣợc bảo vệ trƣớc Hội đồng chấm Luận văn tốt nghiệp thạc sĩ kỹ thuật chuyên ngành Khoa học máy tính họp Trƣờng Đại học Bách khoa Đà Nẵng vào ngày 05 tháng 10 năm 2019 Có thể tìm hiểu luận văn tại: - Trung tâm Học liệu, Đại học Đà Nẵng Trƣờng Đại học Bách khoa - Thƣ viện Khoa Công nghệ thông tin, Trƣờng Đại học Bách khoa - Đại học Đà Nẵng MỞ ĐẦU Lý chọn đề tài Với thực tế đó, vấn đề đặt làm để khai thác đƣợc thơng tin hữu ích từ nguồn tài liệu văn nói chung Các nguồn liệu phải đƣợc xử lý nhƣ để ngƣời dùng có cơng cụ tự động hóa trợ giúp việc khai thác thông tin Rõ ràng, phải hiểu rõ chất liệu văn bản, đặc trƣng liệu loại để có phƣơng pháp luận cần thiết Việc khai thác thông tin từ nguồn liệu văn Việt Nam dựa vào kết nghiên cứu văn nói chung Tuy nhiên văn tiếng Việt lại có đặc trƣng riêng nó: ví dụ khác biệt cú pháp, ngữ pháp so với ngôn ngữ phổ biến giới nhƣ tiếng Anh, tiếng Pháp…Để làm rõ vấn đề này, vào chủ đề thƣờng gặp việc xử lý văn bản, phân loại văn tiếng Việt Đây nơi dung đề tài “Phân loại văn tin tức dùng máy vec-tơ hỗ trợ” Mục đích ý nghĩa đề tài - Mục đích Xây dựng chƣơng trình có khả phân loại văn tin tức theo chủ đề (các chủ đề nhƣ Giáo dục, Thể thao, Thế giới, Sức khỏe …) dựa việc xử lý văn bản, trích rút đặc trƣng áp dụng máy vec-tơ hỗ trợ để học, phân loại dựa đặc trƣng Để thoả mãn mục tiêu cần đạt đƣợc mục tiêu cụ thể sau: - Ý nghĩa khoa học thực tiễn đề tài Mục tiêu nhiệm vụ Xây dựng chƣơng trình có khả phân loại văn tin tức theo chủ đề (các chủ đề nhƣ Giáo dục, Thể thao, Thế giới, Sức khỏe …) dựa việc xử lý văn bản, trích rút đặc trƣng áp dụng máy vec-tơ hỗ trợ để học, phân loại dựa đặc trƣng Để thoả mãn mục tiêu cần đạt đƣợc mục tiêu cụ thể sau: Nghiên cứu bƣớc giải toán Machine Learning lý thuyết phân lớp Máy vec-tơ hỗ trợ Nắm vững cách trích chọn đặc trƣng văn tin tức tiếng Việt Xây dựng đƣợc phần mềm phân loại văn cách xác Đánh giá hiệu thuật toán máy vec-tơ hỗ trợ qua liệu kiểm tra so sánh với thuật toán phân loại khác nhƣ Naïve Bayes Đối tƣợng phạm vi nghiên cứu Trong khuôn khổ luận văn thạc sĩ thuộc loại ứng dụng với thời gian thực 06 tháng, giới hạn nghiên cứu vấn đề sau: Thuật toán máy vec-tơ hỗ trợ sử dụng ngơn ngữ Python Ứng dụng thuật tốn máy vec-tơ hỗ trợ việc phân loại văn tiếng Việt triển khai ngôn ngữ Python Đánh giá giải pháp thực Phƣơng pháp nghiên cứu Phương pháp lý thuyết Tiến hành thu thập nghiên cứu tài liệu có liên quan đến đề tài Nghiên cứu lý thuyết thuật toán máy vec-tơ hỗ trợ Nghiên cứu việc mơ hình hóa văn phù hợp với thuật tốn Phương pháp thực nghiệm Lập trình chạy thử với liệu mẫu ngôn ngữ Python Kiểm tra, thử nghiệm, nhận xét đánh giá kết Kết luận Đóng góp mặt phƣơng pháp thực nghiệm vào lĩnh vực phân loại văn bản, nhánh nghiên cứu xử lý ngôn ngữ tự nhiên Nghiên cứu chuẩn hóa, trích rút đặc trƣng văn tin tức tiếng Việt cho toán phân loại văn Xây dựng hƣớng tiếp cận cho toán phân loại tin tức, ứng dụng phục vụ cho công tác quản lý thông tin văn Cấu trúc luận văn Luận văn đƣợc trình bày bao gồm phần nhƣ sau : ● MỞ ĐẦU ● CHƢƠNG 1: BÀI TOÁN PHÂN LOẠI VĂN BẢN ● CHƢƠNG 2: THUẬT TOÁN MÁY VEC-TƠ HỖ TRỢ TRONG PHÂN LOẠI VĂN BẢN ● CHƢƠNG 3: KẾT QUẢ VÀ ĐÁNH GIÁ ● KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ● TÀI LIỆU THAM KHẢO CHƢƠNG 1: BÀI TOÁN PHÂN LOẠI VĂN BẢN 1.1 Phân loại văn 1.1.1 Khái niệm 1.1.2 Bài toán phân loại văn Ta mơ hình hóa toán học việc phân loại văn nhƣ sau: Cho x văn bản, biết x thuộc loại y {1, 2,3, K} Hãy tìm loại văn x Gọi y h ( x) hàm phân loại x hàm Ta cần tìm y tham số h (.) có khả phân loại tốt Để tìm h ta sử dụng phƣơng pháp học có hƣớng dẫn từ liệu mẫu : Dữ liệu học gồm N mẫu : ( x1 , y1 ) , ( x2 , y2 ) ,… ( xN , yN ) Hàm h đƣợc xây dựng cho khớp với liệu huấn luyện Các toán phân loại văn nói chung phân biệt theo hai cách nhƣ sau: Phân loại văn nhị phân/ đa lớp: Bài toán phân loại văn gọi nhị phân số lớp 2, gọi đa lớp số lớp lớn Phân loại văn đơn nhãn/ đa nhãn: Bài toán phân loại văn đơn nhãn văn đƣợc gán vào xác lớp Ngƣợc lại văn đƣợc gán nhiều nhãn nhãn toán phân loại văn đa nhãn Phân loại văn lĩnh vực đƣợc ý đƣợc nghiên cứu năm gần Tuy nhiên cơng trình nghiên cứu phần lớn dành cho xử lý ngơn ngữ nƣớc ngồi, mà tiếng Anh chủ yếu Để áp dụng cho văn tin tức tiếng Việt khơng có độ xác nhƣ mong muốn 1.2 Mơ hình phân loại văn dùng tiếp cận học máy 1.2.1 Khái niệm học máy Học máy (Machine Learning) [15] [16]: Là lĩnh vực trí tuệ nhân tạo, liên quan đến kỹ thuật giúp cho máy tính tự học mà không cần phải cài đặt luật định [2] Cụ thể, học máy phƣơng pháp để tạo chƣơng trình máy tính việc phân tích tập liệu Theo đó, học máy chủ yếu dựa thao tác: Phân loại/liệt kê thông tin; dự đoán kiện định sở mơ hình đƣợc nhận dạng; phát hiện/nhận dạng mơ hình chƣa đƣợc biết đến phụ thuộc chúng; phát bất thƣờng kiện chƣa đƣợc dự đoán 1.2.2 Phân loại học máy 1.2.3 Dữ liệu huấn luyện học máy Bất toán học máy cần có liệu để huấn luyện, ta coi điều kiện tiên Dữ liệu sau có đƣợc cần phải: Chuẩn hóa: Tất liệu đầu vào cần đƣợc chuẩn hóa để máy tính xử lý đƣợc Q trình chuẩn hóa bao gồm số hóa liệu, co giãn thơng số cho phù hợp với tốn Việc chuẩn hóa ảnh hƣởng trực tiếp tới tốc độ huấn luyện nhƣ hiệu huấn luyện Phân chia: Việc mơ hình đƣợc chọn khớp với tập liệu có khơng có nghĩa giả thuyết ta mà co thể xảy tình liệu thật lại khơng khớp Vì huấn luyện học máy, ta chia liệu thành loại để kiểm chứng đƣợc phần mức độ tổng qt mơ hình 1.2.4 Mơ hình phân loại văn Để phân lớp văn tự động thƣờng sử dụng kỹ thuật học máy có giám sát, dựa tập liệu đầu vào đƣợc gán nhãn [4] Đầu tiên hệ thống đƣợc huấn luyện thơng qua tập mẫu, sau đánh giá hiệu hệ thống thông qua liệu kiểm thử Q trình huấn luyện dự đốn liệu đƣợc mơ nhƣ sau: Hình 1.3 Mơ hình phân loại văn 1.3 Thu thập d iệu 1.4 Tiền xử ý văn 1.4.1 Xử lý ngôn ngữ tự nhiên 1.4.1.1 Làm văn 1.4.1.2 Tách từ câu Tách từ bƣớc quan trọng bậc xử lý ngôn ngữ tự nhiên Việc tách từ Tiếng Việt đặc biệt quan trọng Tiếng việt khơng đơn giản nhƣ tiếng Anh Trong tiếng Anh từ phân cách dấu cách (space) nhƣng tiếng Việt dấu cách lại để tách âm tiết với Hình 1.6 Minh họa kết giai đoạn tách từ 1.4.1.3 Loại bỏ Stopwords Hình 1.7 Một số từ stopwords tiếng Việt Stopwords [14] từ xuất nhiều văn nhƣng lại không mang nhiều ý nghĩa, từ nối Mỗi ngơn ngữ có stopwords khác Trong tiếng Việt từ stopwords là: thì, là, này, kia…Trong tiếng Anh từ: is, this, that…Việc cần làm việc tiền xử lý văn loại bỏ từ khơng có ý nghĩa, để lại từ ngữ mang ý nghĩa thực Để loại bỏ từ stopwords [14] văn có hai cách sau: o Dùng từ điển: Sử dụng danh sách từ stopwords dùng lọc để loại bỏ từ khỏi văn Trong cách này, tùy vào lĩnh vực văn cần xử lý danh sách từ stopwords khác Tức xử lý tin tức văn có tập danh sách stopwords khác với xử lý báo khoa học o Dựa theo tần suất xuất từ: Tiến hành đếm số lần xuất từ liệu văn sau tiến hành loại bỏ từ có số lần xuất nhiều nhất, từ xuất nhiều thƣờng từ không mang nhiều ý nghĩa 1.4.2 Biểu diễn văn dạng vec-tơ đặc trưng Mỗi văn x đối tƣợng cần phân loại, thông thƣờng x đƣợc chuyển thành biểu diễn vec-tơ nhƣ sau: xj x ( x1 , x2 , xD ) với R Các thành phần x j , j 1, 2, , D đƣợc gọi trọng số đặc trƣng thứ j vec-tơ văn , D số chiều vec-tơ Có nhiều cách để trích xuất đặc trƣng văn Trong luận án sử dụng Bag of Words (BoW) Term Frequency – Inverse Document Frequency (TF-IDF) để biểu diễn văn dƣới dạng vec-tơ 1.4.2.1 Bag of words Bag of Words [18] cách biểu diễn đơn giản văn xử lý ngôn ngữ tự nhiên Ý tƣởng BoW xây dựng từ điển từ tập văn sau thay từ văn tần suất xuất từ điển Hình 1.8 Cách sử dụng Bag of Words 1.4.2.2 Term Frequency – Inverse Document Frequency + TF (Term Frequency) [17] số lần từ xuất văn bản, văn có độ dài ngắn khác nên số từ xuất nhiều lần văn dài văn ngắn Thông tin đƣợc nắm bở term frequency bật thông tin (hay từ) văn Term frequency cao (số lần xuất nhiều văn bản) từ miêu tả tốt cho nội dung văn Nhƣ giá trị TF thƣờng đƣợc chia cho số lần xuất nhiều từ văn bản: tf (t , d ) f (t , d ) max{f(w, d ) : w d} (1.1) Với: f (t , d ) - số lần xuất từ t văn d max{f(w, d ) : w d} - số lần xuất nhiều từ văn + IDF (Inverse Document Frequency) [17] đánh giá tầm quan trọng từ, giải thích nhƣ định nội dung thông tin Một từ đƣợc tập trung ngữ nghĩa thƣờng xảy nhiều lần văn xuất tất văn 10 Cho trƣớc tập huấn luyện, đƣợc biểu diễn không gian vec-tơ, tài liệu điểm, phƣơng pháp tìm siêu phẳng định tốt chia điểm khơng gian thành hai lớp riêng biệt tƣơng ứng lớp + lớp - Chất lƣợng siêu phẳng đƣợc định khoảng cách (gọi biên) điểm liệu gần lớp đến mặt phẳng Khi khoảng cách biên lớn mặt phẳng định tốt, đồng thời việc phân loại xác Mục đích phƣơng pháp SVM tìm đƣợc khoảng cách biên lớn nhất, điều đƣợc minh họa nhƣ sau: Hình 2.1 Siêu phẳng phân chia liệu thành lớp + – với khoảng cách biên lớn Các điểm gần Support Vector 2.1.2 Nội dung phương pháp SVM Cơ sở lý thuyết Bài toán SVM toán phân loại hai lớp, đƣợc phát biểu nhƣ sau: Hình 2.2 Bài toán phân loại điểm sử dụng SVM 11 Cho trƣớc n điểm không gian d chiều, điểm thuộc vào lớp ký hiệu +1 -1, mục đích giải thuật SVM tìm siêu phẳng (hyperplane) phân hoạch tối ƣu cho phép chia điểm thành hai phần cho điểm lớp nằm phía với siêu phẳng [2] ( x1 , y1 ) , ( x2 , y2 ) ,…, ( xn , yn ) } với xi R n y {-1,1} nhãn lớp tƣơng ứng thuộc vào hai lớp nhãn i xi (-1 biểu thi lớp I, biểu thị lớp II) Ta có phƣơng trình siêu phẳng Cho tập mẫu { chứa vec-tơ Đặt xi không gian : xi w b (2.1) f ( xi ) sign( xi w b ) f (x ) 1, xi w b 1, xi w b (2.2) x i Nhƣ vậy, biểu diễn phân lớp i vào hai lớp nhƣ nêu Khi để có siêu phẳng f ta phải giải tốn sau: Tìm || w || với w thỏa mãn điều kiện sau: yi ( xi w b) i 1, n Việc mở rộng thuật toán SVM để phân đa lớp tiếp cận vấn đề theo phƣơng pháp xây dựng kết hợp nhiều phân lớp SVM nhị phân Để phân nhiều lớp kỹ thuật SVM nguyên thủy chia không gian liệu thành phần q trình lặp lại nhiều lần Khi hàm định phân liệu vào lớp thứ i tập n là: (2.3) với fi(x) = wiix + bi Những phần tử x support vector thõa mãn điều kiện: 12 Nhƣ vậy, toán phân nhiều lớp (đa lớp) sử dụng phƣơng pháp SVM hoàn tồn thực giống nhƣ tốn hai lớp Bằng cách sử dụng chiến lƣợc “một- đối – một” (1-vs-1) (hình 2.3) Giả sử tốn cần phân loại có k lớp (k>2), chiến lƣợc “một-đối-một” tiến hành k(k-1)/2 lần phân lớp nhị phân sử dụng phƣơng pháp SVM Mỗi lớp tiến hành phân tách k-1 lớp lại để xác định k-1 hàm phân tách dựa vào toán phân hai lớp phƣơng pháp SVM Hoặc xây dựng theo phƣơng pháp “một-đối-tất cả” (1-vsall) (hình 2.4) xây dựng k mơ hình SVM nhị phân, mơ hình thứ i tách lớp i khỏi lớp khác Hình 2.3 Phương pháp 1-vs-tất cho máy học SVM đa lớp Hình 2.4 Phương pháp 1-vs-1 cho máy học SVM đa lớp 13 2.1.3 Hàm nhân kernel SVM Trong số trƣờng hợp tập hợp liệu ban đầu khơng thể đƣợc phân chia cách tuyến tính khơng gian có Cụ thể tốn có khơng gian liệu phi tuyến tính (non-linear) khơng thể tìm đƣợc siêu phẳng thõa mãn tốn Do đó, ngƣời ta sử dụng phép ánh xạ nhằm đƣa điểm liệu thuộc khơng gian tốn ban đầu vào hệ khơng gian mới, việc phân tách đƣợc tiến hành cách hiệu dễ dàng Hình 2.6 Chuyển đổi khơng gian liệu đầu vào tốn SVM Trong khơng gian F tập liệu phân tách tuyến tính Nhƣng sinh vấn đề lớn khơng gian số chiều liệu tăng lên nhiều so với không gian ban đầu làm cho chi phí tính tốn vơ lớn tốn Bởi vậy, nhằm tăng tính hiệu q trình tính tốn, tích vơ hƣớng vec-tơ liệu khơng gian cần thiết đƣợc tính tốn cách dễ dàng từ tọa độ miền không gian cũ có Tích vơ hƣớng đƣợc tính tốn cách sử dụng hàm nhân K (x, z) Một số hàm kernel thông dụng: o Linear Đây trƣờng hợp đơn giản với kernel tích vơ hƣớng hai vec-tơ k ( x, z ) xT z (2.4) Khi sử dụng hàm sklearn.svm.SVC, kernel đƣợc chọn cách đặt kernel=’linear’ 14 o Polynomial k ( x, z ) xT z ) d ( (2.5) Với d số dƣơng để bậc đa thức, d khơng số tự nhiên mục đích ta khơng phải bậc đa thức mà cách tính kernel Polynomial kernel dùng để mơ tả hầu hết đa thức có bậc không vƣợt d d số tự nhiên Khi sử dụng thƣ viện sklearn.svm.SVC, kerrnel đƣợc chọn cách đặt kernel = 'poly' o Radial Basic Function Radial Basic Function kernel cịn có cách gọi khác Gaussian kernel đƣợc sử dụng nhiều thực tế, lựa chọn mặc định sklearn Nó đƣợc định nghĩa nhƣ sau k ( x, z ) exp( x z ), (2.6) Trong sklearn ta sử dụng tham số kernel=’rbf’ o Sigmoid Công thức kernel sigmoid k ( x, z) tanh( xT z ) (2.7) Trong sklearn ta sử dụng tham số kernel=’sigmoid’ Hình 2.7 Sự khác phân loại liệu kernel 15 Nhận xét: Theo hình 2.7 với liệu đầu vào gần tuyến tính Linear kernel cho kết tốt nhất, Gaussian kernel cho kết khơng thật tốt class xanh có phạm vi nhỏ bị bao trùm class đỏ Poly kernel kết tạm chấp nhận đƣợc 2.2 Ứng dụng phân loại văn Phát biểu toán: - Input: tập liệu(text) báo chƣa phân loại chủ đề đƣợc lấy trang thông tin điện tử - Output: Xác định xem văn tin tức thuộc chủ đề Hình 2.8 Mơ hình ứng dụng phân loại văn Chƣơng trình bao gồm module sau đây: o Module thu thập liệu: lấy tin tức từ nguồn báo chí internet nhƣ dantri.com, tinhte.vn, vnexpress.net o Module tiền xử lý liệu: thực thao tác tiền xử lý văn (làm sạch, tách từ, loại bỏ stopwords vec-tơ hóa văn bản) o Module phân loại liệu: thực phân loại văn thuật toán SVM 16 CHƢƠNG KẾT QUẢ VÀ ĐÁNH GIÁ 3.1 D liệu thử nghiệm Trên sở lý thuyết trình bày, luận văn tiến hành xây dựng ứng dụng đánh giá “Phân loại văn tin tức dùng máy vec-tơ hỗ trợ” Quá trình thu thập liệu đƣợc phân loại theo chủ đề số lƣợng nhƣ sau: Bảng 3.1 Tập liệu tin tức thu thập theo chủ đề Chủ đề tin tức Số ƣợng Thế giới 2673 Đời sống 2783 Sức khỏe 12172 Khoa học-Công nghệ 4950 Thể thao 8311 Du lịch 5922 Giáo dục 15149 Kinh doanh 2859 Pháp luật 7014 Nhƣ đề cập trên, liệu tin tức đƣợc tổng hợp phân chia thành hai phần training testing với số lƣợng nhƣ bảng sau: Bảng 3.2 Tập liệu training testing STT Chủ đề Training Testing Thế giới 2461 212 Đời sống 2544 239 Sức khỏe 11207 965 Khoa học – công nghệ 4500 450 Thể thao 7542 769 Du lịch 5620 302 Giáo dục 13796 1353 Kinh doanh 2587 272 Pháp luật 6301 713 17 3.2 Triển khai chƣơng trình 3.2.1 Các cơng cụ sử dụng 3.2.2 Các bước xây dựng mơ hình phân loại văn 3.2.2.1 Tổng hợp liệu 3.2.2.2 Tiền xử lý liệu văn Tiền xử lý liệu thu thập đƣợc theo bƣớc làm văn bản, tách từ câu, loại bỏ stopword vec-tơ hóa văn Hình 3.1 Các cơng đoạn tiền xử lý văn 3.2.2.3 Cấu trúc lại liệu Các liệu văn sau vec-tơ hóa cần đƣợc cấu trúc lại cho phù hợp với input toán phân loại Đƣa liệu chuẩn có cấu trúc , Trộn liệu trƣớc tách riêng train test 3.2.2.4.Phân loại liệu văn tin tức với thuật toán SVM Tiến hành huấn luyện với tập liệu có đƣợc với thuật tốn SVM Lần lƣợt thay đổi số chiều vec-tơ đặc trƣng tối đa: 500, 1000, 2000, 3000, 4000 tƣơng ứng với kernel SVM Linear, Polynomial, Sigmoid, Gaussian Sau lần thay đổi ta tiến hành lƣu model đƣợc huấn luyện để sử dụng sau đánh giá kết 3.3 Kết thử nghiệm với SVM Cấu hình thử nghiệm thuật tốn SVM: 18 - Sử dụng hàm nhân (kernel) SVM: Linear, Polynomial, Sigmoid, Gaussian - Số chiều vec-tơ đặc trƣng tối đa: 500, 1000, 2000, 3000, 4000 Sau thay đổi hai thông số ta có kết đánh giá độ xác nhƣ Bảng 3.3: Bảng 3.3 Kết đánh giá độ xác (Precision) với hàm nhân số chiều vec-tơ đặc trưng thay đổi Số 500 1000 2000 3000 4000 chiều Hàm nhân Linear 0.81 0.84 0.86 0.87 0.87 Polynomial 0.82 0.81 0.76 0.73 0.70 Sigmoid 0.68 0.74 0.78 0.80 0.82 Gaussian 0.78 0.79 0.79 0.79 0.79 Qua bảng phân tích tên ta thấy với hàm nhân Linear độ lớn tối đa vec-tơ đặc trƣng từ 3000-4000 cho kết tốt (độ xác 87%) Hình 3.5 Văn tin tức chủ đề “thể thao” 19 Hình 3.6 Kết phân loại tin tức chủ đề “Thể thao” Trong toán phân loại để đánh giá hiệu mơ hình ta dựa số precision, recall, f1-score đƣợc giải thích nhƣ sau: Hình 3.9 Mơ hình hóa số ML Theo nhƣ hình 3.8, sau phân loại nhị phân, có phần phân loại (actually positive) phân loại sai (actually negative) TP (True Positive): số lƣợng điểm lớp (Positive) đƣợc phân loại FP (False Positive): số lƣợng điểm lớp sai (negative) bị phân loại nhầm thành (positive) FN (False Negative): số lƣợng điểm lớp (positive) bị phân loại nhầm thành sai (negative) TN (True Nagative): số lƣợng điểm lớp sai (negative) đƣợc phân loại sai (negative) 20 Các số đƣợc tính tốn nhƣ sau: Precision đƣợc định nghĩa tỉ lệ số điểm thực (true positive) số điểm đƣợc phân loại (TP + FP) Có giá trị nằm khoản (0, 1] (3.1) Chỉ số Precision đƣợc hiểu xem xét tập liệu kiểm thử xem có liệu đƣợc mơ hình dự đoán Recall đƣợc định nghĩa tỉ lệ số điểm thực (true positive) số điểm thực (TP + FN) Có giá trị nằm khoản (0, 1] (3.2) Hình 3.10 Cách tính Precision Recall F1-Score hàm harmonic mean precision and recall (3.3) F1-Score có giá trị nằm khoảng (0, 1], F1-Score cao mơ hình phân loại tốt F1 trung bình điều hịa (harmonic mean) tiêu chí Precision Recall - F1 có xu hƣớng lấy giá trị gần với giá trị nhỏ giá trị Precision Recall - F1 có giá trị lớn giá trị Precision Recall lớn 21 Cho thử nghiệm phân loại văn với kernel=Linear độ lớn vec-tơ tối đa=4000 tập liệu nêu ta có Bảng 3.4: Thơng số Precision Recall F1Support Chủ đề Score Thế giới 0.82 0.79 0.81 212 Đời sống 0.76 0.72 0.74 239 Sức khỏe 0.89 0.87 0.88 965 Khoa học-Công nghệ Thể thao 0.90 0.87 0.88 450 0.97 0.92 0.94 769 Du lịch 0.73 0.81 0.77 302 Giáo dục 0.82 0.86 0.84 1353 Kinh doanh 0.83 0.76 0.79 272 Pháp luật 0.93 0.94 0.94 713 Bảng 3.4 Kết đánh giá SVM với hàm nhân linear Trong bảng 3.4, độ xác tất lớp văn 88% đƣợc tính tỷ số số tài liệu đƣợc dự đoán tổng số tài liệu tập tài liệu kiểm thử Kết thực nghiệm cho thấy chủ đề” pháp luật” có độ xác cao chủ đề” du lịch” có độ xác thấp Điều q trình tiền xử lý văn liệu huấn luyện thử nghiệm chƣa đƣợc phân loại chƣa xác liệu đƣợc lấy từ nguồn báo chí internet Chẳng hạn văn thuộc lĩnh vực “âm nhạc” thuộc lĩnh vực “giáo dục” nhƣ nội dung đề cập tới vấn đề “giáo dục âm nhạc” Nhƣ phân loại văn thực tế khơng hồn tồn đƣợc phân tách tuyến tính mà có vùng mập mờ, điều ảnh hƣởng tới trình huấn luyện phân loại 3.4 So sánh với thuật toán Naive Bayes 3.4.1 Thuật toán Naive Bayes 22 Để đánh giá thuật toán SVM toán phân loại văn tin tức ta kiểm nghiệm với thuật toán phân loại khác Naive Bayes Naive Bayes thuật toán dựa định lý Bayes lý thuyết xác suất để đƣa phán đoán nhƣ phân loại liệu dựa liệu đƣợc quan sát thống kê Định lý Bayes phát biểu nhƣ sau: ” Xác suất xảy kiện ngẫu nhiên A biết kiện liên quan B xảy ra, ký hiệu P(A|B), phụ thuộc vào yếu tố: o Xác suất xảy A riêng nó, khơng quan tâm đến B, ký hiệu P(A) o Xác suất xảy B riêng nó, khơng quan tâm đến A, ký hiệu P(B) o Xác suất xảy B biết A xảy ra, ký hiệu P(B|A), đọc xác suất B có A Cơng thức định luật Bayes đƣợc phát biểu nhƣ sau: (3.4) Ở ta thấy xác suất sảy giả thuyết A phụ thuộc xác suất giả thuyết B, nhƣng thực tế xác suất A phụ thuộc vào xác suất nhiều giác thuyết khác B1, B2, B3 … Bn Vậy định luật Bayes đƣợc mở rộng cơng thức sau: (3.5) Cho tập liệu huấn luyện đƣợc gán nhãn D={(x(i), y(i))} với i=1~N Ở x(i) vector đặc trƣng thứ i tập huấn luyện, y(i) thuộc {1, 2, …, C} nhãn tƣơng ứng với vector x(i)= (x(i)1, x(i)2, x(i)D) x(i)d số lần xuất từ thứ d từ điển (từ gắn số thứ tự với từ, nên gọi từ d) Áp dụng công thứ Bayes, ta tính giá trị p(y|x), giá trị lớn giá trị t cho trƣớc, ta kết luận nhãn vector x y 23 3.4.2 Kết phân loại với Naive Bayes Sử dụng thƣ viện mã nguồn mở, thuật toán Naive Bayes đƣợc cài đặt đánh giá tập liệu huấn luyện kiểm thử, kịch nhƣ thuật toán SVM Cho độ lớn vec-tơ đặc trƣng giá trị 500, 1000, 2000, 3000, 4000 Kết cụ thể nhƣ bảng 3.5 Số chiều 500 1000 2000 3000 4000 Thuật toán Naive Bayes 0.75 0.75 0.75 0.73 0.77 SVM Linear 0.81 0.84 0.86 0.87 0.87 Bảng 3.5 So sánh kết phân loại Naïve Bayes SVM Linear Cùng dƣ liệu training testing thuật tốn SVM Linear cho kết tốt ổn định thuật tốn Naive Bayes Điều giải thích ƣu điểm SVM phù hợp cho toán phân loại với số chiều cao 3.5 Đánh giá Với mơ hình xây dựng, tập liệu văn tin tức huấn luyện đƣợc chia thành chủ đề với số lƣợng khác Quá trình kiểm nghiệm mơ hình học máy dùng thuật tốn SVM với hàm nhân cho kết tƣơng đối giống độ xác thay đổi độ lớn tối đa vec-tơ đặt trƣng Tỷ lệ xác đạt cao với hàm nhân tuyến tính (linear) đạt 87% Cùng liệu SVM cho kết tốt ổn định phƣơng pháp Naïve Bayes Thuật toán SVM tỏ phù hợp cho toán phân loại tin tức, thử nghiệm SVM cho độ xác phân loại 87% chấp nhận đƣợc điều kiện thực tế Để nâng cao độ xác, theo tơi cần tiếp tục cải tiến khâu tiền xử lý văn xây dựng mẫu huấn luyện tiêu chuẩn cho toán phân loại tin tức Các kết cho thấy rằng, việc sử dụng kỹ thuật xử lý văn mô hình phân lớp SVM tốn phân loại tin tức văn có hiệu 24 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Với tốc độ bùng nổ thông tin nhƣ nay, hàng ngày tiếp cận nhiều nguồn thông tin tài liệu Việc lƣu trữ, tìm kiếm văn dễ dàng nhờ trợ giúp máy tính Cùng với việc phân loại văn cịn mang tính thủ cơng khơng đáp ứng đƣợc nhu cầu sống Bởi vậy, việc nghiên cứu, tối ƣu toán phân lớp văn tin tức cần thiết Trong toán phân loại văn bản, việc tiền xử lý văn quan trọng, không xử lý tốt ảnh hƣởng xấu đến kết phân loại Bƣớc việc phân loại, chọn thuật toán SVM nhƣng biết cách tối ƣu tham số giải thuật chọn hàm nhân tốt cho kết khả quan Với kết nhận đƣợc, cho việc áp dụng thuật toán SVM xuất từ lâu nhƣng phù hợp với văn tin tức hiên Hƣớng nghiên cứu tƣơng lai, với quy mô tập liệu lớn số lƣợng từ vài trăm ngàn chí hàng triệu số chủ đề đến hàng chục ngàn Việc phân loại xác khơng dễ dàng, cần phải thử nghiệm phƣơng pháp, thuật toán tốt kết hợp với SVM độ xác cao tốc độ xử lý nhanh ... xử lý văn bản, phân loại văn tiếng Việt Đây nơi dung đề tài ? ?Phân loại văn tin tức dùng máy vec-tơ hỗ trợ? ?? Mục đích ý nghĩa đề tài - Mục đích Xây dựng chƣơng trình có khả phân loại văn tin tức. .. quan trọng cho việc phân lớp CHƢƠNG 2: THUẬT TOÁN MÁY VEC-TƠ HỖ TRỢ TRONG PHÂN LOẠI VĂN BẢN 2.1 Thuật toán máy vec-tơ hỗ trợ 2.1.1 Lý thuyết máy vec-tơ hỗ trợ Bài toán phân loại /phân lớp (Classification)... bày, luận văn tiến hành xây dựng ứng dụng đánh giá ? ?Phân loại văn tin tức dùng máy vec-tơ hỗ trợ? ?? Quá trình thu thập liệu đƣợc phân loại theo chủ đề số lƣợng nhƣ sau: Bảng 3.1 Tập liệu tin tức thu