Đề tài nghiên cứu thuật toán học máy SVM và ứng dụng trong bài toán khai phá ý kiến phản hồi của khách hàng trên website, gồm 3 chương chính với các nội dung cơ bản nhất về thuật toán học. Mời các bạn tham khảo!
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - NGUYỄN THỊ LAN ANH NGHIÊN CỨU THUẬT TOÁN HỌC MÁY SVM VÀ ỨNG DỤNG TRONG BÀI TOÁN KHAI PHÁ Ý KIẾN PHẢN HỒI CỦA KHÁCH HÀNG TRÊN WEBSITE Chuyên ngành: Hệ thống thơng tin Mã số: 60.48.01.04 TĨM TẮT LUẬN VĂN THẠC SĨ Hà Nội - 2013 Luận văn hoàn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: TS HOÀNG XUÂN DẬU Phản biện 1: …………………………………………………………………… Phản biện 2: …………………………………………………………………… Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thơng Vào lúc: ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện Học viện Công nghệ Bưu Viễn thơng MỞ ĐẦU Với phát triển mạnh mẽ mạng Internet, thương mại điện tử, thời đại công nghệ thông tin Mọi người có hội chia ý kiến, quan điểm mình, đưa đánh giá sản phẩm trang web thương mại điện tử diễn đạt quan điểm họ hầu hết thứ diễn đàn, nhóm thảo luận blog, tác phẩm văn học mà họ đọc, chúng gọi chung nội dung người dùng tạo Một cá nhân muốn mua sản phẩm, cá nhân khơng thiết phải giới hạn tham khảo bạn bè gia đình có nhiều người đánh giá sản phẩm trang Web đưa ý kiến liên quan đến việc sử dụng sản phẩm Đây nguồn thông tin quan trọng, cung cấp cho người mua hàng nhìn tồn diện sản phẩm mà họ định mua Còn nhà sản xuất, đánh giá khách hàng sở để tiến hành cải tiến, hoàn thiện sản phẩm Tuy nhiên, việc tìm kiếm nguồn ý kiến giám sát chúng Web cơng việc khó khăn có số lượng lớn nguồn khác nguồn ngồi cịn có số lượng lớn văn ý kiến cảm nghĩ Trong nhiều trường hợp, ý kiến thường ẩn bên viết dài Điều gây khó khăn cho người đọc để tìm kiếm nguồn liên quan, trích nhữngcâu liên quan đến quan điểm đánh giá, đọc, tóm tắt tổ chức chúng thành dạng sử dụng Do đó, việc nghiên cứu phát triển hệ thống tự động cần thiết việc phát hiện, tổng hợp phân loại ý kiến người dùng Phân tích cảm nghĩ, cịn biết đến khai thác ý kiến, phát triển lên từ nhu cầu Đây toán lớn nhiều thách thức đối lĩnh vực xử lý ngôn ngữ tự nhiên khai phá văn Theo hướng nghiên cứu thuật toán học máy để xử lý nguồn liệu đề cập, tơi chọn đề tài “Nghiên cứu thuật tốn học máy SVM ứng dụng toán khai phá ý kiến phản hồi khách hàng website” làm đề tài luận văn thạc sỹ Luận văn gồm chương với nội dung sau: Chương – Tổng quan học máy toán khai phá ý kiến phản hồi khách hàng - trình bày khái niệm học máy giới thiệu khái quát toán khai phá ý kiến phản hồi khách hàng ứng dụng lĩnh vực cơng nghệ thơng tin Chương – Phương pháp học máy SVM – trình bày sở thuật tốn học máy SVM, dạng SVM ứng dụng SVM Chương - Ứng dụng SVM vào toán khai phá ý kiến phản hồi khách hàng website – xây dựng mô hình ứng dụng SVM vào việc giải tốn khai phá ý kiến phản hồi khách hàng website, cài đặt thử nghiệm đánh giá kết thu Chương – TỔNG QUAN VỀ HỌC MÁY VÀ BÀI TOÁN KHAI PHÁ Ý KIẾN PHẢN HỒI KHÁCH HÀNG 1.1 Tổng quan học máy 1.1.1 Giới thiệu học máy Học máy (Machine Learning) ngành khoa học nghiên cứu thuật tốn cho phép máy tính học khái niệm (concept) Cụ thể hơn, 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 Học máy có liên quan mật thiết đến thống kê, hai lĩnh vực nghiên cứu việc phân tích liệu Tuy nhiên khác với thống kê, học máy tập trung vào phức tạp giải thuật việc thực thi tính tốn 1.1.2 Học khơng giám sát, học có giám sát học bán giám sát 1.1.2.1 Học không giám sát Học máy không giám sát (unsupervised learning) phương pháp học máy nhằm tìm mơ hình phù hợp với quan sát Cho trước mẫu gồm đối tượng (objects),cần tìm kiếm cấu trúc quan tâm (interesting structures) liệu, nhóm đối tượng giống 1.1.2.2 Học có giám sát Học có giám sát (supervised learning) kĩ thuật ngành học máy để xây dựng hàm (function) từ tập liệu huấn luyện Dữ liệu huấn luyện bao gồm cặp gồm đối tượng đầu vào (thường dạng vec-tơ), đầu mong muốn Đầu hàm giá trị liên tục (gọi hồi qui), dự đốn nhãn phân loại cho đối tượng đầu vào (gọi phân loại) 1.1.2.3 Học bán giám sát Học bán giám sát (semi-supervised learning) lớp kỹ thuật học máy, sử dụng liệu gán nhãn chưa gán nhãn để huấn luyện - điển hình lượng nhỏ liệu có gán nhãn với lượng lớn liệu chưa gán nhãn Học bán giám sát đứng học khơng giám sát (khơng có liệu nhãn nào) có giám sát (toàn liệu gán nhãn) 1.1.3 Ứng dụng học máy Học máy có ứng dụng rộng khắp ngành khoa học/sản xuất, đặc biệt ngành cần phân tích khối lượng liệu khổng lồ, cụ thể: - Xử lý ngôn ngữ tự nhiên (Natural Language Processing) - Máy tìm kiếm (Search Engine) - Vật lý: phân tích ảnh thiên văn, tác động hạt … 1.2 Phát biểu toán khai phá ý kiến phản hồi khách hàng 1.2.1 Khai phá ý kiến phản hồi trực tiếp Khai phá ý kiến đánh giá trực tiếp bao gồm tốn điển hình: 1.2.1.1 Phân loại quan điểm Phân loại chủ quan Khái niệm chủ quan ngôn ngữ tự nhiên đề cập đến khía cạnh ngơn ngữ dùng để bày tỏ ý kiến đánh giá Phân loại cảm nghĩ Phân loại cảm nghĩ bao gồm hai loại, phân loại cảm nghĩ nhị phân (binary sentiment classification) phân loại cảm nghĩ nhiều loại (multi-class sentiment classification) 1.2.1.2 Khai phá ý kiến dựa khía cạnh Để có ý kiến phản hồi khách hàng sản phẩm mà cung cấp tổ chức bán hàng trực tuyến (ví dụ www.amazon.com) mời khách hàng đánh giá sản phẩm mà họ mua Nhìn chung có dạng khn mẫu ý kiến Web sau: - Ưu điểm, khuyết điểm chi tiết nhận xét - Ưu điểm khuyết điểm - Dạng tự 1.2.2 Khai phá ý kiến phản hồi gián tiếp Ngồi khai thác ý kiến trực tiếp khai thác ý kiến gián tiếp phần quan trọng khai phá ý kiến phản hồi khách hàng Đối với khai phá ý kiến gián tiếp liệu sử dụng câu so sánh Ví dụ: ta có câu so sánh sau đây: - “Tủ lạnh loại A tốt Tủ lạnh loại B” - “Tủ lạnh loại A tốt” 1.3 Khảo sát số phương pháp thử nghiệm phân loại ý kiến khách hàng Tham khảo thông tin nhu cầu người muốn mua sản phẩm sử dụng dịch vụ Mơ tả liệu dùng để thử nghiệm Các phản hồi sách Website http://www.goodreads.com gồm thông tin sau: - Nội dung phản hồi - Đánh giá sách theo thang điểm 1.3.1 Phương pháp mạng Bayes đơn giản Phân loại Bayes đơn giản phương pháp phân loại sử dụng tri thức xác suất qua huấn luyện Phương pháp thích hợp với lớp tốn địi hỏi phải dự đốn xác lớp mẫu cần kiểm tra dựa thông tin từ tập huấn luyện ban đầu Cách tiếp cận phương pháp giả định tất câu báo quan điểm kiện câu quan điểm kiện Ngoài ra, diện từ hướng ngữ nghĩa (khen chê) câu báo câu chủ quan 1.3.2 Phương pháp từ vựng Phương pháp dựa từ vựng chiến lược Turney Littman [14] để cập xây dựng dựa ý tưởng lượng hóa ngữ nghĩa văn thành giá trị cụ thể, giá trị thể cực văn đó, cực dương cực âm Giá trị sau lượng hóa gọi 10 Ban đầu thuật toán SVM thiết kế cho toán phân lớp nhị phân Ý tưởng sau : Cho X= {xi } tập véctơ không gian RD xi thuộc hai lớp yi = -1 yi = +1 Ta có tập điểm liệu huấn luyện biểu diễn sau : {xi , yi } với i = 1…l, yi ∈ {-1, 1}, l số điểm liệu huấn luyện Mục tiêu SVM xây dựng siêu phẳng hai lớp cho khoảng cách từ tới điểm gần siêu phằng hai lớp cực đại Siêu phẳng mơ tả phương trình : w.x+b=0 (2.1) Hình học véctơ lề ||𝑤|| việc cực đại hóa với ràng buộc điều kiện : 𝑥𝑖 𝑤 + b ≥ +1 -𝜉𝑖 , 𝑦𝑖 =+1 (2.2) 𝑥𝑖 𝑤 + b ≤ -1 -𝜉𝑖 , 𝑦𝑖 =-1 (2.3) 2.2 SVM tuyến tính SVM cho tốn phân lớp tuyến tính hình thức đơn giản việc phân lớp phân lớp nhị phân: phân biệt đối tượng thuộc hai lớp: dương (+1) 11 âm (-1) SVM sử dụng hai khái niệm để giải vấn đề này: phân lớp biên rộng hàm kernel Ranh giới định chia không gian thành hai tập tùy thuộc vào dấu hàm f (x) = + b.Với tập liệu khả tách tuyến tính có tồn mặt phẳng phânlớp tất điểm liệu 2.2.1 SVM biên cứng SVM biên cứng áp dụng liệu khả tách tuyến tính cho kết phân lớp cách xác với tất liệu dạng 2.2.1.1 Huấn luyện SVM Giả sử tập mẫu có gồm m phần tử là: (𝑥1 , 𝑦1 ), (𝑥2 , 𝑦2 ) …,(𝑥𝑚 , 𝑦𝑚 ) , 𝑥𝑚 ∈ 𝑅𝑛 cịn 𝑦𝑚 ∈ {-1,1} phân lớp 𝑥𝑖 Cần xác định siêu phẳng mà tách biệt lớp 12 Hình 2.4.Siêu phẳng phân chia hai tập mẫu Giả sử phương trình siêu phẳng cần tìm w.x +b =0 w pháp vector siêu phẳng w ∈ 𝑅 𝑛 Ta có hai bất phương trình sau: w𝑥𝑖 +b ≤-1 với 𝑦𝑖 =-1 w𝑥𝑖 +b≥+1 với 𝑦𝑖 =+1 (2.7) (2.8) Lúc support vector 𝑥𝑖 thỏa mã phương trình w𝑥𝑖 +b = -1 nằm siêu phằng 𝐻1 , phương trình w𝑥𝑖 +b = -1 nằm siêu phẳng 𝐻2 , Suy khoảng cách phân hoạch d 𝐻1 𝐻2 : d= ||𝑑1 -𝑑2 || = 2/||w|| Do để có d lớn thì||w|| phải nhỏ hay nói cách khác phải tìm cực tiểu ||𝑤||2 13 2.2.2 SVM biên mềm Trong trường hợp tổng quát, tập mẫu tập khơng phân chia tuyến tính siêu phằng Kết lý thuyết thực nghiệm cho thấy với biên lớn SVM biên mềm cho hiệu tốt so với SVM biên cứng Ta có tốn tìm cực tiểu ||𝑤||2 + 𝑐 ∑𝑛𝑖=1 ξ𝑖 theo w, b với ràng buộc: 𝑦𝑖 ( + b) ≥1 ξ𝑖 , ξ𝑖 ≥ (2.17) 2.3 SVM phi tuyến Trong trường hợp tổng quát, thực tế mặt phân hoạch mặt phi tuyến Giả sử mẫu 𝑥𝑖 thuộc không gian 𝑅𝑛 , không gian gọi khơng gian giả thiết Để tìm mặt phi tuyến khơng gian này, áp dụng thủ thuật ánh xạ vector mẫu 𝑥𝑖 từ 𝑅 𝑛 vào khơng gian 𝑅𝑑 có số chiều lớn (d>n, d ∞) Sau áp dụng phương SVM tuyến tính để tìm siêu phẳng phân hoạch không gian đặc trưng 𝑅𝑑 Siêu phẳng ứng với mặt phi tuyến không gian 𝑅𝑛 14 Với ánh xạ mặt hình vng [-1,1] x [-1,1] khơng gian 𝑅2 trở thành mặt công không gian 𝑅3 Bây dung mặt phằng không gian 𝑅3 chia mặt cơng thành hai phần (mà khơng gian 𝑅2 phải dung đường cơng có kết q phân chia tương ứng) Tóm lại phương pháp SVM phi tuyền tìm hàm Kernel K(x,y) sau giải toán sort-margin hyperplane với việc thay x1 x2 = K(x1 x2 ) để tìm u b 2.4 Một số ứng dụng SVM tồn trích rút thông tin 2.4.1 Phân loại văn với SVM Phân loại văn tiến trình đưa văn chưa biết chủ để vào lớp văn để biết (tương ứng với chủ để hay lĩnh vực khác nhau) Để thực trình phân loại, phương pháp huấn luyện sử dụng để xây dựng phận loại từ tài liệu mẫu, sau sử dụng phân loại từ tài liệu mẫu, sau sử dung phân loại để dự đoán lớp tài liệu Với phương pháp SVM, trở nên thích hơp cho phân loại văn 15 bỏ số nhược điểm số phương pháp khác không mát thơng tin, dẫn đến độ xác phân loại khơng cao 2.4.2 Bài tốn phát vị trí cắt -nối Như biết, vị trí cắt-nối DNA ranh giới exon (mã cho phần protein) intron (khơng mang thơng tin mã hóa) Xác định xác vị trí cắt-nối giúp dễ dàng xác định xác vị trí gen DNA Từ phần lớn DNA phân tích gen, vấn đề xác định xác vị trí cắt-nối lại quan trọng SVM đãđược áp dụng thành công nhiều lĩnh vực có vấn đề tin sinh học (Jaakkola Haussler, 1999) SVM đơn giản sử dụng cho phân lớp nhị phân: phân biệt vị trí cho (vị trí ranh giới exon-intron) vị trí nhận (vị trí ranh giới intron-exon) từ vị trí nghi vấn Đã có nhiều nhóm nghiên cứu sử dụng SVM có kết tốt 16 Chương – ỨNG DỤNG SVM VÀO BÀI TOÁN KHAI PHÁ Ý KIẾN PHẢN HỒI KHÁCH HÀNG TRÊN WEBSITE 3.1Xây dựng mơ hình ứng dụng khai phá ý kiến phản hồi khách hàng website dựa SVM 3.1.1 Phát biểu toán - Input: tập liệu (text) thông tin phản hồi sản phẩm mà khách hàng nhận xét trang bán hàng trực tuyến - Output: xác định xem, phản hồi tích cực hay tiêu cực trang web 3.1.2 Mơ hình ứng dụng khai phá ý kiến phản hồi khách hàng website dựa SVM Các bước trình phân lớp văn thực sau: 17 Tập liệu phân lớp Dữ liệu website bán hàng trực tuyến Module phân lớp liệu (SVM) Module thu thập liệu Phản hồi khách Hàng Module tiền xử lý liệu Tập đặc trưng (các thuộc tính) Hình 3.1 Mơ hình tốn khai phá ý kiến phản hồi khách hàng website dựa SVM 3.1.2.1 Thu thập liệu Thu thập liệu phục vụ cho công việc phân loại (SVM) khâu quan trọng, cần tập liệu huấn luyện đủ lớn để áp dụng thuật toán học phân loại 18 Dữ liệu sử dụng trình thử nghiệm thu thập từ trang http://www.amazon.com 3.1.2.2 Tiền xử lý liệu Quá trình tách từ Với tập văn đầu vào, thông qua module tách từ, từ trongvăn nhận biết, từ biểu diễn cặp dấu ngoặc vuông ( / / ) cách kí tự trắng Quá trình loại bỏ từ dừng Từ dừng (stop-words) dùng để từ mà xuất nhiều văn toàn tập kết quả, thường khơng giúp ích việc phân biệt nội dung tài liệu Loại bỏ tiền tố hậu tố Loại bỏ tiền tố hậu tố (tiếng Anh Stemming) tiến hành việc loại bỏ tiền tố hậu tố từ để biến đổi thành từ gốc Biểu diễn văn mơ hình không gian vector 19 Phương pháp biểu diễn văn theo không gian vector dựa vào tần suất, coi hướng tiếp cận tương đối đơn giản hiệu để biểu diễn văn Trong mô hình tần suất, ma trận W={wij} xác định dựa tần số xuất thuật ngữ 𝑡𝑖 văn 𝑑𝑗 toàn tập văn D Phương pháp TF × IDF Phương pháp này, thực chất kết hợp phương pháp dựa tần số thuật ngữ (TF-Term Frequency) Phương pháp dựa nghịch đảo tần số văn (IDF Inverse Document Frequency ) Theo phương pháp này, trọng số wijđược tính tần số xuất thuật ngữ ti văn djvà khả xuất thuật ngữ ti văn khác, cụ thể: m log( f ij ) log hi wij hi 0 ngược lại 3.1.2.3 Module phân lớp liệu (3.6) 20 Thuật toán SVM xem vector 𝑥𝑖 vector đặc trưng biểu diễn cho phản hồi khách hàng 𝑦𝑖 nhãn phân loại liệu huấn luyện Các phản hồi biễu diễn thành dạng vector Ta tìm siêu mặt phẳng H định tốt chia điểm không gian thành hai lớp riêng biệt tương ứng lớp tích cực (+) lớp tiêu cực (–) Mục đích thuật tốn SVM tìm khoảng cách biên lớn Vậy với phản hồi phân loại theo công thức (2.16) Với vector phản hồi, kiểm tra điều kiện f(x*) > nghĩa tích cực, ngược lại tiêu cực 3.1.2.4 Phương pháp đánh giá hiệu phân lớp Giả sử ta qui định sau: - Tỷ lệ tích cực TP (True Positive) - Tỷ lệ tích cực sai FP (False Positive - Tỷ lệ tiêu cực sai FN (False Negative) - Tỷ lệ tiêu cực TN (True Negative) 21 Hiệu (hay độ xác) hệ thống phân lớp, đánh giá công thức sau: Pr ecision Re call TP TP FP TP TP FN F score * recall * precision recall precision 3.2 Yêu cầu phần cứng phần mềm 3.2.1 Cấu hình máy thực nghiệm Hệ điều hành: Microsoft Windows Bộ xử lý: Intel(R) Core(TM) i3 CPU M460 @ 2.53GHz Bộ nhớ Ram: 2.00 GB 3.2.2 Công cụ phần mềm sử dụng WEKA công cụ phần mềm viết Java, Weka phần mềm nguồn mở khai phá liệu phát triển đại học University of Waikato, nước New Zealand 3.3 Một số kết đánh giá 22 3.3.1 Kết thử nghiệm Việc phân loại phản hồi khách hàng đánh giá theo nhiều tiêu chí nhưđộ nhạy (recall), độ xác (precision), độ xácphân loại chung tức phần trăm phản hồiđược phân loại đúngkhông phụ thuộc vào làphản hồi tích cực hay tiêu cực Tiến hành chạy thử nghiệm với kích thước tập huấn luyện tập kiểm tra khác nhau: Bảng 3.2: Bảng tổng hợp kết huấn luyện Lượt Tập huấn Tập Kiểm Tỉ lệ phân Tỉ huấn luyện thử loại luyện Lần phân loại sai Chiếm Khơng có 91,2% 8.8% Lần Chiếm 2/3 Chiếm 1/3 90,5% 9.5% Lần Chiếm Chiếm 88,2% 11.8% 50% 50% Chiếm Chiếm 95,7% 4.3 % 100% Lần lệ 23 Lần 75% 25% Chiếm Chiếm 80% 20% 91,5% 8.5% Qua số lần thử nghiệm với kích thước tập huấn luyện tập kiểm tra khác nhau, ta thấy trường hợp tập huấn luyện chiếm 75% tập kiểm tra chiếm 25% cho kết tốt 3.3.2 Đánh giá kết So sánh độ xác phương pháp thử nghiệm, nhận thấy hiệu phương pháp SVM tốt, với độ xác ~ 92% Từ kết kết luận SVM ứng dụng hiệu để giải toán phân loại ý kiến phản hồi khách hàng website KẾT LUẬN Luận văn nghiên cứu tổng quan học máy sâu nghiên cứu thuật toán học máy SVM – phương pháp học máy có giám sát sử dụng phổ biến 24 Trên sở đó, luận văn triển khai xây dựng mơ hình ứng dụng SVM việc giải toán khai phá ý kiến người dùng website Cụ thể, luận văn đạt kết sau: - Nghiên cứu tổng quan học máy toán khai phá ý kiến phản hồi khách hàng ứng dụng lĩnh vực cơng nghệ thông tin - Nghiên cứu phương pháp học máy SVM – trình bày sở thuật tốn học máy SVM, dạng SVM ứng dụng SVM - Từ nghiên cứu xây dựng mơ hình phân loại ý kiến phản hồi khách hàng website bao gồm việc xây dựng mơ hình, thử nghiệm mơ hình, kết nhận xét kết Các kết nghiên cứu sử dụng làm sở cho việc xây dựng hệ thống phân loại phản hồi khách hàng website ... nhóm nghiên cứu sử dụng SVM có kết tốt 16 Chương – ỨNG DỤNG SVM VÀO BÀI TOÁN KHAI PHÁ Ý KIẾN PHẢN HỒI KHÁCH HÀNG TRÊN WEBSITE 3.1Xây dựng mô hình ứng dụng khai phá ý kiến phản hồi khách hàng website. .. học máy SVM – trình bày sở thuật tốn học máy SVM, dạng SVM ứng dụng SVM Chương - Ứng dụng SVM vào toán khai phá ý kiến phản hồi khách hàng website – xây dựng mơ hình ứng dụng SVM vào việc giải toán. .. tài ? ?Nghiên cứu thuật toán học máy SVM ứng dụng toán khai phá ý kiến phản hồi khách hàng website? ?? làm đề tài luận văn thạc sỹ Luận văn gồm chương với nội dung sau: Chương – Tổng quan học máy toán