Doktoriseminar: tanel

Allikas: Lambda
Redaktsioon seisuga 16. oktoober 2008, kell 16:09 kasutajalt Tammet (arutelu | kaastöö)
Mine navigeerimisribale Mine otsikasti

NB! 23 okt jääb doktseminar ära konverentsi tõttu.


Tagging, folksonoomiad, loogika ja reeglipõhine kasutamine

Linke läbitöötamiseks

NB! Otsi samadel teemadel ise asju juurde (mh google scholar), vali häid ideid ja mõtle juurde!

http://scot-project.org, konkreetsemalt http://scot-project.org/scot/index.html (Kalle)

http://www.w3.org/TR/skos-primer/ (Andres)

http://www.semanticdesktop.org/ontologies/2007/08/15/nao/ (Enar)

http://scot-project.org/pubs/Kim_TagOnt.pdf ja (viidatud http://scot-project.org lehelt) (Andri)

http://adammathes.com/academic/computer-mediated-communication/folksonomies.pdf (Madis)




Märkmeid: ideid, viiteid ettevalmistamiseks 30 oktoobriks.

meeldetuletus

Reeglikeel: klassikalise loogika alus: selge semantika.


RDF, OWL, "erireeglikeeled", SQL (osaliselt) loogikas esitatavad.


subject,predicate,object

       type   


UrI:Jaan, age, 18  : age(URI:Jaan,18). tegelikult holds(URI:Jaan,age,18)

  age(X,Y), >(Y,70) => reallyold(X).


Uri:Jaan, rdf:type, person: person(URi:Jaan). tegelikult holds(URI:Jaan,type,person)



age, valuetype, numeric: valuetype(age,numeric).

  eesmärk: age(X,Y) => numeric(Y).
  valuetype(P,Z) => (P(X,Y) => Z(Y)).


  holds(P,valuetype,Z) => (holds(X,P,Y) => holds(Y,type,Z))


SQL:


Person table, fields id,name,age,sex


Job table, fields, id personid (ref person id), jobname, salary


select person.name, job.jobname from person,job where
person.id=job.personid and salary>1000


Person(I,N,A,S) & Job(I,I,J,S) & >(S,1000) => answer(N,J).


Person(I,N,A,S) & Job(I,P,J,S) & >(S,1000) & =(I,P) => answer(N,J).



Stsenaariumid

1. Databaaside mergimine. Employee(timestamp,..,age,..) panna teise kokku koos

 Client(,,personcode,...).  
  Esimesest by(timestamp,age) = ...


   Person(,,birthyear,....). 


   Employee,age:  vanus
   Client: personcode: vanus


   Person:vanus: birthyear


2. Restoranide soovitamine.


    Restoranide webpage: nimed, aadressid (,....)
    Blogid, soovitussaidid vms: nimi, inimeste tagid 
      (national:2,hiina:5,tore:10,jama:2,...)


    holds(uri:wuli,address,"narva mnt 27")
    holds(uri:wuli,type,national)


     - usaldusvaarsuse number vaite kohta
       [uri:12] holds(uri:wuli,type,hiina) 5?     
       holds([uri:12],usaldusvaarsus,0.2)


     - usaldusvaarsuse number vaite sees  
       holdswn(uri:wuli,type,hiina,0.2)


    holds(uri:wuli,type,tore) 10?
    holds(uri:wuli,type,jama) 2?



3. Proge, mis annab automaatselt teada huvitavatest juhtumistest.


 Lähisugulane sõidab huvitavasse riiki ja teeb pilte, tahaks näha.
     venna blogi, kuhu paneb pilte (UUED reisid ainult)


 pildiga seotud otse (pildifailist): kuupäev
 blogisissekande: brasiilia, reis


 oma brauseris lingi bookmarki, brauseris tag vend


 veebipage sõnastikuga:  vend: lähisugulane,nimisõna,meessoost,


 holds(X,vend,Y) => holds(X,lahisugulane,Y).
 holds(X,vend,Y) => holds(Y,type,meessoost)
 holds(vend,type,nimisona).




info, mis sorti või headuses restoran: inimeste tagidest


fotod: pildi tagid (aeg)



Usaldusvaarsus ja selle kasutamine

- Yks sait ja seal loeme kokku tage


- Brauseri bookmargid (isiklikud)


Isiklikest saab teha koondsaidi ja seal statistikat


Voiks tekkida mehhanism inimeste endi usaldusvaarsuse hindamiseks:

 kokkukoondamisel kasutame inimese oma usaldusvaarsuse koefitsienti


Inimeste usaldusvaarsus ei ole globaalne:

 - igayks saaks ise oelda teiste inimeste isiklikku usaldusvaarsust


Kompromissvariant:


- tagi numbri statistikal ei ole inimeste isiklikku usaldusvaarsust
- oma brauseri bookmargi tagid, need on minu jaoks eriti usaldusvaarsed


usaldusvaarsuse numbri kasutamisest

- iga fakti kohta saaks hoida numbrit: usaldusvaarsust

 (modaalsed loogikad, toenaosusloogika, fuzzy loogika, ....)


- kindlad reeglid & faktid: usaldusvaarsus alati 1


kasutada?


fakt A, uv 0.5 P(0.5,..,...,) selle asemel P(,...,..):0.5

fakt B, uv 0.9 P(0.9,...,...) selle asemel P(,...,..):0.9


reegel A & B =>[0.9] C,


jareldame C, uv: 0.4


yldine tahelepanek: sygava jarelduse korral (palju samme) uv kogu aeg vaheneb.


uv: 0.001


eesmark: produtseerida jareldusi, sorteerida uv jargi, kuvada

kohe filter: alla 0.6 ei taha yldse.


Probleem: usaldusvaarsus muutub!!!!


Tana: holds(uri:wuli,type,good):0.7

Homme: holds(uri:wuli,type,good):0.6


yle 0.7: super

alla 0.7: -super


vanade enam mitte kehtivate asjade retractimine voimalik, aga kole toomahukas


vaja oleks hoida usaldusvaarsuse juures tema aega!


Tana: holds(uri:wuli,type,good):0.7,15-10-2007,inimeste modifikaatorid?

Homme: holds(uri:wuli,type,good):0.6,20-7-2008


tore automaatne efekt: vanad infod muutuvad ebaoluliseks



tagi info nö standardne loogikapõhine esitamine

näiteks:

 pildiga seotud otse (pildifailist): kuupäev
 blogisissekande: brasiilia, reis


URI:bs [brasiilia,reis]


holds(URI:bs,connected,brasiilia).

holds(URI:bs,connected,reis).


Kuidas connected predikaati kasutada?


Voibolla vaja moelda, kuidas connected eri kohtadest tapsemaks muut?


holds(X,connected,Y) & holds(Y,type,kohanimi) => holds(X,location,Y) [0.95]


holds(URI:bs,connected_mybrowser,brasiilia).

holds(URI:bs,connected_blogsitex,reis).

...


Source???


holds(URI:bs,connected,brasiilia):uv,timestamp,source,....

holds(URI:bs,connected,reis):....