62
ĐẠI HC QUC GIA HÀ NI TRƯỜNG ĐẠI HC CÔNG NGHPhm Huyn Trang GII PHÁP GOM NHÓM ĐẶC TRƯNG ĐỒNG NGHĨA TING VIT TRONG ĐÁNH GIÁ SN PHM DA TRÊN PHÂN LP BÁN GIÁM SÁT SVM-KNN VÀ PHÂN CM HAC KHOÁ LUN TT NGHIP ĐẠI HC HCHÍNH QUY Ngành: Công nghthông tin HÀ NI - 2011

K52 Pham Huyen Trang Thesis

Embed Size (px)

Citation preview

Page 1: K52 Pham Huyen Trang Thesis

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Phạm Huyền Trang

GIẢI PHÁP GOM NHÓM ĐẶC TRƯNG ĐỒNG NGHĨA TIẾNG VIỆT TRONG ĐÁNH GIÁ SẢN PHẨM

DỰA TRÊN PHÂN LỚP BÁN GIÁM SÁT SVM-KNN VÀ PHÂN CỤM HAC

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin

HÀ NỘI - 2011

Page 2: K52 Pham Huyen Trang Thesis

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Phạm Huyền Trang

GIẢI PHÁP GOM NHÓM ĐẶC TRƯNG ĐỒNG NGHĨA TIẾNG VIỆT TRONG ĐÁNH GIÁ SẢN PHẨM

DỰA TRÊN PHÂN LỚP BÁN GIÁM SÁT SVM-KNN VÀ PHÂN CỤM HAC

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin

Cán bộ hướng dẫn: PGS.TS Hà Quang Thụy

ThS Trần Mai Vũ

HÀ NỘI - 2011

Page 3: K52 Pham Huyen Trang Thesis

i

Lời cảm ơn

Trước tiên, em xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất tới Thầy giáo, PGS-TS Hà Quang Thụy và Thạc sỹ Trần Mai Vũ đã tận tình chỉ bảo, hướng dẫn, động viên, giúp đỡ em trong suốt quá trình thực hiện đề tài.

Em xin gửi lời cảm ơn sâu sắc tới quí Thầy Cô trong Khoa Công nghệ thông tin đã truyền đạt kiến thức quí báu cho em trong những năm học vừa qua.

Em cũng xin gửi lời cảm ơn tới các anh chị, các bạn và các em sinh viên trong nhóm “Khai phá dữ liệu” phòng thí nghiệm KT-Sislab đã giúp em rất nhiều trong việc hỗ trợ kiến thức chuyên môn để hoàn thành tốt khoá luận.

Xin cảm ơn sự hỗ trợ từ đề tài QG.10.38 trong thời gian em thực hiện khóa luận.

Con xin nói lên lòng biết ơn vô hạn đối với Cha Mẹ luôn là nguồn chăm sóc, động viên, khích lệ con trên mỗi bước đường học vấn của con.

Cuối cùng, xin chân thành cảm ơn các Anh Chị và Bạn Bè, đặc biệt là các thành viên lớp K52CA và K52CHTTT đã ủng hộ và giúp đỡ tôi trong suốt thời gian tôi học tập trên giảng đường đại học và thực hiện đề tài.

Tôi xin chân thành cảm ơn !

Hà Nội, ngày 20 tháng 05 năm 2011

Sinh viên

Phạm Huyền Trang

Page 4: K52 Pham Huyen Trang Thesis

ii

Tóm tắt nội dung

Khai phá quan điểm dựa trên đặc trưng (FOM) là một trong những bài toán khai phá quan điểm quan trọng [5, 18, 23]. Đối với một sản phẩm, bài toán này tìm đến mức câu đánh giá để phát hiện các đặc trưng của sản phẩm, và tạo ra một bản tổng kết quan điểm đánh giá theo từng đặc trưng đó. Tuy nhiên, trong văn bản đánh giá sản phẩm, khách hàng thường dùng các từ hoặc cụm từ rất khác nhau để nói đến cùng một đặc trưng sản phẩm. Vì vậy, để tạo ra một bản tổng kết có ý nghĩa, những từ hoặc cụm từ được coi là đồng nghĩa trên một miền sản phẩm cần được nhóm vào cùng một nhóm đặc trưng [27].

Dựa trên phương pháp phân lớp bán giám sát gom nhóm đặc trưng sản phẩm của Zhongwu Zhai và cộng sự, 2010 [27], khóa luận đề xuất một giải pháp gom nhóm các đặc trưng đồng nghĩa trong các đánh giá tiếng Việt dựa trên phân lớp bán giám sát SVM-kNN [17] và phân cụm HAC.

