L ời cam đ oan iii
2.2.3. Phương pháp phânlớp bán giám sát SVM-kNN 19
Thuật tố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 tố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.
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 tố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 tố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 tố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 tốn SVM bằng cách tận dụng những ưu điểm của thuật tốn kNN đã nêu ra ở trên. Phương pháp này kết hợp thuật tố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 tố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 tố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.
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ựđố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ự đố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ự đố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
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 tố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 tồ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 tố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:
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ự đố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 tố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 (tồ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 tồ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.
24
Tĩm tắt chương hai:
Chương hai đã trình bày chi tiết thuật tốn SVM, thuật tố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 tố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 tốn phân lớp bán giám sát này để giải quyết bài tố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.
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 tố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 tố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 tốn phân cụm HAC. Chúng tơi chọn thuật tốn phân cụm phân HAC vì đây là một thuật tốn phân cấp cho phép người dùng đưa ra một ngưỡng ן để dừng thuật tố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ừ
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 tố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 tố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
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 tố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 đĩ.
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 tố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 ngồ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ừ
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 ngồ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