Một điều khá hữu ích là câu so sánh tiếng Anh thường cĩ chứa từ khĩa so sánh. Luận điểm này được thực nghiệm cũng trong nghiên cứu của Nitin Jindal và Bing Liu [9] bằng việc sử dụng một tập hợp cĩ 83 từ khĩa, 94% các câu so sánh (recall = 94%) cĩ thể được xác định với độ chính xác 32% (precision=32%) với dữ liệu của tác giả thiết lập.
Khi từ khĩa đứng một mình, thuật tốn đạt được độ hồi tưởng (recall) rất cao nên ta sử dụng tập các từ khĩa để loại bỏ những câu khơng cĩ khả năng là câu so sánh (câu khơng chứa bất kỳ từ khố nào). Tập cịn lại của các câu là R tạo thành tập ứng cử viên để xét câu so sánh. Tiếp tục thực hiện các bước tiếp theo trên R để nâng cao độ chính xác.
Trong phần tiếp theo, chúng tơi mơ tả chi tiết hơn cách tiếp cận đã chọn để xác định câu so sánh bằng phương pháp học máy Nạve Bayesian với dữ liệu huấn luyện là các luật tuần tự phân lớp.
2.3 Luật tuần tự phân lớp 2.3.1 Định nghĩa 2.3.1 Định nghĩa Dãy con và siêu dãy
Gọi I = {i1, i2, ..., in} là tập mục, một dãy là một danh sách các tập mục được sắp xếp theo thứ tự.
Một tập phổ biến X là một tập mục khơng rỗng.
Ta biểu diễn dãy s bởi 〈a1a2...ar〉, với ai là một tập phổ biến, cịn gọi là phần tử của s. Ta biểu diễn phần tử của dãy bởi {x1, x2, ..., xk}, trong đĩ mỗi xj là một mục.
Một mục chỉ cĩ thể xuất hiện một lần trong một phần tử của dãy, nhưng cĩ thể xuất hiện nhiều lần trong các phần tử khác nhau.
Dãy s1 = 〈a1a2...ar〉 là dãy con của dãy s2 = 〈b1b2…bm〉 hoặc s2 là siêu dãy của s1 nếu tồn tại các số nguyên 1 ≤ j1 < j2 < ... < jr-1 ≤ jr sao cho a1 ⊆ bj1, a2 ⊆ bj2,..., ar⊆ bjr.
Ta cũng cĩ thể nĩi s2 chứa s1.
Ví dụ 11: Ta cĩ I = {1, 2, 3, 4, 5, 6, 7}. Dãy 〈{3}{4, 5}〉 được chứa trong 〈{6}{3, 7}{4, 5, 6}〉 vì {3} ⊆ {3, 7} và {4, 5} ⊆ {4, 5, 6}.
Tuy nhiên, 〈{3, 6}〉 khơng được chứa trong 〈{3}{6}〉 và ngược lại
Luật tuần tự phân lớp và cơ sở dữ liệu các luật
Một luật tuần tự phân lớp (Class Sequential Rules - CSR) là một luật gồm một dãy tuần tự nằm ở về trái và nhãn lớp nằm ở vế phải.
Gọi Y là tập các lớp, I ∩ Y = ∅.
Gọi S là tập dữ liệu các dãy. Mỗi dãy được gán nhãn là lớp y. Do đĩ, dữ liệu đầu vào D cho khai phá được biểu diễn như sau: D = {(s1, y1), (s2, y2), ..., (sn, yn)}
Ta biểu diễn luật tuần tự phân lớp bởi phép kéo theo dạng: X → y, với X là 1 dãy, và y ∈ Y
Một bộ dữ liệu (si, yi) trong D được cho là bao phủ (cover) CSR nếu X là dãy con của si. Một bộ dữ liệu (si, yi) được cho là thỏa mãn (satisfy) một CSR nếu X là dãy con của si và yi = y.
Độ hỗ trợ (support) của luật là tỷ lệ của tổng các ví dụ trong D thỏa mãn X với tổng các ví dụ trong D.
Độ tin cậy (confident) của luật là tỷ lệ của các ví dụ trong D thoản mãn X với các ví dụ trong D bao X
Cho một tập dữ liệu các dãy được gán nhãn D, ngưỡng cho độ hỗ trợ tối thiểu (minsup) và độ tin cậy tối thiểu (minconf), giải thuật khai phá CSR tìm ra tất cả CSR trong D để xây dựng tập dữ liệu huấn luyện cho bộ phân lớp
Bảng 2.1 đưa ra một ví dụ về cơ sở dữ liệu các dãy với 5 dãy thuộc 2 lớp khác nhau là c1 và c2. Sử dụng ngưỡi minsup=20%, minconf=40%, một trong những CSR được khai phá là: 〈{1}{3}{7, 8}〉→ c1 [support = 2/5 and confidence = 2/3]
Dãy 1 và 2 là thỏa mãn luật, dãy 1, 2, 5 là bao phủ luật
Bảng 2.1: Ví dụ về cơ sở dữ liệu các luật cho khai phá CSR
STT Dãy Lớp 1 〈{1}{3}{5}{7, 8, 9}〉 c1 2 〈{1}{3}{6}{7, 8}〉 c1 3 〈{1, 6}{9}〉 c2 4 〈{3}{5, 6}〉 c2 5 〈{1}{3}{4}{7, 8}〉 c2
2.3.2 Xây dựng cơ sở dữ liệu luật
Trong mục này chúng tơi trình bày cách thức xây dựng cơ sở dữ liệu các luật từ dữ liệu văn bản. Phương pháp này được thực hiện ở cấp độ câu, mỗi câu được coi là một dãy. Ta khơng thể sử dụng trực tiếp các từ trong câu vì nhiều câu cĩ nội dung khác nhau nhưng lại cĩ cùng một mẫu ngơn ngữ.
Ví dụ 12: Cho 2 câu so sánh
“Intel is better than Amd”, and
“Laptops are smaller than desktop PCs”
Hai câu trên là hai câu so sánh hai cặp đối tượng khác nhau. Bằng cách so sánh từng từ trong câu thì hệ thống khơng thể nhận biết chúng cĩ cùng một mẫu ngơn ngữ. Nếu thay thế các từ bằng thẻ từ loại của chúng, mọi việc sẽ trở nên rõ ràng hơn. Trong phần thực nghiệm ở chương sau, chúng tơi sử dụng cơng cụ gán thẻ từ loại Stanford POS Tagger để thực hiện gán thẻ từ loại cho dữ liệu văn bản.
Sử dụng các từ khĩa
Việc sử dụng các từ khĩa đem lại độ hồi tưởng cao nhưng độ chính xác lại thấp. Chúng tơi sẽ chỉ xem xét những câu cĩ chứa ít nhất một từ khĩa, và sau đĩ tạo ra các luật tuần tự phân lớp để lọc ra những câu khơng phải câu so sánh. Trong quá trình sinh dữ liệu, những câu khơng chứa bất kỳ từ khố nào sẽ được loại bỏ.
Tập các từ khĩa bao gồm:
1. Tính từ so sánh hơn: (với thẻ từ loại là JJR) và đại từ so sánh hơn (với thẻ từ loại là RBR), ví dụ, more, less, better, longer và các từ kết thúc bởi hậu tố –er
2. Tính từ so sánh nhất: (với thẻ từ loại là JJS) và đại từ so sánh nhất (với thẻ từ loại là RBS), ví dụ, most, least, best, smallest và các từ kết thúc bởi hậu tốt –est
3. Các từ khĩa như: same, similar, differ, as same as, as well as, .vv.
4. Các từ khĩa khác như: favor, beat, win, exceed, outperform, prefer, ahead, than, superior, inferior, number one, up against, .vv.
Ở đây, những từ với thẻ từ loại là JJR, RBR, JJS và RBS khơng được coi là các từ khĩa. Thay vào đĩ, thẻ từ loại của chúng là JJR, RBR, JJS và RBS, mới được coi là từ khố. Cĩ bốn trường hợp ngoại lệ: more, less, most, và least được coi là từ khố riêng lẻ vì cách sử dụng của chúng rất đa dạng, khi ta sử dụng chúng như từ khố riêng lẻ sẽ giúp hệ thống nắm bắt được kiểu sử dụng riêng biệt để phân loại.
Xây dựng tập dữ liệu luật
Bước 1: Với mỗi câu chứa ít nhất một từ khĩa, ta sẽ sử dụng những từ trong bán kính 3 từ của từ khĩa đĩ. Lý do là các mẫu ngơn ngữ xác định câu so sánh thường xuất hiện trong bán kính 3 từ của từ khĩa so sánh. Nếu sử dụng bán kính lớn hơn hoặc nhỏ hơn 3 sẽ cho kết quả khơng thực sự tốt [9], được chứng minh bằng thực nghiệm.
Bước 2: Mỗi từ được thay thế bởi thẻ từ loại của chúng thay vì sử dụng trực tiếp các từ. Riêng với mỗi từ khĩa, ta thực hiện ghép từ khĩa đĩ với thẻ từ loại của chúng để tạo thành một phần tử. Lý do là mỗi từ khĩa lại cĩ một thẻ từ loại khác nhau tùy theo ngữ cảnh chúng được sử dụng. Ví dụ từ khĩa “more” cĩ thể là tính từ so sánh (more/JJR) hoặc là trạng từ so sánh (more/RBR).
Bước 3: Một nhãn lớp được gán cho mỗi câu tùy theo câu đĩ là câu so sánh hay khơng phải.
Ví dụ 14: Cho câu so sánh cùng thẻ từ loại
Its_PRP$ fast-forward_JJ and_CC rewind_JJ work_NN much_RB more_RBR
smoothly_RB and_CC consistently_RB than_IN those_DT of_IN other_JJ models_NNS i_FW 've_VBP had_VBN
Luật được sinh ra và đưa vào cơ sở dữ liệu cĩ dạng sau:
〈{JJ}, {NN}, {RB}, {moreRBR}, {RB}, {CC}, {RB}〉 <comparative>
Nếu câu cĩ chứa nhiều từ khĩa, mỗi từ khĩa sẽ sinh một luật vào trong cơ sở dữ liệu.
Giải thuật khai phá
Từ tập dữ liệu CSR ban đầu, thực hiện khai phá CSR. Các bước của giải thuật khai phá cũng tương tự như khai phá luật kết hợp cĩ gán nhãn lớp (Class Association Rules - CAR) [1], dựa trên tư tưởng của giải thuật Apriori trong khai phá luật kết hợp. Ta gọi đây là giải thuật CSR-Apriori (hình 2.1).
Giống như giải thuật Apriori, CSR-Apriori sinh tất cả các luật phổ biến, bằng việc duyệt qua tồn bộ dữ liệu. Trước tiên, giải thuật tính độ hỗ trợ cho tất cả các luật đơn (luật chỉ chứa 1 mục). Tập các luật đơn được sinh bằng việc kết hợp từng mục trong I với từng nhãn lớp (dịng 1):
C1 = {(i y) | i I, y Y}
Ở đây, I là các phần tử của dãy nằm ở vế trái luật được sinh bởi bước trước đĩ, I= {JJ, NN, RB, moreRBR, CC, …}, Y là tập nhãn lớp, Y = {comparative, non-comparative}
1 C1 = {(i y) | i I, y Y};
2 F1 {f | f C1, f.ruleSatisfyCount/n ≥ minsup};
3 CSR1 {f | f F1, f.ruleSatisfyCount/f.ruleCoverCount ≥ minconf}; 4 for (k = 2; Fk-1 ≠ Ø; k++) do
5 Ck CSRcandidate-gen(Fk-1); 6 for each transaction t T do
7 for each candidate c Ck do
8 if t cover c then // c is a subset of t 9 c.ruleCoverCount ++;
10 if t.class = c.class then
11 c.ruleSatisfyCount ++ 12 endfor 13 endfor 14 Fk {c Ck | c.ruleSatisfyCount/n ≥ minsup}; 15 CSRk {f | f Fk, f.ruleSatisfyCount/f.ruleCoverCount ≥ minconf}; 16 endfor 17 return CSR k CSRk;