TẦNG TRI THỨC DỰA LUẬT VÀ LOGIC Hanoi University of Technology – Master 2006 Biểu diễn tri thức Luật Horn BDTT sở hệ thống thơng minh Vai trị ontology BDTT Là tập First Order Logic Biểu thức Horn phép hợp biểu thức đơn với giá trị khẳng định Để ể khai báo tri thức giới Ontology đưa khai báo vào loại (khái niệm, vai trò, …) (∀) ¬B1 ∨ ¬B2 ∨ … ∨ ¬Bn ∨ H Tương đương với (∀) B1 ∧ B2 ∧ … ∧ Bn → H Luật suy diễn Luật suy diễn cho phép suy tri thức ẩn (procedural knowledge) từ tri thức rõ (declarative knowledge) Luật cho phép diễn tả ràng buộc đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Lập trình logic – logic programming (1) Các biểu thức đơn Là mở rộng logic Horn logic ậ kết hợp ợp các biến với Luật Các số với giá trị xác định a, b, john,… Các biến bế x, y,… Các hàm trả giá trị với tham số định f(x), fatherOf(john),… Các hằng, biến, hàm (gọi thuật ngữ) Các vị từ liên kết thuật ngữ p(x, p(x a), a) marriage(mary, marriage(mary john),… john) Nếu p vị từ, t thuật ngữ, p(t1, t2,…) biểu thức đơn Nếu t1, t2 thuật ngữ, t1 = t2 biểu thức đơn f(x) = a, marc = fatherOf(john) Biến dương biểu thức nguyên tử: p(x), q(x), Biến âm phủ định biểu thức nguyên tử: not p(x), not q(x), not (negation-as-failure) ≠ ¬ Biến sở biến khơng có tham số Luật Horn (H ::- B1, ,Bn) or (H ← B1 ∧ ∧ Bn) H biến dương B1, ,Bn biến Lập trình logic (2) Các đặc tính DLP Một kiện biểu thức ngun tử (luật khơng có thân) Tập RDFS DL cho phép phát biểu sau: person(john) ĐÍch câu truy vấn luật khơng có phần đầu, biểu diễn (?- B1, ,Bn) ?- person(x) Lớp C lớp lớp D Miền thuộc tính P lớp C Giới hạn phạm vi thuộc tính P lớp D Thuộc tính P thuộc tính thuộc tính Q A giá trị lớp C (a,b) giá trị thuộc tính P DLP biểu diễn: LP khơng có phủ định tương đương với tập FOL (Horn Logic Programs) Datalog tập LP Sử dụng kết nối Intersection mơ tả lớp Khai báo thuộc tính P truyền ứng (Transitive) Khai báo thuộc tính P đối xứng (Symmetric) Khơng có ký hiệu hàm Khơng có phủ định DLP biểu diễn hầu hết đặc tính DL Các vấn đề kỹ thuật LP: Xử lý tính (vd, tính tên) CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ Expressivity overlaps Các kiện quan hệ mother(mary, john) father(marc, john) male(john) Luật quan hệ parent(X,Y) :- mother(X,Y) parent(X,Y) :- father(X,Y) female(X) :- mother(X,Y) male(X) :- father(X,Y) Truy vấn ?- female(mary) ?- parent(x, john) 10 Kết hợp luật với ontology Khác biệt DL DLP DLs cho phép biểu diễn tri thức khai báo phép p biểu diễn tri thức thủ tục ụ g gắn với LPs cho p biểu diễn tri thức DLP (Description Logic Programs) cách đơn giản để kết hợp DLs với logic Horn DLP tập DL Ví dụ DL khơng biểu diễn cách hoàn chỉnh hỉ h ttrong DLP DLP: Khai báo lớp biểu thức liên kết lớp qua phép hợp: (Human ∩ Adult) ⊆ (Man ∪ Woman) Khai báo lớp biểu thức liên kết lớp qua lượng từ tồn tại: R di ⊆ ∃hasPart.Tuner Radio ∃h P t T Tại khơng? Vì: LP/Horn, DLP, khơng thể biểu diễn Phần OWL định nghĩa dạng Horn Phần logic Horn định nghĩa dạng OWL 11 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt Khác biệt LP DLP DLP làm DLP tập Horn LP ụ Horn LP không g biểu diễn ợ g DLP: Ví dụ Các luật LP DL ontologies Luật liên quan nhiều biến: PotentialLoveInterestBetween(?X,?Y)← Man(?X) ∧ Woman(?Y) Chuỗi (ngoài phép lan truyền đơn giản) để sinh giá trị thuộc tính InvolvedIn(?Company, ?Industry) ← Subsidiary(?Company, y( p y, ?Unit)) ∧ AreaOf(?Unit, ( , ?Industry) y) Dịch luật LP sang DL ontologies ngược lại Sử dụng luật LP cho phần DL Tạo ontologies LP Tạo luật DL Dịch kết luận LP sang DL Dịch kết luận DL sang LP Tại sao? Tính định cuả DLs phụ thuộc chủ yếu vào thuộc tính mơ hình DL khơng dùng để biểu diễn nhiều biến 13 14 Ưu điểm DLP Chuyển từ DL sang Horn logic (1) Mơ hình hóa: Sử dụng DL luật ặ sử dụng ụ g chế suy y luận ậ DL ặ Cài đặt: hệ thống suy diễn dựa luật (C rdfs:subClassOf D) C D ⇔ D(x) ← C(x) (Q rdfs:subPropertyOf P) Q P ⇔ P(x, y) ← Q(x, y) (P rdfs:range C) ∀P.C ⇔ C(y) ← P(x, y) (P rdfs:domain C) ∀P-.C ⇔ C(y) ← P(y, x) (a rdf:type C) a:C ⇔ C(a) (a ( P b) (a, b): P ⇔ P(a, b) (C owl:equivalentClass D) C ≡ D ⇔ D(x) ← C(x); C(x) ← D(x) (Q owl:equivalentProperty P) Q ≡ P ⇔ P(x, y) ← Q(x, y); Q(x, y) ← P(x, y) Dịch luật LP sang DL ontologies ngược lại Tạo ontologies LP (hoặc luật DL) Linh động, sử dụng nhiều cơng cụ khác (vd, khai thác công cụ LP/DB để chạy ontology quy mô lớn) Khả biểu diễn: OWL ontologies thường dùng phép biểu diễn DLP 15 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chuyển từ DL sang Horn logic (2) Semantic Web Rule Language (Q owl:inverseOf P) Q P- ⇔ Q(y, x) ← P(x, y) (P rdf:type owl:TransitiveProperty) P+ P ⇔ P(x, z) ← P(x, y) ∧ P(y, z) owl:intersectionOf l i t ti Of C1 C2 D ⇔ D(x) ← C1(x) ∧ C2(x) C D1 D2 ⇔ D1(x) ← C(x); D2(x) ← C(x) owl:unionOf C1 C2 D ⇔ D(x) ← C1(x); D(x) ← C2(x) C D1 C2 ⇔ impossible translation owl:allValuesFrom C ∀P.D ⇔ ((D(y) (y) ← P(x, ( y)) ← C(x) ( ) ∀P.C D ⇔ impossible translation owl:someValuesFrom C ∃P.D ⇔ impossible translation ∃P.C D ⇔ D(x) ← P(x, y) ∧ C(y) owl:complementOf (negation), owl:minCardinality, owl:maxCardinality dịch Semantic Web Rule Language (SWRL): ợp ontologies g luật: ậ Kết hợp Ontologies: OWL-DL Rules: RuleML SWRL = OWL-DL + RuleML OWL-DL: khơng có biến tương ứng với SHOIN(D) RuleML: R l ML sử dụng d biến biế 17 18 RuleML Ví dụ RuleML RuleML, ngôn ngữ datalog mệnh đề Horn: quan hệ n-ary (n= 0, 1, 2, … ) RuleML VD: A customer is gold if her purchasing has been minimum 200 dollars in the previous year year head (unary relationship): A customer is gold body (3-ary relationship): Her purchasing Datalog tập Prolog: Function-free: cách biểu diễn P(f(2),5) không hợp lệ Mệnh đề Horn (hợp ký hiệu có tối đa ký hiệu dương), vd ¬p ∨ ¬ q ∨ ∨ ¬ t ∨ u viết thành, p ∧ q ∧ ldots ∧ t Ỉ u Chỉ có phép giao phần tử 19 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt Luật với nhiều phần tử Luật RuleML SWRL Luật với nhiều phép and thân: Chỉ có quan hệ unary/binary ụ slide trước khơng gp phải luật ậ Các ví dụ SWRL Các quan hệ n-ary relations chuyển thành quan hệ nhị phân Luật với nhiều phép and thân phổ biến Vd The discount for a customer on a product is 5% if the customer is gold and the product is seasonal The discount for a customer on a product is 5% if the customer is gold and the product is seasonal 21 22 Cú pháp SWRL Cú pháp SWRL Các phần tử SWRL định nghĩa sau: ( )| D(v) ( ) | R(I, ( , j) | U(I, ( , v)) | Atom ← C(i)| builtIn(p, v1, …, vn) | i = j | i ≠ j C = Class D = Data type R = Object Property U = Data type Property i,j = Object variable names or Object individual names V1, …, = Data type variable names or Data type value names p = Built-in names Cú pháp luật SWRL: g đó,, a ←b1, …,, bn a : head (1 atom) bs: body (nhiều atom) CSTT SWRL (k) định nghĩa sau: k = (∑,P) đó, ∑ = CSTT SHOIN(D) P = tập luật 23 24 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ngữ nghĩa SWRL Ngữ nghĩa SWRL Cho I = (ΔI, ΔD, I, D) I=p phép p dịch ị ΔI = miền dịch đối tượng ΔD = miền dịch liệu I = hàm dịch đối tượng D = hàm dịch kiểu liệu ΔI ∩ ΔD = ∅, cho Bảng ràng buộc B(I) phần tử SWRL VIX Ỉ P(ΔI) VDX Ỉ P(ΔD) đó, VIX = biến đối tượng VDX = biến kiểu liệu P = phép toán lực lượng 25 26 Ngữ nghĩa SWRL Ví dụ SWRL Các phần tử SWRL phần trước (antecedent) thỏa nếu: Trong định dạng bảng, thuật ngữ SWRL sau: Nó rỗng (đúng hiển nhiên) Hoặc phần tử thỏa phần tử SWRL phần sau (consequent) thỏa nếu: Biến xác định qua dấu ? luật Ví dụ: FastComputer(?c) Å Computer(?c) ∧ hasCPU(?c ?cpu) ∧ hasSpeed(?cpu, hasCPU(?c, hasSpeed(?cpu ?sp) ∧ HighSpeed(?sp) FastComputer(?c): thuật ngữ C(i) bảng hasCPU(?c, ?cpu): thuật ngữ R(i, j) bảng Nó rỗng Hoặc thỏa luật thỏa phép dịch I Mọi ràng buộc B(I) thỏa phần trước B(I) thỏa phần sau 27 28 CuuDuongThanCong.com https://fb.com/tailieudientucntt Diễn tả luật không sử dụng SWRL Dịch luật từ SWRL sang DL Có thể diễn tả số luật sử dụng DL: VD: với luật FastComputer(?c) Å Computer(?c) ∧ hasCPU(?c, ?cpu) ∧ hasSpeed(?cpu, ?sp) ∧ HighSpeed(?sp) Luật sử dụng DL: Computer ∩ ∃hasCPU ∃hasSpeed.HighSpeed ⊆ FastComputer Dịch luật từ SWRL sang DL, Số biến chung phần trước phần sau: ị ợ nếu: Có thể dịch phần chung biến, có cá thể chung phần chung biến Không dịch nếu: phần chung >= biến Phụ thuộc ộ vào số ố biến ế dựa vào biến ế chung phần trước phần sau 29 30 Quá trình dịch từ SWRL sang DL Dịch luật từ SWRL sang DL Phần trước phần sau trở thành truy vấn giao Truy vấn kết dịch thành diễn tả lớp FastComputer(?c) Å Computer(?c) ∧ hasCPU(?c, ?cpu) ∧ hasSpeed(?cpu, ?sp) ∧ HighSpeed(?sp) Phần trước phần sau trở thành truy vấn giao Sử dụng kỹ thuật rolling-up 1a ?c: FastComputer 1b ?c: Computer∧ (?c, ?cpu): hasCPU ∧ (?cpu, ?sp):hasSpeed ∧ ?sp:HighSpeed Các phép giao tạo đồ thị có hướng: Phần trước trở thành lớp phần sau Mỗi nút biến tên Mỗi cạnh quan hệ đồ thị truy vấn 31 32 CuuDuongThanCong.com https://fb.com/tailieudientucntt Dịch luật từ SWRL sang DL Dịch luật từ SWRL sang DL Sử dụng kỹ thuật rolling-up Lớp biến đích ?c : Computer Giao với lớp Computer ∩ Kết rolling-up : Computer ∩ ∃hasCPU.∃hasSpeed.HighSpeed Lớp biến đích ?c ?c : FastComputer dịch thành FastComputer Làm phần trước trở thành lớp phần sau Computer Co pute ∩ ∃hasCPU.∃hasSpeed.HighSpeed asC U asSpeed g Speed ⊆ FastComputer Mỗi cạnh biểu diễn dạng lượng từ tồn Cạnh biểu diễn ràng buộc Mỗi cạnh (?x, ?y) : R dịch thành ∃R.Y Y ràng buộc b ộ ề tê tên lớp lớ ?y ? ∃hasCPU.∃hasSpeed.HighSpeed 33 34 Luật SWRL không chuyển sang DL Luật SWRL không chuyển sang DL SWRL biểu diễn số luật mà DL không biểu diễn VD: hasUncle(?nephew,?uncle) ÅhasParent(?nephew, ?parent) ∧ hasBrother(?parent,?uncle) Luật dịch sang DL Mặc dù khơng thể suy diễn hasUncle(Bob,Bill) từ phần sau có biến khác Việc sinh phép cho biến không đủ để giải hasParent(Bob,Mary) hasBrother(Mary,Bill), Quan hệ hasUncle dùng trực tiếp gián tiếp VD: People whose uncles are all lawyers, Sử dụng trực tiếp hasUncle: ∀hasUncle.Lawyer Sử dụng gián tiếp hasUncle: ∀ hasParent ∀hasBrother.Lawyer 35 36 CuuDuongThanCong.com https://fb.com/tailieudientucntt SWRL’s XML syntax Ví dụ Family x1 x2 x2 x3 x1 x3 Family ontology Class Person Các thuộc h ộ tính í h ủ Person: hasParent, h hasBrother, h h hasUncle Luật SWRL hasParent(x1,x2) ∧ hasBrother(x2,x3) → hasUncle(x1,x3) Astract syntax Implies( Antecedent(hasParent(I-variable(x1) I-variable(x2)) hasBrother(Ivariable(x2) I-variable(x3))) Consequent(hasUncle(I-variable(x1) I-variable(x3))) ) SW WRL’s RDF syntax 37
Ngày đăng: 01/01/2022, 18:12
HÌNH ẢNH LIÊN QUAN
h
ình hóa: Sử dụng DL hoặc luật (Trang 4)
h
ác biệt giữa LP và DLP (Trang 4)
Bảng r
àng buộc B(I) đối với các phần tử SWRL (Trang 7)