L ời cam đ oan iii
3.2.1. Xác định ngữ nghĩa của các thể hiện đặc trưng 28
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
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.
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 D TFIDF freq df =
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 tố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 tốn phân cụm phân cấp tích tụ từ dưới lên (Hierarchyical Agglomerative Clustering – HAC).
31 Tư tưởng chính của thuật tốn HAC:
Thuật tốn HAC là thuật tố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
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 tốn HAC cho bài tố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 tố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
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 jk
i j d I d J it jk
sim 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) = maxd1∈S d1, 2∈S2sim (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) = mind1∈S d1, 2∈S2sim (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 d S 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.
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 tố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 tố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 tố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 tố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 tố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 tốn kNN khơng chỉ làm giàu số
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 tốn phân lớp bán giám sát SVM-kNN cho bài tố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 tốn học giám sát SVM cơ bản kNN: Thuật tố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 tốn: 1. Dùng thuật tố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 tốn kNN ở bước 4.
2.3. Dùng thuật tố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 tố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
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 tố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 tố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 tố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 tố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