830 likes | 902 Views
Tudásalapú rendszerek. Előadó: Kovács Zita 2013/2014. II. félév. Leíró logikák. Leíró logikák. description logic - DL ismeretábrázolási nyelvcsaládot alkotnak fogalom , individuum (egyed), szerep fogalmakat használja fogalom : individuumok halmazának reprezentálására szolgál
E N D
Tudásalapú rendszerek Előadó: Kovács Zita 2013/2014. II. félév Leíró logikák
Leíró logikák • descriptionlogic - DL • ismeretábrázolási nyelvcsaládot alkotnak • fogalom, individuum (egyed), szerep fogalmakat használja • fogalom: individuumok halmazának reprezentálására szolgál • szerep: indiviuumok közötti bináris relációt ábrázolja • a fogalom általános, az individuum speciális, a fogalom tulajdonságait viseli
Alapelvek A fogalom, szerep és individuum a következő alapelveknek felelnek meg: • A fogalom és a szerep strukturális leírásában konstruktorok vesznek részt. A fogalom és a szerep leírásához egy szemantika kapcsolódik az interpretáción keresztül. A különböző műveleteket ezen szemantikával összhangban hajtjuk végre.
Alapelvek • Az ismereteket különböző szinteken vesszük figyelembe: • A fogalmak, szerepek ábrázolása és a műveleteik a terminológia szintjén, • az individuumok leírása és műveleteik a tények és a hozzárendelések szintjén jelennek meg. A szakirodalomban a terminológia szintjét TBox-nak, a tények és hozzárendelések szintjét ABox-nak nevezik.
Alapelvek • A fogalmakat (és esetenként a szerepeket) hierarchiába rendezhetjük a rajtuk értelmezett alárendelés (subsumption) reláció alapján. • Azt mondhatjuk, hogy egy C fogalom alárendeli a D fogalmat, ha C általánosabb, mint D abban az értelemben, hogy a D által reprezentált individuumok halmazát C tartalmazza.
Alapelvek • a következtető rendszerben két művelet jelenik meg: az osztályozás (classification) és az egyedesítés (instanciation) • Az osztályozást a fogalmakra és az egyedekre alkalmazzuk. Lehetővé teszi, hogy egy adott fogalom, vagy szerep helyét meghatározzuk a hierarchiában.
Alapelvek • a következtető rendszerben két művelet jelenik meg: az osztályozás (classification) és az egyedesítés (instanciation) • Az egyedesítés lehetővé teszi, hogy megtaláljuk azt a fogalmat, amelynek egy adott individuum a megjelenési formája lehet.(Ez a fogalom eltér az OO nyelvekben szokásos egyedesítés fogalmától, hiszen ott egy adott osztályból hozunk létre egyedeket.)
Példák Legyen EMBER egy fogalom-név és van-gyereke egy szerep-név. Ekkor a szülő fogalmat a következő kifejezéssel írhatjuk le: EMBER ⊓ ∃van-gyereke.EMBER (ez lesz a SZÜLŐ leíró a későbbiekben; szülő: olyan egyedek halmaza, akik emberek és legalább egy gyerekük van) Legyen NŐ egy fogalom-név. Ekkor az anya és apa fogalmakat a következő kifejezésekkel írhatjuk le: EMBER ⊓ NŐ ⊓ ∃van-gyereke.EMBER EMBER ⊓ ¬NŐ ⊓ ∃van-gyereke.EMBER
Példák Könnyen belátható, hogy • a fogalomnevek unáris, • a szerepek bináris predikátummal • a fogalom definiáló kifejezések egyváltozós elsőrendű formulával írhatók le a klasszikus logikában. Például, a szülő fogalmat elsőrendű formulával megadva: ember(x) ∧ ∃y(van-gyereke(x,y) ∧ ember(y)), ahol x egy szabad változó.
Példák Például, a szülő fogalmat elsőrendű formulával megadva: ember(x) ∧ ∃y(van-gyereke(x,y) ∧ ember(y)), ahol x egy szabad változó. (Egy adott interpretációban a szülő jelentését formálisan úgy specifikálhatjuk, mint egyedek egy halmazát, amely kielégíti a megfelelő elsőrendű formulát a szabad változója helyettesítésekor.)
Következtető rendszer • az ismeretbázisban tárolt ismeretekből újabb ismeretet vezet le • az alárendelés és az egyedesítés relációkon alapul • az előbbi példákban a szülő fogalom alárendeli az anya és az apa fogalmakat: ANYA ⊑ SZÜLŐ és APA ⊑ SZÜLŐ • ezek a rendszerek automatikusan érzékelik az alárendelési relációkat -> a fogalmakat alárendelési hierarchiában helyezik el
Leíró logikák kialakulásának története • keretek és szemantikus hálók ismeretábrázolási formalizmusából származnak • nem rendelkeztek formális szemantikával, pontos értelmezés a programozó feladata volt
Leíró logikák kialakulásának története Például az alábbi szemantikus háló értelmezése kérdéses: Béka színe Zöld Jelentése lehet: • Minden béka zöld. • Minden béka részben zöld. • Vannak zöld békák. • A békák tipikusan zöldek, de lehetnek kivételek.
Leíró logikák kialakulásának története Az alábbi keret alapú ismeretrészletben is felmerülhetnek eldöntetlen kérdések: Frame Ember endframe. FrameMagas-fiú-apja is-a Ember van-gyereke Magas endframe. Frame Magas endframe. Frame Peter instance-ofMagas-fiú-apja endframe.
Leíró logikák kialakulásának története Nem derül ki, hogy • Magas-fiú-apja minden példányának az összes gyereke magas • vagy hogy minden apának ebben az osztályban van legalább egy magas gyereke
Leíró logikák kialakulásának története • szemantikai hiányosság -> újabb módszerek • 1977, Brachmann: „strukturált öröklési háló” • (új grafikus reprezentációs módszer) • ennek implementációja: KL-ONE • (első leíró logikai rendszer) • számos további, pl: LOOM(1991), CLASSIC(1991)
Leíró nyelvek szintaxisa Leíró nyelv: (fogalom-nevek, individuum-nevek, szerep-nevek, konstruktorok) ahol • a fogalom-nevek: különböző fogalmakat, • az idividuum-nevek: individuumokat, • a szerep-nevek: szerepeket szimbolizálnak.
Leíró nyelvek szintaxisa Leíró nyelv: (fogalom-nevek, individuum-nevek, szerep-nevek, konstruktorok) A konstruktorok a következők lehetnek: • konjunkció (⊓), • diszjunkció (⊔), • negáció (¬), • univerzális kvantor (∀), • egzisztenciális kvantor (∃), • számosság-korlátozás ( ≥n, ≤n).
Leíró nyelvek szintaxisa • a konstruktorok fogalom- és szerep-neveket kötnek össze • így jönnek létre a fogalom- és szerep-kifejezések • a fogalom-nevek önmagukban fogalom-kifejezések • ha C és D fogalom-kifejezés, akkor C*D és ◊C is fogalom-kifejezések, ahol * valamely bináris és ◊ valamely unáris konstruktor
jelölések • fogalom-nevek: A, B • szerep-nevek: P • individuumok neve: a, b, o • fogalom-kifejezés: C, D • szerep-kifejezés: Q, R • top: ⊤ (legáltalánosabb fogalom) • bottom: ⊥ (leginkább specifikus fogalom)
Leíró nyelvek • a megengedett konstruktorok határozzák meg • alapnyelv: FL (frame-baseddescriptionlanguage) • konjunkció, • univerzális kvantor, • nem minősített egzisztenciális kvantor
Leíró nyelvek • AL nyelv: • FL konstruktorain kívül: top, bottom, fogalom-név negáció (fogalom-kifejezés nem negálható) • formálisan: AL={⊤, ⊥, ¬A, C⊓D, ∀R.C, ∃R}
Leíró nyelvek az ALnyelvcsaládot a megengedett konstruktorokkal kiegészítve kapjuk: AL[U][C][E][N][R] nyelveket, ahol • U a diszjunkció, • C a negáció, • E az egzisztenciális kvantor, • N a számosság korlátozás, • R a szerep konjunkció konstruktorokat jelöli.
Példák – objektumok, osztályok Fejezzük ki az alábbi példát Hallgató Személy név: sztring cím: sztring felvette: kurzus klasszikus logikai formulával, leíró logikában fogalom definícióval!
Példák – objektumok, osztályok Hallgató Személy név: sztring cím: sztring felvette: kurzus klasszikus logikai formulával: {x | hallgató(x)} = {x | személy(x) ∧ (∃ynév(x,y) ∧ string(y)) ∧ (∃zcím(x,z) ∧ string(z)) ∧ (∃wfelvette(x,w) ∧ kurzus(w))}
Példák – objektumok, osztályok Hallgató Személy név: sztring cím: sztring felvette: kurzus leíró logikában fogalom definícióval: HALLGATÓ = SZEMÉLY ⊓ ∃név.STRING ⊓ ∃cím.STRING ⊓ ∃felvette.KURZUS
Példák – objektumok, egyedek Fejezzük ki az alábbi példát s1: Hallgató név: „Jani” cím: „Akácfa utca” felvette: I3102 leíró logikában egyedhozzárendeléssel! HALLGATÓ(s1) név(s1,”Jani”) cím(s1, „Akácfa utca”) felvette(s1,I3102)
Szemantikus háló Fejezzük ki az alábbi példát leíró logikában alárendeléssel! Hallgató felvette Kurzus tanít Oktató Demonstrátor • HALLGATÓ ⊑ ∃felvette.KURZUS • OKTATÓ ⊑∃tanít.KURZUS • DEMONSTRÁTOR ⊑ HALLGATÓ • DEMONSTRÁTOR ⊑ OKTATÓ
Nem pontosan definiált szemantikus háló Ezen szemantikus háló különböző lehetséges változatai leíró logikában: • Minden béka részben zöld: BÉKA ⊑ ∃színe.ZÖLD • Minden béka zöld: BÉKA ⊑ ∀színe.ZÖLD • Vannak zöld békák: BÉKA(x), színe(x,y), ZÖLD(y) Béka színe Zöld
Leíró nyelvek szemantikája • fogalom: interpretációs alaphalmaz részhalmaza • szerep: az alaphalmaz önmagával alkotott Descartes-szorzatának részhalmaza • legyen az interpretációs alaphalmaz: O
Leíró nyelvek szemantikája • az a individuum interpretációja: aI ∈ O • az A fogalom-név interpretációja: AI ⊆ O • a C fogalom CI interpretációja a C fogalmat alkotó individuumok interpretációiból álló halmaz, azaz ha C={ci}, ahol i ∈ indexhalmaz, akkor CI = {ciI}, tehát CI ⊆ O
Leíró nyelvek szemantikája • a ∆Iaz összes CI halmaza, azaz az interpretációs alaphalmaz (O) hatványhalmaza • az R szerep interpretációja RI ⊆ O x O
Az ALCNR nyelv szemantikája Egy I=(∆I, .I) interpretáció egy interpretációs alaphalmaz és egy interpretációs függvény együttese, ahol az .I interpretációs függvény • egy fogalmat hozzárendel a ∆I egy részhalmazához és • egy szerepet a ∆Ix ∆I egy részhalmazához úgy, hogy a következő azonosságok fennálljanak.
Az ALCNR nyelv szemantikája • A ∀ konstruktor korlátozást idéz elő egy attribútum értékein. • A (∀R.C) fogalom interpretációja olyan egyedek halmaza, mellyel minden R relációban lévő egyed a C fogalomhoz tartozik. • (∀gyereke.ORVOS): megfelel egy fogalomnak, amelynek minden gyereke orvos. • Ezzel a módszerrel egy keretben egy slot értékére írhatunk elő korlátozást.
Az ALCNR nyelv szemantikája • A (∃R.C) fogalom interpretációja egy olyan egymással R relációban lévő (x,y) elempár létezését mondja ki, ahol y a C fogalom egyede. • (∃gyereke.ZENÉSZ): azon egyedek halmaza, akiknek van zenész gyereke (ahol a gyerek(x,y) szerep jelentése y gyereke x-nek) • Ezen az úton vezethetünk be egy slotot a keretbe.
Az ALCNR nyelv szemantikája • A (≥ n R) fogalom interpretációja az R szerephez kapcsolódó egyedek halmazának számosságát korlátozza. • (≥ 3 gyerek): azon egyedekből álló halmaz, amelyben minden elemnek legalább 3 egyeddel van a gyerek szerepen keresztül kapcsolata (azaz akiknek legalább 3 gyereke van)
Az ALCNR nyelv szemantikája • Két fogalmat (C, D) ekvivalensnek nevezünk (C≡D), ha CI=DI minden I interpretációban. • Az egzisztenciális kvantornak (∃R.C) egy speciális esete a nem minősített egzisztenciális kvantor (∃R) , amikor C≡T. Interpretációja: (∃R)I={a∈O| ∃b∈O: (a,b)∈RI}
Számosságkorlátozások A (≥ n R) és (≤ n R) jelentése: • azon egyedekből álló halmaz, • amelyek mindegyikéhez legalább n, illetve legfeljebb n különböző, • vele R-kapcsolatban lévő egyed található. • Tehát (≥ 1 R) ekvivalens: (∃R.T). • nem lehet valamely fogalomhoz tartozó egyedek darabszámára korlátozást tenni (nincs: „legalább 3 kékszemű gyerekkel bíró” halmaz)
Hierarchia a fogalmak és szerepek körében Egy C fogalom alárendeltje a D fogalomnak (jelölésben C ⊑ D), ha tetszőleges I interpretáció esetén CI ⊆ DI. • reflexív • antiszimmetrikus • tranzitív • azaz parciális rendezési reláció, amely a fogalmakat egy hierarchiába szervezi
Hierarchia a fogalmak és szerepek körében • fogalmakat jellemzi: • saját lokális leírójuk • az alárendeltjeikkel megosztott leírásuk • maximális „elem”: top fogalom • minden más fogalom ennek az alárendeltje • minimális „elem”: bottom • amely valamennyi fogalomnak alárendeltje
Hierarchia a fogalmak és szerepek körében Mivel ∆I az alárendelés műveletére nézve háló; a fogalmak konjunkciója és diszjunkciója tulajdonképpen halmaz metszet és unió, amelyekre teljesülnek a hálóaxiómák: • A⊓A ≡ A és A⊔A ≡ A (idempotencia) • A⊓B ≡ B⊓A és A⊔B ≡ B⊔A (kommutativitás) • A⊓(B⊓C) ≡ (A⊓B)⊓C és A⊔(B⊔C) ≡ (A⊔B)⊔C (asszociativitás) • A⊓(A⊔B) ≡ A és A ⊔(A ⊓ B) ≡ A (elnyelés)
Hierarchia a fogalmak és szerepek körében További tulajdonságok: • Ha D⊑C és D⊑E, akkor D⊑C⊓E. • Ha D⊑C és E⊑C, akkor D⊔E⊑C. • Ha D⊑C, akkor D⊓X⊑C, ahol X tetszőleges fogalom. • Ha D⊑C, akkor D⊑C⊔X, ahol X tetszőleges fogalom.
Hierarchia a fogalmak és szerepek körében Az ALCN nyelv hálót alkot az alárendelés műveletét tekintve, ahol a C és D fogalmak legkisebb felső korlátja C⊓D, legnagyobb alsó korlátja pedig C⊔D.
Egyszerű példák alárendelésre • (FELNŐTT ⊓ FÉRFI) ⊑ FELNŐTT • (FELNŐTT ⊓ FÉRFI ⊓ GAZDAG) ⊑ (FELNŐTT ⊓ FÉRFI) • (∀gyereke.(FELNŐTT ⊓ FÉRFI)) ⊑ (∀gyereke.FELNŐTT) • ((∀gyereke.FELNŐTT) ⊓(∃gyereke)) ⊑ (∀gyereke.FELNŐTT) • (≥ 2 gyerek) ⊑ (≥ 3 gyerek)
Az SHIQ nyelvcsalád • a mai gyakorlatban általánosan alkalmazott nyelvek közül a legnagyobb kifejezőerejű • amelyhez hatékony következtetési algoritmus is rendelkezésre áll • az ALCN nyelv kiterjesztéseként megengedi • a szerephierarchiák megadását, • tranzitív és inverz szerepek használatát
SHIQ Az S nyelvkiterjesztések • legegyszerűbb tag az S nyelv, • amelyet az ALC nyelvből származtatjuk, úgy hogy megengedjük a tranzitív szerepek használatát • például kijelenthetjük, hogy a része, őse, leszármazottja szerepek tranzitívak