Trong quá trình trích rút câu tóm tắt tối ưu bởi giải thuật di truyền, các nghiên cứu [38, 41] có sử dụng toán tử cleaning để thay thế các câu tóm tắt có giá trị đúng đắn T = 0 bởi một câu tóm tắt ngẫu nhiên khác. Những câu tóm tắt có T = 0 tương ứng với câu tóm tắt mà điều kiện lọc o(Fq) là liên kết AND của nhiều vị từ ngôn ngữ nên không có bản ghi nào trong cơ sở dữ liệu thỏa điều kiện lọc o(Fq). Kết quả thực nghiệm trong [38] cho thấy mô hình di truyền Hybird-GA có sử dụng toán tử cleaning và improver thì trung bình sau 10 lần chạy thuật toán vẫn còn một
câu tóm tắt mà T = 0 trong tập câu tối ưu gồm 30 câu. Để không xuất hiện các câu tóm tắt như vậy, tác giả luận án đề xuất sử dụng độ đo hỗ trợ supp(F) = ∑𝑛 𝜇𝐹(𝑜𝑖)
𝑖=1 /𝑛 (n là số bản ghi trong cơ sở dữ liệu) để đánh giá lực lượng của nhóm đối tượng thỏa điều kiện lọc o(Fq). Chỉ khi độ đo hỗ trợ supp(Fq) lớn hơn ngưỡng
cho trước thì mới thực hiện sinh câu tóm tắt có điều kiện lọc o(Fq). Như vậy, trong tập câu tóm tắt tối ưu sẽ gồm các kết luận về các nhóm đối tượng mà lực lượng trên một ngưỡng hay có mức độ phổ biến trên ngưỡng cho trước.
4.4.2.1. Thủ tục trích rút câu tóm tắt tốt dựa trên chiến lược tham lam
Từ phân tích nêu trên, chiến lược tham lam tổng quát được áp dụng để chọn một câu tóm tắt được thực hiện theo ý tưởng như sau:
o Bước 1: Sinh ngẫu nhiên thành phần lọc o(Fq) (bao gồm cả thuộc tính và hạng từ tương ứng). Tính độ đo hỗ trợ cho o(Fq) theo công thức supp(Fq) = ∑𝑛𝑖=1𝜇𝐹𝑞(𝑜𝑖)/𝑛 (n là số bản ghi trong cơ sở dữ liệu). Nếu supp(Fq) > cho trước thì thành phần o(Fq) này được chấp nhận và chuyển sang bước 2, ngược lại thì sinh ngẫu nhiên thành phần lọc o(Fq) khác.
o Bước 2: Chọn ngẫu nhiên thuộc tính trong thành phần o(Es) theo số lượng đã cho, duyệt các tổ hợp hạng từ trong LFoC của các thuộc tính trong o(Es) để tìm một một tổ hợp hạng từ mà độ hỗ trợ cho phần thân câu tóm tắt (với thành phần o(Fq) đã xác định ở bước 1, cấu trúc o(Es) đã xác định) đạt giá trị lớn nhất.
o Bước 3: Chọn một từ lượng hóa Q*trong LFoC của Q sao cho giá trị T tính theo công thức (1.7) đạt lớn nhất. Nếu có nhiều hạng từ Q* để T đạt giá trị lớn nhất thì chọn hạng từ Q* có thứ tự ngữ nghĩa lớn nhất.
Bước 1 thực hiện chọn thành phần lọc o(Fq) thỏa ngưỡng supp(Fq), bước 2 chọn hạng từ trong kết luận o(Es) mang tính phổ biến nhất cho nhóm đối tượng thỏa
o(Fq) theo cấu trúc đã xác định, bước 3 chọn hạng từ Q để có độ đo T lớn nhất và
St(Q) lớn nhất (tương ứng thứ tự ngữ nghĩa của Q lớn nhất). Kết quả thu được một câu tóm tắt hướng đến độ đo tốt Gn lớn trong các câu tóm tắt cùng thành phần o(Fq) và cùng cấu trúc o(Es).
“Qos are o(Es),” và “Qos that are o(Fq) is o(Es)”
Với o(Es) = “o(As1) is/has xs1 AND … AND o(Asm) is/has xsm” là thành phần kết luận và o(Fq) = “o(Aq1) is/has xq1 AND … AND o(Aqh) is/has xqh” là thành phần lọc trong câu tóm tắt, o ký hiệu cho các đối tượng trong cơ sở dữ liệu.
Hàm Random-Greedy-LS sinh câu tóm tắt sử dụng chiến lược tham lam được mô tả như sau:
Function Random-Greedy-LS; Input:
- Cơ sở dữ liệu D
- Khung nhận thức ngôn ngữ LFoC ℱA cho các thuộc tính trong D và tập các tập mờ T(ℱA) được xây dựng bởi thủ tục HA-TFS-MG đề xuất trong chương 2.
- Tập hạng từ ℱQ và các tập mờ T(ℱQ).
- Ngưỡng độ hỗ trợ cho nhóm bản ghi thỏa o(Fq) là .
Output:
- Một câu tóm tắt SL thỏa supp(Fq) ≥ và thỏa các điều kiện (G1), (G2), (G3) nêu trên.
Begin
1. repeat //Sinh ngẫu nhiên thành phần o(Fq) thỏa điều kiện ngưỡng
2. o(Fq) Random_List((Aq1, xq1), …, (Aqh, xqh));
3. until supp(Fq) ≥ ;
4. Random_List(As1, …, Asm);
//Chọn ngẫu nhiên các thuộc tính trong o(Es)
5. Chọn một bộ hạng từ ngôn ngữ (xs1, …, xsm) ℱ𝐴𝑠1 × … × ℱ𝐴𝑠𝑚 sao cho𝑟 =∑ 𝜇𝑜(𝐹𝑞)∧𝜇𝑜(𝐸𝑠)
∑ 𝜇𝑜(𝐹𝑞) đạt giá trị lớn nhất;
6. Chọn từ lượng hóa QℱQsao cho 𝜇𝑄(𝑟)và St(Q) đạt giá trị lớn nhất 7. return “Q os that are o(Fq) is o(Es)”
End.
Thủ tục con Random_List((Aq1, xq1), …, (Aqh, xqh)) tại dòng 2 sẽ thực hiện sinh ngẫu nhiên các vị từ dạng “Aqi is/has xqi” cho thành phần lọc o(Fq). Sau đó,
thực hiện kiểm tra độ hỗ trợ cho o(Fq) tại dòng 3. Nếu độ hỗ trợ supp(Fq) trên ngưỡng thì sẽ kết thúc vòng lặp chọn thành phần o(Fq). Tương tự, tại dòng 4 sử dụng thủ tục Random_List(As1, …, Asm) lúc này chỉ để chọn ngẫu nhiên các thuộc tính tham gia trong thành phần kết luận o(Es). Sau đó, tại dòng 5 thực hiện duyệt các tổ hợp hạng từ trong khung nhận thức ngôn ngữ (ℱ𝐴𝑠1 × … × ℱ𝐴𝑠𝑚) của các thuộc tính đã được xác định tại dòng 4. Tổ hợp hạng từ (xs1, …, xsm) mà với nó giá trị r (được coi là độ hỗ trợ cho phần thân câu tóm tắt) đạt giá trị lớn nhất sẽ được chọn để hoàn thiện thành phần kết luận o(Es). Tức là chọn phần thân câu tóm tắt thỏa điều kiện (G1). Cuối cùng, tại dòng 6 thực hiện chọn một hạng từ Q thỏa các điều kiện (G2) (giá trị đúng đắn T = 𝜇𝑄(𝑟) lớn nhất) và (G3) (St(Q) có giá trị lớn nhất).