[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 Dva vzťahy sú význačné a často používané:
  1. 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.
  2. 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 (petrovicfmph.uniba.sk) do 9.10.