Trang 1
TẦNG TRI THỨC DỰA LUẬT VÀ LOGIC Hanoi University of Technology – Master 2006 2 Biểu diễn tri thức Luật Horn BDTT là cơ sở của các hệ thống thông minh Là tập con của First Order Logic Vai trò của ontology trong BDTT Biểu thức Horn là phép hợp của các biểu thức đơn với Đểể khai báo các tri thức về thế giới 1 giá tr1 giá trịị khkhẳẳngng địđịnhnh Ontology đưa khai báo vào các loại (khái niệm, (∀) ¬B1 ∨ ¬B2 ∨ … ∨ ¬Bn ∨ H vai trò, …) Tương đương với Luật và suy diễn (∀) B1 ∧ B2 ∧ … ∧ Bn → H Luật suy diễn cho phép suy ra các tri thức ẩn (procedural knowledge) từ các tri thức rõ ((declarative knowledgedeclarative knowledge)) Luật cho phép diễn tả các ràng buộc giữa các đối tượng 3 4 goupee.com fb.com/groups/goupee 1
Trang 2
Lập trình logic – logic programming Các biểu thức đơn (1) Các hằng số với các giá trị xác định Là mở rộng của logic Horn logic a, b, john,… Luậật là kết hợợpp của các các biến với Cáác bbiếến Biến dương là biểu thức nguyên tử: p(x), q(x),... x, y,… Biến âm là phủ định của biểu thức nguyên tử: Các hàm trả về giá trị với các tham số nhất định not p(x), not q(x),... f(x), fatherOf(john),… not (negation-as-failure) ≠ ¬ Các hằng, biến, hàm (gọi là các thuật ngữ) Biến cơ sở là biến không có tham số Các vị từ liên kết các thuật ngữ pp((xx, aa)), marriagemarriage((marymary, johnjohn)),… LuLuậật Horn (t Horn (HH ::- BB11,...,,...,BBnn) or () or (HH ←← BB11 ∧∧...... ∧∧ BBnn)) Nếu p là vị từ, t là thuật ngữ, khi đó p(t , t ,…) là biểu H là biến dương 1 2 thức đơn B ,...,B là các biến 1 n Nếu t1, t2 là thuật ngữ, khi đó t1 = t2 là biểu thức đơn f(x) = a, marc = fatherOf(john) 5 6 Lập trình logic (2) Các đặc tính của DLP Một sự kiện là 1 biểu thức nguyên tử (luật Tập con RDFS của DL cho phép các phát biểu sau: không có thân) Lớp C là lớp con của lớp D. person(john) MiMiềềnn ccủủa thua thuộộc tính P là lc tính P là lớớp Cp C Giới hạn phạm vi của thuộc tính P là lớp D. ĐÍch hoặc câu truy vấn là luật không có phần Thuộc tính P là thuộc tính con của thuộc tính Q đầu, biểu diễn bởi (?- B1,...,Bn) A là một giá trị của lớp C. ?- person(x) (a,b) là một giá trị của thuộc tính P. LP không có phủ định tương đương với tập con DLP có thể biểu diễn: ccủủaa FOL (Horn Logic Programs)FOL (Horn Logic Programs) Sử dụng kết nối Intersection trong mô tả lớp Khai báo thuộc tính P là truyền ứng (Transitive). Datalog là tập con của LP Khai báo thuộc tính P là đối xứng (Symmetric). Không có ký hiệu hàm DLP có thể biểu diễn hầu hết các đặc tính của DL Không có phủ định Các vấn đề kỹ thuật trong LP: Xử lý tính bằng nhau (vd, tính duy nhất của tên) 7 8 goupee.com fb.com/groups/goupee 2
Trang 3
Ví dụ Expressivity overlaps Các sự kiện về quan hệ mother(mary, john) father(marc, john) male(john) Luật về 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) 9 10 Kết hợp luật với ontology Khác biệt giữa DL và DLP DLs cho phép biểu diễn tri thức khai báo DLP là tập con của DL. LPs cho pphépp biểu diễn tri thức thủ tụục ggắn với Ví dụ của DL không biểu diễn một cách hoàn biểu diễn tri thức chhỉỉnh th trong DLPDLP: DLP (Description Logic Programs) là cách đơn Khai báo lớp con của biểu thức liên kết lớp giản nhất để kết hợp DLs với logic Horn qua phép hợp: (Human ∩ Adult) ⊆ (Man ∪ Woman) Phần OWL có thể định nghĩa dưới dạng Horn Khai báo lớp con của biểu thức liên kết lớp Phần logic Horn có thể định nghĩa dưới dạng qua lượng từ tồn tại: OWL RRadidio ⊆ ∃∃hhasPPartt T.Tuner Tại sao không? Vì: LP/Horn, và do đó DLP, không thể biểu diễn được 11 12 goupee.com fb.com/groups/goupee 3
Trang 4
Khác biệt giữa LP và DLP DLP có thể làm gì DLP là tập con của Horn LP. Các luật LP trên các DL ontologies. Ví dụụ về Horn LP khôngg biểu diễn đượợc bằngg DLP: Dịch các luật LP sang DL ontologies và ngược lại Luật liên quan nhiều biến: Sử dụng các luật LP cho các phần của DL PotentialLoveInterestBetween(?X,?Y)← Man(?X) ∧ Woman(?Y). Tạo các ontologies trong LP Chuỗi (ngoài phép lan truyền đơn giản) để sinh giá Tạo các luật trong DL. trị thuộc tính. Dịch các kết luận LP sang DL InvolvedIn(?Company, ?Industry) Dịch các kết luận DL sang LP ← Subsidiary(y(?Comppany,y, ?Unit)) ∧ AreaOf((?Unit,, ?Industry)y). Tại sao? Tính quyết định cuả DLs phụ thuộc chủ yếu vào thuộc tính của mô hình cây DL không dùng để biểu diễn nhiều hơn một biến 13 14 Ưu điểm của DLP Chuyển từ DL sang Horn logic (1) Mô hình hóa: Sử dụng DL hoặc luật (C rdfs:subClassOf D) C D ⇔ D(x) ← C(x) Cài đặặt: sử dụụngg cơ chế suyy luậận của DL hoặặc (Q rdfs:subPropertyOf P)(Q rdfs:subPropertyOf P) hệ thống suy diễn dựa luật Q P ⇔ P(x, y) ← Q(x, y) Dịch các luật LP sang DL ontologies và ngược lại (P rdfs:range C) ∀P.C ⇔ C(y) ← P(x, y) Tạo các ontologies trong LP (hoặc luật trong DL) (P rdfs:domain C) Linh động, có thể sử dụng nhiều công cụ khác ∀P-.C ⇔ C(y) ← P(y, x) nhau (vd, khai thác các công cụ LP/DB để chạy (a rdf:type C) các ontology quy mô lớn) a:C ⇔ C(a) Khả năng biểu diễn: OWL ontologies thường chỉ ((a P b)P b) (a, b): P ⇔ P(a, b) dùng rất ít các phép biểu diễn ngoài DLP (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) 15 16 goupee.com fb.com/groups/goupee 4
Trang 5
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) Semantic Web Rule Language (SWRL): P+ P ⇔ P(x, z) ← P(x, y) ∧ P(y, z) Kết hợợpp ontologgies và luậật: owl il:inttersectitionOfOf C1 C2 D ⇔ D(x) ← C1(x) ∧ C2(x) Ontologies: OWL-DL C D1 D2 ⇔ D1(x) ← C(x); D2(x) ← C(x) Rules: RuleML owl:unionOf SWRL = OWL-DL + RuleML C1 C2 D ⇔ D(x) ← C1(x); D(x) ← C2(x) C D1 C2 ⇔ impossible translation OWL-DL: không có biến owl:allValuesFrom tương ứng với SHOIN(D) C ∀P.D ⇔ (D(y)( (y) ← P(x, y))( y)) ← C(x)( ) ∀P.C D ⇔ impossible translation RRul MLleML: sửử ddụng bibiếến. owl:someValuesFrom C ∃P.D ⇔ impossible translation ∃P.C D ⇔ D(x) ← P(x, y) ∧ C(y) owl:complementOf (negation), owl:minCardinality, owl:maxCardinality không thể dịch được 17 18 RuleML Ví dụ của RuleML RuleML, ngôn ngữ datalog của mệnh đề Horn: 1 quan hệ n-ary (n= 0, 1, 2, … ) trong RuleML. 1. Datalog là tập con của Prolog: VD: A customer is gold if her purchasing has been minimum 200200 dollars in the previous yeardollars in the previous year. Function-free: cách biểu diễn P(f(2),5) không hợp lệ head (unary relationship): A customer is gold. 2. Mệnh đề Horn (hợp của các ký hiệu và có tối đa body (3-ary relationship): Her purchasing . . . 1 ký hiệu dương), vd ¬p ∨ ¬ q ∨ . . . ∨ ¬ t ∨ u có thể viết thành, p ∧ q ∧ ldots ∧ t Æ u ChChỉỉ có phécó phép giaop giao ccủủaa cácác phc phầần tn tửử 19 20 goupee.com fb.com/groups/goupee 5
Trang 6
Luật với nhiều phần tử Luật RuleML trong SWRL Luật với nhiều phép and trong thân: Chỉ có các quan hệ unary/binary The discount for a customer on a product is 5% if Các ví dụụ ở slide trước khôngg pphải là luậật the customer is gold and the product is seasonal. SWRL Các quan hệ n-ary relations được chuyển thành quan hệ nhị phân. Luật với nhiều phép and trong thân khá phổ biến. Vd The discount for a customer on a product isThe 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 được định nghĩa như sau: Cú pháp luật SWRL: Atom ← C(( )|i)| D( ) |(v) | R( , j) |(I, j) | U( ,(I, v) |) | a ←b11,, …,, bnn trongg đó,, builtIn(p, v1, …, vn) | i = j | i ≠ j a : head (1 atom) b : body (nhiều atom) s C = Class D = Data type 1 CSTT SWRL (k) được định nghĩa như sau: R = Object Property U = Data type Property k = (∑,P) trong đó, i,j = Object variable names or Object individual ∑ = CSTT của SHOIN(D) names P = tập luật VV1, …, vvn = Data type variable names or DataData type variable names or Data type value names p = Built-in names 23 24 goupee.com fb.com/groups/goupee 6
Trang 7
Ngữ nghĩa SWRL Ngữ nghĩa SWRL Cho I = (ΔI, ΔD, .I, .D) trong đó Bảng ràng buộc B(I) đối với các phần tử SWRL I = pphépp dịịch ΔI = miền dịch đối tượng ΔD = miền dịch dữ liệu .I = hàm dịch đối tượng .D = hàm dịch kiểu dữ liệu ΔI ∩ ΔD = ∅, sao cho VIX Æ P(ΔI) VDX Æ P(ΔD) trong đó, VIX = biến đối tượng VDX = biến kiểu dữ liệu P = phép toán lực lượng 25 26 Ngữ nghĩa SWRL Ví dụ về SWRL Các phần tử SWRL trong phần trước Trong 1 định dạng bảng, các thuật ngữ SWRL (antecedent) thỏa nếu: như sau: Nó rỗng (đúng hiển nhiên) Hoặc mọi phần tử của nó thỏa 1 phần tử SWRL trong phần sau (consequent) Biến được xác định qua dấu ? trong luật thỏa nếu: Ví dụ: Nó rỗng FastComputer(?c) Å Computer(?c) ∧ HoHoặặc nó thc nó thỏỏaa hasCPU(?chasCPU(?c, ?cpu)?cpu) ∧ hasSpeed(?cpuhasSpeed(?cpu, ?sp)?sp) ∧ 1 luật thỏa phép dịch I nếu HighSpeed(?sp) Mọi ràng buộc B(I) thỏa phần trước FastComputer(?c): thuật ngữ C(i) trong bảng B(I) thỏa phần sau hasCPU(?c, ?cpu): thuật ngữ R(i, j) trong bảng 27 28 goupee.com fb.com/groups/goupee 7
Trang 8
Diễn tả luật không sử dụng SWRL Dịch luật từ SWRL sang DL Có thể diễn tả một số luật chỉ sử dụng DL: Số biến chung giữa phần trước và phần sau: VD: với luật Có thể dịịch đượợc nếu: FastComputer(?c) Å Computer(?c) ∧ hasCPU(?c, 2 phần chung nhau 0 biến, nhưng có ít nhất 1 cá ?cpu) ∧ hasSpeed(?cpu, ?sp) ∧ HighSpeed(?sp) thể chung Luật chỉ sử dụng DL: 2 phần chung nhau 1 biến Computer ∩ ∃hasCPU. ∃hasSpeed.HighSpeed ⊆ Không dịch được nếu: FastComputer 2 phần chung nhau >= 2 biến Dịch luật từ SWRL sang DL, Phụ thuộộc vào sà ốố biếến dựa vào các bià á ếến chung giữa phần trước và 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 và phần sau trở thành các truy vấn FastComputer(?c) Å Computer(?c) ∧ hasCPU(?c, giao ?cpu) ∧ hasSpeed(?cpu, ?sp) ∧ HighSpeed(?sp) Truy vấn kết quả được dịch thành diễn tả lớp 1. Phần trước và phần sau trở thành các truy vấn Sử dụng kỹ thuật rolling-up giao Phần trước trở thành lớp con của phần sau 1a. ?c: FastComputer 1b. ?c: Computer∧ (?c, ?cpu): hasCPU ∧ (?cpu, ?sp):hasSpeed ∧ ?sp:HighSpeed Các phép giao tạo ra đồ thị có hướng: Mỗi nút là 1 biến hoặc 1 tên Mỗi cạnh là 1 quan hệ 1 đồ thị truy vấn 31 32 goupee.com fb.com/groups/goupee 8
Trang 9
Dịch luật từ SWRL sang DL Dịch luật từ SWRL sang DL 2. Sử dụng kỹ thuật rolling-up Lớp của biến đích ?c : là Computer Giao với lớp Computer ∩ Kết quả rolling-up : Mỗi cạnh ra được biểu diễn dưới dạng 1 lượng Computer ∩ ∃hasCPU.∃hasSpeed.HighSpeed từ tồn tại Lớp của biến đích ?c Cạnh được biểu diễn như các ràng buộc ?c : FastComputer dịch thành FastComputer Mỗi cạnh ra (?x, ?y) : R được dịch thành ∃R.Y 3. Làm phần trước trở thành lớp con của phần sau CoComputeputer ∩ ∃hasCasCPUU.∃hasSpeedasSpeed.HigghSpeedSpeed ⊆⊆ Y làY là rààng bbuộộc vềề têtên llớớp ??y FastComputer ∃hasCPU.∃hasSpeed.HighSpeed 33 34 Luật SWRL không chuyển sang Luật SWRL không chuyển sang được được DL DL SWRL có thể biểu diễn một số luật mà DL Mặc dù không thể suy diễn hasUncle(Bob,Bill) từ không biểu diễn được hasParent(Bob,Mary) và hasBrother(Mary,Bill), VD: Quan hệ hasUncle có thể được dùng trực tiếp hasUncle(?nephew,?uncle) ÅhasParent(?nephew, hoặc gián tiếp ?parent) ∧ hasBrother(?parent,?uncle) VD: People whose uncles are all lawyers, Luật trên không thể dịch sang DL vì Sử dụng trực tiếp hasUncle: ∀hasUncle.Lawyer phần sau có 2 biến khác nhau Sử dụng gián tiếp hasUncle: ∀ hasParent. ViViệệc sinh phép thc sinh phép thếế cho tcho từừng bing biếến khôngn không đủđủ đểđể ∀∀hasBrother.LawyerhasBrother.Lawyer giải quyết 35 36 goupee.com fb.com/groups/goupee 9
Trang 10
SWRL’s XML syntax Ví dụ Family <ruleml:imp> <ruleml:_rlab ruleml:href="example"/> Family ontology <ruleml:_body> Class Person <swrlx:individualPropertyAtom swrlx:property="hasParent"> <ruleml:var>x<ruleml:var>x11</ruleml:var></ruleml:var> Cáác thhuộộc tíínhh củủa Person: hhasParent, hhasBrothher, <ruleml:var>x2</ruleml:var> hasUncle </swrlx:individualPropertyAtom> Luật SWRL <swrlx:individualPropertyAtom swrlx:property="hasBrother"> hasParent(x1,x2) ∧ hasBrother(x2,x3) → <ruleml:var>x2</ruleml:var> hasUncle(x1,x3) <ruleml:var>x3</ruleml:var> </swrlx:individualPropertyAtom> Astract syntax </ruleml:_body> Implies( <ruleml:_head> Antecedent(hasParent(I-variable(x1) I-variable(x2)) hasBrother(I- <swrlx:individualPropertyAtom swrlx:property="hasUncle"> variable(x2) I-variable(x3))) <ruleml:var>x1</ruleml:var> Consequent(hasUncle(I-variable(x1) I-variable(x3))) <ruleml:var>x3</ruleml:var> </swrlx:individualPropertyAtom> ) </ruleml:_head> </ruleml:imp> 37 38 <swrl:Variable rdf:ID="x1"/> <swrl:Variable rdf:ID=“x2"/> <swrl:Variable rdf:ID=“x3"/> Further reading <ruleml:Imp> <ruleml:body rdf:parseType="Collection"> <swrl:IndividualPropertyAtom> “Combining Rules and Ontologies. A survey”, s ntax <swrl:propertyPredicate rdf:resource=“hasParent"/> Deliverable I3, REWERSE project, 2005. <swrl:arggument1 rdf:resource="##x1"//> <swrl:argument2 rdf:resource="#x2"/> http://rewerse.net/deliverables/m12/i3-d3.pdf </swrl:IndividualPropertyAtom> SWRL: A Semantic Web Rule Language <swrl:IndividualPropertyAtom> <swrl:propertyPredicate rdf:resource=“hasBrother"/> Combining OWL and RuleML: <swrl:argument1 rdf:resource="#x2"/> http://www.w3.org/Submission/SWRL/ <swrl:argument2 rdf:resource="#x3"/> </swrl:IndividualPropertyAtom> B. N. Grosof, I. Horrocks, R. Volz, and S. RL’s RDF sy</ruleml:body> Decker. Description logic programs: Combining WW <ruleml:head rdf:parseType="Collection"> logic programs with description logic. In Proc. S <swrl:IndividualPropertyAtom> Intl. Conf. on the World Wide Web <swrl:propertyPredicate rdf:resource=“hasUncle"/> <swrl:argument1 rdf:resource="#x1"/> (WWW2003), Budapest, Hungary, 2003. <swrl:argument2 rdf:resource="#x3"/> </swrl:IndividualPropertyAtom> </ruleml:head> </ruleml:Imp> 39 40 goupee.com fb.com/groups/goupee 10
Hiển thị 10 trang đầu. Tải tài liệu để xem đầy đủ.
Bình luận (0)
Chưa có bình luận nào. Hãy là người đầu tiên!