Với lượng dữ liệu text sẵn có lớn như vậy cộng thêm nhu cầu của con người muốn khai thác hay phân tích các khía cạnh liên quan đến quan điểm thì việc nghiên cứu bài toán khai phá quan đi
Trang 1MỤC LỤC
LỜI CAM ĐOAN 1
MỤC LỤC 2
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 4
DANH MỤC CÁC BẢNG 5
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 6
MỞ ĐẦU 7
CHƯƠNG 1 – GIỚI THIỆU 8
1.1 Lý do chọn đề tài 8
1.2 Mục tiêu, phạm vi nghiên cứu của đề tài 10
CHƯƠNG 2 – KHAI PHÁ QUAN ĐIỂM VÀ ỨNG DỤNG 11
2.1 Khai phá quan điểm (Opinion mining) 11
2.1.1 Các khái niệm liên quan 11
2.1.2 Khai phá quan điểm 12
2.1.3 Động lực và Ứng dụng của Khai phá quan điểm 13
2.1.4 Thách thức của Khai phá quan điểm 14
2.1.5 Các mức văn bản trong bài toán khai phá quan điểm 15
2.2 Các thuật toán học có giám sát 15
2.2.1 Học máy - Machine Learning 16
2.2.2 Học có giám sát - Supervised Learning 18
2.2.3 Thuật toán học có giám sát Support Vector Machines (SVM) 19
2.2.4 Các thuật toán học có giám sát khác 24
2.3 Các thuật toán học bán giám sát 25
2.3.1 Thuật toán Co-training 26
2.3.2 Thuật toán bán giám sát cực đại EM đại phương 28
2.3.3 Thuật toán Self-training 29
2.4 Phương pháp đánh giá bộ phân lớp 30
2.5 Kết luận 31
CHƯƠNG 3 – ỨNG DỤNG HỌC BÁN GIÁM SÁT VÀO BÀI TOÁN KHAI PHÁ QUAN ĐIỂM 33
3.1 Tổng quát về hướng tiếp cận và giải quyết bài toán 33
3.2 Lựa chọn dữ liệu 34
3.2.1 Kho tài liệu MPQA2.0(Multi-Perspective Question Answering) 35 3.2.2 SentiWordNet 39
Trang 23.3 Trích chọn đặc trưng và xác định nhãn 40
3.3.1 Đặc trưng SentiWordNet Score (SS) 40
3.3.2 Đặc trưng POS Statistics (PS) 41
3.3.3 Đặc trưng Word Count (WC) 44
3.3.4 Đặc trưng TFIDF 45
3.3.5 Xác định nhãn về tính chủ quan (sự tồn tại cảm nghĩ) 47
3.3.6 Xác định nhãn về tính phân cực cảm nghĩ 47
3.4 Tiền xử lý dữ liệu 48
3.5 Chuẩn bị dữ liệu 48
3.5.1 Thống kê dữ liệu sau tiền xử lý 49
3.5.2 Các tiêu chí chuẩn bị dữ liệu 50
3.5.3 Các cách chọn dữ liệu 50
3.6 Huấn luyện, đánh giá 53
3.6.1 Thư viện LibSVM 54
3.6.2 Học có giám sát 55
3.6.3 Học bán giám sát Co-training 55
3.7 Kết luận 55
CHƯƠNG 4 – THỰC NGHIỆM 56
4.1 Thực nghiệm 1 56
4.2 Thực nghiệm 2 57
4.3 Thực nghiệm 3 60
KẾT LUẬN 62
5.1 Kết luận 62
5.1.1 Những kết quả chính đạt được 62
5.1.2 Nhược điểm 62
5.2 Hướng phát triển 62
5.2.1 Khắc phục nhược điểm 62
5.2.2 Mở rộng, ứng dụng cho tiếng Việt 63
TÀI LIỆU THAM KHẢO 64
PHỤ LỤC 1 65
Trang 3DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
ICML/COLT: International Conference on Machine Learning and Annual Conference on Learning Theory
TFIDF: Term Frequency Inverse Document Frequency
Trang 4DANH MỤC CÁC BẢNG
Bảng 2.1 Cách xác định các giá trị TP, TN, FP, FN 30
Bảng 3.1 Bảng danh sách các từ cùng với bộ 3 giá trị SentiWordNet 41
Bảng 3.2 Bảng mô tả chi tiết các kí hiệu từ loại 42
Bảng 3.3 Xác định từ loại của các từ trong câu 44
Bảng 3.4 Các thông số liên quan đến đặc trƣng TFIDF 45
Bảng 3.5 Thông số TFIDF của những từ thuộc câu s1 46
Bảng 3.6 Thông số TFIDF của những từ thuộc câu s2 46
Bảng 3.7 Thống kê dữ liệu tập con ORI 49
Bảng 3.8 Thống kê dữ liệu tập con ULA 49
Bảng 3.9 Thống kê dữ liệu tập con XBANK 50
Bảng 3.10 Chọn dữ liệu cho Thực nghiệm 1 51
Bảng 3.11 Chọn dữ liệu cho Thực nghiệm 2 52
Bảng 3.12 Chọn dữ liệu cho Thực nghiệm 3 53
Bảng 4.1 Kết quả của Thực nghiệm 1 theo nhãn tính chủ quan 56
Bảng 4.2 Kết quả của Thực nghiệm 1 theo nhãn tính phân cực cảm nghĩ 57
Bảng 4.3 Các đặc trƣng, thông số tốt nhất cho từng bài toán phân lớp con 57
Bảng 4.4 Số lƣợng mẫu huấn luyện/đánh giá dùng cho Thực nghiệm 2 58
Bảng 4.5 Kết quả của Thực nghiệm 2 theo nhãn tính chủ quan 59
Bảng 4.6 Kết quả của Thực nghiệm 2 theo nhãn tính phân cực cảm nghĩ 59
Bảng 4.7 Kết quả Thực nghiệm 3 khi chọn L, U theo tỉ lệ 10%, 70% 60
Bảng 4.8 Kết quả Thực nghiệm 3 khi chọn L, U theo tỉ lệ 20%, 60% 60
Bảng 4.9 Kết quả Thực nghiệm 3 khi chọn L, U theo tỉ lệ 30%, 50% 61
Bảng 4.10 Kết quả Thực nghiệm 3 khi chọn L, U theo tỉ lệ 40%, 40% 61
Bảng 4.11 Kết quả Thực nghiệm 3 khi chọn L, U theo tỉ lệ 50%, 30% 61
Bảng 4.12 Kết quả Thực nghiệm 3 khi chọn L, U theo tỉ lệ 60%, 20% 61
Trang 5DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 2.1 Minh họa về “Máy học” 17
Hình 2.2 Minh họa các hướng nghiên cứu học máy 18
Hình 2.3 Mối quan hệ giữa các siêu phẳng phân cách 21
Hình 2.4 Siêu phẳng tối ưu và biên 22
Hình 3.1 Mô hình minh họa các bước giải quyết bài toán 34
Hình 3.2 Cấu trúc lưu trữ của kho dữ liệu MPQA2.0 37
Hình 3.3 Minh họa vị trí của một từ có tính cảm nghĩ tiêu cực trong SentiWordNet 40
Hình 3.4 Tiền xử lý dữ liệu 48
Hình 3.5 Chuẩn bị dữ liệu 49
Hình 3.6 Huấn luyện, đánh giá 53
Trang 6MỞ ĐẦU
Ý kiến đánh giá của khách hàng, người dùng, cá nhân về một sản phẩm, dịch vụ, chính sách hay một vấn đề nào đó tồn tại với số lượng lớn trong kho lưu trữ của các công ty, trên mạng internet Đối với các công ty, việc khai thác lượng thông tin này giúp họ hiểu rõ hơn về khách hàng, sản phẩm, dịch vụ của mình Với các tổ chức, chính phủ thì đây cũng là một nguồn cung cấp thông tin hữu ích hỗ trợ cho việc ra quyết định, điều chỉnh chính sách
Bên cạnh các thuật toán học có giám sát, thì các thuật toán học bán giám sát cũng là một hướng nghiên cứu có nhiều ứng dụng trong thực tế Đề tài này hướng tới tìm hiểu một thuật toán học cộng tác - một trong các thuật toán học bán giám sát - và ứng dụng vào bài toán khai phá quan điểm Do đặc điểm chỉ cần lượng nhỏ dữ liệu đã được gắn nhãn cùng với lượng lớn dữ liệu chưa được gắn nhãn làm dữ liệu huấn luyện Điều này giúp cho việc thu thập, gắn nhãn cho tập dữ liệu huấn luyện ít tốn kém hơn
Những nghiên cứu, luận văn liên quan đến phân tích tính chủ quan và phân tích cảm nghĩ ở nhiều các mức khác nhau cũng như liên quan đến kỹ thuật Co-training cũng đã xuất hiện nhiều Tuy nhiên việc kết hợp chúng lại với nhau, dùng kỹ thuật Co-training vào phân tích tính chủ quan và phân tích cảm nghĩ, thì chưa được phổ biến nhiều qua các bài báo, bằng cả tiếng Việt và tiếng Anh, được công khai trên mạng Ngoài ra việc phân tích ở mức câu cũng là một trở ngại so với ở mức tài liệu [5]
Đề tài luận văn này định hướng giải quyết bài toán phân lớp các câu cảm nghĩ như sau: Cho một tập văn bản gồm nhiều câu văn tiếng Anh Phân lớp xem câu nào là câu mô tả cảm nghĩ, câu nào không Đối với những câu mô tả cảm nghĩ, dùng bộ phân lớp phân cực để xác định đó là câu mô tả cảm nghĩ tích cực, tiêu cực hay trung lập Trong đó, các bộ phân lớp được xây dựng dựa trên kỹ thuật Co-training
Trên cơ sở định hướng đó, nội dung trình bày báo cáo luận văn bao gồm: (1) lý do, mục tiêu của đề tài và các đề tài nghiên cứu liên quan – Chương 1; (2) trình bày các kiến thức cơ sở liên quan – Chương 2; (3) cách tiếp cận và giải quyết bài toán – Chương 3; (4) thực nghiệm và các kết quả - Chương 4; (5) kết luận và hướng phát triển của đề tài
Trang 7CHƯƠNG 1 – GIỚI THIỆU 1.1 Lý do chọn đề tài
Khai phá dữ liệu (KPDL) là một chuyên ngành mới, thu hút được nhiều nghiên cứu trong thời gian gần đây Hướng tiếp cận và giải quyết vấn đề dựa trên KPDL là hoàn toàn khác so với cách xử lý Cơ sở dữ liệu (CSDL) truyền thống Trong xử lý CSDL truyền thống, các thao tác xử lý chỉ có thể truy xuất và đưa ra các thông tin đã có dưới dạng liệt kê các giá trị dựa trên tính toán, thống
kê các giá trị bản ghi hoặc một báo cáo gồm tập hợp nhiều giá trị bản ghi, giá trị tính toán, thống kê khác nhau KPDL có thể đưa ra kết quả là những tri thức tiềm ẩn trong tập dữ liệu mà các xử lý truyền thống như trước đây không thể truy vấn được
Trong KPDL, dữ liệu thích hợp là vấn đề quan trọng đầu tiên để có thể khám phá được tri thức có giá trị Tùy vào cấu trúc của dữ liệu mà KPDL sẽ có tên gọi tương ứng thích hợp Riêng đối với dữ liệu text thì được gọi là Khai phá text Dữ liệu dạng text là dạng dữ liệu tự nhiên và chiếm tỉ lệ nhiều nhất trong các dạng dữ liệu mà con người tạo ra Trên Internet, có khoảng 3 tỉ tài liệu dạng text được đánh chỉ số bởi các máy tìm kiếm phổ biến nhất (Sullivan, 2005) Trong các công ty, lượng lớn dữ liệu text trong thư điện tử, ghi chú, trang cổng thông tin, tài liệu công ty được số hóa Một số ước lượng chỉ ra rằng có đến 85% lượng dữ liệu công ty được lưu trữ dưới dạng tài liệu text không có cấu trúc (McKnight, 2005) Việc khai thác tri thức từ lượng thông tin này là một yêu cầu thiết thực đối với nhân loại
Dữ liệu text thường ẩn chứa rất nhiều tri thức có giá trị mà con người tạo
ra nhằm chia sẻ với mọi người về các kinh nghiệm đã trãi qua Do đó, mỗi khi cần đưa ra một quyết định gì, chúng ta thường tham khảo đến những kinh nghiệm của người đi trước bằng cách tìm kiếm trên Internet Với các công cụ Khai phá quan điểm, thì việc trích xuất những tri thức này sẽ được thực hiện một cách tự động và có hệ thống Giúp chúng ta nắm bắt được các khía cạnh liên quan đến quan điểm của công chúng về một vấn đề nào đó cần quan tâm Từ đó giúp cho việc ra quyết định có cơ sở vững chắc
Với lượng dữ liệu text sẵn có lớn như vậy cộng thêm nhu cầu của con người muốn khai thác hay phân tích các khía cạnh liên quan đến quan điểm thì việc nghiên cứu bài toán khai phá quan điểm chắc chắn sẽ có nhiều ứng dụng trong tương lai
Trang 8Trong bài toán khai phá quan điểm, có 2 bài toán phân lớp con là phân lớp
sự tồn tại của cảm nghĩ và phân lớp tính phân cực của cảm nghĩ Nói đến phân lớp thì được hiểu là học có giám sát, trong đó mô hình / hàm phân lớp được xây dựng từ tập dữ liệu có nhãn Do vậy dữ liệu chưa được gán nhãn là vô dụng đối với học có giám sát Nếu tận dụng được cả dữ liệu chưa có nhãn mà có thể nâng cao được hiệu năng so với học có giám sát thì sẽ được lợi là không phải làm việc gán nhãn một cách thủ công với những dữ liệu chưa có nhãn có thể được thu thập một cách dễ dàng Việc tận dụng cả dữ liệu chưa được gán nhãn để xây dựng mô hình / hàm phân lớp tốt hơn như vậy được gọi là học bán giám sát
Chính vì những lý do nêu trên mà đề tài được định hướng giải bài toán khai phá quan điểm dựa trên học bán giám sát
Những vấn đề liên quan trọng Khai phá quan điểm cần được tham khảo từ những đề tài, nghiên cứu khác bao gồm: các đặc trưng, thuật toán Co-training, thuật toán phân lớp trong bài toán khai phá quan điểm Mỗi vấn đề tồn tại trong rất nhiều nghiên cứu đã được công bố Ở đây chỉ liệt kê một hoặc hai nghiên cứu tiêu biểu nhất cho mỗi vấn đề
Liên quan đến trích chọn đặc trưng trong bài toán Khai phá quan điểm, có nhiều nghiên cứu, trong đó tiêu biểu là “Sentence Level Subjectivity and Sentiment Analysis Experiments in NTCIR-7 MOAT Challenge” [3] Nghiên cứu này có cách tiếp cận 2 bài toán phân lớp ở mức câu trong Khai phá quan điểm trên các tập dữ liệu khác nhau, trong đó các thực nghiệm được tiến hành với nhiều đặc trưng câu khác nhau được chia thành các nhóm đặc trưng nhất định
Về thuật toán Co-training, có rất nhiều nghiên cứu tiếp theo sau bài báo của Tom Mitchell, tác giả đề xuất ra giải thuật Tuy nhiên, nghiên cứu của chính tác giả, đạt giải thưởng bài báo xuất sắc nhất của ICML năm 1998 (Best paper of ICML 1998) và giải thưởng bài báo xuất sắc nhất trong 10 năm của ICML/COLT (ICML/COLT 10-Year Best Paper Award) vào năm 2008, là cơ bản nhất
“Combining Labeled and Unlabeled Data with Co-Training” [4], của hai tác giả Avrim Blum và Tom Mitchell, năm 1998: đề xuất thuật toán Co-Training
và chứng minh được tính hiệu quả của nó so với phân lớp dựa trên học máy có giám sát
Thuật toán phân lớp được sử dụng phổ biến trong khai phá quan điểm là Support Vector Machine (SVM) Nghiên cứu của hai tác giả Vũ Thanh Nguyên,
Trang 9Trang Nhật Quang từ Đại học Quốc gia thành phố Hồ Chí Minh, “Ứng dụng thuật toán phân lớp rút trích thông tin văn bản FSVM trên Internet” [2] nêu lên tầm quan trọng của việc chọn hàm thành viên trong SVM
Những cách giải quyết trong luận văn này có một phần được tham khảo từ những nghiên cứu liên quan nêu trên, một phần được rút ra từ những những thử nghiệm có kết quả cao Đánh giá chung thì cách tiếp cận trong luận văn cho các
độ đo (độ chính xác, …) nằm trong khoảng giữa của mức cao nhất và mức thấp nhất được kết luận trong các nghiên cứu trên Đồng thời kết quả trong phạm vi luận văn này (Chương 4) không trái ngược với các kết quả của các công trình nghiên cứu liên quan được liệt kê và không được liệt kê ở đây
1.2 Mục tiêu, phạm vi nghiên cứu của đề tài
Mục tiêu chính của đề tài là đưa ra được so sánh đánh giá giữa một thuật toán học bán giám sát và một thuật toán học có giám sát trên cùng tập dữ liệu huấn luyện có nhãn và tập dữ liệu đánh giá Cụ thể là đưa ra được các số liệu thực nghiệm chứng minh Co-training có các số đo tốt hơn so với một thuật toán học có giám sát trên cùng tập dữ liệu Đồng thời đưa ra được các tham số tối ưu cho Co-training qua thực nghiệm trên các tập dữ liệu huấn luyện và đánh giá khác nhau được trích xuất từ kho dữ liệu MPQA2.0 Việc chọn kho dữ liệu MPQA, tiếng Anh, xuất phát từ nguyên nhân khách quan là do chưa có tập dữ liệu nào bằng tiếng Việt được tạo ra để phục vụ cho việc nghiên cứu Khai phá quan điểm Hơn nữa các nghiên cứu về xử lý ngôn ngữ tiếng Việt cũng chưa được công bố nhiều
Để đạt được mục tiêu trên, nghiên cứu sẽ được tiến hành qua các bước: tìm hiểu về kho dữ liệu MPQA2.0; nghiên cứu các đặc trưng câu và cách trích xuất; các bước tiền xử lý và chuẩn bị dữ liệu cho phân lớp, cài đặc hai bộ phân lớp con riêng lẻ, hai bộ phân lớp con dựa trên Co-training với các nhãn phân lớp tương ứng là nhãn về sự tồn tại cảm nghĩ và nhãn về tính phân cực cảm nghĩ ở mức câu; cuối cùng thực hiện huấn luyện và đánh giá trên cùng các tập huấn luyện và đánh giá; tổng hợp các kết quả và đánh giá
Trang 10CHƯƠNG 2 – KHAI PHÁ QUAN ĐIỂM VÀ ỨNG DỤNG
2.1 Khai phá quan điểm (Opinion mining)
2.1.1 Các khái niệm liên quan
a “Opinion” (ý kiến, quan điểm) được từ điển “Oxford Advanced Learner’s Dictionary” định nghĩa là “your feelings or thoughts about sb/sth, rather than a fact” Dịch ra tiếng Việt là “cảm xúc hoặc suy nghĩ về người/vật chứ không phải là một sự thật”
b “Ý kiến” theo “Từ điển Bách khoa toàn thư Việt Nam” (bachkhoatoanthu.gov.vn): “trong triết học cổ đại, là một loại tri thức cấp thấp, và trái với khoa học, không được biện minh bằng một suy lí
Do đó YK có thể xác thực, có thể không xác thực, không phù hợp với chân lí Với Platôn (Platôn; nhà triết học Hi Lạp cổ đại), YK phải là một tri thức đúng, nhưng không thể biện minh, không thể đem ra giảng dạy được Phái Êlêa [mang tên thành phố cổ Êlêa (Elea; Hi Lạp)] quan niệm YK là tri thức dựa trên những tri giác cảm tính và chỉ cho biết được bề ngoài sự vật thôi, YK khác với nhận thức duy lí là nhận thức chân lí Với Arixtôt (Aristote; nhà triết học Hi Lạp cổ đại), YK khác với tri thức khoa học, vì tri thức khoa học là tri thức nhận thức được cái tất yếu và cái phổ biến.”
Dựa trên sự tồn tại của cảm nghĩ mà thông tin dạng text có thể được chia làm hai loại chính, đó là sự thật và cảm nghĩ Sự thật (không mang cảm nghĩ) là những phát biểu khách quan về các thực thể và các sự kiện trên thế giới Cảm nghĩ là những phát biểu thể hiện cảm nghĩ hoặc nhận thức của con người về các thực thể hoặc các sự kiện
Trong lĩnh vực Khai phá quan điểm, quan điểm có thể được định nghĩa là: một cách nhìn nhận, thái độ, sự đánh giá về một đối tượng từ một chủ thể giữ quan điểm Trong đó:
Chủ thể giữ quan điểm (Opinion Holder): có thể là người hoặc tổ chức đưa ra quan điểm
Đối tượng (Object/Target): hay mục tiêu của quan điểm là đối tượng mà quan điểm nhắm tới có thể là một sản phẩm, chủ đề, người, sự kiện hoặc tổ chức
Trang 11 Dựa trên sự tồn tại cảm nghĩ mà một quan điểm có thể được chia làm 2 loại là khách quan và chủ quan
Nếu dựa trên tính phân cực thì có 3 loại chính là tích cực, tiêu cực hay trung lập Trên thực tế thì tùy theo từng trường hợp cụ thể mà
có thể chia làm nhiều mức hơn
c Từ dừng (Stop word): là những từ rất hay xuất hiện trong tài liệu và được cho là không ảnh hưởng đến chất lượng phân lớp nên trong một
số trường hợp có thể loại bỏ từ dừng khỏi câu trước khi trích chọn đặc trưng Không có một danh sách các từ dừng cố định nào Trong luận văn này, danh sách từ dừng được lấy từ thư viện Patern2.0 và được liệt
kê trong Phụ Lục 1 Việc loại bỏ từ dừng khỏi câu chính là việc loại bỏ những từ của câu thuộc danh sách từ dừng nêu trên
d Lemma: theo từ điển Oxford nâng cao (Oxford Advanced Learner’s Dictionary) lemma là dạng cơ bản của một từ, ví dụ là dạng số ít của danh từ hay dạng nguyên thể của động từ, vì vậy được liệt kê trong chỉ mục của từ điển
2.1.2 Khai phá quan điểm
Khai phá quan điểm, một dạng của xử lý ngôn ngữ tự nhiên, là một lĩnh vực nghiên cứu mới nhằm trích rút thông tin về cảm nghĩ từ các nguồn dữ liệu text Cụ thể, Khai phá quan điểm bao gồm phân tích tính chủ quan và tính cảm nghĩ trong văn bản (Subjectivity and Sentiment Analysis) Trong đó, phân tích tính chủ quan hướng đến việc tự động nhận ra nội dung nào là chủ quan, nội dung nào là khách quan Phân tích cảm nghĩ liên quan đến một số xử lý chính như: (1) xác định tính phân cực (polarity) của nội dung cảm nghĩ, (2) xác định đối tượng của cảm nghĩ, (3) xác định chủ thể đưa ra cảm nghĩ [3]
Phân tích tính chủ quan là quá trình thực hiện phân loại một nội dung dạng text thành một trong hai loại là Khách quan (Subjective) hoặc Chủ quan (Objective)
Về tính phân cực thì các nghiên cứu đưa ra nhiều mức độ phân loại khác nhau, luận văn này chọn cách phân loại thành 3 lớp chính dựa trên phân loại của MPQA2.0, đó là Tích cực (Positive), Tiêu cực (Negative) và Trung lập (Neutral)
Trong phạm vi luận văn này, phân tích tính chủ quan là phân lớp tính chủ quan (Subjectivity Classification) Phân tích cảm nghĩ dừng lại ở phân lớp tính
Trang 12phân cực (Polarity Classification) Mức text ở đây là câu, cụ thể là câu văn tiếng Anh Việc lựa chọn ngôn ngữ tiếng Anh là do tính sẵn có của bộ dữ liệu được đưa ra phục vụ cho mục đích nghiên cứu
Các bài toán phân lớp này cũng tương tự nhưng có điểm khác với phân lớp text theo chủ đề, theo đó các tài liệu được phân loại vào các chủ đề định trước, ví dụ như chính trị, khoa học, và thể thao Trong phân lớp theo chủ đề, các từ liên quan đến chủ đề đóng vai trò quan trọng Tuy nhiên, trong phân lớp cảm nghĩ, những từ liên quan đến chủ đề không được coi trọng Thay vào đó là những từ ngữ hàm chứa cảm nghĩ cho phép xác định tính tích cực hay tiêu cực như là “great”, “excellent”, ”amazing”, “horrible”, “bad”, “worst”,… Các khái niệm liên quan đến phân lớp sẽ được trình bày chi tiết trong mục 2.2 và 2.3
Hệ thống khai phá quan điểm là hệ thống phần mềm có khả năng trích xuất tri thức từ những mẫu trong một CSDL đồng thời cũng có khả năng cập nhật thêm dữ liệu mới nhằm nâng cao hiệu năng theo thời gian Xử lý của hệ thống có thể đơn giản là học từ một tập các từ vựng được đánh nhãn theo cảm nghĩ tích cực hoặc tiêu cực, hoặc phứt tạp hơn như phân tích tính chủ quan, tính tích cực của văn bản và thậm chí đưa ra chủ thể và đối tượng của đánh giá
2.1.3 Động lực và Ứng dụng của Khai phá quan điểm
Quan điểm đóng một vai trò rất quan trọng trong các tiến trình ra quyết định Khi cần đưa ra một lựa chọn, con người thường có xu hướng lắng nghe các ý kiến của người khác trước tiên Đặc biệt hơn, khi các quyết định có liên quan đến những tài nguyên có giá trị, như là thời gian hay tiền của, chúng ta rất coi trọng việc dựa vào những kinh nghiệm của người khác Những năm trước đây, nguồn tham khảo kinh nghiệm chủ yếu của chúng ta là từ bạn bè, người thân và, trong một số trường hợp, là các tạp chí hay website chuyên ngành
Các website từ chỗ chỉ cho phép đọc thông tin như trước kia nay đã cho phép người dùng tạo và chia sẻ các nội dung cá nhân, các ý kiến và quan điểm với hàng triệu người một cách nhanh chóng và thuận tiện thông qua kết nối WWW Đây chính là nguồn tham khảo quan điểm công chúng
về các sự kiện chính trị xã hội, các chiến lược phát triển công ty, các chiến dịch tiếp thị, và thị hiếu về các sản phẩm không chỉ cho các nhà chính trị, các nhà khoa học mà cho cả giới lãnh đạo các doanh nghiệp
Khai phá quan điểm có nhiều ứng dụng hữu ích trong thực tế Ví dụ như trong ngành tiếp thị, giúp đánh giá mức độ thành công của một chiến dịch quảng
Trang 13cáo hay đưa ra sản phẩm mới, giúp xác định phiên bản nào của sản phẩm hoặc dịch vụ được người dùng ưa chuộng và cụ thể hơn là giúp chỉ ra những tính năng nào được hoặc không được ưa chuộng Ví dụ, một ý kiến có thể đánh giá cao về tổng thể về một máy ảnh, nhưng ngược lại có thể đánh giá tiêu cực về trọng lượng của nó Việc thu thập và xác định được những thông tin kiểu này một cách có hệ thống, thông qua hệ thống khai phá quan điểm, sẽ giúp nhà sản xuất có thể có cái nhìn rõ ràng và nhanh chóng hơn về ý kiến của người dùng so với việc tiến hành điều tra ý kiến khách hàng Những ý kiến này được chính khách hàng đưa ra và tồn tại sẵn có trên mạng Internet để có thể được thu thập thay vì như trước đây các nhà sản xuất thường chi nhiều tiền để biết được thị hiếu của khách hàng thông qua các chiến dịch điều tra khách hàng
Đối với cá nhân thì những công cụ khai phá quan điểm giúp thu thập và phân tích ý kiến của người khác về những vấn đề quan tâm như khi cần mua một sản phẩm, dùng một dịch vụ hoặc khi cần tìm hiểu các ý kiến về một vấn đề chính trị nào đó
Ngoài ra, khai phá quan điểm có một ứng dụng khá thú vị là đặt quảng cáo theo ngữ cảnh trên các nội dung do người dùng tạo ra trên mạng Khi nội dung có chứa lời khen một sản phẩm thì đặt quảng cáo của công ty mình Và đặt quảng cáo của công ty đối thủ nếu người dùng phê bình sản phẩm
2.1.4 Thách thức của Khai phá quan điểm
Mặc dù việc nghiên lĩnh vực này là cần thiết, nhưng do là lĩnh vực mới nên nó có nhiều thách thức Hầu hết những khó khăn này bắt nguồn từ sự giàu đẹp của ngôn ngữ mà con người sử dụng Hơn nữa, tùy thuộc vào trình độ kiến thức, nghề nghiệp, tuổi tác… mà con người có cách hành văn khác nhau
Một từ có thể được xem là mang cảm nghĩ tích cực trong một tình huống này có thể được xem là tiêu cực trong một tình huống khác Lấy ví dụ như từ
"long" trong tiếng Anh, có nghĩa là “dài” hoặc “lâu” Nếu một khác hàng nhận xét rằng thời gian sử dụng pin là “long”, thì đây là một ý kiến tích cực Ngược lại, nếu khách hàng cho rằng thời gian khởi động của máy là “long”, thì ý kiến này là tiêu cực Sự khác biệt trong ngữ cảnh này dẫn đến hệ thống khai phá quan điểm cần phải được chuyên biệt hóa
Một khó khăn nữa là, trong khai phá quan điểm sự khác biệt nhỏ nhất về
từ ngữ giữa hai mẫu văn bản cũng có thể dẫn đến khác biệt lớn về ngữ nghĩa Ví
dụ, giữa hai câu khác nhau ở một từ “not”, nghĩa là “không”, sẽ có ý nghĩa hoàn toàn trái ngược nhau
Trang 14Cuối cùng, trong một bài viết thường tồn tại các phát biểu mâu thuẫn nhau Hầu hết các đánh giá bao gồm cả ý kiến tích cực lẫn ý kiến tiêu cực, điều này có thể xử lý được bằng cách phân tích từng câu một Tuy nhiên, đối với những câu dạng văn nói ngắn gọn hoặc không theo quy phạm, thì người nói thường lồng nhiều ý kiến vào trong một câu
2.1.5 Các mức văn bản trong bài toán khai phá quan điểm
Khai phá quan điểm liên quan đến thái độ, ý kiến và trạng thái cảm xúc của người nói hoặc người viết nên các phương thức phân tích cũng khá phứt tạp Định lượng cảm nghĩ là một việc khó
Nội dung ở tất cả các mức text đều có thể chứa một mức độ cảm xúc nào
đó Nên Khai phá quan điểm cũng có thể thực hiện ở các mức nội dung khác nhau Có thể thực hiện phân tích cảm nghĩ ở mức tài liệu, mức đoạn văn, mức câu, mức cụm từ hoặc kết hợp những mức này với nhau
a Mức tài liệu (Document Level): đây là mức được quan tâm đầu tiên và nhiều nhất trong các mức Trong đó các đặc trưng và nhãn mức tài liệu được thu thập và tập hợp để xử lý Với mức tài liệu, nhưng yếu tố sau đây
là quan trọng và cần được quan tâm:
Số lượng nhãn và mức độ tương đồng giữa các nhãn
Phân bố nhãn lớp phải chính xác
Độ dài tài liệu sẽ xác định mức độ khó
Kết quả phân tích quan điểm ở mức tài liệu cũng có thể được kế thừa
Tùy vào tình huống ứng dụng cụ thể mà ta chọn một mức cho bài toán phân lớp hoặc kết hợp các mức này với nhau để tạo ra một luật phân lớp dựa trên các mức phân lớp trên Hoặc cũng có thể tạo ra luật phân lớp cho mức cao hơn bằng cách đưa ra luật phân lớp dựa trên mức thấp Ví dụ, một tài liệu có thể được gán nhãn “Chủ quan” nếu tài liệu đó chứa nhiều câu có nhãn “Chủ quan” hơn là nhãn "Khách quan”
2.2 Các thuật toán học có giám sát
Trang 152.2.1 Học máy - Machine Learning
Trong [6], Tom Mitchell có định nghĩa về “Learning” và “Machine Learning” như sau:
Learning – Học: “Learning is about seeking a predictive and/or executable understanding of natural/artificial subjects, phenomena, or activities from …” Tạm dịch là “Học là tìm kiếm một hiểu biết có thể hiểu được và/hoặc có thể thực thi được về các chủ thể, hiện tượng hoặc hoạt động tự nhiên/nhân tạo từ …” Ở đây có thể ngầm hiểu là từ kinh nghiệm trong quá khứ
Machine Learning – Học máy: “Machine Learning = Study of algorithms that improve their performance P at some task T with experience E” Nghĩa là, “Học máy = Nghiên cứu các thuật toán nâng cao hiệu năng P của chúng khi thực hiện nhiệm vụ T bằng kinh nghiệm E” Hay nói cách khác là, “Một chương trình máy tính được cho là học
từ kinh nghiệm E đối với một lớp các tác vụ T và phép đo hiệu năng P, nếu hiệu năng của nó trên các tác vụ trong T, khi đo bằng P, được nâng cao nhờ vào kinh nghiệm E”
Ví dụ: Đối với bài toán nhận dạng chữ viết tay, ta có:
- Nhiệm vụ T: nhận dạng chữ viết tay trong ảnh
- Phép đo hiệu năng P: phần trăm từ được nhận dạng đúng
- Kinh nghiệm E: cơ sở dữ liệu ảnh chữ viết tay và nhận dạng chữ đúng của chúng
Trang 16Hình 2.1 Minh họa về “Máy học”
Đến nay, học máy đã được nghiên cứu theo các hướng: học không giám sát (unsupervised learning), ví dụ như gom cụm, phát hiện biên, trong đó tất cả mẫu huấn luyện không được gắn nhãn; học có giám sát (supervised learning), như là phân lớp, hồi quy, trong đó tất cả dữ liệu đều có nhãn Học bán giám sát (Semi-supervised learning - SSL) nằm giữa hai loại trên
Khi so sánh ba hướng tiếp cận này, ta thấy học có giám sát đòi hỏi đủ lượng dữ liệu có nhãn để huấn luyện bộ phân lớp chính xác Các phương pháp học không giám sát có nhiệm vụ phát hiện cấu trúc trong dữ liệu không nhãn Học bán giám sát cho phép kết hợp được ưu điểm của cả hai phương pháp trên
Trang 17Hình 2.2 Minh họa các hướng nghiên cứu học máy
Học máy có tương lai ứng dụng thiết thực vào thực tế do nó có liên quan đến tìm kiếm một giả thiết mô tả tốt nhất dữ liệu quan sát và phù hợp với tri thức nền, trong một không gian giả thiết rất lớn Tuy nhiên học máy cũng có những thách thức xung quanh những thành phần bên trong nó, như là dữ liệu học, thuật toán học, tri thức nền, hiệu năng Việc kết hợp các yếu tố này lại với nhau trong một thiết lập tối ưu là một khó khăn
2.2.2 Học có giám sát - Supervised Learning
Học có giám sát hay còn được gọi là Phân lớp, như đã nêu trong phần 2.1.4, là tiến trình khám phá các luật phân loại hay đặc trưng cho các tập dữ liệu
đã được xếp lớp Mục tiêu là xây dựng được mô hình trong đó giá trị của một biến có thể dự đoán từ các giá trị của các biến khác từ một tập dữ liệu đã biết tất
cả biến
Có thể mô tả bài toán phân lớp như sau:
Tìm hàm 𝑓: 𝑋 → 𝑌 cho trước tập dữ liệu huấn luyện 𝑥𝑖, 𝑦𝑖 Trong đó
𝑋 là không gian vector các thuộc tính quyết định có số chiều là 𝑛, 𝑌 là tập thuộc
tính phân lớp, chứa các giá trị 𝑦𝑖 rời rạc
Nếu 𝑌 = 2 thì đây là phân lớp nhị phân, nếu 𝑌 > 2 thì được gọi là phân lớp đa lớp
Quá trình phân lớp dữ liệu gồm ba bước là xây dựng mô hình, đánh giá
mô hình và vận hành mô hình
Trang 18a Xây dựng mô hình: nhằm mục tiêu mô tả một tập những bộ hoặc mẫu
dữ liệu đã được định nghĩa trước trong đó mỗi bộ sẽ được gán về một lớp được xác định bởi thuộc tính nhãn lớp Tập hợp những bộ được dùng để xây dựng mô hình được gọi là tập dữ liệu học (tập học) Mô hình học được có thể biểu diễn dưới dạng luật phân lớp, cây quyết định hoặc công thức toán học…
b Đánh giá mô hình: trước khi vận hành mô hình, cần đánh giá độ chính
xác của mô hình trên một tập dữ liệu đánh giá trong đó các mẫu (đã biết nhãn lớp) được đem so sánh với kết quả phân lớp của mô hình Độ chính xác là phần trăm của số mẫu đánh giá được phân lớp đúng Lưu
ý tập đánh giá và tập học là hai tập độc lập nhau
c Vận hành mô hình: nhằm mục đích xác định lớp của dữ liệu trong
tương lai hoặc phân lớp những đối tượng chưa biết
Học có giám sát được ứng dụng trong những tình huống cần phân loại một đối tượng, cụ thể đã được ứng dụng thành công trong những lĩnh vực như:
số lớp hạn chế ở mức hai lớp SVM được đánh giá là bộ phân lớp chính xác nhất cho bài toán phân lớp văn bản [7] Ngoài ra SVM giải quyết vấn đề overfitting (dữ liệu có nhiễu và tách rời nhóm hoặc dữ liệu huấn luyện quá ít) rất tốt
Trang 19Ý tưởng chính của SVM là chuyển tập mẫu từ không gian biểu diễn 𝑅𝑚
của chúng sang một không gian 𝑅𝑑 có số chiều lớn hơn Trong không gian 𝑅𝑑, tìm một siêu phẳng tối ưu để phân hoạch tập mẫu này dựa trên phân lớp của chúng, cũng có nghĩa là tìm ra miền phân bố của từng lớp trong không gian 𝑅𝑚
để từ đó xác định được phân lớp của 1 mẫu cần nhận dạng
Cho tập dữ liệu học 𝐷 = 𝑥𝑖, 𝑦𝑖 , 𝑖 = 1 … 𝑛 với 𝑥𝑖 ∈ 𝑅𝑚 và 𝑦𝑖 ∈ 0,1 là một số là một số nguyên xác định 𝑥𝑖 là dữ liệu dương hay âm Một tài liệu 𝑥𝑖được gọi là dữ liệu dương nếu 𝑦𝑖 = 1; 𝑥𝑖 được gọi là dữ liệu âm nếu 𝑦𝑖 = 0 Bộ phân lớp tuyến tính được xác định bằng siêu phẳng:
𝑥: 𝑓 𝑥 = 𝑤𝑇 + 𝑤0 = 0 Trong đó 𝑤 ∈ 𝑅𝑚 và 𝑤0 ∈ 𝑅 đóng vai trò là tham số của mô hình Hàm phân lớp nhị phân : 𝑅𝑚 → 0,1 , có thể thu được bằng cách xác định dấu của
𝑓 𝑥 :
= 1 𝑛ế𝑢 𝑓 𝑥 > 0
0 𝑛ế𝑢 𝑓 𝑥 ≤ 0 Học bộ phân lớp của mô hình bao gồm việc xác định 𝑤 và 𝑤0 từ dữ liệu Với thuật toán này, mỗi dữ liệu được xem là một điểm trong mặt phẳng Dữ liệu học là tách rời tuyến tính (linearly separable) nếu tồn tại một siêu phẳng sao cho hàm phân lớp phù hợp với tất cả các nhãn, tức là 𝑦𝑖 = 𝑓 𝑥𝑖 > 0, ∀𝑖 = 1 … 𝑛 Với giả thuyết này, Rosenblatt đã đưa ra một thuật toán đơn giản để xác định siêu phẳng:
Trang 20Điều kiện cần để 𝐷 tách rời tuyến tính là số dữ liệu học n= 𝐷 ≤ 𝑚 + 1 Điều này là thường đúng với bài toán phân lớp văn bản, bởi vì số lượng từ mục
có thể lên tới hàng nghìn và lớn hơn nhiều lần so với số lượng dữ liệu học
Hình 2.3 Mối quan hệ giữa các siêu phẳng phân cách
Trong Hình 2.3, giả sử rằng các dữ liệu mẫu thuộc lớp âm và lớp dương
đều tuân theo luật phân bố chuẩn Gaussian, và được tạo ra với cùng một xác
suất Khi đó một siêu phẳng phân cách được gọi là lý tưởng nếu nó làm cực tiểu xác suất phân lớp sai cho một điểm dữ liệu mới Với giả thuyết ở trên thì siêu phẳng phân cách lý tưởng sẽ trực giao với đoạn thẳng nối tâm của hai vùng có mật độ xác suất lớn nhất
Rõ ràng các siêu phẳng được xây dựng nhằm phân cách các điểm dữ liệu mẫu có thể lệch đi rất nhiều so với siêu phẳng lý tưởng, do đó sẽ dẫn tới việc phân lớp không tốt trên dữ liệu mới sau này Độ phức tạp của quá trình xác định
siêu phẳng lý tưởng sẽ tăng theo số chiều của không gian đầu vào m, vì với một
số lượng các dữ liệu mẫu cố định, tập hợp các siêu phẳng thực tế sẽ tăng theo
hàm mũ với lũy thừa m Với bài toán phân lớp văn bản, m thường rất lớn,
khoảng vài ngàn hay thậm chí là hàng triệu từ
Trang 21Hình 2.4 Siêu phẳng tối ưu và biên
Lý thuyết thống kê đƣợc phát triển bởi Vapnik năm 1998 chỉ ra rằng có thể xác định một siêu phẳng tối ƣu thoả mãn hai tính chất quan trọng: (1) nó là duy nhất với mỗi tập dữ liệu học tách rời tuyến tính; (2) khả năng overfitting là nhỏ hơn so với các siêu phẳng khác Định nghĩa biên 𝑀 của bộ phân lớp là khoảng cách giữa các siêu phẳng và các dữ liệu học gần nhất Siêu phẳng tối ƣu
là siêu phẳng có biên lớn nhất, điều đó có nghĩa là ta cần tìm siêu phẳng sao cho khoảng cách từ siêu phẳng đến những điểm gần nhất là lớn nhất (Hình 2.4) Vapnik cũng chứng minh rằng khả năng overfitting với siêu phẳng tối ƣu nhỏ hơn so với các siêu phẳng khác
Khoảng cách từ một điểm x đến siêu phẳng là:
Đặt 𝑊 = 1
𝑀 biểu thức trên đƣợc viết lại nhƣ sau:
Trang 22w,w 0W sao cho yi 𝑤𝑇𝑥𝑖 + 𝑤0 ≥ 𝑀, 𝑖 = 1 … 𝑛 Đưa về phương trình Lagrangian:
Và do đó hoặc 𝛼𝑖 = 0 hoặc 𝑦𝑖 𝑤𝑇 + 𝑤0 = 1 Nói cách khác, nếu 𝛼𝑖 > 0
thì khoảng cách từ điểm x i đến mặt phẳng phân cách là M
Các điểm thoả mãn 𝛼𝑖 > 0 được gọi là các vector hỗ trợ Hàm quyết định
h x có thể được tính qua công thức xác định dấu của f x hoặc tương đương với dạng sau:
Trang 23Trong thực tế cĩ nhiều trường hợp yêu cầu một bộ phân lớp đa lớp, do đĩ cần cải tiến SVM cơ bản (phân lớp nhị phân) thành bộ phân lớp đa lớp Một trong những phương pháp cải tiến đĩ là sử dụng thuật tốn 1-against-all Tư tưởng cơ bản như sau:
- Giả sử tập dữ liệu mẫu (𝑥1, 𝑦1), … , (𝑥𝑚, 𝑦𝑚) với 𝑥𝑖 là một vector n
chiều Và 𝑦𝑖 ∈ 𝑌 là nhãn lớp được gán cho vector 𝑥𝑖
- Chia tập 𝑌 thành 𝑚 tập lớp con cĩ cấu trúc như sau 𝑧𝑖 = 𝑦𝑖, 𝑌\𝑦𝑖
- Áp dụng SVM phân lớp nhị phân cơ bản với 𝑚 tập 𝑧𝑖 để xây dựng siêu phẳng cho phân lớp này
- Bộ phân lớp với sự kết hợp của 𝑚 bộ phân lớp trên được gọi là bộ phân lớp đa lớp mở rộng với SVM
c Tập dữ liệu học khơng tách tuyến tính
Khi thuật tốn SVM cho kết quả đánh giá với chất lượng khơng như ý muốn, giả thiết hai lớp dữ liệu tách được tuyến tính bị vi phạm, cần phải điều chỉnh thuật tốn SVM
Trong một số trường hợp, sự dụng thuật tốn SVM với siêu phẳng lề mềm Nếu thuật tốn SVM với siêu phẳng lề mềm cũng khơng hiệu quả, các phép biến đổi khơng gian vector được thực hiện bằng các phép biến đổi chiều
VC thích hợp khác Một trong những nội dung cốt lõi về các phép biến đổi chiều
VC là lựa chọn các hàm nhân phù hợp với miền dữ liệu của bài tốn.[1]
2.2.4 Các thuật tốn học cĩ giám sát khác
Bên cạnh SVM, cịn một số phương pháp khác như:
a Thuật tốn Nạve Bayes (NB)
Là một thuật tốn phổ biến trong học máy dựa trên lý thuyết xác suất thống kê Tư tưởng chủ đạo của thuật tốn Nạve Bayes là ước lượng các thơng
số của đa thức sinh cho của thể hiện (văn bản, câu …) Sau đĩ lựa chọn lớp thích hợp nhất cho từng thể hiện dựa vào các luật Bayes và giả thiết Bayes
b Thuật tốn cây quyết định (Decision Tree –DT)
Là phương pháp xấp xỉ giá trị các hàm mục tiêu rời rạc Trong đĩ, hàm học của phương pháp này là một cây cĩ bậc tùy ý Cây quyết định bao gồm các
lá và nhánh, mỗi lá là đại diện cho một lớp và các nhánh là các điều kiện, đặc trưng dẫn đến lớp ở đỉnh lá
Trang 24c Bộ phân lớp dựa trên thuật toán K người láng giềng gần nhất (k-NN)
Là một bộ phân lớp dựa trên bộ nhớ, đơn giản vì nó được xây dựng bằng cách lưu trữ tất cả các đối tượng trong tập huấn luyện Để phân lớp cho một
điểm dữ liệu mới x, trước hết bộ phân lớp sẽ tính khoảng cách từ điểm x đến tất
cả các điểm dữ liệu trong tập huấn luyện Qua đó tìm được tập N(x, D, k) gồm k điểm dữ liệu mẫu có khoảng cách đến x là gần nhất Ví dụ nếu các dữ liệu mẫu
được biểu diễn bởi không gian vector thì chúng ta có thể sử dụng khoảng cách
Euclian để tính khoảng cách giữa các điểm dữ liệu với nhau Sau khi xác định
được tập N(x, D, k), bộ phân lớp sẽ gán nhãn cho điểm dữ liệu x bằng lớp chiếm đại đa số trong tập N(x, D, k)
Mặc dù rất đơn giản, nhưng thuật toán K người láng giềng gần nhất đã
cho kết quả tốt trong nhiều ứng dụng thực tế Để áp dụng thuật toán k-NN vào
tài liệu văn bản, chúng ta sử dụng hàm tính trọng số cho mỗi lớp theo biểu thức:
2.3 Các thuật toán học bán giám sát
Các thuật toán học có giám sát có đặc điểm là chỉ có thể học từ dữ liệu đã gán nhãn, việc tạo ra các dữ liệu gán nhãn thường là công việc buồn tẻ, nhưng lại tốn công sức Trong thực tế, các dữ liệu chưa gán nhãn thường tồn tại với số lượng lớn Nếu tận dụng được cả các nguồn dữ liệu chưa được gán nhãn thì sẽ làm giảm được công sức tạo dữ liệu cũng như nâng cao chất lượng của các bộ phân lớp Hiện tại đã có rất nhiều nghiên cứu và đề xuất các giải thuật có khả năng sử dụng dữ liệu có nhãn, đồng thời tận dụng cả dữ liệu chưa gán nhãn để làm phong phú thêm dữ liệu huấn luyện, nhằm làm tăng chất lượng phân lớp Các giải thuật có đặc điểm này được phân vào lớp giải thuật học bán giám sát [1]
Trong thuật toán học bán giám sát, mẫu không nhãn có tác dụng hỗ trợ để cung cấp một số tri thức miền toàn diện hơn Tuy nhiên, mẫu không nhãn cũng
có phạm vi tác dụng của nó Mẫu không nhãn cũng có thể làm sai lệch tri thức miền nếu việc lựa chọn chúng không đảm bảo tính đại diện cho miền ứng dụng
Trang 25Khi mẫu có nhãn ít thì dù có được lựa chọn cẩn thận, chúng vẫn có hạn chế về tính đại diện cho miền ứng dụng, và vì vậy cần khai thác dữ liệu không có nhãn Việc lựa chọn dữ liệu không nhãn làm dữ liệu học cũng phải được thi hành theo định hướng về tính đại diện Nếu việc lựa chọn không dựa theo mô hình sinh dữ liệu, không thực hiện một cách ngẫu nhiên thì sẽ tạo nên sự lệch lạc về tri thức miền
Theo Xiaojin Zhu [Zhu08], tồn tại rất nhiều các thuật toán học bán giám sát thuộc vào khoảng 190 công trình nghiên cứu khoa học được công bố về học bán giám sát Dưới đây là một số thuật toán điển hình trong số đó.[1]
2.3.1 Thuật toán Co-training
Một trong những kỹ thuật học bán giám sát tiêu biểu là Co-training, trong
đó hai (hoặc nhiều hơn) bộ học được huấn luyện trên một tập dữ liệu mẫu, nhưng các bộ học được huấn luyện trên các tập thuộc tính độc lập nhau
Theo [4], mô hình Co-training có thể được định nghĩa như sau Ta có không gian mẫu 𝑋 = 𝑋1 × 𝑋2 với 𝑋1 và 𝑋2 là hai “khung nhìn” trên mỗi mẫu Nghĩa là, mỗi mẫu 𝑥 ∈ 𝑋 sẽ được cho bởi cặp 𝑥1, 𝑥2 Giả định rằng mỗi khung nhìn tự nó đủ đảm bảo cho việc phân lớp đúng đắn Gọi 𝐷 là phân bố trên
𝑋, 𝐶1 và 𝐶2 là các lớp khái niệm được định nghĩa trên 𝑋1 và 𝑋2 tương ứng Giả
sử tất cả nhãn của tập mẫu có xác suất khác không trên 𝐷 đều tuân theo hàm mục tiêu 𝑓1 ∈ 𝐶1, và cũng đúng với hàm 𝑓2 ∈ 𝐶2 Nói cách khác, nếu f là hàm mục tiêu nối trên toàn bộ mẫu, thì với mọi mẫu 𝑥 = 𝑥1, 𝑥2 với nhãn quan sát
được là l, thì ta có 𝑓 𝑥 = 𝑓1 𝑥1 = 𝑓2 𝑥2 = 𝑙 Điều này đồng nghĩa với 𝐷 sẽ gán xác suất 0 cho bất kỳ mẫu 𝑥1, 𝑥2 nào có 𝑓1 𝑥1) ≠ 𝑓2(𝑥2
“Khung nhìn” – “view”: mỗi tập dữ liệu có các tập con các thuộc tính tách rời nhau, mỗi tập con này được gọi là một “khung nhìn”
Gọi 𝑌 là không gian nhãn
Có tập dữ liệu mẫu huấn luyện là 𝐿 ∪ 𝑈, với
𝐿 = 𝑥11, 𝑥12 , 𝑦1 … 𝑥𝑙1, 𝑥𝑙2 , 𝑦𝑙 ⊂ X × Y là tập mẫu có nhãn và 𝑈 =
𝑥𝑙+11 , 𝑥𝑙+12 … 𝑥𝑙+𝑢1 , 𝑥𝑙+𝑢2 ⊂ X là tập không nhãn Thông thường thì 𝑙 ≪ 𝑢
Trang 26Mục tiêu của Co-training là từ tập có nhãn 𝐿 ban đầu, từng bước học và gán nhãn cho các mẫu trong 𝑈, cuối cùng thu được các hàm mục tiêu 𝑓1 trên 𝑋1
và 𝑓2 trên 𝑋2 Chi tiết thuật toán với phân lớp nhị phân như sau:
Khi làm việc với bộ phân lớp Co-training cần lưu ý một số vấn đề sau Thứ nhất, tập dữ liệu gán nhãn có ảnh hưởng lớn đến hiệu quả của thuật toán Co-training Nếu tập này quá ít thì sẽ không hỗ trợ Co-training Trong trường hợp quá nhiều, thì thực sự không thu được lợi ích từ Co-training Thứ hai, cơ sở tăng hiệu quả Co-training là vấn đề thiết lập các tham số trong thuật toán như kích cỡ tập dữ liệu có nhãn, kích cỡ tập không nhãn, số mẫu được thêm vào tập
L sau mỗi vòng lặp Trong mọi trường hợp, việc chọn bộ phân lớp thành phần cho từng khung nhìn là rất quan trọng [1]
Trên đây là thiết lập tổng quát cho giải thiết của Co-training Trong thực
tế, tùy thuộc vào cách phân chia thuộc tính và cách chọn giải thuật phân lớp mà
ta có hai biến thể của Co-training: (1) Co-training dựa trên việc phân chia khung nhìn; (2) Co-training dựa trên sự cộng tác của các giải thuật phân lớp khác nhau
a Co-training dựa trên việc phân chia khung nhìn
Khi tập thuộc tính X có thể được chia thành hai tập con X1
* tập L gồm lượng nhỏ các mẫu huấn luyện có nhãn
* tập U gồm lượng lớn các mẫu huấn luyện chưa có nhãn
Thuật toán:
1 while U is not empty do
2 Dùng L để huấn luyện bộ phân lớp C1 theo đặc trưng X1
3 Dùng L để huấn luyện bộ phân lớp C2 theo đặc trưng X2
4 for each Ci do
5 Ci dự đoán nhãn cho tập U dựa trên Xi
6 Chọn (p,n) mẫu được dự đoán tin cậy nhất từ U cho vào E
7 E được loại khỏi U và bổ sung vào L
8 end for
9 end while
Trang 27lập có điều kiện với X2
biết trước Y, nếu phân bố xác suất chi phối X1 độc lập với
giá trị phân bố xác suất chi phối X 2 với Y cho trước
Cùng với cách phân chia tập thuộc tính như trên thì bộ phân lớp trên hai
khung nhìn X1
, X2 dựa trên cùng một giải thuật phân lớp f
b Co-training dựa trên sự cộng tác của các giải thuật phân lớp khác nhau Trong trường hợp việc phân chia thuộc tính thành hai tập con không giao nhau và độc lập có điều kiện với nhau làm cho mỗi tập con này không đại diện cho việc biểu diễn dữ liệu đầy đủ, dẫn đến chất lượng dữ liệu thấp Hay khi số lượng thuộc tính là ít, không thể phân chia thành hai tập con được Khi đó giải pháp đề xuất cho các trường hợp này là sử dụng các giải thuật phân lớp khác nhau, thay vì một như trong trường hợp 2.3.1.a Các giải thuật phân lớp này cùng hỗ trợ huấn luyện nhau trên cùng một tập thuộc tính
2.3.2 Thuật toán bán giám sát cực đại EM đại phương
Thuật toán học bán giám sát cực đại kỳ vọng (EM) địa phương thuộc loại thuật toán trong mô hình sinh Mô hình hoạt động dựa trên giả thiết Bayes P(x,
y) = P(y) * P(x|y) Với số lượng nhiều dữ liệu chưa nhãn cho P(x|y) mô hình
đồng nhất, tài liệu được phân thành các thành phần mà trong trường hợp lý tưởng (trong mô hình “đồng nhất”) mọi đối tượng trong một thành phần có cùng nhãn, vì vậy, chỉ cần biết nhãn của một đối tượng nào đó trong thành phần là kết luận được nhãn cho toàn bộ các đối tượng khác trong thành phần đó
Tính đồng nhất được phát biểu như sau: “Cho họ phân bố {Pβ} là đồng nhất nếu 𝜃1 ≠ 𝜃2 thì 𝑃𝜃1 ≠ 𝑃𝜃2 Từ tính chất này dẫn tới tính khả tách của phân
bố tới các thành phần Khi quan tâm tới tính xác thực của mô hình, có thể thấy trong trường hợp giả thiết mô hình trộn là chính xác thì việc bổ sung các dữ liệu không nhãn sẽ làm tăng độ chính xác phân lớp.[1]
Trang 28Thuật toán EM được mô tả dạng giả mã như sau:
2.3.3 Thuật toán Self-training
Là kỹ thuật phổ biến trong học bán giám sát và thường được áp dụng cho các bài toán xử lý ngôn ngữ tự nhiên
2 dùng DK xây dựng mô hình ban đầu 0
3 for i = 0, 1, 2, cho đến khi kết quả đảm bảo do
4 for mỗi tài liệu d DU do
5 E-bước: dùng phân lớp Bayes thứ nhất xác định P(c|d,i)
6 end for
7 for mỗi lớp c và từ khóa t do
8 M-bước: xác định c,t dùng công thức (*) để xây dựng mô hình i+1
9 end for
10 end for
Trang 292.4 Phương pháp đánh giá bộ phân lớp
Sau khi có mô hình được huấn luyện qua bộ dữ liệu huấn luyện DTrain, cần đánh giá mô hình trước khi có thể đưa vào áp dụng trong thực tế
Việc đánh giá bộ phân lớp dựa trên việc áp dụng mô hình đối với các dữ
liệu thuộc tập đánh giá DTest, sử dụng mô hình cho từng trường hợp dữ liệu ở
DTest để biết được lớp dự báo c dự đoán bởi mô hình
Hai độ đo được dùng phổ biến để đánh giá bộ phân lớp là độ hồi tưởng (recall) ρ và độ chính xác (precision) π
Sau khi áp dụng mô hình trên DTest, với mỗi lớp c ∈ C ta xác định các giá
Huấn luyện bộ phân lớp giám sát h trên tập L
Sử dụng h để phân lớp dữ liệu trong tập U
Tìm tập con U‟ U có độ tin cậy cao nhất:
L + U’ L
U – U’ U
Trang 30- TPc (true positives): số lượng mẫu thực sự thuộc lớp c được thuật toán phân lớp gán cho giá trị đúng
- TNc (true negatives): số lượng mẫu không thuộc lớp c được thuật toán phân lớp gán cho giá trị đúng
- FPc: số lượng mẫu thực sự thuộc lớp c được thuật toán phân lớp gán cho giá trị sai
- FNc: số lượng mẫu không thuộc lớp c được thuật toán phân lớp gán cho giá trị sai
Với phân lớp nhị phân, giá trị các độ đo pc và rc được tính như sau:
Ngoài ra, có một phương pháp đánh giá đơn giản hơn thông qua hai thông
số độ chính xác (Accuracy) và tỉ lệ lỗi (Error rate) như sau:
c c M
p K
r K
r
11
) (
r
Trang 31Mô hình hệ thống và bước xử lý trong hệ thống khai phá quan điểm sẽ được xây dựng tuân thủ theo quy trình Phát hiện tri thức trong CSDL tổng quát
Về thuật toán phân lớp, mục 2.2 đã trình bày chi tiết các thuật toán Trong đó nổi lên là thuật toán SVM có những ưu điểm vượt trội khi áp dụng vào khai phá quan điểm Do đó thuật toán SVM sẽ được chọn để cài đặt cho các bộ phân lớp dựa trên học có giám sát cũng như bán giám sát
Ngoài ra, có hai hướng tiếp cận Co-training như trình bày trong mục 2.3.1 Việc lựa chọn hướng tiếp cận nào là tùy thuộc vào việc phân chia tập thuộc tính Sau khi lựa chọn và phân tích các thuộc tính (sẽ nêu trong mục 3.4), hướng tiếp cận cụ thể sẽ được lựa chọn
Cuối cùng, do việc đánh giá chất lượng bộ phân lớp đóng vai trò quan trọng nhất trong việc đánh giá hướng tiếp cận bài toán của cả luận văn nên các phương pháp đánh giá bộ phân lớp cũng được nêu chi tiết Việc đánh giá cách tiếp cận học bán giám sát của luận văn sẽ được thực hiện thông qua việc so sánh chất lượng của nó so với cách tiếp cận cơ sở, cụ thể sẽ được nêu trong Chương 4
và 5
Trang 32CHƯƠNG 3 – ỨNG DỤNG HỌC BÁN GIÁM SÁT VÀO BÀI TOÁN
KHAI PHÁ QUAN ĐIỂM 3.1 Tổng quát về hướng tiếp cận và giải quyết bài toán
Bài toán khai phá quan điểm mà đề tài này giải quyết có thể được mô tả như sau:
Cho DTrain và DTest là tập huấn luyện và tập đánh giá tương ứng Trong đó,
DTrain gồm hai tập con là L và U L là tập các câu có nhãn về tính chủ quan, và nhãn về tính phân cực U là tập câu chưa được gán nhãn DTest là tập đánh giá
gồm những câu đã được gán nhãn DTrain và DTest được lấy từ kho dữ liệu MPQA2.0
Gọi là CSub là tập nhãn về tính chủ quan, CPol là tập nhãn về tính phân cực cảm nghĩ, các giá trị nhãn được định nghĩa như sau:
0 : chỉ câu trung lập (NEU)
2 : chỉ câu cảm nghĩ tiêu cực (NEG)
(Các giá trị nhãn được chọn như trên để tiện cho việc cài đặt và xử lý text trong ngôn ngữ Python.)
Mục tiêu của đề tài là xây dựng được hai bộ phân lớp Co-training trên
nhãn CSub và nhãn CPol sao cho chất lượng của chúng tốt hơn so với cách tiếp cận
học có giám sát Trong đó, bộ phân lớp trên nhãn tính chủ quan (CSub) là bộ phân
lớp nhị phân, còn bộ phân lớp trên nhãn tính phân cực cảm nghĩ (CPol) là bộ phân lớp đa lớp
Mô hình tổng quát để giải quyết bài toán như Hình 3.1
Trang 33Hình 3.1 Mô hình minh họa các bước giải quyết bài toán
Từ kho MPQA2.0, bước 1-Tiền xử lý thực hiện trích chọn ra tập câu theo tập con của MPQA2.0 (được nêu chi tiết trong mục 3.2.1) Sau đó thực hiện trích chọn các đặc trưng và hai nhãn của từng tập câu Bước 2-Đánh giá Đặc
trưng/Tham số phân lớp SVM thực hiện chọn lựa dữ liệu huấn luyện và đánh giá
cho 2 bộ phân lớp riêng lẻ dựa trên học có giám sát, huấn luyện các bộ phân lớp này, dự đoán trên tập dữ liệu đánh giá tương ứng Từ kết quả dự đoán này, chọn
ra 2 đặc trưng tốt nhất làm 2 khung nhìn cho bước 3-Đánh giá Co-training Bước 3-Co-training thực hiện các công đoạn của quá trình phân lớp dựa trên
Học có giám sát/Co-training với khung nhìn và tham số phân lớp SVM được
chọn tại bước 2-Đánh giá Đặc trưng/Tham số phân lớp SVM Sau khi có được
các kết quả từ bước 2 và 3, tiến hành so sánh đánh giá 2 cách tiếp cận khai phá quan điểm trên
Trong mô hình tổng quát này, kết quả của các bước xử lý trung gian không được nêu ra, mà chúng sẽ được làm rõ trong phần chi tiết xử lý của các bước, sẽ được trình bày trong các mục kế tiếp Các xử lý này được cài đặt trong môi trường Python2.7 chạy trền nền Windows Các thư viện hỗ trợ được sử
(http://www.clips.ua.ac.be/pages/pattern) để thực hiện các xử lý về ngôn ngữ; các bộ phân lớp được xây dựng trên phần mềm LIBSVM (http://www.csie.ntu.edu.tw/~cjlin/libsvm/)
3.2 Lựa chọn dữ liệu