Thực nghiệm trên miền sản phẩm điện thoại di động trên website bán hàng trực tuyến Thế giới di động (http://thegioididong.com) cho thấy giải pháp gom nhóm đặc trưng sản phẩm đồng nghĩa tiếng Việt do khóa luận đề xuất có độ đo Purity là 0.68 và độ đo Accuracy là 0.65. Kết quả trên cho thấy phương pháp gom nhóm đặc trưng đồng nghĩa tiếng Việt được khóa luận đề xuất và triển khai là có tính hiệu quả.

Page 5: K52 Pham Huyen Trang Thesis

iii

Lời cam đoan

Tôi xin cam đoan giải pháp gom nhóm đặc trưng đồng nghĩa tiếng Việt trong các đánh giá sản phẩm dựa trên phân lớp bán giám sát SVM-kNN và phân cụm HAC được trình bày trong khóa luận này do tôi thực hiện dưới sự hướng dẫn của PGS. TS. Hà Quang Thụy và ThS. Trần Mai Vũ

Tất cả những tham khảo từ các nghiên cứu liên quan đều được nêu nguồn gốc một cách rõ ràng từ danh mục tài liệu tham khảo trong khóa luận. Trong khóa luận, không có việc sao chép tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ về tài liệu tham khảo.

Hà Nội, ngày 20 tháng 05 năm 2011

Tác giả

Phạm Huyền Trang

Page 6: K52 Pham Huyen Trang Thesis

iv

Mục lục

Lời cảm ơn ........................................................................................................................... i 

Tóm tắt nội dung ................................................................................................................ ii 

Lời cam đoan ..................................................................................................................... iii 

Danh sách hình vẽ ............................................................................................................ vii 

Danh sách bảng biểu....................................................................................................... viii 

Danh sách các từ viết tắt .................................................................................................. ix 

Mở đầu ................................................................................................................................ 1 

Chương 1. Bài toán gom nhóm đặc trưng đồng nghĩa trong khai phá quan điểm khách hàng ......................................................................................................................... 3 

1.1. Khái quát về khai phá quan điểm khách hàng ........................................................... 3 

1.1.1. Khái niệm về khai phá quan điểm ...................................................................... 3 

1.1.2. Ứng dụng của khai phá quan điểm ..................................................................... 3 

1.1.3. Khai phá quan điểm khách hàng trên đặc trưng sản phẩm ................................. 4 

1.2. Bài toán gom nhóm đặc trưng đồng nghĩa trong khai phá quan điểm tiếng Việt dựa trên đặc trưng sản phẩm .................................................................................................... 7 

1.2.1. Bài toán gom nhóm đặc trưng đồng nghĩa ......................................................... 7 

1.2.2. Một số nghiên cứu liên quan trên thế giới .......................................................... 9 

1.2.3. Giải pháp hiện thời ........................................................................................... 10 

Tóm tắt chương một ....................................................................................................... 11 

Chương 2. Phân lớp bán giám sát SVM-kNN ............................................................... 13 

2.1. Một số nội dung cơ bản về phân lớp bán giám sát .................................................. 13 

2.1.1.Khái niệm .......................................................................................................... 13 

2.1.2. Các phương pháp phân lớp bán giám sát điển hình ......................................... 14 

2.2. Phương pháp luận SVM-kNN dựa trên học bán giám sát ....................................... 15 

Page 7: K52 Pham Huyen Trang Thesis

v

2.2.1. Thuật toán máy vector hỗ trợ (SVM) ............................................................... 15 

2.2.2. Thuật toán K người láng giềng gần nhất (kNN) ............................................... 18 

2.2.3. Phương pháp phân lớp bán giám sát SVM-kNN .............................................. 19 

Tóm tắt chương hai: ........................................................................................................ 24 

Chương 3.Đề xuất một giải pháp gom nhóm đặc trưng sản phẩm tiếng Việt tự động ........................................................................................................................................... 25 

3.1. Đề xuất một giải pháp gom nhóm đặc trưng sản phẩm tiếng Việt dựa trên phân lớp bán giám sát SVM-kNN kết hợp phân cụm HAC .......................................................... 25 

3.2. Pha 1: Biểu diễn vector thể hiện đặc trưng .............................................................. 27 

3.2.1. Xác định ngữ nghĩa của các thể hiện đặc trưng. ............................................... 28 

3.2.2. Xác định ngữ cảnh của thể hiện đặc trưng ....................................................... 29 

3.2.3. Biểu diễn thể hiện đặc trưng dưới dạng vector ................................................ 29 

3.3. Pha 2: Tạo tập huấn luyện cho bộ phân lớp SVM-kNN .......................................... 30 

3.3.1. Quá trình phân cụm .......................................................................................... 32 

3.3.2. Gán nhãn cho các cụm ...................................................................................... 34 

3.3.Pha 2: Phân lớp bán giám sát SVM-kNN ................................................................. 34 

Tóm tắt chương 3: .......................................................................................................... 37 

Chương 4. Thực nghiệm và đánh giá ............................................................................. 38 

4.1. Môi trường và các công cụ sử dụng thực nghiệm ................................................... 38 

4.2. Xây dựng tập dữ liệu ............................................................................................... 39 

4.3. Thực nghiệm ............................................................................................................ 40 

4.3.1. Quá trình biểu diễn vector thể hiện đặc trưng .................................................. 40 

4.3.2. Thực nghiệm tạo tập huấn luyện cho SVM-kNN ............................................. 40 

4.3.3. Thực nghiệm phân lớp bán giám sát SVM-kNN: ............................................ 42 

Tóm tắt chương 4 ............................................................................................................ 47 

Page 8: K52 Pham Huyen Trang Thesis

vi

Kết luận ............................................................................................................................ 48 

Tài liệu tham khảo ........................................................................................................... 49 

Page 9: K52 Pham Huyen Trang Thesis

vii

Danh sách hình vẽ

Hình 1: Ví dụ biểu diễn cây đối tượng ................................................................................. 5 

Hình 2: Ví dụ minh họa các khái niệm Đặc trưng, Từ quan điểm, Đoạn đánh giá và Đặc trưng trong 1 nhận xét của khách hàng trên forum http://tinhte.com ................................... 6 

Hình 3: Ví dụ về bản tổng hợp quan điểm về điện thoại N72. ............................................. 7 

Hình 4: Ví dụ về đặc trưng đồng nghĩa ................................................................................ 8 

Hình 5: Mặt siêu phẳng tách các mẫu dương khỏi các mẫu âm ......................................... 16 

Hình 6: Ví dụ về thuật toán kNN ........................................................................................ 19 

Hình 7: Minh họa vector hỗ trợ và vector biên .................................................................. 21 

Hình 8: Miêu tả khái quát của mô hình đề xuất bởi Kunlun Li, Xuerong Luo vàMing Jin[17] ................................................................................................................................. 22 

Hình 9: Mô hình đề xuất gom nhóm đặc trưng đồng nghĩa ............................................... 27 

Hình 10: Sơ đồ các phần tử trước khi phân cụm ................................................................ 31 

Hình 11: Sơ đồ các phần tử sau khi phân cụm phân cấp tích tụ từ dưới lên – HAC.......... 31 

Hình 12: Sơ đồ so sánh kết quả của mô hình đề xuất với phương pháp của K.Li và cộng sự [17] ................................................................................................................................. 44 

Page 10: K52 Pham Huyen Trang Thesis

viii

Danh sách bảng biểu

Bảng 1. Cấu hình hệ thống thử nghiệm ............................................................................. 38 

Bảng 2. Công cụ phần mềm sử dụng ................................................................................. 39 

Bảng 3: Bảng số lượng dữ liệu đầu vào ............................................................................ 40 

Bảng 4. Kết quả thực nghiệm thuật toán HAC với 5 giá trị ngưỡng α ............................. 41 

Bảng 5. Các thể hiện đặc trưng cùng các cụm không đơn tương ứng ............................... 42 

Bảng 6. Kết quả thực nghiệm phân lớp SVM-kNN với t= 0.8, k = 5khi dữ liệu gán nhãn chiếm 30% tổng số dữ liệu ................................................................................................ 44 

Bảng 7: Kết quả thực nghiệm khi s = 4, t= 0.8, k = 5 ....................................................... 46 

Bảng 8. Kết quả thực nghiệm phân lớp SVM-kNN với t= 0.8, k = 5khi dữ liệu gán nhãn chiếm 40% tổng số dữ liệu ................................................................................................ 46 

Page 11: K52 Pham Huyen Trang Thesis

ix

Danh sách các từ viết tắt

LDA Latent Dirichlet Allocation

HAC Hierarchical Agglomerative Clustering

SVM Support Vector Machine

kNN K Nearest Neighbors

EM Expectation Maximization

SSSVM Semi-Supervisered Support Vector Machine

S3VM-kNN Semi-Supervisered Support Vector Machine-k Nearest Neighbors

TFIDF Term Frequency Inverse Document Frequency

Page 12: K52 Pham Huyen Trang Thesis

1

Mở đầu

Khai phá và tổng hợp quan điểm khách hàng dựa trên đặc trưng sản phẩm (FOM) đang là một trong những lĩnh vực nhận thu hút nhiều sự quan tâm trên thế giới [5, 18, 20, 23]. Mục tiêu của bài toán này là tạo ra một bản tổng hợp các quan điểm của khách hàng trên từng đặc trưng sản phẩm. Bản tổng hợp như vậy cung cấp cho khách hàng một cái nhìn trực quan về ý kiến của những khách hàng đã dùng sản phẩm trước đó, đồng thời, giúp nhà sản xuất phát hiện ra những hạn chế còn mắc phải của sản phẩm và nhờ vậy có thể khắc phục những nhược điểm đang tồn tại.

Gom nhóm đặc trưng đồng nghĩa được người dùng đề cập đến trong các đánh giá là một bài toán con của bài toán FOM thực hiện việc nhóm các từ cùng chỉ đến một đặc trưng nào đó vào một nhóm. Các đặc trưng được xác định là đồng nghĩa tùy thuộc từng miền sản phẩm khác nhau.

Trong những năm gần đây, một số giải pháp gom nhóm đặc trưng sản phẩm đã được đưa ra [7, 11, 27]. Tuy nhiên, đối với tiếng Việt, chưa có một nghiên cứu nào đi sâu nghiên cứu vấn đề này. Giải pháp hiện thời của chúng tôi trong [21] là xây dựng bằng tay bộ từ điển đồng nghĩa tiếng Việt trên miền sản phẩm điện thoại.

Trong khóa luận này, chúng tôi sử dụng kỹ thuật học bán giám sát để gom nhóm đặc trưng sản phẩm trên miền sản phẩm điện thoại di động dựa trên hướng tiếp cận của Zhongwu Zhai và cộng sự, 2010 [27]. Chúng tôi đề xuất một mô hình tự động gom nhóm đặc trưng đồng nghĩa, theo đó, đối với một miền sản phẩm mới, việc tạo tập dữ liệu huấn luyện được thi hành bằng thuật toán phân cụm HAC theo ngưỡng α. Sau đó, thuật toán phân lớp bán giám sát SVM-kNN dựa trên ngữ nghĩa và ngữ cảnh của từng đặc trưng được áp dụng. Chúng tôi lựa chọn phân lớp bán giám sát SVM-kNN vì phương pháp này cho kết quả tốt với độ đo F1 khoảng 80 đến 98% với miền dữ liệu tiếng Anh như kết quả nghiên cứu của Kunlun Li và cộng sự năm 2010 [17]. Khóa luận tiến hành thực nghiệm mô hình gom nhóm đặc trưng dựa trên HAC và SVM-kNN với kết quả đạt mức phù hợp với kết quả trong các công bố khoa học liên quan trên thế giới (Purity là 0.68 và Accuracy là 0.65).

Nội dung của khóa luận được chia thành các chương như sau:

Page 13: K52 Pham Huyen Trang Thesis

2

Chương 1: Khóa luận giới thiệu khái quát về khai phá quan điểm khách hàng cũng như một số khái niệm liên quan trong khai phá quan điểm khách hàng dựa trên đặc trưng. Ngoài ra, bài toán gom nhóm đặc trưng đồng nghĩa trong các đánh giá tiếng Việt cùng một số nghiên cứu liên quan và giải pháp hiện thời của chúng tôi cũng được trình bày tại chương này.

Chương 2: Khóa luận giới thiệu về thuật toán phân lớp SVM, kNN. Từ đó, khóa luận trình bày chi tiết phương pháp phân lớp bán giám sát SVM-kNN là phương pháp phân lớp được sử dụng để giải quyết bài toán gom nhóm đặc trưng sản phẩm.

Chương 3: Khóa luận đề xuất một mô hình giải pháp gom nhóm đặc trưng đồng nghĩa dựa trên phân lớp bán giám sát SVM-kNN và phân cụm HAC trên miền dữ liệu tiếng Việt. Đồng thời, khóa luận cũng trình bày chi tiết các pha cũng những các bước trong mô hình.

Chương 4: Khóa luận trình bày một số thực nghiệm việc gom nhóm đặc trưng sản phẩm đồng nghĩa tiếng Việt trong các đánh giá của khách hàng trên miền sản phẩm điện thoại di động. Kết quả thực nghiệm được đánh giá theo các độ đo tương ứng phù hợp với bài toán gom nhóm đặc trưng.

Phần kết luận: Tóm lược kết quả đạt được của khóa luận và định hướng phát triển tương lai.

Page 14: K52 Pham Huyen Trang Thesis

3

Chương 1. Bài toán gom nhóm đặc trưng đồng nghĩa trong khai phá quan điểm khách hàng

1.1. Khái quát về khai phá quan điểm khách hàng

1.1.1. Khái niệm về khai phá quan điểm

Theo Bing Liu, 2010 [5], thông tin văn bản có thể được chia ra thành hai loại chính, là sự kiện và quan điểm.Thông tin sự kiện thể hiện khách quan về những thực thể, sự kiện hay các thuộc tính của chúng. Thông tin quan điểm thể hiện chủ quan của con người, miêu tả quan điểm, ý kiến hướng đến thực thể, sự kiện hay thuộc tính. Khai phá quan điểm đang là một lĩnh vực nghiên cứu gần đây thu hút sự quan tâm đặc biệt không chỉ của các nhà khoa học trong giới học thuật mà còn của các nhà sản xuất, các công ty,… trên thế giới nói chung và ở Việt Nam nói riêng. Quá trình khai phá quan điểm đóng một vai trò quan trọng trong thế giới ngày nay, không chỉ trong lĩnh vực kinh tế (đặc biệt trong thương mại điện tử) mà còn trong lĩnh vực xã hội (đặc biệt trong mạng xã hội trực tuyến).

Khai phá quan điểm thuộc vào lĩnh vực khai phá văn bản, đề cập đến việc áp dụng các giải pháp của xử lý ngôn ngữ tự nhiên, khai phá dữ liệu và công nghệ mạng để trích xuất và xác định quan điểm trong nguồn dữ liệu là các đánh giá, nhận định của con người [20]. Khái niệm “quan điểm” là một khái niệm rất rộng, nó có thể được thể hiện theo nhiều mức độ khác nhau.

1.1.2. Ứng dụng của khai phá quan điểm

Khai phá quan điểm đang trở thành một lĩnh vực quan trọng trong những năm gần đây do phạm vi ứng dụng rộng của nó. Bo Pang and Lillian Lee, 2008 [6] chỉ ra 4 miền ứng dụng chính của khai phá quan điểm.

Miền ứng dụng đầu tiên là các website đánh giá. Các website này tự động tổng hợp quan điểm và đánh giá của người sử dụng (chẳng hạn, trang Epinion: http://www1.epinions.com/). Các website có tính năng mời gọi đánh giá (review-solicitation) cũng được xếp vào loại này, trong đó tổng hợp đánh giá người dùng (Summarizing user reviews) là một chứcc năng quan trọng.

Miền ứng dụng thứ hai là khai phá quan điểm đóng vai trò công nghệ thành phần con (Sub-Component Technology) trong các hệ thống khác, chẳng hạn như các hệ thống

Page 15: K52 Pham Huyen Trang Thesis

4

tư vấn (recommendation systems), hệ thống hỏi-đáp (Question answer systems), thành phần tương tác người-máy (human–computer interaction) của các hệ thống.

Miền ứng dụng thứ ba là các ứng dụng trong thông minh doanh nghiệp (Business Intelligence) và thông minh chính quyền (Government Intelligence). Khai phá quan điểm được dùng trong nhận biết quan điểm khách hàng, tình báo công nghiệp... (thông minh doanh nghiệp) hoặc xu hướng truyền thông thù địch… (thông minh chính quyền).

Cuối cùng, khai phá quan điểm áp dụng trong liên miền ứng dụng khác nhau.

1.1.3. Khai phá quan điểm khách hàng trên đặc trưng sản phẩm

Khai phá và tổng hợp quan điểm dựa trên đặc trưng là một trong ba bài toán điểm hình thuộc lĩnh vực khai phá quan điểm. Ba bài toán điển hình đó là: Phân lớp quan điểm, khai phá quan hệ so sánh và khai phá quan điểm dựa trên đặc trưng. Trong ba bài toán trên, khai phá quan điểm dựa trên đặc trưng là một bài toán đang rất được chú ý trong lĩnh vực khai phá quan điểm. Trong mục này, khóa luận sẽ trình bày một số khái niệm liên quan đến bài toán khai phá quan điểm dựa trên đặc trưng và mô hình hóa cho bài toán này.

a. Một số khái niệm liên quan

- Đối tượng (object): Một đối tượng O là một một sản phẩm [5].

Ví dụ: Điện thoại Nokia N72, bộ phim “Cuốn theo chiều gió”, …

- Đặc trưng (feature):

Bài toán gom nhóm đặc trưng đồng nghĩa liên quan trực tiếp đến khái niệm đặc trưng. Do vậy, chúng tôi xin trình bày chi tiết về khái niệm này như dưới đây.

Mỗi đối tượng O được liên hệ với một cặp O (T,A) với T là một sự phân cấp của các thành phần, thành phần con, … và A là một tập các thuộc tính của O [5]. Mỗi thành phần lại có tập các thành phần con và thuộc tính riêng của nó. Để làm rõ hai khái niệm thành phần và thuộc tính ở trên, có một ví dụ đơn giản như sau: Xét đối tượng là điện thoại Nokia N72. Đối tượng này có một tập các thành phần, như: pin, màn hình, … và một tập các thuộc tính như chất lượng âm thanh, kích cỡ, cảm ứng, … Thành phần pin cũng có một tập các thuộc tính như: chất lượng pin, kích cỡ pin,…

Page 16: K52 Pham Huyen Trang Thesis

5

Một đối tượng được thể hiện bởi một cây. Gốc cây là đối tượng đó, mỗi một node không phải là gốc là một thành phần của đối tượng. Mỗi cung thể hiện quan hệ giữa các thành phần. Mỗi node cũng được liên kết với các thuộc tính.

Hình 1. Ví dụ biểu diễn cây đối tượng

Tuy nhiên, việc xử lý ngôn ngữ tự nhiên liên quan là một nhiệm vụ rất khó; hơn nữa, để tránh sự phân cấp, có thể coi thành phần và thuộc tính là đặc trưng quan điểm (hay đặc trưng).

- Đoạn đánh giá về một đặc trưng: Đoạn văn bản đánh giá về một đặc trưng f của đối tượng O trong s là một tập các câu liên tiếp trong s diễn tả quan điểm tích cực, tiêu cực hay trung lập về đặc trưng f [5].

-Từ quan điểm (opinion word): Quan điểm trên một đặc trưng bất kỳ là hướng nhìn, thái độ của khách hàng đối với mỗi đặc trưng [5]. Thái độ đó có thể theo hướng tích cực, tiêu cực hay trung lập. Từ thể hiện được quan điểm của khách hàng được gọi là từ quan điểm.

Ví dụ:

Câu = “Nội dung phim hay”.

Quan điểm của người dùng trên đặc trưng “nội dung” (phim) là một quan điểm hướng tích cực, vì sử dụng từ quan điểm “hay”.

-Người đánh giá (opinion holder):

Là người hay tổ chức cụ thể đưa ra lời đánh giá. Với các đánh giá về sản phẩm trên diễn đàn, blogs: người đánh giá chính là các tác giả của đánh giá hay bài viết [5].

Page 17: K52 Pham Huyen Trang Thesis

6

Hình 2: Ví dụ minh họa các khái niệm Đặc trưng, Từ quan điểm, Đoạn đánh giá và Đặc trưng trong 1 nhận xét của khách hàng trên forum http://tinhte.com

b. Mô hình hóa bài toán

Bing Liu [5] định nghĩa một mô hình của một đối tượng và một tập các quan điểm về đối tượng. Một đối tượng được thể hiện với một tập xác định của đặc trưng, F = {f1,f2,…,fn}. Mỗi đặc trưng fi trong F có thể được diễn tả bởi một tập các từ hoặc cụm từ Wi là các đặc trưng đồng nghĩa. Mỗi người đánh giá j bình luận trên một tập con các đặc tính Sj thuộc F. Với mỗi fk thuộc Sj, người đánh giá j diễn đạt quan điểm về đặc trưng bằng một từ hoặc cụm từ trong Wk với một thái độ tích cực (positive) hay tiêu cực (negative).

Mô hình này đòi hỏi ba tình huống bài toán trong thực tế. Giả sử có một tập các văn bản đánh giá D là đầu vào, ba tình huống bài toán được phát biểu như sau:

Tình huống 1: Cả F và W đều không biết. Bài toán cần thực hiện ba nhiệm vụ:

- Nhiệm vụ 1: Xác định và trích chọn các đặc trưng được đề cập tới trong D.

- Nhiệm vụ 2: Xác định hướng quan điểm trên các đặc trưng.

- Nhiệm vụ 3: Nhóm các từ đồng nghĩa của các đặc trưng, vì những người khác nhau có thể sử dụng các từ hoặc cụm từ khác nhau để diễn đạt cùng một đặc trưng. Đây chính là bài toán gom nhóm đặc trưng đồng nghĩa mà khóa luận hướng tới giải quyết. Nhiệm vụ này sẽ được chúng tôi trình bày trong mục 1.2.

Page 18: K52 Pham Huyen Trang Thesis

7

Tình huống 2: F đã biết, nhưng W lại không. Tất cả ba nhiệm vụ của bài toán 1 cần được thực hiện, nhưng nhiệm vụ 3 trở thành bài toán ghép các đặc trưng phát hiện được với tập đặc trưng F đã cho.

Tình huống 3: W và F cùng đã biết. Thực hiện nhiệm vụ 2 ở trên, tức là xác định xem quan điểm trên thuộc tính là thái độ tích cực hay tiêu cực, hay trung lập sau khi tất cả các câu chứa chúng được trích chọn.

Đầu ra của một tập văn bản D là một tập các cặp, mỗi cặp được kí hiệu bởi (f, SO), trong đó f là một đặc trưng và SO là hướng ngữ nghĩa hay hướng quan điểm được diễn đạt trong D trên đặc trưng f. Cuối cùng, từ kết quả này, đưa ra một bản tổng hợp các quan điểm về một đối tượng dựa trên các đặc trưng.

Hình 3: Ví dụ về bản tổng hợp quan điểm về điện thoại N72 [21]

1.2. Bài toán gom nhóm đặc trưng đồng nghĩa trong khai phá quan điểm tiếng Việt dựa trên đặc trưng sản phẩm

1.2.1. Bài toán gom nhóm đặc trưng đồng nghĩa

Trong các đánh giá của người dùng trên mạng thường chứa các yếu tố không chuẩn [22]. Nói riêng, trong các văn bản đánh giá sản phẩm, khách hàng thường sử dụng những từ hoặc cụm từ rất khác nhau để nhắc đến cùng một đặc trưng sản phẩm.

Ví dụ: Trong hình 4, với miền sản phẩm điện thoại Nokia E63, chúng tôi khảo sát trên website bán hàng trực tuyến http://www.thegioididong.com thì khách hàng sử dụng

Page 19: K52 Pham Huyen Trang Thesis

8

từ “tính năng” và “chức năng” cùng nhắc đến đặc trưng “tính năng”, nên chúng được coi là các từ đặc trưng đồng nghĩa.

Hình 4: Ví dụ về đặc trưng đồng nghĩa

Do đó, để tạo ra một bản tổng kết có ý nghĩa, những từ hoặc cụm từ đồng nghĩa cần được nhóm vào cùng một nhóm đặc trưng. Theo Bing Liu [5] việc xác định và gom nhóm các đặc trưng đồng nghĩa là rất cần thiết cho các ứng dụng thực tế.

Từ mô hình hóa bài toán, có thể thấy bài toán gom nhóm đặc trưng đồng nghĩa chính là một trong ba nhiệm vụ của tình huống bài toán 1 trong khai phá quan điểm cần phải giải quyết.

Zhongwu Zhai và cộng sự [27] nêu ra hai khái niệm trong bài toán gom nhóm đặc trưng đồng nghĩa là “thể hiện đặc trưng” và “nhóm đặc trưng”. Nhóm đặc trưng là tên của một đặc trưng của sản phẩm mà người dùng muốn nói đến, trong khi thể hiện đặc trưng là một từ hoặc cụm từ xuất hiện thực sự trong các đánh giá sản phẩm để chỉ đặc trưng đó. Những khái niệm này được sử dụng trong phương pháp đề xuất của chúng tôi.

Ví dụ:

Một nhóm đặc trưng tên là “Hình thức”, có thể có nhiều thể hiện đặc trưng như: “Thiết kế”, “Kiểu cách”, “Mẫu mã”, hoặc thậm chí có thể là “Hình thức”.

Mục tiêu của bài toán là xác định được các đặc trưng đồng nghĩa và đưa chúng vào cùng một nhóm đặc trưng. Bài toán gom nhóm đặc trưng đồng nghĩa trong các đánh giá liên quan nhiều đến bài toán xác định từ đồng nghĩa [27]. Đây là một thách thức trong xử lý ngôn ngữ tự nhiên.

Page 20: K52 Pham Huyen Trang Thesis

9

1.2.2. Một số nghiên cứu liên quan trên thế giới

Bài toán gom nhóm đặc trưng đồng nghĩa đã và đang nhận được nhiều sự quan tâm trên thế giới. Có khá nhiều công trình đã nghiên cứu nhằm tìm ra các phương án tối ưu để giải quyết bài toán, chẳng hạn [7, 11, 27].

Theo Bing Liu [5], một trong số các phương pháp nhằm giải quyết bài toán này là sử dụng từ điển Wordnet và các từ điển đồng nghĩa khác. Một một số phương pháp hướng sử dụng từ đồng nghĩa song kết hợp một số cải tiến đã được đề xuất.

Carenini và cộng sự, 2005 [8] đề xuất một phương pháp tinh vi dựa trên các số liệu tương tự như một số yêu cầu phân lớp các đặc trưng được đưa ra. Hệ thống này kết hợp đặc trưng phát hiện mỗi một nút đặc trưng trong phân lớp này. Các số liệu tương tự được xác định dựa trên các chuỗi tương tự, từ đồng nghĩa và khoảng cách đo khác bằng cách sử dụng WordNet.

Zhongwu Zhai và cộng sự, 2010 [27] nêu ra ba hạn chế khi dùng từ điển đồng nghĩa trong gom nhóm từ đặc trưng.

Thứ nhất, có nhiều từ không phải là đồng nghĩa trong từ điển nhưng lại có thể là đồng nghĩa trong một miền ứng dụng nào đó. Ví dụ, hai từ “design” và “appearance” không là từ đồng nghĩa nếu xét trong từ điển nhưng được coi là hai từ đồng nghĩa trong miền “mobile”.

Thứ hai, từ đồng nghĩa có tính phụ thuộc miền ứng dụng. Ví dụ, hai từ “movie” và “picture” là đồng nghĩa trong miền “movie” nhưng trong miền “video” thì hai từ này lại chỉ đến hai đặc trưng hoàn toàn khác nhau.

Thứ ba, việc xác định các từ đồng nghĩa có thể phụ thuộc vào yêu cầu mức độ trừu tượng hóa của miền ứng dụng. Ví dụ, trong miền “car” thì “internal design” và “external design” là thuộc hai nhóm đặc trưng khác nhau theo mức chi tiết nào đó song lại được coi là thuộc cùng một nhóm đặc trưng theo một mức trừu tượng cao hơn.

Dựa theo hướng tiếp cận không giám sát, Guo và cộng sự, 2009 [12] đề xuất một kỹ thuật việc kết hợp ngữ nghĩa ẩn đa mức để góm nhóm các thể hiện đặc trưng. Kỹ thuật này chạy LDA hai lần. Kỹ thuật này tránh được việc phụ thuộc vào từ điển đồng nghĩa. Tuy nhiên phương pháp này còn phụ thuộc vào miền và ngôn ngữ.

Page 21: K52 Pham Huyen Trang Thesis

10

Gần đây, Zhongwu Zhai và cộng sự, 2010 [27] đề xuất một phương pháp nhóm đặc trưng đồng nghĩa dựa trên hướng tiếp cận học bán giám sát, đồng thời kết hợp ràng buộc mềm để áp dụng cho bài toán này nhằm khắc phục những hạn chế còn gặp phải khi sử dụng từ điển đồng nghĩa. Phương pháp học bán giám sát được sử dụng là Naïve-Bayesian Expectation-Maximization, bộ phân lớp Bayesian được chạy lặp lại trên dữ liệu đã gán nhãn và dữ liệu chưa gán nhãn cho đến khi các xác suất cho dữ liệu chưa gán nhãn hội tụ. Việc gán nhãn dữ liệu được tạo bằng tay. Để có kết quả tốt hơn, các tác giả đã tạo ra 2 ràng buộc mềm nhằm làm giàu tập dữ liệu đã gán nhãn. Hai ràng buộc mềm này là: (1) – Những thể hiện đặc trưng có chung một số từ nào đó thì thuộc về cùng một nhóm; (2) – Những thể hiện đặc trưng đồng nghĩa trong từ điển đồng nghĩa thì thuộc về cùng một nhóm.

Việc tạo ra những ràng buộc mềm có hai ưu điểm:

Một là, hai ràng buộc này tạo ra các mẫu nhãn mềm (soft-labeled examples) và chúng được đưa vào tập huấn luyện nhằm làm giàu tập huấn luyện đó.

Hai là, trong trường hợp ràng buộc mềm gán sai nhãn do những hạn chế của bộ từ điển đồng nghĩa mang lại thì bộ phân lớp bán giám sát vẫn được phép thay đổi nhãn.

Các tác giả tiến hành thực nghiệm trên các đánh giá từ 5 miền khác nhau, kết quả cho thấy phương pháp gom nhóm đặc trưng sử dụng học bán giám sát là khá hiệu quả. Thực nghiệm trên 5 bộ dữ liệu, độ đo purity thuộc khoảng 0.66-0.70 và độ đo accuracy thuộc khoảng 0.67-0.71.

1.2.3. Giải pháp hiện thời

Hiện nay, tại Việt Nam, chưa có một công trình nghiên cứu nào đi sâu giải quyết bài toán gom nhóm đặc trưng sản phẩm trong các đánh giá tiếng Việt.

Trong [21], chúng tôi đề xuất một mô hình khai phá quan điểm dựa trên đặc trưng đối với các đánh giá sản phẩm điện thoại bằng tiếng Việt. Khó khăn lớn nhất của chúng tôi khi giải quyết bài toán này trong miền dữ liệu tiếng Việt là tại Việt Nam, chưa có bộ từ điển đồng nghĩa kiểu Wordnet; trong khi các công trình nghiên cứu nêu trên (mục 1.2.2) đều sử dụng bộ từ điển đồng nghĩa. Ngoài ra, trong miền dữ liệu đánh giá tiếng Việt của khách hàng về sản phẩm, chất lượng cũng như số lượng của các đánh giá là khá thấp.

Page 22: K52 Pham Huyen Trang Thesis

11

Trong công trình nói trên [21], chúng tôi sử dụng một giải pháp rất đơn giản để nhóm các đặc trưng “đồng nghĩa” – đó là sử dụng một bộ từ điển đặc trưng đồng nghĩa xây dựng bằng tay. Từ điển này chứa các đặc trưng đồng nghĩa trên miền sản phẩm “điện thoại”. Khi trong câu đánh giá xuất hiện một thể hiện đặc trưng có trong từ điển thì tên thể hiện đặc trưng sẽ được suy ra tên nhóm đặc trưng.

Tuy nhiên, ngoài những hạn chế đã nêu ở mục 1.2.2 khi sử dụng từ điển đồng nghĩa, giải pháp này còn gặp một số điểm hạn chế. Thứ nhất, việc nhóm các thể hiện đặc trưng vào nhóm đặc trưng phù hợp là một công việc tốn rất nhiều thời gian, vì người dùng thường sử dụng rất nhiều những từ ngữ khác nhau để thể hiện cùng một đặc trưng, có những nhóm đặc trưng có thể có đến hàng chục thể hiện đặc trưng. Thứ hai, trong trường hợp xuất hiện những thể hiện đặc trưng mới trong đánh giá của người dùng, và đặc trưng này không có trong từ điển thì mô hình vẫn chưa phát hiện được nhóm đặc trưng của nó. Bởi lẽ, việc xác định đặc trưng đồng nghĩa phụ thuộc hoàn toàn vào bộ từ điển. Thứ ba, việc xây dựng từ điển đồng nghĩa trong [21] chỉ áp dụng được trong miền sản phẩm điện thoại, khi chuyển sang miền dữ liệu khác thì phải xây dựng một bộ từ điển khác.

Khóa luận này đề xuất một giải pháp gom nhóm đặc trưng đồng nghĩa cũng dựa trên phân lớp bán giám sát. Tuy nhiên, so với [26], mô hình của chúng tôi có các điểm khác biệt: Thứ nhất, chúng tôi không tạo một tập huấn luyện bằng tay để tạo ra một bộ phân lớp như [26], mà thay vào đó, tập huấn luyện này được tạo một cách tự động nhờ áp dụng thuật toán phân cụm HAC. Thứ hai, chúng tôi không sử dụng từ điển đồng nghĩa, mà thay vào đó là một từ điển Việt-Việt cùng các đánh giá của khách hàng để tạo tập huấn luyện. Thứ ba, phương pháp phân lớp bán giám sát mà chúng tôi sử dụng là SVM-kNN, trong khi phương pháp được sử dụng trong [26] là EM.

Tóm tắt chương một

Trong chương này, khóa luận giới thiệu khái quát về bài toán gom nhóm đặc trưng đồng nghĩa trong khai phá quan điểm khách hàng theo đặc trưng. Khóa luận cũng trình bày một số hướng giải quyết của bài toán trên thế giới cũng như giải pháp hiện thời của chúng tôi.

Từ những phân tích về khó khăn khi giải quyết bài toán trên miền tiếng Việt cùng với các điểm hạn chế về giải pháp hiện thời cũng như hạn chế về việc sử dụng từ điển

Page 23: K52 Pham Huyen Trang Thesis

12

đồng nghĩa, chúng tôi đề xuất một giải pháp gom nhóm đặc trưng “đồng nghĩa” sử dụng phương pháp phân lớp bán giám sát SVM-kNN kết hợp phân cụm HAC.

Chương tiếp theo giới thiệu phương pháp phân lớp bán giám sát SVM-kNN – là một phương pháp phân lớp bán giám sát cho kết quả cao do Kunlun Li và cộng sự đề xuất năm 2010.

Page 24: K52 Pham Huyen Trang Thesis

13

Chương 2. Phân lớp bán giám sát SVM-kNN

2.1. Một số nội dung cơ bản về phân lớp bán giám sát

2.1.1.Khái niệm

a. Học bán giám sát

Học bán giám sát là một mô hình học máy liên quan đến việc tận dụng các dữ liệu chưa gán nhãn để xây dựng các bộ phân lớp và các bộ hồi qui tốt hơn (A. B. Goldberg, 2010, [4]). Học bán giám sát là việc học trên cả dữ liệu đã và chưa được gán nhãn. Từ một số luợng lớn các dữ liệu chưa được gán nhãn, và một luợng nhỏ dữ liệu đã được gán nhãn ban đầu (thuờng gọi là seed set) để xây dựng một bộ phân lớp thậm chí là tốt hơn. Trong quá trình học như thế, phương pháp sẽ tận dụng được những thông tin phong phú của dữ liệu chưa gán nhãn (unlabeled data), mà chỉ yêu cầu một số luợng nhỏ các dữ liệu đã gán nhãn (labeled data ) [25, 26, 1]. Như tổng hợp của X.J. Zhu, 2008 [25], học bán giám sát nhận được sự quan tâm đặc biệt của cộng đồng nghiên cứu về học máy.

Theo X.J. Zhu, 2008 [25], X. Zhu và A. B. Goldberg, 2009 [26], học bán giám sát có thể được xem là:

• Học giám sát (tất cả các dữ liệu đều đã được gán nhãn) cộng thêm dữ liệu chưa gán nhãn.

• Học không giám sát (tất cả các dữ liệu đều chưa được gán nhãn) cộng thêm dữ liệu gãn nhãn.

Trên thực tế, hầu hết các chiến lược học bán giám sát dựa trên việc mở rộng học giám sát hoặc học không giám sát đều chứa thêm thông tin của mô hình học khác [4].

Nhiệm vụ chính của học bán giám sát chính là mở rộng tập các dữ liệu gán nhãn ban đầu [25, 26, 1]. Phương pháp học này được cung cấp một số thông tin giám sát, nhưng chỉ trên một số ví dụ mà không nhất thiết phải trên tất cả dữ liệu.

Việc học bán giám sát sẽ là hữu ích khi có nhiều dữ liệu không gán nhãn hơn là dữ liệu gãn nhãn. Trong thực tế, tồn tại nhiều dữ liệu không gán nhãn hơn là dữ liệu gán nhãn; bởi vì dữ liệu không gãn nhãn có thể dễ dàng được thu thập với chi phí thấp, nhưng công việc gãn nhãn cho các dữ liệu lại tốn rất nhiều thời gian, công sức và tiền bạc [4, 7,

Page 25: K52 Pham Huyen Trang Thesis

14

25, 26]. Chính vì khả năng tận dụng cả dữ liệu đã gán nhãn để đạt được kết quả cao hơn học giám sát nên học bán giám sát mang giá trị thực tiễn cao [5].

b. Phân lớp bán giám sát

Phân lớp bán giám sát đang là một lĩnh vực nhận được nhiều sự quan tâm trong cả lý thuyết và thực tiễn [25]. Phân lớp bán giám sát là một dạng đặc biệt trong bài toán phân lớp [26]. Nó sử dụng cả dữ liệu chưa gán nhãn, và dữ liệu đã gán nhãn – điều này chính là một sự mở rộng so với bài toán phân lớp giám sát.

Giả sử tập dữ liệu huấn luyện bao gồm l ví dụ đã gán nhãn 1{(x ,y )}li i i= , trong đó yi

là nhãn tương ứng với vị dụ xi; và u ví dụ chưa gán nhãn 1{x }l uj j l

+= + . Trong phân lớp bán

giám sát, số lượng dữ liệu chưa gán nhãn là lớn hơn nhiều so với dữ liệu đã gán nhãn, tức là u >> l. Mục tiêu của phân lớp bán giám sát là huấn luyện một bộ phân lớp f từ l và u; trong khi đó, phân lớp giám sát lại tạo ra một bộ phân lớp chỉ từ những dữ liệu đã gãn nhãn. Trong quá trình học, việc phân lớp bán giám sát sẽ tận dụng được những thông tin phong phú của dữ liệu chưa gãn nhãn, mà chỉ yêu cầu một số lượng rất nhỏ các dữ liệu đã gãn nhãn.

2.1.2. Các phương pháp phân lớp bán giám sát điển hình

Các thuật toán bán giám sát đã và đang được phát triển một cách nhanh chóng trong những năm gần đây. Hiện nay, có rất nhiều phương pháp học bán giám sát như: self-learning và self-labeling – là hai trong số những phương pháp phân lớp bán giám sát sớm nhất, chúng vẫn được sử dụng rộng rãi trong lĩnh vực xử lý ngôn ngữ tự nhiên; hoặc phương pháp SSSVM (SVM bán giám sát) với ý tưởng tìm một biên quyết định trong các vùng mật độ thấp; hay phương pháp dựa trên đồ thị - phương pháp này xây dựng một đồ thị có trọng số trên những ví dụ đã gán nhãn và ví dụ chưa gán nhãn và giả thiết rằng giữa hai ví dụ có một kết nối mạnh thì có khuynh hướng có cùng nhãn và giải quyết bài toán tối ưu hóa; một phương pháp phân lớp bán giám sát khác là sử dụng mô hình sinh, hỗn hợp phân bố Gaussian trong thuật toán EM (K. Li và cộng sự, 2010 [167).

Vì vậy, trước khi quyết định lựa chọn phương pháp học cho một bài toán cụ thể cần phải xem xét các giả thiết của mô hình. Theo [25], nên sử dụng phương pháp học mà giả thiết của nó phù hợp với cấu trúc của bài toán. Việc lựa chọn này có thể là khó khăn trong thực tế, tuy nhiên có thể thử các gợi ý sau: Nếu các lớp tạo ra dữ liệu có tính phân

Page 26: K52 Pham Huyen Trang Thesis

15

cụm cao thì EM với mô hình trộn sinh có thể là một sự lựa chọn tốt; nếu các thuộc tính có sự phân chia tự nhiên thành hai tập thì co-training có thể phù hợp; nếu hai mẫu dữ liệu với các thuộc tính tương tự nhau hướng tới thuộc về cùng một lớp thì có thể sử dụng các phương pháp dựa trên đồ thị; nếu các bộ phân lớp giám sát được xây dựng từ trước là phức tạp và khó sửa đổi thì self-training sẽ là một lựa chọn ưu tiên.

Hiệu quả của những thuật toán phân lớp bán giám sát phụ thuộc vào chất lượng của các ví dụ gán nhãn được thêm vào ở mỗi vòng lặp và được đánh giá dựa trên hai tiêu chí [4, 25]:

- Các ví dụ được thêm vào phải được gán nhãn một cách chính xác. - Các ví dụ được thêm vào phải mang lại thông tin hữu ích cho bộ phân lớp (hoặc dữ liệu huấn luyện).

2.2. Phương pháp luận SVM-kNN dựa trên học bán giám sát

Khóa luận này tập trung nghiên cứu việc nhóm các đặc trưng đồng nghĩa trong khai phá quan điểm dựa trên phân lớp bán giám sát SVM-kNN. Phương pháp phân lớp bán giám sát SVM-kNN tỏ ra rất hiệu quả trong bài toán phân lớp nếu chọn các tham số phù hợp. Phương pháp này có độ chính xác cao hơn so với thuật toán phân lớp SVM bởi vì nó thực hiện việc cải tiến độ chính xác của mỗi bộ phân lớp SVM qua nhiều lần lặp [16]. Trước hết, chúng tôi xin giới thiệu về thuật toán SVM, kNN và sau đó trình bày các bước trong SVM-kNN.

2.2.1. Thuật toán máy vector hỗ trợ (SVM)

Giải thuật Máy vector hỗ trợ (SVM) dựa trên nguyên lý tối thiểu hóa rủi ro cấu trúc (Structural Risk Minimization) trong lý thuyết thống kê (T. Joachims, 1997, [16]). Xét bài toán phân lớp văn bản thành các lớp mẫu dương và mẫu âm: Cho một tập huấn luyện các cặp (xi, yi), i = 1, …, l; trong đó xi∈ Rn là không gian vector đặc trưng n chiều; yi∈ {-1, 1}, các mẫu dương là các mẫu xi thuộc lĩnh vực quan tâm và được gán nhãn yi = 1 và các mẫu âm là các mẫu xi không thuộc lĩnh vực quan tâm và được gán nhãn yi = −1. Bài toán đặt ra là khi đưa ra một vector đặc trưng x mới, cần dự đoán được y sao cho khả năng lỗi xảy ra là tối thiểu.

Page 27: K52 Pham Huyen Trang Thesis

16

a.Trường hợp khả tách tuyến tính

Trong trường hợp này, bộ phân lớp SVM là mặt siêu phẳng phân tách các mẫu dương khỏi các mẫu âm với lề cực đại, được xác định bằng khoảng cách giữa các mẫu dương và các mẫu âm gần mặt siêu phẳng lề tối ưu nhất (hình 5). Các mặt siêu phẳng trong không gian đối tượng có phương trình là wTx + b = 0, trong đó w là vector pháp tuyến, b là tham số mô hình phân lớp. Khi thay đổi w và b, hướng và khoảng cách từ gốc tọa độ đến mặt siêu phẳng thay đổi.

Hình 5: Mặt siêu phẳng tách các mẫu dương khỏi các mẫu âm

Bộ phân lớp SVM được định nghĩa như sau: f(x) = sign(wTx + b)(1.1), trong đó:

sign(z) = +1 nếu z ≥ 0 và sign(z) = −1 nếu z < 0.

Nếu f(x) = +1 thì x thuộc về lớp dương, và ngược lại, nếu f(x) = −1 thì x thuộc về lớp âm.

Mục tiêu của phương pháp SVM là ước lượng w và b để cực đại hóa lề giữa các lớp dữ liệu dương và âm.Các giá trị khác nhau của lề cho ta các họ mặt siêu phẳng khác nhau, và lề càng lớn thì lỗi tổng quát hóa của bộ phân lớp càng giảm.

Tập dữ liệu huấn luyện là khả tách tuyến tính, ta có các ràng buộc sau:

wT xi + b ≥ +1 nếu yi = +1 (1.2) wT xi + b ≤ −1 nếu yi = −1 (1.3)

Hai mặt siêu phẳng có phương trình là wT x + b = ±1 được gọi là các mặt siêu phẳng hỗ trợ (các đường nét đứt trên hình 5).

Page 28: K52 Pham Huyen Trang Thesis

17

Để xây dựng một mặt siêu phẳng lề tối ưu thì:

- Vector w sẽ được tính:

w =1

N

i i ii

y xα=∑ (1.4)

- Tham số b được xác định sử dụng điều kiện Karush–Kuhn–Tucker(KKT) như sau:

αi [ yi (wT xi + b) – 1] = 0 (1.5)

Các mẫu xi tương ứng với αi> 0 là những mẫu nằm gần mặt siêu phẳng quyết định nhất (thỏa mãn dấu đẳng thức trong (1.2), (1.3)) và được gọi là các vector hỗ trợ. Những vector hỗ trợ là những thành phần quan trọng nhất của tập dữ liệu huấn luyện. Bởi vì nếu chỉ có các vector hỗ trợ, ta vẫn có thể xây dựng mặt siêu phẳng lề tối ưu như khi có một tập dữ liệu huấn luyện đầy đủ.

b. Trường hợp không khả tách tuyến tính

Với dữ liệu huấn luyện không khả tách tuyến tính thì ta có thể giải quyết theo hai cách.

Cách thứ nhất sử dụng một mặt siêu phẳng lề mềm, nghĩa là cho phép một số mẫu huấn luyện nằm về phía sai của mặt siêu phẳng phân tách hoặc vẫn ở vị trí đúng nhưng rơi vào vùng giữa mặt siêu phẳng phân tách và mặt siêu phẳng hỗ trợ tương ứng. Trong trường hợp này, các hệ số Lagrange của bài toán quy hoạch toàn phương có thêm một cận trên C dương - tham số do người sử dụng lựa chọn. Tham số này tương ứng với giá trị phạt đối với các mẫu bị phân loại sai.

Cách thứ hai sử dụng một ánh xạ phi tuyến Φ để ánh xạ các điểm dữ liệu đầu vào sang một không gian mới có số chiều cao hơn.

Trong không gian này, các điểm dữ liệu trở thành khả tách tuyến tính, hoặc có thể phân tách với ít lỗi hơn so với trường hợp sử dụng không gian ban đầu. Một mặt quyết định tuyến tính trong không gian mới sẽ tương ứng với một mặt quyết định phi tuyến trong không gian ban đầu.

Với k là một hàm nhân thoản mãn:

k(xi, xj) = Φ(xi)T. Φ(xj) (1.6)

Page 29: K52 Pham Huyen Trang Thesis

18

Nếu chọn một hàm nhân phù hợp, ta có thể xây dựng được nhiều bộ phân loại khác nhau. Có một số hàm nhân cơ bản sau đây:

- Hàm nhân đa thức: k(xi, xj) = deg( amma.x oef0)T ree

i jg x c+ (1.7)

- Hàm vòng RBF (Radial Basic Function): 2( , ) exp( . | | )i j i jk x x gamma x x= − − (1.8)

- Hàm chữ S Sigmoid:

k(xi, xj) = tan( . . oef 0)Ti jgamma x x c+ (1.9)

trong đó gamma, coef0 và degree là các tham số nhân.

2.2.2. Thuật toán K người láng giềng gần nhất (kNN)

Bộ phân lớp dựa trên thuật toán K người láng giềng gần nhất là một bộ phânlớp dựa trên bộ nhớ, đơn giản vì nó không phải thực hiện quá trình học mô hình, thay thế điều đó, phương pháp cần sử dụng tất cả các đốitượng trong tập huấn luyện khi phân lớp cho một đối tượng dữ liệu mới.

Để 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ấnluyệ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ế. Cũng như SVM, k-NN được xếp vào 10 thuật toán khai phá dữ liệu điển hình nhất [24].

Để á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.1). Trong đó NC(x, D, k)là tập con chỉ chứa các đối tượng thuộc lớp c của tập N(x, D, k).

'

'

( , , )

( | ) os( , )cx N x D k

Score c x c x x∈

= ∑ (2.1)

Page 30: K52 Pham Huyen Trang Thesis

19

Khi đó tài liệu x sẽ được phân vào lớp c0nếu:

0( | ) ax{ ( | ), }score c x M score c x c C= ∈ (2.2)

Hình 6: Ví dụ về thuật toán kNN

Một ví dụ đơn giản về thuật toán kNN được minh họa trong hình 6. Trong đó, các nút tròn màu đỏ thể hiện lớp A, các nút tam giác màu xanh nước biển thể hiện lớp B và nút tròn màu xanh lá cây là nút chưa được gán nhãn. Với tham số k = 4, thuật toán sẽ tính khoảng cách từ nút xanh lá cây đến 4 nút gần nó nhất. Nút xanh lá cây có khoảng cách gần nhất đến 3 nút màu đỏ và 1 nút màu xanh biển.Từ hình có thể dễ dàng nhận thấy, nút xanh lá cây sẽ thuộc vào lớp A.

Để chọn được tham số k tốt nhất cho thao tác phân loại, thuật toán cần được chạy thử nghiệm trên nhiều giá trị k khác nhau, giá trị k càng lớn thì thuật toán càng ổn định và sai sót càng thấp.

2.2.3. Phương pháp phân lớp bán giám sát SVM-kNN

Thuật toán SVM đã cho thấy được rất nhiều những ưu điểm vượt trội như SVM có khả năng học độc lập với số chiều trong không gian đặc trưng, kết quả phân lớp khi sử dụng thuật toán SVM là khá tốt kể cả trong không gian đặc trưng nhiều chiều. Tuy nhiên, SVM có một nhược điểm là không cung cấp một ước lượng chính xác các biên quyết định đúng nếu có ít dữ liệu đã được gán nhãn.

Page 31: K52 Pham Huyen Trang Thesis

20

Trong suốt quá trình quyết định của phương pháp kNN chỉ liên quan đến số lượng nhỏ các hàng xóm gần nhất, do đó việc áp dụng phương pháp này có thể tránh được vấn đề về sự cân bằng giữa các ví dụ. Mặt khác, kNN chủ yếu phụ thuộc vào số lượng giới hạn các hàng xóm gần nhất không phải xung quanh một biên quyết định, vì vậy, nó phù hợp với việc phân lớp trường hợp tập các ví dụ có biên giao nhau và trường hợp có sự chồng chéo giữa các ví dụ.

Từ những ưu và nhược điểm của hai thuật toán SVM và kNN, Hao Zhang, Alexander C. Berg, Michael Maire và Jitendra Malik, 2006 [13] đã đề xuất một phương pháp kết hợp hai thuật toán trên. Công trình là một trong những công trình điển hình sớm nhất về phương pháp SVM-kNN. Ý tưởng cơ bản của phương pháp này là tìm các hàng xóm gần với mẫu truy vấn và huấn luyện một máy vector hỗ trợ cục bộ. Máy vector hỗ trợ cục bộ này duy trì hàm khoảng cách trên tập các hàng xóm. H. Zhang và cộng sự đã chứng minh được rằng phương pháp này có thể áp dụng với tập dữ liệu lớn và đa lớp với kết quả tốt hơn so với khi chỉ áp dụng thuật toán SVM hay kNN.

Sau đó, Kunlun Li và cộng sự, 2010 [17] đã đề xuất một phương pháp phân lớp SVM-KNN dựa trên học bán giám sát nhằm cải tiến thuật toán SVM bằng cách tận dụng những ưu điểm của thuật toán kNN đã nêu ra ở trên. Phương pháp này kết hợp thuật toán SVM và kNN, trong đó có sử dụng những thông tin từ dữ liệu chưa gán nhãn – những thông tin này có thể giúp khôi phục các biên quyết định đúng cho việc phân lớp. Trong thuật toán SVM, các vector hỗ trợ quyết định các biên quyết định một cách trực tiếp, trong khi các vector biên có thể là một ứng viên tốt cho vị trí vector hỗ trợ (hình 7), do đó, phương pháp này sử dụng các vector biên để khắc phục các biên quyết định trong mỗi lần lặp. Thuật toán kNN được dùng để gán nhãn các vector biên. Những vector biên cuối cùng được trộn với các ví dụ huấn luyện khởi tạo để cải tiến độ chính xác của phân lớp. Phương pháp này hiệu quả hơn so với phương pháp của H.Zhang và cộng sự [13]. Do đó, trong khóa luận này, chúng tôi tập trung nghiên cứu phương pháp phân lớp bán giám sát SVM-kNN do K.Li và cộng sự đề xuất năm 2010.

Page 32: K52 Pham Huyen Trang Thesis

21

Hình 7: Minh họa vector hỗ trợ và vector biên

Tư tưởng bán giám sát trong SVM-kNN:

Tư tưởng chính của phương pháp này dựa trên lý thuyết học bán giám sát, sử dụng cả dữ liệu đã gán nhãn và dữ liệu chưa gán nhãn cho quá trình phân lớp. Cụ thể là phương pháp sử dụng số ít các dữ liệu đã gán nhãn để huấn luyện một bộ phân lớp SVM và sử dụng bộ phân lớp SVM này để dự đoán dữ liệu chưa được gán nhãn. Từ những dữ liệu đã được gãn nhãn trong tập huấn luyện và những dữ liệu vừa được dự đoán bởi SVM, chọn ra những vector biên,và sử dụng những vector biên này để cải tiến bộ phân lớp SVM đó bằng cách sử dụng kNN. Việc sử dụng kNN để phân lớp không chỉ làm giàu số lượng tập huấn luyện, mà còn làm cải tiến được chất lượng của những ví dụ huấn luyện mới – chính là những ví dụ được chuyển từ các vector biên ở trên. Cuối cùng, tập dữ liệu đã được gán nhãn được mở rộng. Đây cũng chính là mục đích chính trong học bán giám sát.

Ba bước chính trong phương pháp SVM-kNN:

Đầu tiên, xây dựng một bộ phân lớp SVM yếu dựa trên một số ví dụ đã được gán nhãn có sẵn (tập huấn luyện). Sử dụng bộ phân lớp SVM yếu này để dự đoán nhãn lớp cho số lượng lớn các dữ liệu chưa được gán nhãn còn lại trong tập dữ liệu ban đầu. Từ những ví dụ đã được gán nhãn đó, lấy ra t ví dụ thuộc về mỗi lớp, những ví dụ này đứng xung quanh biên quyết định (các vector biên) bằng cách tính khoảng cách Euclidean trong

Page 33: K52 Pham Huyen Trang Thesis

22

không gian đặc trưng. Như vậy có được những vector biên đã được gán nhãn bởi bộ phân lớp SVM yếu.

Ở bước thứ hai, tiếp tục sử dụng tập các ví dụ huấn luyện ban đầu làm tập huấn luyện để tạo ra bộ phân lớp dựa trên thuật toán kNN. Những vector biên được lấy ra từ bước đầu tiên được coi như là tập kiểm tra cho bộ phân lớp được tạo ra bởi kNN. Các nhãn mới do kNN gán sẽ được gán lại cho các vector biên đó.

Cuối cùng, những vector biên và nhãn mới này được đặt vào tập huấn luyện ban đầu để làm giàu số lượng các ví dụ huấn luyện, và sau đó tiếp tục huấn luyện lại SVM. Vòng lặp này kết thúc khi số lượng các ví dụ huấn luyện là k lần toàn bộ tập dữ liệu.

Hình 8: Miêu tả khái quát của mô hình đề xuất bởi Kunlun Li, Xuerong Luo vàMing Jin[17]

Giả sử tập dữ liệu ban đầu là X gồm n ví dụ, trong đó có l ví dụ đã được gán nhãn (l << n) và u=n-m ví dụ chưa được gán nhãn (l< u). Gọi L⊂ X là tập ví dụ đã gán nhãn (||L||=l), U⊂X là tập ví dụ chưa gán nhãn (||U||=u). Giả sử xét bài toán phân lớp hai lớp (A và B) và tập L chứa các ví dụ thuộc A và B. Chi tiết các bước trong phương pháp này như sau:

Page 34: K52 Pham Huyen Trang Thesis

23

1-Dùng tập dữ liệu có nhãn L làm ví dụ huấn luyện để xây dựng một phân lớp yếu SVM1. 2-Sử dụng SVM1 để dự đoán lớp của tất cả dữ liệu trong U, sau đó chọn ra 2s (1≤s≤5) ví dụ làm các vector biên:

a. Chọn một ví dụ xi thuộc lớp A và tính khoảng cách Euclide giữa xi với tất cả ví dụ của lớp B, sau đó chọn ra s ví dụ của B tương ứng với s khoảng cách tối thiểu.

b. Chọn một ví dụ yi thuộc lớp B và tính khoảng cách Euclide giữa yivới tất cả ví dụ của lớp A, sau đó chọn ra s ví dụ của A tương ứng với s khoảng cách tối thiểu.

c. Gọi 2s ví dụ trên là vectơ biên và tập 2s vector biên này hợp thành một bộ dữ liệu kiểm tra mới. 3-Dùng thuật toán kNN với tập huấn luyện L để phân lớp 2s vector biên, các vectơ biên sẽ nhận được nhãn mới. 4-Bổ sung 2s vector biên (cùng nhãn của của chúng) vào tập L tạo thành một tập dữ liệu học mở rộng mới (L=L∪ {2s vector biên}) làm tập ví dụ huấn luyện để xây dựng bộ phân lớp SVM2mới. Gán SVM2 cho SVM1. 5-Lặp đi lặp lại các bước từ 2-4 cho đến khi kích thước tập L (tập các ví dụcó nhãn) bằng k (0 < k < 1) lần kích thước của X (toàn bộ bộ dữ liệu).

Kết quả của phương pháp bán giám sát do SVM-kNN do K.Li và cộng sự [17] đề xuất có thể hỗ trợ các kết quả lý thuyết học thống kê kết hợp với dữ liệu chưa gán nhãn nhằm cải tiến độ chính xác của bộ phân lớp khi thông tin huấn luyện là không đầy đủ. Để có được kết quả tốt hơn thì có thể điểu chỉnh 3 tham số: k – số hàng xóm gần nhất, là tham số trong bước 3, t – kích thước dữ liệu huấn luyện cần đạt so với kích thước tập toàn bộ dữ liệu, s – số vector biên tùy theo điều kiện thực tiễn. Thực nghiệm của các tác giả với 3 bộ dữ liệu: Iris, Breast cancer và Ionosphere cho thấy kết quả khi áp dụng phương pháp bán giám sát SVM-kNN là khá tốt. Đặc biệt khi chọn tham số tốt, độ chính xác trên tập dữ liệu iris lên tới 98.15%; trên tập Breast cancer khỏang 90% và trên tập Ionosphere độ chính xác khoảng 80%. Bộ tham số s=4 (hoặc 5), k=5 và t=0.6 là hiệu quả nhất cho 3 bộ dữ liệu nói trên.

Page 35: K52 Pham Huyen Trang Thesis

24

Tóm tắt chương hai:

Chương hai đã trình bày chi tiết thuật toán SVM, thuật toán kNN và phương pháp phân lớp bán giám sát SVM-kNN. Phương pháp này đã cho thấy được những ưu điểm vượt trội, cùng với một số kết quả thực nghiệm với độ chính xác cao. Đây là phương pháp chúng tôi sử dụng để giải quyết bài toán gom nhóm đặc trưng sản phẩm.

Chương 3 sẽ trình bày chi tiết giải pháp đề xuất dựa trên thuật toán phân lớp bán giám sát này để giải quyết bài toán gom nhóm các đặc trưng trong các đánh giá tiếng Việt đối với các sản phẩm.

Page 36: K52 Pham Huyen Trang Thesis

25

Chương 3. Giải pháp gom nhóm tự động đặc trưng sản phẩm tiếng Việt

3.1. Một giải pháp gom nhóm đặc trưng sản phẩm tiếng Việt dựa trên phân lớp bán giám sát SVM-kNN kết hợp phân cụm HAC

Hướng tiếp cận giải quyết bài toán dựa trên phân lớp bán giám sát EM được Z.Zhai và cộng sự [27] nghiên cứu và phát triển. Tiếp cận theo cách này đã cho kết quả khả quan khi giải quyết bài toán, với độ đo purity thuộc khoảng 0.66-0.70 và độ đo accuracy thuộc khoảng 0.67-0.71. Tuy nhiên, việc tạo tập huấn luyện cho bộ phân lớp EM khi thay đổi miền sản phẩm vẫn phải làm một cách thủ công.

Chính vì thế, chúng tôi đề xuất một giải pháp tự động gom nhóm đặc trưng sản phẩm tiếng Việt dựa trên phân lớp bán giám sát SVM-kNN kết hợp phân cụm HAC. Trong giải pháp này, chúng tôi không tạo một tập huấn luyện bằng tay để tạo ra một bộ phân lớp khi thay đổi miền sản phẩm, mà thay vào đó, tập huấn luyện này được tạo một cách tự động nhờ áp dụng thuật toán phân cụm HAC. Chúng tôi chọn thuật toán phân cụm phân HAC vì đây là một thuật toán phân cấp cho phép người dùng đưa ra một ngưỡng để dừng thuật toán nếu độ tương tự giữa 2 cụm nhỏ hơn ngưỡng này. Do đó, những mẫu đã được đưa vào cụm có chất lượng tốt. Nhờ vậy mà phân lớp SVM-kNN cũng sẽ có được kết quả cao.

Tư tưởng chính của giải pháp đề xuất như sau:

Các thể hiện đặc trưng sẽ được đưa vào các nhóm đặc trưng - cụm khác nhau, sao cho các thể hiện đặc trưng trong cùng một cụm thì cùng chỉ đến một đặc trưng sản phẩm nào đó, trong đó một cụm có thể có nhiều thể hiện đặc trưng nhưng một thể hiện đặc trưng chỉ có thể thuộc vào một nhóm đặc trưng. Ví dụ, cụm “hình thức” có thể có nhiều thể hiện đặc trưng như: “mẫu mã”, “thiết kế”, “kiểu cách”, “kiểu dáng”,… ; nhưng một thể hiện đặc trưng “mẫu mã” chỉ thuộc vào một cụm “hình thức”. Vì hiện nay, tại Việt Nam chưa có bộ từ điển đồng nghĩa, do đó độ tương tự giữa 2 thể hiện đặc trưng dùng trong phân cụm HAC được tính dựa trên độ tương tự về ngữ nghĩa và ngữ cảnh của 2 thể hiện đặc trưng đó. Ngữ nghĩa của mỗi thể hiện đặc trưng được thể hiện thông qua bộ từ

Page 37: K52 Pham Huyen Trang Thesis

26

điển Việt-Việt. Ngữ cảnh của mỗi thể hiện đặc trưng được xác định bằng cách xem xét các từ xuất hiện xung quanh thể hiện đặc trưng trong các đánh giá của khách hàng. Vì kết quả phân cụm có thể có sai sót, nên chúng tôi đưa ra một ngưỡng cho trước. Ngưỡng này được so sánh với độ đo tương đồng giữa 2 thể hiện đặc trưng nhằm tạo ra một tập huấn luyện có độ chính xác cao. Sau khi áp dụng thuật toán HAC, thu được các cụm chứa các thể hiện đặc trưng. Với cụm có nhiều hơn một thể hiện đặc trưng, nếu coi các cụm là các nhãn lớp và các thể hiện đặc trưng là các mẫu, thì các mẫu này được xem là những mẫu đã được gán nhãn.Với cụm chỉ có 1 thể hiện đặc trưng thì coi các mẫu này là những mẫu chưa gán nhãn. Sử dụng những mẫu gán nhãn và chưa gán nhãn cùng với ngữ cảnh của những mẫu này để áp dụng phân lớp bán giám sát SVM-kNN. Chi tiết các bước được biểu diễn bởi mô hình hình 9.

Đầu vào:

- Tập các thể hiện đặc trưng - Tập các đánh giá của khách hàng S đã được tách từ

Đầu ra:

- Tập các thể hiện đặc trưng cùng với nhóm đặc trưng tương ứng

Phát biểu bài toán: Coi mỗi thể hiện đặc trưng là một mẫu dữ liệu, mỗi nhóm đặc trưng là một lớp. Cần xây dựng một bộ phân lớp SVM-kNN để phân lớp các mẫu dữ liệu này vào các lớp khác nhau, thỏa mãn các mẫu dữ liệu thuộc cùng một lớp thì có một độ tương tự nhất định về ngữ nghĩa và ngữ cảnh của miền sản phẩm nào đó, và mỗi mẫu chỉ thuộc về một lớp nhưng một lớp có thể có nhiều mẫu.

Các pha chính:

1. Biểu diễn vector thể hiện đặc trưng 2. Tạo tập huấn luyện SVM-kNN 3. Phân lớp SVM-kNN

Page 38: K52 Pham Huyen Trang Thesis

27

Hình 9: Mô hình đề xuất gom nhóm đặc trưng đồng nghĩa

Chi tiết về các bước trong mỗi pha cũng như chi tiết về giải pháp đề xuất được trình bày ở mục 3.1, 3.2 và 3.3.

3.2. Pha 1: Biểu diễn vector thể hiện đặc trưng

Khóa luận tập trung xây dựng một mô hình gom nhóm đặc trưng đồng nghĩa, trong đó, các đặc trưng được xác định là đồng nghĩa dựa trên ngữ nghĩa và ngữ cảnh của những đặc trưng đó. Để áp dụng được thuật toán phân lớp bán giám sát SVM-kNN và phân cụm HAC, cần phải có 1 tài liệu ti để thể hiện ngữ nghĩadivà ngữ cảnhcicho mỗi thể hiện đặc trưng ei. tiđược tạo thành bởi việc kết hợp ngữ nghĩa của thể hiện đặc trưng trong từ điển Việt – Việt và ngữ cảnh của các câu sij trong tập S mà chứa thể hiện đặc trưng ei. Chính vì vậy, chúng tôi biểu diễn một thể hiện đặc trưng dưới dạng một vector thông qua ngữ nghĩa và ngữ cảnh của thể hiện đặc trưng đó.

Page 39: K52 Pham Huyen Trang Thesis

28

3.2.1. Xác định ngữ nghĩa của các thể hiện đặc trưng.

Việc xác định ngữ nghĩa của các thể hiện đặc trưng eidựa trên định nghĩa của những từ đó trong từ điển Việt-Việt.Chúng tôi sử dụng từ điển Việt – Việt trên website http://www.tratu.vn. Thuật toán trích xuất ngữ nghĩa của các thể hiện đặc trưng là khá đơn giản.

Ví dụ, từ thể hiện đặc trưng “kiểu dáng” được định nghĩa trong từ điển là:

Nghĩa = “hình dáng bên ngoài được làm theo một mẫu, một kiểu, phân biệt với các kiểu khác (nói khái quát)”.Do đó, ngữ nghĩa của từ “kiểu dáng” là cặp <kiểu dáng, Nghĩa>.

Với những từ có nhiều nghĩa, chúng tôi thực hiện trích xuất tất cả các nghĩa của từ đó. Ví dụ, từ thể hiện đặc trưng “hình ảnh” có 2 nghĩa trong từ điển Việt – Việt, là:

Nghĩa 1 = “hình người, vật, cảnh tượng thu được bằng khí cụ quang học (như máy ảnh), hoặc để lại ấn tượng nhất định và tái hiện được trong trí”.

Nghĩa 2 = “khả năng gợi tả sinh động trong cách diễn đạt”.

Ngữ nghĩa trong trường hợp này là 2 cặp <hình ảnh, Nghĩa 1>và <hình ảnh, Nghĩa 2>.

Đầu vào: Thể hiện đặc trưng

Đầu ra: Ngữ nghĩa của thể hiện đặc trưng đầu vào

Các bước:

1. Truy vấn vào trang http://tratu.vn/dict/vn_vn/ để lấy mã nguồn trang chứa ngữ nghĩa của từ

2. Phân tích mã nguồn trang web để tìm được ngữ nghĩa của từ 3. Duyệt với mỗi 1 ngữ nghĩa tìm được

3.1. Nếu kết quả chứa "như 'từ khóa' " thì "Thực hiện lại việc tìm nghĩa của 'từ khóa' mới"

3.2. Nếu không thì "thêm ngữ nghĩa vào nghĩa của từ ban đầu" 4. Trả về ngữ nghĩa của từ

Page 40: K52 Pham Huyen Trang Thesis

29

Sau đó, tiến hành loại bỏ từ dừng (do từ dừng không mang lại ý nghĩa cho câu) và tách từ.Khi đó, thể hiện đặc trưng và nghĩa tương ứng được biểu diễn thông qua một tập các từ. Ở ví dụ về từ “kiểu dáng” trên, ngữ nghĩa của nó được biểu diễn là:

di = <kiểu dáng, hình dáng, bên ngoài, mẫu, kiểu, phân biệt, kiểu, khái quát>

3.2.2. Xác định ngữ cảnh của thể hiện đặc trưng

Khóa luận này xem xét ngữ cảnh của mỗi câu là những từ xuất hiện xung quanh thể hiện đặc trưng ei trong cửa sổ [-a,a], a∈Z* và chính bản thân ei. Để làm rõ khái niệm ngữ cảnh này, xem xét ví dụ sau đây:

Một thể hiện đặc trưng từ tập S đã trích xuất được là ei = “pin”. Trong tập S có 3 câu chứa từ “pin” là:

si1= “pin không được lâu lắm”.

si2= “thấy pin hơi yếu nên chỉ lo lắng cái pin”.

si3 = “pin mau hết quá”.

Ngữ cảnh của câu si1 được thể hiện thông qua các từ<pin, không, được, lâu>. Tương tự với câu si2 và si3, có được ngữ cảnh của chúng là<thấy, pin, hơi, yếu > và <pin, mau, hết>. Cuối cùng, thu được ngữ cảnh cho thể hiện đặc trưng ei là:

ci = <pin, không, được, lâu, thấy, pin, hơi, yếu, pin, mau, hết>

3.2.3. Biểu diễn thể hiện đặc trưng dưới dạng vector

Mỗi một thể hiện đặc trưng được thể hiện thông qua ngữ nghĩa và ngữ cảnh đã trích xuất được của chúng. Trước khi bước vào qúa trình phân lớp cho các thể hiện đặc trưng này, chúng tôi thực hiện việc biểu diễn thể hiện đặc trưng dưới dạng vector. Coi tập D gồm có m văn bản, là m cặp <thể hiện đặc trưng, nghĩa>. Mỗi văn bản cần được biểu diễn trong một không gian nhiều chiều, trong đó mỗi chiều tương ứng với một từ. Như vậy:

- Số chiều trong không gian chính là số từ xuất hiện tập D. Tập các từ này được gọi là tập từ vựng. - Giá trị của mỗi chiều trong không gian vector là trọng số được đánh cho từ đó trong tập D.

Page 41: K52 Pham Huyen Trang Thesis

30

Có hai phương pháp đánh trọng số cho từ điển hình, là phương pháp Boolean và phương pháp dựa trên tần số [3]. Phương pháp dựa trên tần số xác định được độ quan trọng của mỗi từ trong mỗi văn bản tốt hơn so với phương pháp Boolean do dựa trên tần số xuất hiện của những từ vựng trong văn bản và tần số xuất hiện của văn bản trong tập D. Do vậy, chúng tôi sử dụng phương pháp đánh trọng số dựa trên tần số để áp dụng trong khóa luận này. Một phương pháp chuẩn thường được sử dụng dựa trên phương pháp đánh trọng số dựa trên tần số là Term Frequency Inverse Document Frequency (TFIDF). Đây cũng là công thức được lựa chọn cho khóa luận trong việc tính trọng số cho các từ. Hàm tính trọng số được xác định bởi công thức:

, ,| |* log( )l d l d

l

DTFIDF freqdf

=

Trong đó, tần xuất từ l trong văn bản d : freql,d là số lần xuất hiện của từ l trong văn bản d.

Tần xuất văn bản dfl là số văn bản trong D có chứa từ l .

Trọng số TFIDF của một từ mục biểu diễn độ quan trọng của từ mục.TFIDF của một từ mục trong một tài liệu sẽ giảm nếu như từ đó xuất hiện trong hầu hết các văn bản. Vì vậy, một từ xuất hiện quá ít hoặc quá nhiều được đánh giá ít quan trọng hơn so với các từ xuất hiện cân bằng.

3.3. Pha 2: Tạo tập huấn luyện cho bộ phân lớp SVM-kNN

Giải pháp đề xuất cho bài toán gom nhóm đặc trưng đồng nghĩa dựa trên phương pháp phân lớp bán giám sát SVM-kNN, tức là cần phải xây dựng một bộ phân lớp SVM-kNN từ dữ liệu đã được gán nhãn và dữ liệu chưa được gán nhãn. Các dữ liệu đã được gán nhãn đó được gọi là tập huấn luyện.Thông thường, để tạo tập huấn luyện cho bộ phân lớp SVM-kNN, dữ liệu chưa được gán nhãn cần phải được gán nhãn thủ công. Mặc dù, đối với phân lớp bán giám sát thì chỉ cần số lượng dữ liệu được gán nhãn ít hơn nhiều so với dữ liệu chưa được gán nhãn. Tuy nhiên, công việc gán nhãn vẫn tốn khá nhiều thời gian và công sức. Do vậy, chúng tôi đề xuất một phương pháp trong việc tạo tập huấn luyện cho bộ phân lớp SVM-kNN một cách tự động, không đòi hỏi việc gán nhãn thủ công – Đó là sử dụng thuật toán phân cụm phân cấp tích tụ từ dưới lên (Hierarchyical Agglomerative Clustering – HAC).

Page 42: K52 Pham Huyen Trang Thesis

31

Tư tưởng chính của thuật toán HAC:

Thuật toán HAC là thuật toán phân cụm được sử dụng rất rộng rãi và được tích hợp vào các ứng dụng thu thập thông tin [3]. Đầu tiên, mỗi mẫu dữ liệu được coi như một cụm phân biệt.Sau đó, tiến hành ghép lần lượt hai cụm giống nhau nhiều nhất hay khác nhau ít nhất làm một.Việc làm này được tiếp tục cho đến khi tất cả các cụm được ghép vào một cụm duy nhất chứa tất cả các mẫu.Hình 10 và hình 11 minh họa các mẫu dữ liệu trước và sau quá trình phân cụm.

Hình 10: Sơ đồ các phần tử trước khi phân cụm

Hình 11: Sơ đồ các phần tử sau khi phân cụm phân cấp tích tụ từ dưới lên – HAC

Page 43: K52 Pham Huyen Trang Thesis

32

Mục 3.2.1 và 3.2.2 sẽ trình bày chi tiết việc áp dụng thuật toán HAC cho bài toán gom nhóm đặc trưng đồng nghĩa trong các đánh giá tiếng Việt của khách hàng.

3.3.1. Quá trình phân cụm

Các tham số dùng trong quá trình phân cụm HAC:

G là tập hợp các cụm.

D là tập hợp các cặp <thể hiện đặc trưng, nghĩa> cần phân cụm. Gọi mỗi cặpnày là 1 văn bản.

là ngưỡng để cắt cây phân cấp HAC tìm ra được số cụm, tương ứng là số nhóm đặc trưng.

Các bước trong quá trình phân cụm:

Độ đo tương tự sử dụng trong quá trình phân cụm:

- Độ tượng tự giữa 2 cụm đơn (cụm chỉ chứa 1 văn bản)sử dụng độ đo Euclide, được định nghĩa:

sim (d1 , d2) = cos (d1 , d2)

Trường hợp 1 thể hiện đặc trưng có nhiều nghĩa thì như vậy cụm chứa thể hiện đặc trưng đó có thể tương tự với nhiều cụm khác nhau. Để tránh trường hợp này, chúng tôi chỉ xét 1 thể hiện đặc trưng chỉ thuộc 1 cụm nào mà có độ tương tự cao nhất trong các độ tương tự ứng với từng nghĩa của thể hiện đặc trưng đó với những thể hiện đặc trưng khác.

1. G {{d} | d thuộc S } (Khởi tạo G là tập các cụm chỉ gồm 1 cặp <thể hiện đặc trưng, nghĩa>

2. Tìm 2 cụm Si và Sj thuộc G sao cho: (i , j) = arg max(i , j) sim (Si , Sj)

(Tìm 2 cụm có độ tương tự lớn nhất) 3. Nếu sim (Si, Sj) < thì dừng thuật toán. (Độ tương tự của 2 cụm nhỏ hơn

ngưỡng cho phép) 4. Loại bỏ Si, Sj khỏi G 5. G = G {Si, Sj} 6. Chuyển đến bước 2

Page 44: K52 Pham Huyen Trang Thesis

33

Nói cách khác, nếu gọi I = (di1, di2, …, din) là các nghĩa của tài liệu di và J = (dj1, dj2, …, djm) là các nghĩa của tài liệu dj thì độ tương tự được tính bởi:

,( , ) ax os( , )it jki j d I d J it jksim d d m c d d∈ ∈=

- Độ tương tự giữa 2 cụm không đơn S1 và S2 (cụm chứa nhiều hơn 1 văn bản) được tính dựa trên một số phương pháp tính độ tương tự như:

+ Đo độ tương tự giữa trọng tâm c1, c2của S1và S1: sim(S1, S2) = sim(c1, c2)

+ Đo độ tương tự cực đại giữa 2 văn bản thuộc vào 2 cụm (hay còn gọi là single-link):

sim(S1, S2) = max1 1 2 2,d S d S∈ ∈ sim (d1, d2)

+ Đo độ tương tự cực tiểu giữa 2 mẫu thuộc vào 2 cụm (hay còn gọi là complete-link):

sim(S1, S2) = min1 1 2 2,d S d S∈ ∈ sim (d1, d2)

+ Đô độ tương tự trung bình giữa các mẫu trong 2 cụm (hay còn gọi là group-average):

1 1 2 2

1 2 1 2,1 2

1( , ) ( , )| || | d S d S

sim S S sim d dS S ∈ ∈

= ∑

Theo [3], độ đo group-average tránh được những trường hợp không mong muốn gặp phải như các độ đo còn lại, như : Độ đo single-link mang tính cục bộ, do vậy chất lượng phân cụm có thể sẽ kém nếu có trường hợp chỉ có duy nhất 2 văn bản ở trong 2 cụm là gần nhau, còn các văn bản còn lại trong 2 cụm là ở rất xa nhau. Độ đo complete-link, tương tự với độ đo single-link, chất lượng phân cụm có thể sẽ kém nếu có trường hợp chỉ có duy nhất 2 văn bản ở trong 2 cụm là xa nhau, còn các văn bản còn lại trong 2 cụm là ở rất gần nhau. Hơn nữa, cả 2 độ đo này có thể tạo ra các cụm không mong muốn do đều đánh giá độ tương tự của 2 cụm dựa trên một cặp văn bản duy nhất. Độ tương tự giữa trọng tâm của các cụm từ dưới lên trên cây phân cấp có thể là không giảm dần. Điều này trái ngược với giả thuyết cơ bản là các cụm nhỏ thường có độ kết dính cao hơn các cụm có kích thước lớn hơn.

Page 45: K52 Pham Huyen Trang Thesis

34

Từ những nhận xét trên, khóa luận này tập trung sử dụng độ đo Euclide để tính độ tương tự giữa 2 cụm đơn và độ đo group-avarage để tính toán độ tương tự giữa 2 cụm không đơn.

3.3.2. Gán nhãn cho các cụm

Việc gãn nhãn cho cụm là một việc đóng vai trò quan trọng trong giải pháp đề xuất của chúng tôi. Bởi vì, việc quyết định gãn nhãn cho cụm sẽ ảnh hưởng trực tiếp đến tên lớp cho bộ phân lớp sau đó. Như vậy, nếu gãn nhãn cho các cụm không tốt sẽ gây ra một tên lớp không tốt và do đó tên của nhóm đặc trưng cũng sẽ không phù hợp. Khóa luận này sử dụng phương pháp gán nhãn cho các cụm là chọn các từ khóa có trọng số (tần suất) cao làm nhãn cho cụm. Phương pháp này không quan tâm đến nội dung của các cụm khác mà chỉ quan tâm đến bản thân nội dụng của cụm.

Như vậy, sau pha 1, thu được các thể hiện đặc trưng nằm trong cụm đơn và các thể hiện đặc trưng nằm trong cụm không đơn.

3.3.Pha 2: Phân lớp bán giám sát SVM-kNN

Tập những thể hiện đặc trưng nằm trong cụm không đơn được coi là tập các mẫu huấn luyện đã gán nhãn, và tập những thể hiện đặc trưng nằm trong cụm đơn là tập các mẫuchưa gán nhãn cho bộ phân lớp SVM-kNN. Bộ phân lớp bán giám sát SVM-kNN sẽ học trên cả những mẫu chưa được gán nhãn và mẫu đã được gán nhãn đó.

Quá trình phân lớp bán giám sát SVM-kNN trong bài toán gom nhóm đặc trưng dựa trên cơ sở phương pháp phân lớp bán giám sát SVM-kNN do Kunlun Li và cộng sự [17] đề xuất đã được trình bày trong khóa luận ở chương 2. Tuy nhiên, để có được kết quả tốt hơn, thay vì sử dụng những vector biên làm tập kiểm tra cho bộ phân lớp kNN, chúng tôi sử dụng các vector hỗ trợ làm tập kiểm tra, vì các vector hỗ trợ là những mẫu dữ liệu có độ tin cậy cao.Nhờ vậy mà kết quả của bộ phân lớp SVM cuối cùng sẽ cao hơn nhiều.

Quá trình phân lớp bán giám sát SVM-kNN sử dụng thuật toán học giám sát SVM và học giám sát kNN cơ bản. Nhiệm vụ của thuật toán SVM trong phương pháp này là tạo ra một bộ phân lớp SVM yếu từ những mẫu đã được gán nhãn.Sử dụng vector hỗ trợ để cải tiến bộ phân lớp SVM yếu này bằng cách áp dụng thuật toán kNN.Sau đó, khi có được tập huấn luyện đã được gán nhãn đã được làm giàu bởi kNN, tiếp tục huấn luyện tập mẫu đã được gán nhãn đó sử dụng SVM.Nhiệm vụ của thuật toán kNN không chỉ làm giàu số

Page 46: K52 Pham Huyen Trang Thesis

35

lượng tập huấn luyện đã được gán nhãn mà còn cải tiến chất lượng của những mẫu đã được gán nhãn mới. Thuật toán phân lớp bán giám sát SVM-kNN cho bài toán gom nhóm đặc trưng trở thành như sau:

Đầu vào:

L: Tập các mẫu huấn luyện đã gán nhãn

c: Số lượng cụm sau bước 1 (số nhóm đặc trưng)

U: Tập các mẫu chưa gán nhãn

SVM: Thuật toán học giám sát SVM cơ bản

kNN: Thuật toán học kNN cơ bản

s: số vector hỗ trợ cần lấy ở mỗi lớp

t: kích thước tập mẫu cần đạt

Thuật toán:

1. Dùng thuật toán SVM với tập ví dụ có nhãn L để tạo bộ phân lớp SVM1. 2. Lặp cho đến khi ||L|| ≥ t * ||L∪U||

Begin

2.1. Cho SVM1 gán nhãn các mẫu trong U. 2.2. Lấy s*c vector hỗ trợ từ U làm tập dữ liệu test cho thuật toán

kNN ở bước 4. 2.3. Dùng thuật toán kNN với tập ví dụ huấn luyện L gán nhãn lại cho

s dữ liệu test. Gọi tập s ví dụ có nhãn này là NEW. 2.4. L ← L ∪ NEW; U ← U \ NEW (Cập nhật lại hai tập L và U theo

Chuyển các mẫu đã được gán nhãn lại vào tập huấn luyện L được tập L’.

2.5. Dùng thuật toán SVM với tập ví dụ có nhãn L để tạo ra bộ phân lớp SVM2

2.6. SVM1 ← SVM2.

End

3. Dùng bộ phân lớp SVM2 gán nhãn cho mọi ví dụ thuộc tập U.

Page 47: K52 Pham Huyen Trang Thesis

36

Quá trình phân lớp bán giám sát SVM-kNN dừng lại khi số dữ liệu đã được gán nhãn không nhỏ thua t (0 < m < 1) phần tổng số dữ liệu. Sau đó bộ phân lớp SVM2 tiến hành gán nhãn cho tất cả các dữ liệu chưa gán nhãn còn lại.

Vì thuật toán S3VM-kNN gốc trong [16] chỉ làm việc với số nhãn lớp là 2 cho nên thuật toán SVM cơ sở trong mô hình của chúng tôi phải làm việc được với số lớp (tương ứng với số nhóm đặc trưng) lớn hơn. Để giải quyết bài toán SVM đa lớp, theo Jagath C. Rajapakse, Limsoon Wong và Raj Acharya, 2006 [15], có hai hướng tiếp cận: một là xử lý trực tiếp tất cả các dữ liệu trên một công thức tối ưu hóa; hai là phân tích đa lớp thành một chuỗi các SVM nhị phân. Ở cách tiếp cận thứ hai, có khác nhiều chiến lược phù hợp, tuy nhiên, 3 chiến lược: “one-against-all”, “one-against-one” và DAGSVM được đánh giá là tốt nhất [15]. Theo C.-W. Hsu and C.-J. Lin, 2002 [14], thực nghiệm áp dụng 3 chiến lược trên cho tập dữ liệu lớn thì chiến lược “one-against-one” và DAGSVM là 2 chiến lược cho kết quả cao nhất.

Khóa luận này sử dụng chiến lược “one-against-one” làm chiến lược cho thuật toán SVM cơ bản. Gọi k là số lớp cần gán nhãn. Tập L là tập đã gán nhãn hay tập huấn luyện gồm l phần tử: (x1,y1), …,(xl,yl); trong đó xi∈Rn, i = 1,…, l và yi∈{1,…, k} là lớp tương ứng của xi. Chiến lược này xây dựng k(k-1)/2 bộ phân lớp, trong đó mỗi một bộ phân lớp được huấn luyện trên dữ liệu từ 2 lớp. Với dữ liệu huấn luyện từ các lớp thứ i và j, phương pháp sẽ giải quyết phân lớp nhị phân như sau:

ij ij ij

ij ij ij ij

w , ,

1min (w ) w (w )2

T Tt

b tC

ξξ+ ∑

ij ij ij(w ) ( ) 1Tt tx b ξ∅ + ≥ − nếu ty i=

ij ij ij(w ) ( ) 1Tt tx b ξ∅ + ≤ − + nếu ty j=

ij 0tξ ≥ ij 0tξ ≥

Hiện nay có khá nhiều mã nguồn để hỗ trợ cho việc thực thi thuật toán SVM đa lớp, trong đó LibSVM [9] là một bộ thư viện được viết bằng ngôn ngữ C++ và Java cho phép phân lớp vector hỗ trợ, hồi qui và ước lượng phân phối. Chính vì vậy, chúng tôi chọn LibSVM làm công cụ cho việc thực thi thuật toán SVM trong bài toán của chúng tôi. Bộ phần mềm mã nguồn mở này cài đặt thuật toán SVM đa lớp sử dụng chiến lược “one-against-one” đã trình bày ở trên.

Page 48: K52 Pham Huyen Trang Thesis

37

Như vậy, sau quá trình phân lớp bán giám sát SVM-kNN, các dữ liệu chưa được gán nhãn đều đã được gán nhãn lớp. Nói cách khác, sau 3 pha, hệ thống thu được nhóm đặc trưng cùng các thể hiện đặc trưng tương ứng.

Tóm tắt chương 3

Chương 3 của khóa luận trình bày về tư tưởng chính của phương pháp đề xuất cho bài toán gom nhóm đặc trưng đồng nghĩa dựa trên phân lớp bán giám sát SVM-kNN và thuật toán phân cụm HAC. Khóa luận cũng đã giới thiệu chi tiết các pha cũng như các bước trong từng pha của phương pháp đề xuất.

Trong chương tiếp theo, khóa luận tiến hành thực nghiệm trên phương pháp đã xây dựng và đánh giá kết quả đạt được của phương pháp đề xuất.

Page 49: K52 Pham Huyen Trang Thesis

38

Chương 4. Thực nghiệm và đánh giá

Dựa vào mô hình đề xuất ở chương 3, khóa luận tiến hành thực nghiệm việc gom nhóm đặc trưng sản phẩm đồng nghĩa trong các đánh giá tiếng Việt của khách hàng. Để làm rõ mô hình đề xuất cũng như 3 pha chính trong mô hình, các thực nghiệm trên miền sản phẩm điện thoại di động được tiến hành. Khóa luận tập trung đánh giá kết quả thực nghiệm từ 2 pha: tạo tập huấn luyện cho SVM-kNN và phân lớp SVM-kNN.

4.1. Môi trường và các công cụ sử dụng thực nghiệm

Cấu hình phần cứng

Thành phần Chỉ số

CPU 2.2 GHz Core Duo Intel

RAM 1GB

OS Windows7

Bộ nhớ ngoài 160GB

Bảng 1. Cấu hình hệ thống thử nghiệm

Các phần mềm sử dụng

STT Tên phần mềm Tác giả Nguồn

1 Eclipse-SDK-3.5-win32

http://www.eclipse.org/downloads

2 WordSeg Phạm Đức Đăng, Trần Bình Giang, Phạm Bảo Sơn

3 LibSVM C. Chang, C.-J. Lin

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

Page 50: K52 Pham Huyen Trang Thesis

39

4 Weka Machine Learning Group, University of Waikato.

http://www.cs.waikato.ac.nz/ml/weka/

5 ASV Toolbox Chris Biemann, Uwe Quasthoff, Gerhard Heyer and Florian Holz

http://wortschatz,uni-leipzig.de/~cbiemann/software/toolbox/

Bảng 2. Công cụ phần mềm sử dụng

Ngoài các công cụ trên, chúng tôi tiến hành cài đặt các module xử lý dựa trên ngôn ngữ Java, bao gồm các package chính như sau:

- Om.Classifying:

- Om.Dictionary:

- Om.File:

- Om.libsvm:

- Om.Webpage:

- File Run:

4.2. Xây dựng tập dữ liệu

Khóa luận thực nghiệm trên miền dữ liệu là các đánh giá của khách hàng trong miền sản phẩm điện thoại di động. Tập các đánh giá của người dùng được chúng tôi thu thập từ website bán hàng trực tuyến http://wwwthegioididong.com. Các đánh giá có cấu trúc gồm người đánh giá, thời gian đánh giá và nội dung ý kiến.

Tập các thể hiện đặc trưng là các đặc trưng đã trích xuất được bởi mô hình khai phá và tổng hợp quan điểm khách hàng mà chúng tôi đã xây dựng trong [21].

Dữ liệu đầu vào Số lượng

Các đánh giá của khách hàng 669 comment

Page 51: K52 Pham Huyen Trang Thesis

40

Các thể hiện đặc trưng 152 đặc trưng

Bảng 3: Bảng số lượng dữ liệu đầu vào

4.3. Thực nghiệm

Thực hiện gom nhóm các đặc trưng sản phẩm điện thoại di động đồng nghĩa trong tập các đánh giá của khách hàng.

4.3.1. Quá trình biểu diễn vector thể hiện đặc trưng

- Trích xuất ngữ nghĩa của thể hiện đặc trưng bằng cách tiến hành lấy định nghĩa của thể hiện đặc trưng trên website http://tratu.vn, chứa 36.862 từ trong từ điển Việt – Việt.

- Trích xuất ngữ cảnh của thể hiện đặc trưng bằng cách tiến hành trích xuất ra các câu có chứa tên thể hiện đặc trưng trong 669 câu đánh giá của khách hàng.

- Với mỗi thể hiện đặc trưng, thu được các bộ <thể hiện đặc trưng, ngữ nghĩa, ngữ cảnh>. Tiến hành tách từ bằng phần mềm WordSeg [11] và loại bỏ từ dừng (tập từ dừng có trong file vnstopword.txt).

- Biểu diễn TFIDF để tính trọng số các từ.

4.3.2. Thực nghiệm tạo tập huấn luyện cho SVM-kNN

Việc tạo tập huấn luyện cho SVM-kNN được thực hiện dựa trên phân cụm HAC kết hợp ngưỡng α. Chúng tôi thực nghiệm trên 5 giá trị ngưỡng α. Sau đó, lấy ra những cụm không đơn và tính độ chính xác của những mẫu đã được đưa vào cụm, kết quả thu được như bảng 4.

Giá trị α Số cụm thu được Tổng số mẫu trong cụm

Độ chính xác

0.3 20 88 60.08%

0.4 14 72 86.98%

0.5 10 51 100%

Page 52: K52 Pham Huyen Trang Thesis

41

0.6 7 34 100%

0.7 5 22 100%

Bảng 4. Kết quả thực nghiệm thuật toán HAC với 5 giá trị ngưỡng α

Nhận xét: Tại ngưỡng α = 0.4, α = 0.5, α = 0.6, α = 0.7 thì độ chính xác đạt được là 100%. Tuy nhiên, để có được tập huấn luyện tốt cho phân lớp bán giám sát SVM-kNN, thì ngoài độ chính xác cao cần có số lượng tập huấn luyện tốt. Do vậy, giá trị ngưỡng α là 0.5 với số mẫu thu được là 51, là phù hợp làm tập dữ liệu huấn luyện cho phân lớp SVM-kNN.

9 cụm thu được với giá trị ngưỡng α= 0.5 được thể hiện trong bảng 5. Đây cũng là 9 cụm mà khóa luận sử dụng làm tập dữ liệu đã gán nhãn để huấn luyện SVM-kNN. Tuy nhiên, việc gán nhãn cho lớp cho kết quả chưa tốt (ví dụ cụm 9, tên cụm là thẻ nhớ, chưa bao quát được các thể hiện trong cụm).

STT Tên cụm Các thể hiện đặc trưng

1 Giá Tiền, giá, giá thành

2 Ảnh Camera, chụp hình, hình ảnh, hình, máy ảnh, ảnh, chụp ảnh

3 Nhạc Tai nghe, âm thanh, nghe nhạc, nhạc, loa, loa ngoài

4 Ứng dụng Symbian, hệ điều hành, ứng dụng, tính năng, nhắn tin

5 Bàn phím Phím, bàn phím, navi, phím navi, phím điều khiển, phím quang học, quang học

6 Hình thức Kiểu dáng, màu, màu sắc, mẫu mã, kiểu cách,hình thức

Page 53: K52 Pham Huyen Trang Thesis

42

7 Màn hình Điện dung, điện trở, màn hình, cảm ứng

8 Mạng Mạng, internet, gprs, gps

9 Thẻ nhớ Thẻ nhớ, thẻ, phụ kiện, usb, phần cứng, cấu hình

10 Phim Phim, xem phim

Bảng 5. Các thể hiện đặc trưng cùng các cụm không đơn tương ứng

4.3.3. Thực nghiệm phân lớp bán giám sát SVM-kNN:

a. Dữ liệu đã gán nhãn chiếm 30% tổng số dữ liệu

Từ số ít các thể hiện đặc trưng cùng 9 cụm không đơn tương ứng (dữ liệu đã gán nhãn), và các thể hiện đặc trưng nằm trong cụm đơn (dữ liệu chưa được gán nhãn) thu được, tiến hành phân lớp bán giám sát SVM-kNN. Dựa trên những thể hiện đặc trưng thu được trong cụm 9 ở bảng 5, chúng tôi tiến hành thay đổi tên nhãn là “phần cứng” cho phù hợp với những đặc trưng trong cụm, nhằm kiểm tra độ chính xác của phân lớp SVM-kNN.

Khóa luận sử dụng bộ phần mềm mã nguồn mở LIBSVM [9] để áp dụng thuật toán SVM cơ bản, và bộ phần mềm mã nguồn mở WEKA [19] để thực thi thuật toán kNN cơ bản. Các tham số sử dụng trong phân lớp bán giám sát SVM-kNN là: k – số hàng xóm gần nhất, là tham số khi sử dụng thuật toán kNN, t – kích thước dữ liệu huấn luyện cần đạt so với kích thước tập toàn bộ dữ liệu, s – số vector hỗ trợ.

Thuật toán SVM là bước đầu tiên trong SVM-kNN, do vậy, việc chọn các tham số cho SVM là rất quan trọng, ảnh hưởng đến các bộ phân lớp SVM sau, đặc biệt là tham số hàm nhân. Chúng tôi thực hiện khảo sát độ chính xác của SVM (bằng cách lựa chọn số lần kiểm thử chéo fold-validation là 10) trên 4 hàm nhân được tích hợp trong LIBSVM là hàm nhân tuyến tính, hàm nhân đa thức, hàm vòng RBF, hàm chữ S Sigmoid. Kết quả độ chính xác lần lượt là 51.12%, 35.4%, 29.09% và 32.98%. Vì vậy, chúng tôi chọn hàm nhân tuyến tính cho phân lớp SVM.

Page 54: K52 Pham Huyen Trang Thesis

43

Theo K.Li và cộng sự [17], tham số k=5, t=0.8 là hiệu quả. Do đó, chúng tôi tiến hành thực nghiệm trên một số tham số s khi k=5 và t = 0.8. Phương pháp đánh giá mà chúng tôi sử dụng dựa trên 3 độ đo Entropy, Purity và Accuracy tương tự [17]. Gọi n là tổng số thể hiện đặc trưng. Ba độ đo được tính như sau:

Lớp thực tế Lớp dự đoán

1 … j … m

1 n11 … n1j … n1m

… … … … … …

i ni1 … nịj … nim

… … … ... … …

m nm1 … nmj … nmm

ij ij

1 1ij ij

1 1

logm m

jm m

j i

i i

n n nEntropy

n n n= =

= =

= ∑ ∑∑ ∑

ij

1 1ij

1

ur axm m

jmij i

i

n nP ity m

n n= =

=

= ∑ ∑∑

1

m

iii

nAccuracy

n==∑

1

m

iii

nA c c u r a c y

n==∑

Kết quả thu được như bảng 6.

Ent Pur Acc

s=3 1.34 0.62 0.66

s=4 1.23 0.68 0.65

Page 55: K52 Pham Huyen Trang Thesis

44

s=5 1.29 0.66 0.68

K.Li và cộng sự 1.24 0.69 0.68

Bảng 6. Kết quả thực nghiệm phân lớp SVM-kNN với t= 0.8, k = 5khi dữ liệu gán nhãn chiếm 30% tổng số dữ liệu

Nhận xét: Như vậy, khi lựa chọn số hàng xóm gần nhất để phân lớp trong thuật toán kNN là 5, kích thước dữ liệu huấn luyện cần đạt được là 0.8 và số vector hỗ trợ mỗi lớp được chọn ra cho mỗi lần lặp là 4 thì kết quả là tốt nhất, với độ đo Entropy, Purity và Accuracy lần lượt là 1.23, 0.68 và 0.65. Tuy độ đo Purity và Accuracy có thấp hơn so với [17] nhưng độ đo Entropy đã tốt hơn so với [17]. Có thể thấy kết quả thực nghiệm là tốt so với [17].

Hình 12: Sơ đồ so sánh kết quả của mô hình đề xuất với phương pháp của K.Li và cộng sự [17]

Nhóm đặc trưng

Các thể hiện đặc trưng

Gán bằng tay Phân lớp đúng Phân lớp sai

Giá Giá cả, số tiền, túi tiền, mức tiền, chi phí

Giá cả, số tiền, túi tiền, mức tiền

Tiếng, lịch

Ảnh Flash, đèn flash, theme, hình nền, jpeg

Flash, đèn flash, jpeg java, đài, ảnh động, trò chơi, game

Page 56: K52 Pham Huyen Trang Thesis

45

Nhạc Nhạc chuông, báo rung, tiếng, mp3, tai, đa âm, đơn âm, chuông, độ rung, rung, âm, chuông báo

Mp3, nhạc chuông, chuông, đơn âm, đa âm, tai, âm, chuông báo, rung, độ rung, báo rung

Chi phí, Thoại, hình nền, đàm thoại, sạc

Ứng dụng Đài, android, nghe gọi, thoại, đàm thoại, văn phòng, game, trò chơi, radio, lịch, trình duyệt, web, danh bạ, mail, email, tiện ích, opera, từ điển, chương trình, java, bản đồ

Phần mềm, android, nghe gọi, trình duyệt, chương trình, bản đồ, từ điển, tiện ích , văn phòng

trackpad, vóc dáng, cảm biến gia tốc, bộ xử lý, bộ vi xử lý

Bàn phím Thân phím, phím nguồn, nút, phím cảm ứng, phím nghe, navigation, phím đèn pin, phím điều khiển, trackpad

Thân phím, phím nguồn, phím cảm ứng, phímnghe, navigation, phím điều khiển, nút

hồng ngoại, đa điểm

Hình thức Kích cỡ, kích thước, mẫu, bề ngoài, vẻ ngoài, thiết kế, màu, ngoại hình, hình dáng, vóc dáng

Bề ngoài, thiết kế, vẻ ngoài, màu, hình dáng, mẫu, kích cỡ, kích thước

Danh bạ, opera, cổng USB, cổng HDMI

Màn hình Đa điểm, giao diện, độ phân giải, inch, cảm biến gia tốc, độ nét, đơn sắc, bút, bút cảm ứng

Giao diện, inch, bút cảm ứng, bút, độ nét, độ phân giải, đơn sắc

ngoại hình, cáp tivi, dây cáp

Mạng Wifi, hồng ngoại, 3g, 2g 3g, 2g, wifi Mail, email, web,

Page 57: K52 Pham Huyen Trang Thesis

46

chip, radio

Phần cứng Cpu, ram, rom, dây cắm, dây cáp, pin, sạc, nắp pin, cổng USB, cáp tivi, bộ xử lý, bộ vi xử lý, chip, bao, nắp lưng, bao da, bộ nhớ trong, bộ nhớ, cổng HDMI

Cpu, ram, rom, dây cắm, pin, nắp pin, bao, nắp lưng, bao da, bộ nhớ trong, bộ nhớ

phím đèn pin, avi, flv, wmv, mp4

Phim Phim ảnh, phụ đề, video, quay hình, mp4, wmv, avi,flv, ảnh động

Phim ảnh, phụ đề, quay hình.

Bảng 7: Kết quả thực nghiệm khi s = 4, t= 0.8, k = 5

b. Dữ liệu đã gán nhãn chiếm 40% tổng số dữ liệu

Do số dữ liệu đã được gán nhãn làm tập huấn luyện còn thấp nên kết quả thực nghiệm chưa được cao. Chúng tôi tiến hành bổ sung thêm một số dữ liệu gán nhãn, nhằm thử độ chính xác của phương pháp phân lớp bán giám sát SVM-kNN trong bài toán gom nhóm đặc trưng đồng nghĩa. Tiếp tục thực nghiệm trên một số tham số s, t, k như trên với số dữ liệu đã gán nhãn chiếm khoảng 40% tổng số dữ liệu; kết quả thu được như bảng 7.

Ent Pur Acc

s=3 1.23 0.69 0.68

s=4 1.11 0.71 0.7

s=5 0.77 0.70 0.72

K.Li và cộng sự 0.94 0.76 0.75

Bảng 8: Kết quả thực nghiệm phân lớp SVM-kNN với t= 0.8, k = 5 khi dữ liệu gán nhãn chiếm 40% tổng số dữ liệu

Page 58: K52 Pham Huyen Trang Thesis

47

Như vậy, khi số dữ liệu đã gán nhãn chiếm khoảng 40% tổng số dữ liệu thì việc lựa chọn số vector hỗ trợ là 5, kích thước dữ liệu huấn luyện cần đạt được là 0.8, số hàng xóm gần nhất để phân lớp trong thuật toán kNN là 5 thì 3 độ đo Entropy, Purity và Accuracy có kết quả tương đối khả quan (0.77, 0.7 và 0.72). Nhìn chung, khi kích thước tập dữ liệu đã gán nhãn lớn sẽ cho một kết quả khá cao (hình 12). Điều đó cho thấy được tính đúng đắn khi sử dụng thuật toán phân lớp bán giám sát SVM-kNN.

Cuối cùng, hệ thống thu được các lớp và các dữ liệu nằm trong từng lớp. Điều đó có nghĩa là các thể hiện đặc trưng đều đã được đưa vào các nhóm đặc trưng khác nhau.

Tóm tắt chương 4

Trong chương này, chúng tôi đã tiến hành thực nghiệm, xem xét và đánh giá kết quả của quá trình thử nghiệm mô hình gom nhóm đặc trưng đồng nghĩa tiếng Việt trong miền sản phẩm điện thoại di động dựa trên phân lớp bán giám sát SVM-kNN và phân cụm HAC. Qua phân tích và đánh giá đã cho thấy tính đúng đắn của phương pháp sử dụng trong khóa luận.

Page 59: K52 Pham Huyen Trang Thesis

48

Kết luận

Kết quả đạt được của khóa luận:

Trong khóa luận này, chúng tôi đã xây dựng mô hình gom nhóm đặc trưng sản phầm đồng nghĩa tiếng Việt và thực nghiệm trên miền sản phẩm điện thoại di động sử dụng thuật toán phân cụm HAC và phân lớp bán giám sát SVM-kNN dựa trên ngữ nghĩa và ngữ cảnh của mỗi thể hiện đặc trưng. Phương pháp này có ưu điểm là khi thay đổi miền sản phẩm thì không cần phải gán nhãn dữ liệu tạo tập huấn luyện thủ công. Hơn nữa, thuật toán phân lớp bán giám sát SVM-kNN đã tận dụng được cả dữ liệu gán nhãn và dữ liệu chưa gán nhãn để học một cách hiệu quả, trong đó chỉ cần một lượng nhỏ dữ liệu đã gán nhãn ( chiếm khoảng 30% tổng dữ liệu). Tuy nhiên, số lượng dữ liệu đã gán nhãn được tạo ra sau thuật toán HAC còn khá ít, nên kết quả chưa cao.

Chúng tôi đã cài đặt, thử nghiệm ban đầu trên một tập nhỏ các thể hiện đặc trưng cho kết quả khá tốt (Purity là 0.68, Accuracy là 0.65 và Entropy là 1.22). Khi xây dựng thêm dữ liệu đã gán nhãn bằng tay (chiếm khoảng 40% tổng dữ liệu), thì độ đo Purity là 0.7, Accuracy là 0.72 và Entropy là 0.77.

Định hướng tương lai:

Chúng tôi sẽ thử nghiệm, áp dụng 2 ràng buộc mềm mà Zhongwu Zhai và cộng sự, 2010 đã xây dựng, nhằm làm giàu tập dữ liệu đã gán nhãn để có được kết quả phân lớp tốt hơn.

Áp dụng trên các miền dữ liệu khác, không chỉ miền sản phẩm điện thoại di động.

Áp dụng mô hình gom nhóm đặc trưng đồng nghĩa vào bài toán khai phá và tổng hợp quan điểm dựa trên đặc trưng đã thực hiện trong [21].

Page 60: K52 Pham Huyen Trang Thesis

49

Tài liệu tham khảo

Tài liệu tiếng Việt:

[1] Trần Thị Oanh. (2006). Thuật toán self-training và co-training ứng dụng trong phân lớp văn bản. Khóa luận tốt nghiệp, Trường ĐHCN-ĐHQGHN.

[2] Nguyễn Thị Hương Thảo (2006). Phân lớp phân cấp Taxonomy văn bản web và ứng dụng, Khóa luận tốt nghiệp, Trường ĐHCN-ĐHQGHN.

[3] Hà Quang Thụy, Phan Xuân Hiếu, Đoàn Sơn, Nguyễn Trí Thành, Nguyễn Thu Trang, Nguyễn Cẩm Tú (2009). Giáo trình khai phá dữ liệu Web, Nhà xuất bản giáo dục Việt Nam, 2009, tr. 124-125.

Tài liệu tiếng Anh:

[4] Andrew Brian Goldberg (2010). New directions in semi-supervised learning. PhD. Thesis, University of Wisconsin-Madison. 2010.

[5] Bing Liu (2010). Sentiment Analysis and Subjectivity. Invited Chapter for the Handbook of Natural Language Processing, Second Edition. March, 2010.

[6] Bo Pang and Lillian Lee (2008). Foundations and Trends in Information Retrieval2(1-2), pp. 1–135, 2008.

[7] Blum, A., and Mitchell, T. (1998).Combining labeled and unlabeled data with co-training. COLT: 92–100, 1998.

[8] Carenini G., R. Ng and E. Zwart (2005). Extracting knowledge from evaluative text. Proceedings of International Conference on Knowledge Capture.

[9] C. Chang and C.-J. Lin (2010). LIBSVM: a library for support vector machines, Technical Report, Initial version: 2001 Last updated: November 16, 2010, http://www.csie.ntu.edu.tw/~cjlin/papers/libsvm.pdf, LIBSVM software library version 3.0 released on September 13, 2010, http://www.csie.ntu.edu.tw/~cjlin/libsvm/.

[10] Corinna Cortes, Vladimir Vapnik (1995). Support-Vector Networks, Machine Learning, 20(3): 273-297.

[11] Dang Duc Pham, Giang Binh Tran, and Son Bao Pham (2009). A Hybrid Approach to Vietnamese Word Segmentation using Part of Speech tags – KSE 2009

Page 61: K52 Pham Huyen Trang Thesis

50

[12] Guo H., H. Zhu, Z. Guo, X. Zhang and Z. Su (2009). Product feature categorization with multilevel latent semantic association. Proc. of CIKM.

[13] Hao Zhang, Alexander C. Berg, Michael Maire, Jitendra Malik (2006). SVM-KNN: Discriminative Nearest Neighbor Classification for Visual Category Recognitionm, CVPR (2) 2006: 2126-2136.

[14] C.-W. Hsu and C.-J. Lin (2002). A comparison of methods for multi-class support vector machines , IEEE Transactions on Neural Networks, 13, 415-425.

[15] Jagath C. Rajapakse, Limsoon Wong, Raj Acharya (2006).Pattern Recognition in Bioinformatics, International Workshop, PRIB 2006. Hong Kong, China, August 20, 2006, Proceedingsof PRIB'2006.

[16] T. Joachims (1997). Text categorization with Support Vector Machines: Learning with many relevant features, Technical Report 23, LS VIII, University of Dortmund, 1997, http://www.joachims.org/publications/joachims_98a.ps.gz.

[17] Kunlun Li, Xuerong Luo and Ming Jin (2010). Semi-supervised Learning for SVM-KNN. Journal of computers, 5(5): 671-678, May 2010.

[18] D. Marcu and A. Popescu (2005). Extracting product features and opinions from reviews. CICLing 2005: 88-99.

[19] Mark Hall, Eibe Frank, Geoffrey Holmes, Bernhard Pfahringer, Peter Reutemann, Ian H. Witten (2009). The WEKA Data Mining Software: An Update; SIGKDD Explorations, Volume 11, Issue 1. 2009. http://www.cs.waikato.ac.nz/ml/weka/

[20] Stavrianou, A. and J.-H. Chauchat (2008). Opinion Mining Issues and Agreement identification in Forum Texts. In Atelier Fouille des Données d’Opinions (FODOP-2008), pp. 51–58. 2008.

[21] Tien-Thanh Vu, Huyen-Trang Pham, Cong-To Luu, Quang-Thuy Ha (2011). A Feature-based Opinion Mining Model on Product Reviews in Vietnamese, ICCCI’11 (submitted).

[22] Thelwall, M. (2009). MySpace comments. Online Information Review, 33(1), 58 -76.

[23] L. Zhang and B. Liu (2010). Extracting and Ranking Product Features in Opinion Documents. COLING (Posters) 2010: 1462-1470.

[24] Xindong Wu, Vipin Kumar, J. Ross Quinlan, Joydeep Ghosh, Qiang Yang, Hiroshi Motoda, Geoffrey J. McLachlan, Angus Ng, Bing Liu, Philip S. Yu, Zhi-Hua

Page 62: K52 Pham Huyen Trang Thesis

51

Zhou, Michael Steinbach, David J. Hand, Dan Steinberg (2008). Top 10 algorithms in data mining, Knowl Inf Syst (2008) 14:1–37.

[25] X.J. Zhu (2008). Semi-supervised learning literature survey. Technical Report 1530, Department of Computer Sciences, University of Wisconsin at Madison, Madison, WI. July 19, 2008.

[26] Xiaojin Zhu and Andrew B. Goldberg (2009). Introduction to Semi-Supervised Learning. Synthesis Lectures on Artificial Intelligence and Machine Learning: 9-16. 2009.

[27] Zhongwu Zhai, Bing Liu, Hua Xu and Peifa Jia (2010). Grouping Product Features Using Semi-Supervised Learning with Soft-Constraints. Proceedings of the 23rd International Conference on Computational Linguistics (COLING-2010), August 23-27, Beijing, China.