Samenvatting van de les (pdf, 43kB)
Samenvatting van de les (pdf, 43kB)
Samenvatting van de les (pdf, 43kB)
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Samenvatting</strong> hoorcollege AI1 31/10/2002<br />
Tijs Van Buggenhout (tvbuggen@vub.ac.be),<br />
Lies Baeten (lbaeten@vub.ac.be),<br />
Sil Janssens (sil.janssens@vub.ac.be),<br />
Johan Jacobs (jojacobs@vub.ac.be),<br />
Brecht Desmet (brecht.<strong>de</strong>smet@vub.ac.be)<br />
14th November 2002<br />
Part I<br />
Knowledge Engineering<br />
1 Situering<br />
1.1 Knowledge Engineering (KE)<br />
is het on<strong>de</strong>rzoeken <strong>van</strong> een bepaald domein, het bepalen <strong>van</strong> belangrijke concepten<br />
in dat domein om een representatie <strong>van</strong> <strong>de</strong> objecten en relaties in het domein op te<br />
bouwen. Zo bekom je een Knowledge Base.<br />
1.2 De Knowledge Base (KB)<br />
is een verzameling kennis over een bepaald domein. Het is <strong>de</strong> bedoeling om <strong>de</strong>ze<br />
kennis voor te stellen in een formele taal. Een voorbeeld is <strong>de</strong> predikatenlogica.<br />
2 Richtlijnen voor het formaliseren <strong>van</strong> kennis uit <strong>de</strong><br />
echte wereld naar eerste or<strong>de</strong> predikatenlogica<br />
Het is <strong>de</strong> bedoeling dat kennis uit <strong>de</strong> echte wereld wordt omgezet naar eerste or<strong>de</strong><br />
predikatenlogica. Hier volgen enkele richtlijnen voor het bouwen <strong>van</strong> een kwaliteitsvolle<br />
KB :<br />
1. Het bepalen <strong>van</strong> predikaten, functies en constanten, die rele<strong>van</strong>te kennis representeren.<br />
2. De betekenis <strong>van</strong> predikaten mag niet te inhoudsintensief zijn, werk voldoen<strong>de</strong><br />
algemeen (lange namen zeggen wellicht wat voor <strong>de</strong> gebruiker, maar niet zozeer<br />
voor het re<strong>de</strong>neringsmechanisme). Dit is belangrijk voor <strong>de</strong> uitbreidbaarheid <strong>van</strong><br />
<strong>de</strong> kennisbank.<br />
3. Beperk je predikaten tot <strong>de</strong> domeinspecifieke eigenschappen.<br />
1
3 ONTOLOGIE VS KB<br />
4. Houd bij het opstellen <strong>van</strong> <strong>de</strong> predikaten het doel <strong>van</strong> <strong>de</strong> KB voor ogen (welke<br />
queries je bv. gaat hanteren).<br />
3 Ontologie vs KB<br />
Het begrip ontologie betreft veeleer het beheer <strong>van</strong> <strong>de</strong> informatie dan wel <strong>van</strong> <strong>de</strong> kennis.<br />
Je zou een ontologie alsvolgt kunnen <strong>de</strong>finiëren: het specificeren <strong>van</strong> een geheel<br />
<strong>van</strong> concepten en <strong>de</strong> relaties tussen <strong>de</strong>ze concepten (een soort begrippenapparaat om<br />
<strong>de</strong> wereld te beschrijven). Hierbij bepalen we <strong>de</strong> beste manier om <strong>de</strong> informatie in<br />
mo<strong>de</strong>llen te gieten, zodat <strong>de</strong> gegevens achteraf kunnen wor<strong>de</strong>n opgeslagen en optimaal<br />
kunnen wor<strong>de</strong>n weergegeven. Cfr boomstructuur uit <strong>de</strong> sli<strong>de</strong>s.<br />
3.1 Categorie<br />
Categorieën zijn erg belangrijk, omdat je vrijwel altijd over categorieën re<strong>de</strong>neert en<br />
niet over individuele objecten.<br />
Reïficatie: Tomaat (x) -> Tomaten<br />
¡£¢¥¤§¦©¨¢¢¤§¦©¨<br />
(vergelijk met een object Tomaat)<br />
Het i<strong>de</strong>e achter categorieën en objecten in een KB kan men relateren met <strong>de</strong><br />
formele theorie <strong>van</strong> klassen en objectinstanties. Een categorie is dus een verzameling<br />
<strong>van</strong> alle objecten met <strong>de</strong>zelf<strong>de</strong> eigenschappen.<br />
Inheritance: Objecten <strong>van</strong> <strong>de</strong>zelf<strong>de</strong> subklasse hebben hetzelf<strong>de</strong> gedrag als <strong>de</strong><br />
bovenliggen<strong>de</strong> klasse (overerving). Bijvoorbeeld een tomaat is een groente. Een<br />
groente is eetbaar, dus een tomaat is ook eetbaar. Deze structuur is on<strong>de</strong>r te<br />
brengen on<strong>de</strong>r <strong>de</strong> vorm <strong>van</strong> een boom (taxonomie)<br />
3.2 Manieren om klassen op te <strong>de</strong>len<br />
Er zijn 2 begrippen in <strong>de</strong>ze context :<br />
1. Disjoint: als je lid bent <strong>van</strong> een subklasse, ben je dit niet <strong>van</strong> een an<strong>de</strong>re. Voorbeeld:<br />
op<strong>de</strong>len <strong>van</strong> dieren in soorten (als je een reptiel bent, ben je geen zoogdier).<br />
2. Exhaustive: alle subklassen samen bevatten alle elementen <strong>van</strong> <strong>de</strong> subklasse.<br />
Voorbeeld: Noord-Amerikanen, Centraal-Amerikanen en Cana<strong>de</strong>zen vormen samen<br />
Amerika.<br />
Een partitie is disjoint en exhaustive -> vb.: mannen en vrouwen vormen samen mensen<br />
3.3 Maten<br />
Numerieke: Je kan iets met een getal uitdrukken (vb. je kan verhoudingen <strong>van</strong><br />
maten geven; je kan een duur/duratie <strong>de</strong>finiëren)<br />
Kwalitatief: Je kan iets or<strong>de</strong>nen, maar je kan er niet onmid<strong>de</strong>llijk een waar<strong>de</strong> aan<br />
geven.<br />
Vb. “dit smaakt beter dan dat” of ook “klein < normaal < groot”<br />
2
3 ONTOLOGIE VS KB 3.4 Samengestel<strong>de</strong> Objecten<br />
3.4 Samengestel<strong>de</strong> Objecten<br />
Er bestaan complexe en abstracte objecten.<br />
complex: een dier bestaat uit organen, lichaams<strong>de</strong>len, etc<br />
abstract: een spel, een gebeurtenis, een script, etc<br />
We kunnen relaties <strong>de</strong>finiëren tussen samengestel<strong>de</strong> objecten. Bijvoorbeeld<br />
¥£ £¦¥ ¨ ¨ <br />
, etc. Let op, een samengesteld object bevat fysische eigenschappen,<br />
in tegenstelling tot een categorie. Bei<strong>de</strong>n bestaan wel uit een verzameling<br />
objecten.<br />
3.5 Tijd, ruimte en veran<strong>de</strong>ring<br />
Situatic calculus (dus <strong>de</strong> “if statements”) heeft beperkingen.<br />
Probleemstelling: Discrete tijdstappen -> overgaan <strong>van</strong> <strong>de</strong> ene naar <strong>de</strong> an<strong>de</strong>re<br />
toestand, maar er gebeurt niets. Dus niet zoals in <strong>de</strong> Wumpuswereld.<br />
Oplossing: Event Calculus: bekijk <strong>de</strong> wereld als events.<br />
3.6 Events<br />
¢¡©¤£¦¥ ¨§©¡©¢ ¨ ,<br />
Events nemen tijd en ruimte (plaats) in beslag, die vrij complex kunnen wor<strong>de</strong>n. Vuistregel:<br />
alleen wat noodzakelijk is, gaan we mo<strong>de</strong>lleren.<br />
Eigenschappen:<br />
¨ ¦ ¡ <br />
<br />
Events kunnen subevents hebben, vb. ¦<br />
Een event dat alle events, die in een bepaal<strong>de</strong> tijdsperio<strong>de</strong> voorkwamen, bevat,<br />
heet een interval: Tijdsperio<strong>de</strong>. Voorbeeld: Vandaag, Twintigste Eeuw, Vorige<br />
week, <strong>de</strong>ze week, volgen<strong>de</strong> week, <strong>de</strong> komen<strong>de</strong> weken<br />
¢ <br />
Operator <br />
– x vond plaats geduren<strong>de</strong> interval i<br />
<br />
– <br />
Let op: Een event hoeft niet noodzakelijk tegelijkertijd plaats als tijd voor te stellen.<br />
Voorbeeld: “<strong>de</strong> VUB” is een event, dat een plaats bepaalt, maar geen tijd (voor discussie<br />
vatbaar)<br />
3.7 Samengestel<strong>de</strong> Events<br />
T-operator: Het event vindt plaats geduren<strong>de</strong> (throughout) een gespecificeer<strong>de</strong><br />
perio<strong>de</strong>.<br />
Je kan geen logische operatoren als parameter meegeven. Dit wordt echter wel<br />
gedaan<br />
Vb: ¤ ¤ zou eigenlijk ¤ ¨ £ ¤ moeten zijn, maar <strong>de</strong> eerste metho<strong>de</strong><br />
is dui<strong>de</strong>lijk eenvoudiger<br />
3
3 ONTOLOGIE VS KB 3.8 Plaatsen<br />
Er bestaan 2 verschillen<strong>de</strong> soorten “of” geduren<strong>de</strong> een interval:<br />
3.8 Plaatsen<br />
– ¤ ¡ ¤ : Bei<strong>de</strong> events waren waar geduren<strong>de</strong> i, maar niet noodzakelijkerwijs<br />
op <strong>de</strong>zelf<strong>de</strong> tijd.<br />
– ¤ ¡¢ : Slechts één <strong>van</strong> <strong>de</strong> events was waar geduren<strong>de</strong> i (exclusive or).<br />
Het is een soort <strong>van</strong> duale <strong>van</strong> een interval: een stuk ruimte uitgestrekt in <strong>de</strong> tijd.<br />
3.9 Processen<br />
Events kunnen gesplitst wor<strong>de</strong>n. Bij het splitsen <strong>van</strong> niet-discrete events blijven <strong>de</strong><br />
events niet meer <strong>van</strong> hetzelf<strong>de</strong> type (bv een trouwfeest). Sommige events blijven wel<br />
<strong>van</strong> hetzelf<strong>de</strong> type bij het splitsen (bv lezen), <strong>de</strong>ze events noemt men “processen of<br />
liquid events”.<br />
3.10 Problematische objecten<br />
Objecten met intrinsieke eigenschappen: dit zijn eigenschappen die het innerlijke<br />
<strong>van</strong> een bepaald object voorstellen. Wanneer het object gesplitst wordt blijven<br />
<strong>de</strong>ze eigenschappen behou<strong>de</strong>n. Een voorbeeld: het smeltpunt, <strong>de</strong> smaak, <strong>de</strong><br />
eigenaar <strong>van</strong> het object, etc.<br />
Objecten met extrinsieke eigenschappen: in tegenstelling tot <strong>de</strong> intrinsieke eigenschappen<br />
zal bij het splitsen <strong>van</strong> het object <strong>de</strong> eigenschappen niet behou<strong>de</strong>n wor<strong>de</strong>n.<br />
Het betreft hier dan ook vooral <strong>de</strong> uiterlijke kenmerken, zoals <strong>de</strong> grootte,<br />
<strong>de</strong> lengte, maar ook het gewicht, <strong>de</strong> schaduw <strong>van</strong> het object, etc.<br />
Substanties (= stoffen) bevatten enkel intrinsieke eigenschappen, terwijl<br />
voorwerpen ook extrinsieke eigenschappen kunnen bezitten.<br />
An<strong>de</strong>re problematische objecten zijn bijvoorbeeld lan<strong>de</strong>n die in <strong>de</strong> loop <strong>van</strong> <strong>de</strong><br />
tijd meer of min<strong>de</strong>r om<strong>van</strong>grijk zijn gewor<strong>de</strong>n of koningen die wer<strong>de</strong>n opgevolgd,<br />
etc.<br />
3.11 Gedachten & Overtuigingen<br />
Hoe kunnen we aandui<strong>de</strong>n dat een agent iets <strong>de</strong>nkt? Deze oplossing kan nuttig zijn voor<br />
het bouwen <strong>van</strong> een conversatiesysteem (intelligente user interface). Hiervoor is een<br />
abstract mo<strong>de</strong>l nodig waarbij men gebruik kan maken <strong>van</strong> een operator als “Believes”,<br />
“Knows”, “Wants”, etc. Hierdoor kan het systeem een relatie leggen tussen agenten en<br />
proposities, dit soort relaties wor<strong>de</strong>n “propositional attitu<strong>de</strong>s” genoemd.<br />
3.12 Referential Transparancy<br />
Probleemstelling: Als Clark en Superman <strong>de</strong>zelf<strong>de</strong> persoon voorstellen, en Superman<br />
kan vliegen, volgt daaruit dat ook Clark kan vliegen. Hieruit volgt dat als Lois gelooft<br />
dat Superman kan vliegen, ze ook moet geloven dat Clark kan vliegen. Dit is echter niet<br />
het geval. Deze afleiding komt doordat elke relatie in <strong>de</strong> eerste or<strong>de</strong> logica referentiëel<br />
4
3 ONTOLOGIE VS KB 3.13 Hoe te mo<strong>de</strong>lleren<br />
transparant is: Referential Transparancy. Dit omzeilen we door een an<strong>de</strong>re techniek<br />
toe te passen waardoor <strong>de</strong> betekenis door <strong>de</strong> substitutie niet aangetast wordt. Deze<br />
techniek representeert betekenisvolle objecten door strings, waardoor <strong>de</strong> objecten toch<br />
<strong>van</strong> elkaar verschillen. Hierbij wordt gebruik gemaakt <strong>van</strong> <strong>de</strong> functie “Den”, die een<br />
link legt tussen <strong>de</strong> string en het object aangeduid door <strong>de</strong> string.<br />
Een voorbeeld is ¡ a, p, q: ¦¡ ¢ § ¨¤§ ¨ <br />
<br />
¦¢ §¤ (a) <br />
§<br />
<br />
£¢¥¤<br />
¢¨¤ ¦¢ <br />
. Dit kan niet werken omdat een string is, om p en q te<br />
substitueren in ¢©¤ ¦¢ moet men ¦© £¢¤¢ gebruiken.<br />
3.13 Hoe te mo<strong>de</strong>lleren<br />
Implementeer een extra laag om logisch te re<strong>de</strong>neren op een agent. Je kan zeggen dat<br />
een agent al<strong>les</strong> weet wat hij uit zijn kennis kan aflei<strong>de</strong>n “logical omniscience”, maar dit<br />
is onrealistisch en onpraktisch. Hierover zijn verschillen<strong>de</strong> filosofische be<strong>de</strong>nkingen.<br />
5