Bài báo trình bày ngôn ngữ biểu diễn tri thức logic mô tả mờ (Fuzzy description logics), xây dựng luật mờ dựa trên ngôn ngữ f-SWRL, sử dụng bộ truy vấn Fuzzy description logics query trong plugin fuzzy OWL 2 và xây dựng một hệ thống ứng dụng trong tư vấn chọn nghề cho học sinh phổ thông.
JOURNAL OF SCIENCE OF HNUE FIT., 2013, Vol 58, pp 70-78 This paper is available online at http://stdb.hnue.edu.vn XÂY DỰNG LUẬT TRONG ONTOLOGY MỜ Huỳnh Thị Thanh Hương1 , Phạm Thị Anh Lê2 Trường THPT Lê Quý Đôn, Đăk Lăk, Khoa CNTT, Trường Đại học Sư phạm Hà Nội E-mail: lepta@hnue.edu.vn Tóm tắt Ontology mờ (fuzzy ontology) kết hợp cơng nghệ ontology lí thuyết tập mờ, nhằm biểu diễn tri thức mơ hồ, không chắn lập luận tri thức thơng qua hệ thống luật Trong báo này, đề xuất phương pháp biểu diễn luật mờ nhằm hỗ trợ công cụ fuzzy Protégé thực truy vấn ontology mờ Bài báo trình bày ngôn ngữ biểu diễn tri thức logic mô tả mờ (Fuzzy description logics), xây dựng luật mờ dựa ngôn ngữ f-SWRL, sử dụng truy vấn Fuzzy description logics query plugin fuzzy OWL xây dựng hệ thống ứng dụng tư vấn chọn nghề cho học sinh phổ thơng Từ khóa: Ontology mờ, logic mô tả mờ, ngôn ngữ f-SWRL Mở đầu Ontology mờ Straccia giới thiệu [1] nhằm biểu diễn tri thức miền ứng dụng có thơng tin mơ hồ, khơng chắn Ontology mờ có tảng logic mơ tả mờ [2, 3], khái niệm vai trò biểu diễn tập mờ Theo cách đó, thể thuộc hay không thuộc khái niệm mờ (hay vai trò mờ) cho trước dựa vào mức độ thành viên cụ thể Một ngôn ngữ biểu diễn tri thức ontology mờ logic mô tả mờ (fuzzy DL) Giống logic mô tả, logic mô tả mờ bao gồm hệ thống kí hiệu biểu diễn khái niệm vai trò, tạo tử mang ngữ nghĩa khác hỗ trợ thuật toán lập luận Cơ sở tri thức logic mô tả mờ biểu diễn lập luận với hai mức độ fuzzy Tbox (hộp thuật ngữ mờ) fuzzy Abox (hộp khẳng định mờ) Lập luận ontology mờ chủ yếu dựa vào việc biểu diễn luật, tiên đề (axiom) truy vấn dựa sở luật tiên đề đó, cơng cụ lập luận truy vấn cụ thể 2.1 Nội dung nghiên cứu Ngôn ngữ logic mô tả mờ Logic mô tả mờ (fuzzy description logics) họ ngôn ngữ logic mô tả, sử dụng việc biểu diễn tri thức mờ miền ứng dụng Trong phạm vi báo, chúng tơi trình bày ngôn ngữ ALC mờ ngôn ngữ đại diện cho họ ngôn ngữ logic mô tả mờ 70 Xây dựng luật Ontology mờ * Cú pháp ALC mờ gồm thành phần đặc trưng ngôn ngữ logic mô tả mờ: khái niệm nguyên tử (A), biểu diễn khái niệm (C, D), vai trị (R,S), cá thể (a,b) Các mơ tả khái niệm phức tạp xây dựng từ tập tạo tử ngôn ngữ Các tạo tử ngôn ngữ ALC gồm: đỉnh (>), đáy (?), phần bù (:), giao (u), hạn chế với (∀), hạn chế tồn (∃) Một số quy tắc cú pháp ngôn ngữ ALC mờ: Một khái niệm nguyên tử mờ khái niệm ALC mờ Khái niệm đỉnh (>) khái niệm ALC mờ Khái niệm đáy (?) khái niệm ALC mờ Phần bù (:) khái niệm ALC mờ khái niệm ALC mờ Giao (u) hai khái niệm ALC mờ khái niệm ALC mờ Hạn chế với (∀)R.C khái niệm ALC mờ với C khái niệm ALC mờ R vai trò Hạn chế tồn (∃)R.C khái niệm ALC mờ với C khái niệm ALC mờ R vai trò * Ngữ nghĩa Ngữ nghĩa ALC mờ xây dựng dựa diễn giải mờ | Một diễn giải mờ cặp | = (△| ,| ) , △| miền | hàm diễn giải, ánh xạ: - Các cá thể khác vào phần tử thuộc miền △| (a| = b| ) (a = b); - Một khái niệm C vào hàm thuộc C | : △| → [0; 1]; - Một quan hệ R vào hàm thuộc R| : △| × △| → [0; 1] Nếu C khái niệm C | hàm thể mức độ thuộc tập cá thể khái niệm mờ C theo diễn giải | , có nghĩa : d ∈ △| đối tượng miền △| d phần tử khái niệm mờ C theo diễn giải | với mức độ C | (d) Tương tự quan hệ Thêm vào đó, với d ∈ △| , hàm diễn giải | phải thỏa mãn: >| (d) = ?| (d) = (CuD)|(d) = min{C | (d), D | (d)} (CtD)| (d) = max{C | (d), D | (d)} (: C | )(d) = − C | (d) (∀R.C | )(d) = infd| ∈4| {max{1 − R| (d, d| ), C | (d| )}} (∃R.C | )(d) = supd| ∈4| {min{R| (d, d| ), C | (d| )}} Hai khái niệm C D gọi tương đương (kí hiệu C ∼ = D) C | = D | với diễn giải| VD: >∼ =: (∃R.C) =: (: Ct : D)v(∀R.C) ∼ =:?, CuD ∼ * Thuật toán lập luận ALC mờ 71 Huỳnh Thị Thanh Hương, Phạm Thị Anh Lê Cơ sở tri thức logic mô tả mờ biểu diễn hai thành phần: tri thức thuật ngữ mờ (fuzzy Tbox) tri thức mở rộng mờ (fuzzy Abox) Việc lập luận ALC mờ thực hai thành phần Trong phạm vi báo, trình bày thuật tốn lập luận fuzzy Tbox - Fuzzy ABox Fuzzy Abox bao gồm tập khẳng định mờ Một khẳng định mờ (kí hiệu ψ ) biểu thức có dạng sau α ≥ n α ≤ m , với α khẳng định ALC, n ∈ (0; 1] , m ∈ [0; 1) Về mặt ngữ nghĩa, khẳng định mờ α ≤ n ràng buộc giá trị chân lí α nhỏ n (và tương tự cho trường hợp ≥) Hai khẳng định mờ ψ1 ψ2 gọi tương đương (kí hiệu ψ1 ∼ = ψ2 ) chúng thỏa mãn tập hợp diễn giải + a : C ≥ m a : C ≤ n với m ≤ n giới hạn giá trị chân lí khẳng định a:C đoạn [m;n] + a : ¬C ≥ n ∼ = a:C ≤1−n Một khẳng định nguyên tử mờ khẳng định mờ có chứa khẳng định nguyên tử - Fuzzy Tbox Fuzzy Tbox bao gồm tập tiên đề thuật ngữ (mô tả khái niệm) mờ Một tiên đề thuật ngữ mờ khái niệm riêng biệt mờ, định nghĩa khái niệm (mô tả khái niệm) mờ Khái niệm riêng biệt mờ biểu thức có dạng A ≺ ·C Định nghĩa khái niệm mờ biểu thức có dạng A :≈ C đó, A khái niệm nguyên tử, C biểu diễn khái niệm Để xác định ý nghĩa tiên đề thuật ngữ, người ta sử dụng diễn giải mờ Diễn giải mờ I thỏa mãn A ≺ ·C ∀d ∈ ∆I , AI (d) ≤ C I (d) Diễn giải mờ I thỏa mãn A :≈ C ∀d ∈ ∆I , AI (d) = C I (d) - Thuật tốn tableaux ALC mờ Trong logic mơ tả mờ, thuật toán lập luận sử dụng phổ biến tableaux mờ Thuật tốn thực kiểm tra tính thỏa khẳng định mờ Trong phần chúng tơi trình bày ý tưởng thuật tốn, phần chi tiết có [2] Input: Một sở tri thức sum = ( A , T ) Một khẳng định mờ ψ có dạng a ≥ n a ≤ n Ouput: |1/4ψ? Các bước thực hiện: Bước Quy toán kéo theo ( |1/4ψ) tốn kiểm tra tính thỏa ψ cách đặt: S = ψ ∪ a < n ψ có dạng a ≥ n S = ψ ∪ a > n ψ có dạng a < n Bước Sử dụng giải thuật tableaux để kiểm tra tính thỏa S dựa vào tập 72 Xây dựng luật Ontology mờ hợp luật lan truyền [2] 2.2 Biểu diễn luật truy vấn * Ngôn ngữ f- SWRL f – SWRL [4] mở rộng mờ SWRL, cho phép biểu diễn luật mờ Trong f – SWRL, thể tiên đề gán “mức độ” tin cậy giá trị đoạn [0;1], cho phép khẳng định cá thể thể lớp cho trước với mức độ - Cú pháp Một luật SWRL có dạng sau: Mệnh đề điều kiện −→ mệnh đề kết Các thành phần mệnh đề điều kiện mệnh đề kết chứa trọng số w giá trị đoạn [0;1], biểu diễn sau: C(x)*w; P(x,y)*w; Q(x,z)*w, sameAs(x,y)*w differentFrom(x,y)*w builtIn(pred,z1; : : : ; zn) w ∈ [0; 1] trọng số phần tử Nếu trọng số w khơng nhắc đến hiểu trọng số VD: g_toan(?x)*0.8 ∧ t_KA(?x)*0.7 ∧ nk_tinhoc(?x)*0.9 → KA_07-0.1(?x) Với: ?x giá trị biến cá thể, g_toan (giỏi tốn) , t_KA (thích khối A) nk_tinhoc (có khiếu tin học) phần tử ứng với trọng số 0.8, 0.7 0.9 KA_07-0.1 lớp kết - Các ràng buộc ngữ nghĩa + Ràng buộc Phép kéo theo phải thỏa mãn w (t (a, w (a, b)) , b) = Khi hai tập hợp phép toán mờ sau thỏa mãn ràng buộc trên: t (a, b) = (a, b) ; wt (a, b) = sup {x ∈ [0; 1] |t (a, x) ≤ b} Hoặc: t (a, b) = a.b; wt (a, b) = sup {x ∈ [0; 1] |t (a, x) ≤ b} + Ràng buộc Cho luật mờ A → c ∗ w, f – SWRL phải thỏa mãn tính chất sau: w(A(|), c(|)) ≥ w Với A(|), c (|) diễn giải tương ứng A c + Ràng buộc Phép toán trọng số g(w, d) sử dụng ngữ nghĩa f – SWRL thỏa mãn Nếu d1 < d2 g (w, d1 ) < g (w, d2) g (0, d) = 1; g (1, d) Khi đó, hai phép tốn tính trọng số sau thõa mãn ràng buộc trên: 73 Huỳnh Thị Thanh Hương, Phạm Thị Anh Lê a.b (a = 0) (a = 0) g (a, b) = wt (a, b) g (a, b) = * Ví dụ Chúng tơi đưa số ví dụ minh họa luật biểu diễn f – SWRL, ví dụ trích từ hệ tư vấn chọn nghề xây dựng báo: - Phu thích khối A với mức độ 0.8 : t_KA *0.8 - Phu có khiếu tin học với mức độ 0.9 : nk_tinhoc*0.9 - Chung thích tốn với mức độ 0.6 : t_toan *0.6 - Chung thích sinh với mức độ 0.7 : t_sinh *0.7 - Chung thích hóa với mức độ 0.7 : t_hoa *0.7 - Chung thích ngành hóa thực phẩm với mức độ 0.8 : t_htp *0.8 - Luật : t_hoa (?x)* [0.4;0.7] ∧ t_toan(?x) * [0.4;0.7] ∧ t_sinh(?x) * [0.4;0.7] ∧ t_htp(?x) * [0.7;1] → KB_0.5-0.7(?x) - Luật : t_KA(?x) * [0.7;1] ∧ nk_tinhoc (?x)* [0.7;1] → KA_0.7-1(?x) Kết lập luận dựa hai luật cho thấy, Phu phù hợp với Khối A - Kĩ thuật tin học (được phân lớp vào lớp KA_0.7-1) Chung phù hợp với khối B - Hóa thực phẩm (được phân lớp vào lớp KB_0.5-0.7) 2.3 Truy vấn với logic mô tả mờ Fuzzy DL query công cụ truy vấn logic mô tả mờ Fuzzy DL query thiết kế plug in fuzzy OWL, cho phép hỗ trợ xây dựng ontology mờ * Một số biểu diễn truy vấn Fuzzy DL query Bảng Các câu lệnh truy vấn Fuzzy DL Query Ngữ nghĩa Cú pháp (max-instance? a C) sup {n|K| = (instanceaCn)} (min-instance? a C) inf {n|K| = (instanceaCn)} (max-related? a b R) sup {n|K| = relatedabRn} (min-related? a b R) inf {n|K| = relatedabRn} (max-subs? C D) sup {n|K| = impliesDCn} (min-subs? C D) inf {n|K| = impliesDCn} (g-max-subs? C D) sup {n|K| = g − impliesDCn} (g-min-subs? C D) inf {n|K| = g − impliesDCn} (l-max-subs? C D) sup {n|K| = l − impliesDCn} (l-min-subs? C D) inf {n|K| = l − impliesDCn} (kd-max-subs? C D) sup {n|K| = kd − impliesDCn} (kd-min-subs? C D) inf {n|K| = kd − impliesDCn} supI supa∈∆I C I (a) (max-sat? C [a]) 74 Xây dựng luật Ontology mờ (min-sat? C [a]) (max-var? Var (min-var? var) (defuzzify-lom? Cm a F) (defuzzify-mom? Cm a F) (defuzzify-som? Cm a F) (bnp? f) inf I supa∈∆I C I (a) sup {var|Kisconsisten} inf {var|Kisconsisten} Khử mờ giá trị F sử dụng max lớn Khử mờ giá trị F sử dụng max trung bình Khử mờ giá trị F sử dụng max nhỏ Tính giá trị BNP (best non – fuzzy) số mờ * Công cụ lập luận Racerpro plugin RacerPro (Renamed aBox and concept expression reasoner) plugin tích hợp cho phiên protégé từ 4.1 trở lên, công cụ lập luận cho ngôn ngữ OWL DL RacerPro sử dụng phần mềm cho phép xây dựng ứng dụng dựa ontology RacerPro cung cấp dịch vụ suy luận cho tri thức thuật ngữ biểu diễn tri thức cá thể dựa kĩ thuật tối ưu hóa kỹ thuật nghiên cứu, phát triển lĩnh vực logic mô tả suốt năm qua 2.4 Hệ tư vấn ứng dụng * Ontology mờ tư vấn chọn nghề Tư vấn chọn nghề toán phổ biến thực tế Với trạng nay, có nhiều sở đào tạo, nhiều ngành nghề, nhiều bậc đào tạo, Những học sinh tốt nghiệp phổ thơng có nhiều lựa chọn, để giúp họ có lựa chọn đắn phù hợp đòi hỏi đời hệ tư vấn Trong báo này, xây dựng hệ tư vấn chọn nghề áp dụng công nghệ ontology mờ Hệ tư vấn trợ giúp cho học sinh lựa chọn ngành nghề phù hợp với lực sở thích Chúng tơi sử dụng công cụ Fuzzy Protégé [5] để xây dựng ontology mờ cho ứng dụng Một phần ontology minh họa Hình Hệ tư vấn chọn nghề xây dựng gồm có lớp: Bac_dao_tao; hoc_sinh, linh_vuc; nang_luc, nganh_hoc Trong lớp nganh_hoc chia nhiều lớp con: nganh_KA, nganh KB, nganh_KC, nganh_KD Các lớp nganh_KA, nganh KB, nganh_KC, nganh_KD lại có lớp tương ứng KA_0-0.3 (khối ngành Nông – Lâm) KA_0.3-0.5 (Khối ngành Sư phạm) KA_0.5-0.7(Khối ngành Kinh tế) KA_0.7-1 (Khối ngành Kĩ thuật - Tin học) KB_0-0.5 (Khối ngành Sư phạm) KB_0.5-0.7 (Khối ngành Hóa thực phẩm) KB_0.7-1(Khối ngành Y) KC_0-0.4 (Khối ngành Sư phạm) 75 Huỳnh Thị Thanh Hương, Phạm Thị Anh Lê KC_0.4-0.7 (Khối ngành Xã hội) KC_0.7-1(Khối ngành Luật) KD_0-0.4 (Khối ngành Sư phạm) KD_0.4-0.7 (Khối ngành Nông – Lâm) KD_0.7-1(Khối ngành Kinh tế) Chức hệ tư vấn đưa lựa chọn ngành học phù hợp cho học sinh đưa vào thơng tin lực, sở thích, cụ thể chức năng: - Tư vấn chọn khối thi theo thơng tin lực sở thích mơn học - Tư vấn chọn ngành học theo thông tin khối thi, lực, sở thích, khiếu với môn học, nghề, lĩnh vực Mỗi học sinh cá thể (individual), thông tin lực, sở thích học sinh biểu diễn kiện (facts :data properties) cá thể: t_toan (thích mơn tốn), g_ly (giỏi mơn lí), t_kinhdoanh (thích kinh doanh), nk_tinhoc (có khiếu tin học) Dựa vào kiện luật f_SWRL biểu diễn dạng tiên đề (axiom), hệ thống sử dụng công cụ lập luận Racerpro plugin để phân lớp thể vào lớp tương ứng lớp nganh_hoc Hình Ontology tư vấn trọn nghề * Xây dựng luật tư vấn Công cụ fuzzy Protégé không hỗ trợ việc biểu diễn luật mờ Trong phần này, đưa phương pháp xây dựng luật mờ dựa vào tiên đề theo quy tắc cú pháp f-SWRL tương ứng cho lớp VD: lớp KA_0.7-1 Luật f-SWRL: nk_ddtu(?x)◦ [0.7, 1] , t_KA(?x)◦ [0.4, 1] → KA_0.7 − 1(?x) 76 Xây dựng luật Ontology mờ Nếu học sinh x có khiếu điện – điện tử (nk_ddtu) với mức độ từ 0.7 → thích khối A (t_KA) với mức độ từ 0.4 → thuộc lớp KA_0.7-1 Được viết thành axiom dạng lớp tương đương lớp KA_0.7-1: (nk_ddtu some decimal[>= "0.7"∧∧ decimal , = "0.4"∧∧ decimal , = "0.4"∧∧ decimal , = "0.4"∧∧ decimal , = "0.7"∧∧ decimal , ) khái niệm ALC mờ Khái niệm đáy (?) khái niệm ALC mờ Phần bù (:) khái niệm ALC mờ khái niệm ALC mờ Giao (u) hai khái niệm ALC mờ khái niệm ALC mờ Hạn