[Strojové učenie 2011/2012]
Cvičenie 1
Nadviažme na motivačnú prednášku motivačným cvičením. Spomeňme
si na hru Zviera z prednášky. Pokúsme sa vytvoriť podobný systém,
ktorý bude ako reprezentáciu používať namiesto stromovej reprezentácie
sémantickú sieť.
Najskôr sa pozrime bližšie na to ako fungujú sémantické siete a rámce.
Preštudujte si materiál
Semantic Networks and Frames. V sémantickej sieti je znalosť vyjadrená
symbolmi, pričom symbolmi označujeme
- konkrétne inštancie - predmety, veci, osoby, atď. napr. PC_2131, Pezinok
- kategórie vecí - typy, čiže napr. computer, town
- vzťahy - popisujúce vzájomné súvislosti medzi inštanciami a kategóriami, napr. location, owner a pod. Vzťahy sú orientované, t.j. platia jedným smerom, napr. John [is] owner [of] PC_2131.
Dva vzťahy sú význačné a často používané:
- isa - kde A isa B býva interpretované tak, že
A patrí do množiny B, čiže ide o inštanciáciu typu. Napr. pink_elefant_777 is an elephant.
- ako - kde A ako B býva interpretované ako podmnožina (A [is] a kind of B). Napríklad, chair ako furniture, elephant ako animal.
Všimnime si, že ako (a niektoré iné vzťahy) sú tranzitívne: A ako B, B ako C => A ako C, iné nie sú (napr. owner). (Pre fajnšmekrov: isa je tranzitívny aj cez ako).
Prázdny systém nepozná žiadne pojmy ani vzťahy.
Úloha [5 prémiových bodov]
Naprogramujte v ľubovoľnom programovacom jazyku (odporúčame Lisp, Scheme, Logo, ale nie je podmienkou) systém, ktorý sa konverzáciou bude učiť sémantickú sieť (symboly sú v angličtine). Najskôr navrhnite reprezentáciu, spôsob učenia až potom začnite programovať.
Príklad - počítač háda, na čo používateľ myslí:
Does IT have an owner?
Is John an owner of IT?
Does IT have a skin?
...
What is its name?
What is its relation to another thing?
Is the relation "part" transitive?
Reprezentáciu môžete prediskutovať s cvičiacim.
Riešenie posielajte mailom (petrovic
fmph.uniba.sk) do 9.10.