Doktoriseminar: tanel: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Resümee puudub
 
Resümee puudub
1. rida: 1. rida:
Märkmeid: ideid, viiteid ettevalmistamiseks 30 oktoobriks.


NB! 23 okt jääb doktseminar ära konverentsi tõttu.
<b>NB! 23 okt jääb doktseminar ära konverentsi tõttu.</b>
 
 
== 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):....

Redaktsioon: 16. oktoober 2008, kell 16:09

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):....