Ontology Web ngữ nghĩa - rules based (HUST)

LI
lienhejb
0 lượt tải
10
0

Nội dung tài liệu

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)

Đăng nhập để tham gia bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!