Begreper & referanser
Alle nøkkelbegrepene, formlene og referansene fra Kunnskapsrepresentasjon, samlet på én side. Bruk denne som oppslag når du leser, øver flashcards eller tar quiz.
Begreper
Sentrale begreper fra kapittelet med korte definisjoner.
En formell beskrivelse av hvilke kategorier, objekter og relasjoner som finnes i et domene, og hvordan de henger sammen. Den gir agenten et felles ordforråd å skrive kunnskapen sin i (ontology).
Det generelle rammeverket øverst i en ontologi, med begreper som fysiske objekter, hendelser, tid og abstrakte objekter. Domene-ontologier henges på under den (upper ontology).
En mengde objekter som behandles samlet, som Fioliner. Et objekt er medlem av en kategori (), og en kategori kan være en delmengde av en annen () (category).
Å gjøre et predikat eller en relasjon om til et objekt vi kan si ting om. Kategorien Fioliner blir en konstant, slik at vi kan skrive i stedet for bare predikatet (reification).
Det som gjelder alle medlemmer av en kategori, gjelder også medlemmene av hver underkategori. Et objekt i Fioliner arver dermed det som er sagt om Strykeinstrumenter (inheritance).
Et hierarki av kategorier bundet sammen med delmengderelasjonen ⊂, fra de mest generelle øverst til de mest spesielle nederst (taxonomy).
Kategorier uten felles medlemmer. sier at hvert par av ulike kategorier i mengden har tomt snitt (disjoint).
En mengde underkategorier som dekker hele foreldrekategorien: hvert medlem av forelderen er med i minst én av dem. Underkategoriene kan overlappe (exhaustive decomposition).
En uttømmende dekomposisjon der underkategoriene i tillegg er disjunkte, slik at hvert medlem av forelderen er med i nøyaktig én av dem (partition).
Relasjonen sier at objektet er en del av objektet , som peisen i stua. Den er transitiv og refleksiv, og den er noe annet enn medlemskap i en kategori (PartOf).
Verdier som lengde, pris og varighet, skrevet som en enhetsfunksjon brukt på et tall: . Mål kan regnes om mellom enheter og sammenlignes (measures, units).
En logikk for tid der både hendelser og fluenter er objekter. Predikater som , og sier når hendelser skjer og hva de starter og stopper, og sier når en fluent er sann (event calculus).
Et faktum som kan endre seg over tid, som at hytte 7 er opptatt. I hendelseskalkylen er fluenten et objekt, og sier at fluenten er sann ved tidspunktet (fluent).
Et tidsrom med start og slutt . Allen-relasjonene, som Meet, Before, Overlap og During, beskriver hvordan to intervaller ligger i forhold til hverandre (time interval).
En grafnotasjon for en ontologi: noder for kategorier og objekter, og kanter for MedlemAv, DelmengdeAv og egenskaper. Arv finnes ved å følge kantene oppover (semantic network).
Et logisk språk for å definere kategorier ut fra enklere kategorier og relasjoner, med operatorer som And, All og AtLeast. Språket er begrenset slik at subsumpsjon og klassifisering går raskt (description logic).
Spørsmålet om én kategori er en delmengde av en annen ut fra definisjonene alene. Strykekvartett er subsumert av Kammerensemble når definisjonen gjør hver strykekvartett til et kammerensemble (subsumption).
Å avgjøre ut fra definisjonene hvilke kategorier et objekt eller en ny kategori hører til (classification).
Formler
Hver formel: hva den heter, hvordan den ser ut, og hva symbolene betyr.
Arv gjennom delmengder
Brukes når et objekt skal arve medlemskap, og dermed egenskaper, fra en overkategori. Regelen kan brukes flere ganger oppover i taksonomien. Vanlig feil: å skrive ⊂ mellom et objekt og en kategori; et objekt er medlem (∈), aldri delmengde.
Definisjonen av partisjon
Brukes for å avgjøre om en inndeling av kategorien er en partisjon: sjekk disjunkthet og uttømming hver for seg. betyr at hvert medlem av er med i minst én kategori i . Vanlig feil: å tro at disjunkte kategorier alltid dekker hele forelderen.
Definisjonen av disjunkthet
Brukes for å vise at ingen objekter er med i to av kategoriene i . Det sier ingenting om at kategoriene dekker hele forelderen.
Definisjonene av Meet og Before
To av Allen-relasjonene mellom tidsintervaller. Meet betyr at starter i samme øyeblikk som slutter, Before at det er et mellomrom. Vanlig feil: å bytte om rekkefølgen på argumentene.
Fluent-aksiomet
En fluent er sann fra en hendelse starter den, så lenge ingen hendelse har avbrutt den. Happens og Clipped tar ett intervall-argument , mens , Initiates og Terminates tar et tidspunkt. Vanlig feil: å gi samme predikat ulikt antall argumenter i ulike setninger.
Kodesnutter
Kodesnutter fra kapittelet, vist literal.
Allen-relasjonen mellom to bookinger
start_a = 2 # @param 0..10slutt_a = 6 # @param 1..12start_b = 4 # @param 0..10slutt_b = 9 # @param 1..12 # To bookinger av samme hytte, i dager. Relasjonene sjekkes i fast rekkefølge.def relasjon(sa, ea, sb, eb): if ea < sb: return "Before(A, B)" if eb < sa: return "Before(B, A)" if ea == sb: return "Meet(A, B)" if eb == sa: return "Meet(B, A)" if (sa, ea) == (sb, eb): return "Equals(A, B)" if sa == sb: return "Starts(A, B)" if ea < eb else "Starts(B, A)" if ea == eb: return "Finishes(A, B)" if sa > sb else "Finishes(B, A)" if sb < sa and ea < eb: return "During(A, B)" if sa < sb and eb < ea: return "During(B, A)" return "Overlap(A, B)" if sa < sb else "Overlap(B, A)" def vis(s, e): return f"[{s}, {e}]" if s < e else "ugyldig (start etter eller lik slutt)" print(f"Intervall A: {vis(start_a, slutt_a)}")print(f"Intervall B: {vis(start_b, slutt_b)}")if start_a < slutt_a and start_b < slutt_b: print(f"Relasjon: {relasjon(start_a, slutt_a, start_b, slutt_b)}")else: print("Relasjon: ingen (et intervall er ugyldig)")Prøv: sett start_b til 6 og se at linja Relasjon: går fra til , og til når den er 7.
Arv med unntak i et semantisk nett
unntak = 0 # @param 0..1 # Semantisk nett som strengt hierarki: hver kategori har én DelmengdeAv-kant opp.delmengde_av = {"Treblås": "Blåseinstrumenter", "Blåseinstrumenter": "Instrumenter", "Instrumenter": None}egenskaper = {"Instrumenter": {"lager lyd": "ja"}, "Blåseinstrumenter": {"lyd fra": "luftsøyle"}, "Treblås": {"materiale": "tre"}}medlem_av = {"S1": "Treblås"} # S1 er en saksofonegne = {"S1": {"materiale": "messing"} if unntak == 1 else {}} def slaa_opp(objekt, egenskap): if egenskap in egne[objekt]: # en egen verdi overstyrer arven return egne[objekt][egenskap], f"ingen ({objekt} har egen verdi)" k = medlem_av[objekt] while k is not None: # følg MedlemAv, så DelmengdeAv oppover if egenskap in egenskaper[k]: return egenskaper[k][egenskap], k k = delmengde_av[k] return "ukjent", "ingen kategori" verdi, kilde = slaa_opp("S1", "materiale")print(f"Egenskap for S1: materiale = {verdi}")print(f"Arvet fra: {kilde}")lyd, fra = slaa_opp("S1", "lyd fra")print(f"Lyd fra for S1: {lyd} (arvet fra {fra})")kjede, k = [], medlem_av["S1"]while k is not None: kjede.append(k) k = delmengde_av[k]print(f"Kategorier S1 er medlem av: {len(kjede)} ({', '.join(kjede)})")Prøv: sett unntak til 1 og se at linja Egenskap for S1: blir messing og Arvet fra: sier at S1 har egen verdi, mens Lyd fra for S1: fortsatt arves.
Læringsmål
Hva du skal kunne etter å ha lest kapittelet.
- 01Forklar hva en ontologi og en øvre ontologi er, og hvorfor domene-ontologier bygger på en felles topp
- 02Formaliser en taksonomi i førsteordens logikk med , , Disjoint og Partition
- 03Avgjør om en inndeling av en kategori er disjunkt, uttømmende eller en partisjon
- 04Bruk del-av-relasjonen og mål med enheter til å beskrive sammensatte objekter
- 05Gjenkjenn Allen-relasjonen mellom to tidsintervaller, og forklar hva en fluent er i hendelseskalkylen
- 06Forklar arv i semantiske nett, også konflikter når en kategori har flere foreldre, og hva subsumpsjon og klassifisering er