Post on 06-Feb-2018
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Dezvoltarea aplicațiilor Web
💡modelarea datelor & cunoștințelor
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
“If you haven’t got a word for a concept, you can’t think about it; if you don’t think about it,
you won’t invent a word for it.”
Sapir-Whorf Hypothesis
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
DIKW (Data, Information, Knowledge, Wisdom)adaptare după S. Carpenter, 2008 și J. Liebowitz, 2012
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Datele trebuie accesate independent de:
locație – fișier, sistem de management al bazelor de datemaniera de reprezentare
formatul de serializareprotocol de transmisie
sistemul de operareaplicațiile ce „consumă” acele date
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
La ce mijloace intelectuale putem recurgepentru a explica lumea în care trăim?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
exemplu:
<section>
<p><a href="cv.html">CV-ul meu</a></p>
</section>
Eu, autorulacestui marcaj!
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
întrebări
…privitoare la structură:
<a> este parte obligatorie din <p>? Ori altceva?
cv.html este (identifică) o resursă?un obiect?
o clasă de obiecte?un atribut?o relație?
orice altceva?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
întrebări
…referitoare la vocabular/meta-date:
<a> e similar cu <a> din HTML?autorul marcajului este cel care l-a și publicat?
dacă da, când?sub ce termeni privind drepturile de autor?
ce proprietăți specifice pot fi definite?
formalizat, eventual
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
necesități
Existența unor instrumente intelectualefacilitând înțelegerea lumii (cunoașterea umană)
via descrieri abstracte
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
necesități
Existența unor instrumente intelectualefacilitând înțelegerea lumii (cunoașterea umană)
via descrieri abstracte
modele
Allemang & Hendler (2011) și Daum & Merten (2003)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Modelele utilizate facilitează comunicareaîntre (grupuri de) persoane
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Modelele utilizate facilitează comunicareaîntre (grupuri de) persoane
un model poate descrie un context specific într-o manieră ce poate fi înțeleasă de anumite persoane
jargon – e.g., un vocabular de termeni specifici
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Modelele utilizate facilitează comunicareaîntre (grupuri de) persoane
colaborare mediată de înțelegerea similarăa unui fenomenpartajarea cunoașterii umane
unul dintre scopurileprimare ale Web-ului
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
factualfapte set of examples set of traces set of statements
conceptualconcepte taxonomies & typologies component systems hybrid conceptual systems
proceduralacțiuni series procedures parallel procedures interactive procedures
prescriptiverestricții definitions, norms & constraints laws & theories decision trees control rules
processes & methodspractici processes methods collaborative systems
o clasificare a modelelor de cunoștințe
(knowledge models)
adaptare după G. Paquette, 2010
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Modelele explică un anumit conceptși pot realiza predicții
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Modelele explică un anumit conceptși pot realiza predicții
punând în relație un fenomen cu altele (similare)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Modelele explică un anumit conceptși pot realiza predicții
punând în relație un fenomen cu altele (similare)
premisa realizării de interpretări specifice
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Modelele mediază puncte de vedere diferite
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Modelele mediază puncte de vedere diferite
un model poate oferi mijloacele necesare explorăriidiferențelor dintre conceptualizările unor fapte
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Modelele mediază puncte de vedere diferite
un model poate oferi mijloacele necesare explorăriidiferențelor dintre conceptualizările unor fapte
facilitează înțelegerea unui anumit web
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Modelele pot reprezenta generalizări convenabileale universului pe care-l modelează
abstractizări
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Modelele pot reprezenta generalizări convenabileale universului pe care-l modelează
exemple:modelul utilizatorului în interacțiunea om-calculator
modelul relațional al bazelor de datemodelul de comunicare în rețele de calculatoaremodelul computațional al unui sistem software
…
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
modelele facilitează structurarea unor „lucruri” de interes dintr-un domeniu (web) complex
ce intervine în dezvoltarea unei aplicații
com
ple
xita
te (
pri
vin
d s
tru
ctu
ra)
gradul de generalitate a modelării cunoștințelor domeniului
ontologie
lexicon
taxonomie(clasificare)
vocabular(nomenclatură)
folksonomie
du
pă
(Kat
rin
Wel
ler,
20
10
)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
cod
up
ă (K
atri
nW
elle
r, 2
01
0)
sisteme tradiționale de organizare
a cunoștințelor
Web social
Web semantic
modelele facilitează structurarea unor „lucruri” de interes dintr-un domeniu (web) complex
ce intervine în dezvoltarea unei aplicații
com
ple
xita
te (
pri
vin
d s
tru
ctu
ra)
gradul de generalitate a modelării cunoștințelor domeniului
ontologie
lexicon
taxonomie(clasificare)
vocabular(nomenclatură)
folksonomie
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Semantica = atașarea un formalism– ce explică „semnificația” unui concept –
la o construcție sintactică
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Semantica = atașarea un formalism– ce explică „semnificația” unui concept –
la o construcție sintactică
exemplu: semantica limbajelor de programaree.g., specificată via axiome logice ori algebre
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Semantica = atașarea un formalism– ce explică „semnificația” unui concept –
la o construcție sintactică
în cazul limbajului natural, se referă la modalitatea de a înțelege o apariție a unei construcții (litere și/sau sunete)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Oamenii/mașinile trebuie să utilizezeîn același mod cunoștințele
partajarea aceleași conceptualizări a informațieiîn cadrul unei comunități ori a unui web
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Necesitatea exprimarii (in)formalea semanticii – meaning
relația (relation) dintre concepte„pătrat” în relație cu „dreptunghi”
constrângerea/restricția (constraint)„dreptunghi” constrâns la „pătrat”
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Necesitatea existențeiunui vocabular comun (familiar)
elementele sintactice – cuvintele, marcatorii etc. –au același înțeles atât pentru transmițător,
cât și pentru destinatar
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Necesitatea existențeiunui set comun de constrângeri
exprimate formal, de dorit
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Necesitatea existențeiunui cadru conceptual prevalent
ce poate specifica relații între (clase de) informații
înțelegerea nu va fi influențată de cunoștințele inițiale nespecificate
(unspecified background knowledge)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Implicitul nu poate fi citit/procesat
de către software
„moartea proces biologic”(posibilă interpretare realizată de un algoritm, folosind cunoștințele expuse de o enciclopedie)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Informațiile de background – deseori, implicit cunoscute de scriitorul/cititorul uman –
nu sunt accesibile pentru mașină(Brewster, 2003)
exemple: articolele științifice, beletristica
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: entitate
Modelele comunicative umane se bazează pe limba
(maternă) și implică percepția relațiilor dintre entități
constatări (observations)
persoane, locuri, documente, calendare, resurse multimedia,…
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: entitate
Entitate = „lucru” identificabil în mod distinct
pe baza unei semnificații (denotation)
și a unui conținut (connotation)
Kingsley Idehen, 2014
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: entitate
Identificarea unei entități se realizează
via un identificator – eventual, specificat de un standard
exemplificări uzuale: cod de bare, QR, UUID, URI
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: entitate
Descrierea unei entități e mijlocită de relații
(entity relationships) reprezentate într-o formă
reutilizabilă prin intermediul conținutului unui document
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: entitate
Descrierea unei entități e mijlocită de relații
(entity relationships) reprezentate într-o formă
reutilizabilă prin intermediul conținutului unui document
reprezentările relațiilor dintre entități
se bazează pe notații asociate unui limbaj specific
exemple: diagrame ER (Entity-Relation), tabele,
microdate HTML5, triple RDF
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: entitate
Specificarea descrierii unei entități date se realizează
prin intermediul unor propoziții (sentences)
și a unor afirmații (statements)
acestea sunt stocate – fizic și/sau electronic
(fișiere, pagini Web,…) – și transmise via formate de date
(textuale și/sau binare), de dorit deschise
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Observație:
lăsând oamenii să interpreteze semnificația unui model,
putem asista la proliferarea confuziei – vezi legislația
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Modelele comune folosite de oameni
au – în general – un caracter informal
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Modelele comune folosite de oameni
au – în general – un caracter informal
semnificația termenilor utilizați nu poate fi unic definită
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Modelele comune folosite de oameni
au – în general – un caracter informal
semnificația termenilor utilizați nu poate fi unic definită
exemplu: „explicarea” unor resurse recurgând exclusiv
la termeni de conținut (tag-uri) stabiliți de utilizator
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
diverse conotații pentru a desemna (categorii de) fotografii oferite de Flickr
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Cum pot fi adnotate manual resursele Web?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
puncte de vedere
adnotarea automată a resurselor Web via modele formale
(abordare academică – full semantics)
versus
abordări pragmatice pe baza tehnologiile Web actuale
(punct de vedere al industriei – simple/vertical semantics)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Tag-urile definite de utilizator reprezintăclasificări ad-hoc realizate de oameni,
partajate în cadrul unei comunități
context: social bookmarking
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging – definiții
Bookmark
referință creată manual
ce vizează o resursă de interes
e.g., imagine, documentație, însemnare, multimedia,…
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging – definiții
Tag
(meta)dată simplă – termen arbitrar ales –
asociată extern unui obiect (unei resurse)
cu scopul de a identifica, sorta, agrega, regăsi etc.
acea resursă
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging – definiții
Aplicație de bookmarking
aplicație Web facilitând descoperirea de
conținuturi și persoane – resurse – de interes
pe baza tag-urilor partajate + bookmark-urilor existente
S. Braun, Social Semantic Bookmarking (2008)www.slideshare.net/vzach/social-semantic-bookmarking-pakm-presentation
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Folksonomy = folk + taxonomy
“…is the result of personal free tagging of pagesand objects for one’s own retrieval”
Thomas Vander Wal, 2007
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Uzual, tagging-ul are loc într-un mediu social
legat de procesele cognitive
relevă echivalentul digital al „cărărilor dezirabile” – desire lines (Merholz, 2004)
landscaping concept used on campus for creating walk ways through the grass
www.cs.colorado.edu/~kena/classes/7818/f06/lectures/folksonomy.pdf
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Obiectde
interes
Asocierimentalemultiple
(concepte)
tt
tt
tagging
tagging-ul reprezintă o modalitate particulară de adnotarea resurselor electronice – digital content annotation
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model mental
reprezentare(în limba maternă)
reprezentaresimbolică (grafică)
reprezentare(în altă limbă)
reprezentare reprezentare
reprezentare
interpretare
interpretare
interpretare
“Apple”
pomme [FR]mela [IT]リンゴ [JP]măr [RO]
adaptare după Gilbert Paquette (2010)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Tipuri de tag-uri (conform Sinha):
descriptioncategorization
opinionaction
relationinsider reference
spam
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Tagging-ul are un caracter subiectiv
bazat pe limitele tag-urilor lingvistice(i.e. vocabularul manipulat de un individ)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Feedback-ul propriu + feedback-ul social
Rashmi Sinha, 2006
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
tag-urile personale sunt mai memorabiledecât cele (strict) semantice – i.e. predefinite
https://github.com/topics
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Fiecare persoana este expertăîn propriul vocabular (set de termeni de conținut)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
RT @ontoligent Folksonomy is meta-data.
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Tagging-ul poate depinde și de context(comunitatea de utilizatori)
design ≡ “visual design”versus
design ≡ “software design”
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Problema lipsei preciziei – după (Happel et al., 2008)
jargon
plural – “inițiativă” versus “inițiative” [RO]
abrevieri – “SAX” versus “saxofon”
cuvinte compuse – “opensource” versus “open-source”
erori de redactare – “elephant” versus “elefant” [EN]
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Problema lipsei preciziei – după (Happel et al., 2008)
polisemie
semnificații multiple ale aceluiași tag
exemplificare:
“pasta” – as dish, “pasta” – as ingredient
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Problema lipsei preciziei – după (Happel et al., 2008)
omonimie
tag-uri care au înțelesuri multiple neînrudite
exemple: “book” [EN], „toc” [RO]
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Problema lipsei preciziei – după (Happel et al., 2008)
multilingvism
tag-uri cu semnificații diferite, în funcție de limbă
exemple:
„paste” – substantiv [RO] vs. “paste” – verb [EN]
“the” – articol hotărât [EN], “the” (« thé ») – substantiv [FR]
„bulgari” vs. „bulgari” („bulgări”) vs. „Bulgari” [RO]
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Problema lipsei preciziei – după (Happel et al., 2008)
sinonimie
același concept este referit prin termeni diferiți
exemplu: „design” versus „proiectare”
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Problema lipsei preciziei – după (Happel et al., 2008)
nepotriviri la nivel abstract
lipsa relațiilor (semantice) dintre tag-urila diverse niveluri de abstractizare
datorată intențiilor sau expertizei utilizatorilor
exemplificări: „băutură” vs. „vin” vs. „Merlot” vs. „Merlot de Murfatlar”
„scriere” vs. „literatură” vs. „beletristică” vs. „nuvelă”
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Setul de tag-uri asociate resurselor Web de interesare caracter dinamic
modelul de clasificare bazat pe tagging nu este rigid(uzual, poate evolua)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Sistemele bazate pe tagging oferă suport pentruorganizarea informală a unui volum semnificativ
de informații eterogene existente pe Web
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Sistemele bazate pe tagging oferă suport pentruorganizarea informală a unui volum semnificativ
de informații eterogene existente pe Web
organizarea este informală,deoarece interpretarea tag-urilor necesită
aportul utilizatorilor într-un context dat
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Problema asigurării interoperabilității
“interoperability with tagging systems”
(Peter Mika, 2006)
consistență
identificare viabilă
partajarea încrederii
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
musicbrainz.org/search?query=classical&type=tag&method=indexed
versus medium.com/tag/classical versus websta.me/tag/classical
???
???
???
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Problema privind tag spam-ul
rezolvări actuale:
manuale (bazate pe factorul uman), algoritmice, mixte
detalii în articolul N. Spirin, J. Han, “Survey on Web Spam Detection: Principles and Algorithms”, SIGKDD Explorations 13 (2), 2011
http://kdd.org/exploration_files/V13-02-08-Spirin.pdf
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Problema privind tag spam-ul
detection-based methods
prevention-based methods
demotion-based methods
de studiat și P. Heymann, G. Koutrika, H. Garcia-Molina,“Fighting Spam on Social Websites: A Survey of Approaches
and Future Challenges”, IEEE Internet Computing, 11 (6), 2007http://ilpubs.stanford.edu:8090/818/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Interacțiuni într-un sistem de social tagging:salvare + asociere de tag-uri (tagging)
re-detectare (refinding)
clicking, pivoting, exploring
căutare – a propriilor tag-uri ori a altora(în cadrul grupului de interes sau în general)
descoperire – eventual, întâmplătoare
interacțiune în cadrul grupului social
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Determinarea importanței
cine determină „tăria” semnificației tag-urilor:aplicația, proprietarul sitului sau utilizatorul?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Determinarea importanței
extragerea celor mai „semnificative” tag-uri (entități) prin tehnici de prelucrare a limbajului natural
diverse soluții – uzual, doar pentru limba engleză:AlchemyAPI, Bitext API, BracketPy, MeaningCloud,
OpenAmplify, OpenCalais, Semantria API
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
model conceptual(specificat de un web)
via linked data
extragere de entități via AlchemyLanguageoferit de IBM Watson
www.ibm.com/watson/developer/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Determinarea „zgomotului”
detecția și eliminarea tag-urilor inutile:dezambiguizare, facilități de căutare, spelling etc.
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Instagram: tag-uri populare22 octombrie 2017
conform http://websta.me/
#love #instagood #photooftheday
#fashion #beautiful #happy #tbt #cute
#like4like #followme #picoftheday
#follow #me #selfie #summer
???
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
semantici stabilite
de utilizatori
?
a se vizita tagdef.com și hashtags.org
tagging în contextul microblog-urilorhashtag analytics
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Problema vizualizării tag-urilor
adoptarea diverselor tehnici de vizualizare
e.g., tag clouds, clustering, semantic zoom
O. Kaser, D. Lemire, “Tag-Cloud Drawing: Algorithms for Cloud Visualization”, WWW2007 Workshop on Tagging and Metadata
for Social Information Organization, 2007 – http://slidesha.re/cpkPLi
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Problema vizualizării tag-urilor
instrumente utile:
ngtagcloud – www.npmjs.com/package/ngtagcloud
TagCrowd – tagcrowd.com
WordCloud – github.com/jasondavies/d3-cloud
WordCloud2 – timdream.org/wordcloud2.js/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Problema monitorizării dinamicii șianalizei evoluției tag-urilor
detalii în J. Lehmann et al., “Dynamical Classes of Collective Attention in Twitter”, WWW2012 Conference, ACM Press, 2012
www2012.wwwconference.org/proceedings/proceedings/p251.pdf
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Problema clasificării resurselor (Sinha, 2006)
clasificările populare (folksonomies) sunt plate, spre deosebire de taxonomii – ierarhii de concepte
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Sistemele de tagging reprezintă oamenii care participă în cadrul acestora
puncte de vedere și perspective posibil limitate
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Pot apărea conflicte:
tag-urile folosite de experți diferă de cele ale novicilor
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Pot apărea conflicte:
grupurile de interes sunt mai focalizateîn ceea ce privește clasificarea mai bună a resurselor
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Pot apărea conflicte:
dificultăți în detectarea unui punct de vedere minoritar
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging – exemple de utilizare
social bookmarking: Evernote, Pocket
(micro-)blogging: Medium, Tumblr, Twitter, WordPress
multimedia: 500px, Flickr, Last.fm, Scribd, Vimeo
știri: Digg, Feedly, Reddit
e-business: Amazon, Lulu
știință: CiteULike, Connotea, myExperiment
sisteme de operare (fișiere): macOS, Windows
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Remarci:
“In essence tag systems mirror the PageRank structure of Google’s system, but make the internal structures
browsable and viewable directly.”Lee Iverson
FolkRank (A. Hotho et al., 2006)www.kde.cs.uni-kassel.de/stumme/papers/2006/hotho2006folkrank.pdf
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Necesitatea existenței adnotărilor semantice(semantic annotation) a resurselor Web
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: tagging
Necesitatea existenței adnotărilor semantice(semantic annotation) a resurselor Web
utilizarea unui termen descrispe baza unui model de specificare a cunoștințelor
e.g., relația sa cu alți termeni, indiferent de limba utilizată
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
studiu de caz: determinarea și prezicerea stării de spirit via tag-uri
asociate resurselor muzicale (aici: Last.fm)
P. Saari, T. Eerola, “Semantic Computing of Moods Based on Tags
in Social Media of Music”, IEEE Transactions on Knowledge and Data,
2014 – arxiv.org/pdf/1308.1817.pdf
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
Putem recurge la modele formale?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: formalizare
Explicarea și prezicerea unui fenomen necesitămodele având un grad mai mare de formalism
decât comunicarea umană
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: formalizare
Explicarea și prezicerea unui fenomen necesitămodele având un grad mai mare de formalism
decât comunicarea umană
explicarea unui fenomen îl pune în legăturăcu anumite „principii de bază” (first principles)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: formalizare
Explicarea și prezicerea unui fenomen necesitămodele având un grad mai mare de formalism
decât comunicarea umană
aceste principii (axiome, reguli) nu depind de o anumităinterpretare particulară umanăobiectivitate
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: formalizare
Formalismele – uzual, exprimate matematic –oferă suport pentru realizarea predicțiilor
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: formalizare
Formalismele – uzual, exprimate matematic –oferă suport pentru realizarea predicțiilor
utile în diverse contexteprecum e-business-ul
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: formalizare
Formalismele – uzual, exprimate matematic –oferă suport pentru realizarea predicțiilor
exemplu (în cazul unui joc electronic): explicarea – și prezicerea – traiectoriei unui obiect
via un model formal implicând concepteca forță, gravitație, viteză, masă descrise matematic
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: formalizare
Formalismul ne ajută să evaluăm
când un anumit model e aplicabil
formalismul (matematic) permite ca evaluarea
să fie independentă de factorii umani
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: formalizare
Formalismul ne ajută să evaluăm
când un anumit model e aplicabil
putem explica anumite aspecte ale Web-ului,
recurgând la diferite modele formale
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: exemple
Modelul diagramelor entitate-relațieEntity-Relation Model – E/R (Chen, 1976)
Semantic Object Modeling – SOM (Kroenke, 1995)Unified Modeling Language – UML (OMG, 1997)
Higher Order Entity Relationship Model (Thalheim, 2000)Asset-Oriented Model – AOM (Daum & Merten, 2003)
utilizare tipică: specificarea schemelor de baze de date
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: exemplePosibile modele de date facilitate de un cadru conceptual:
Data (What) Activities (How)
Objectives/Scope(Planner’s View)
List of thingsimportant to the enterprise
List of functions the enterpriseperforms
Enterprise Model(Leadership’s View)
Language,divergentdata model
Business processmodel
Model of FundamentalConcepts (Architect’s View)
ConvergentE/R model
Essential data flow diagram
Technology Model(Data Designer’s View)
Databasedesign
System design,program structure
Detailed Representation(Builder’s View)
Physical storagedesign
Detailed programdesign
David C. Hay, Data Model Patterns, Morgan Kaufmann, 2006
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la date: yql
Yahoo! Query Language
abstractizează accesul la surse de date eterogenece pot fi obținute via servicii Web
developer.yahoo.com/yql/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la date: yql
Permite – pe baza unui limbaj similar SQL –interogarea, filtrarea, combinarea datelor la nivel de Web
(suport pentru realizarea de mash-up-uri)
facilitează atașarea la aplicația Web dezvoltatăa surselor de date de interes:
fluxuri de știri, informații cartografice, resurse multimedia etc.
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la date: yql
Adoptă o sintaxă SQLshow, desc, select, use, insert, update, delete
surse de date publice Yahoo! (built-in tables) sau oferite de terți (community tables) – e.g., Amazon,
Apple, arXiv, Deviant Art, Europarliament, GitHub, Last.fm, PayPal, Spotify, Steam, Tumblr, Yelp,…
răspunsul la o interogare ≡ rânduri (rows) de date
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
creații muzicaleoferite de iTunes
select * from apple.itunes
where term='Eclipse' and
media='music';
URL-ul corespunzător cererii
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la date: graphql
Graph Query Language
“a query language for APIs and a runtime for fulfilling those queries with your existing data”
graphql.org
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la date: graphql
Graph Query Language
declarativ
inspirat de JSON
strict (strong-typed)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la date: graphql
Graph Query Language
sunt permise interogări (queries) – operații de citire –și actualizări (mutations) – operații de alterare a datelor
se oferă suport pentru a anticipa ce date vor fi întoarse + structura acestora
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la date: graphql
Graph Query Language
răspunsul oferit include doar datele ce au fost solicitateîmbunătățirea performanței la nivel de client
rezolvarea problemelor vizând over/under fetching(preluare a mai multor sau prea puține date)
philsturgeon.uk/api/2017/01/24/graphql-vs-rest-overview/
nordicapis.com/is-graphql-the-end-of-rest-style-apis/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la date: graphql
GraphQL ca alternativă la dezvoltarea de servicii via paradigma REST
GraphQL REST
entitate resursă resursă
format JSONorice Media Type (MIME)frecvent: JSON
protocolHTTP – uzual, adoptă convențiiproprii
independent de protocol(uzual, HTTP)
cine decide ce date vor fi întoarse
clientul serverul
puncte terminale (endpoints)
un singur punct terminal pentru a oferi date conexe, dacă au fost specificate relații între ele
puncte terminale multiple (independente)
tipuri de date strong (tipuri declarate explicit)weak (verificarea tipurilor de date nu e obligatorie)
relație client-server fat client—fat server thin client—fat server
documentare autodescriptiv (self-describing)necesită terțe soluții (e.g., OpenAPI Specification)
viziunelimbaj de interogare, specificație, colecție de instrumente
stil arhitectural
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la date: graphql
Aspecte de considerat de către implementatori:
probleme de securitate – e.g., autentificare, autorizare, refuz al serviciilor
suportul pentru caching trebuie oferit explicit
managementul versiunilor
blog.pusher.com/rest-versus-graphql/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la date: graphql
Instrumente pentru dezvoltatori:
implementare de referință pentru server (Node.js)GraphQL.js – graphql.org/graphql-js/
biblioteci disponibile pentru C, Go, Java, .NET, PHP, Python, Ruby, Swift, Typescript,… – graphql.org/code/
resurse de interes: github.com/chentsulin/awesome-graphql
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la date: graphql
Instrumente pentru dezvoltatori:
de experimentat și Apollo – www.apollodata.com
suport la nivel de client (e.g., React, Vue) + server
pentru aplicații bazate pe React, a se folosi Relay (Modern) – facebook.github.io/relay/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la date: graphql
interogare interactivă cu GraphQL a API-ului vizând „Războiul Stelelor” – graphql.org/swapi-graphql/
schemarezultateinterogare
variabilă(parametru)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la date: graphql
exemple de interogări via GraphQL ale unor API-uri publice (e.g., Giphy, Hacker News, Reddit): www.graphqlhub.com
în acest caz, Twitter
# primele 33 de mesaje (+meta-date vizând utilizatorii care le-au expus){twitter {
search(q: "Web application development", count: 33, result_type: mixed) {
user {screen_namenamefollowers_count
}textcreated_at
}}
}
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la date: graphql
testarea interactivă a API-ul GitHubimplementat via GraphQL
developer.github.com/v4/
conceptul Repository
(depozit de cod-sursă)și proprietățile aferente
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model de acces la dateServicii Web
model de calcul
Ofertantde servicii de
telefonie mobilă
mash-up-uri la nivelde dispozitiv mobil
model de implementaremodel de interacțiune
model de acces la date – scenariu
adaptare după Tom Croucher
model de comunicare
model al fluxului
de date
⚙⚙
⚙⚙
GraphQLYQL
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: puncte de vedere
Web-ul având un caracter multidisciplinar,modelele utilizate pot fi diferite
reprezentarea unei varietăți de opinii(posibil, contradictorii)
care nu pot fi reconciliate la nivel global
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Necesitate:
o infrastructură oferind suport atât pentru
AAA (Anyone can say Anything about Any topic),
cât și pentru a media puncte de vedere diferite
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model
Necesitate:
o infrastructură oferind suport atât pentru
AAA (Anyone can say Anything about Any topic),
cât și pentru a media puncte de vedere diferite
partajarea + concilierea modelelor (in)formale utilizate
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: expresivitate
Fiecare model oferă un anumit nivel de expresivitate
exemplu: expresivități diferite ale modelelorde specificare a unei molecule de apă
H2O H—O—HH H
O
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: expresivitate
Modele cu niveluri de expresivitate și sintaxe diferite
rețea semantică (semantic network)
asociere de subiecte (topic map)
diagramă UML – Unified Modeling Language
graf conceptual (conceptual graph/structure)
graf RDF – Resource Description Framework
logica de ordin I (FOL – first-order logic)
adaptare după Sean Bechhofer
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: expresivitate
semantic network
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: expresivitate
topic map
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: expresivitate
UML (class) diagram
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: expresivitate
conceptual graph
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: expresivitate
RDF graph
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: expresivitate
Every programmer likes the Web.(x) programmer (x) likes (x, Web)
You can fool some of the people all of the time.(x) (t) (person (x) time (t)) canFool (x, t)
Tux is not human.¬ human (Tux)
first-order logic
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
model: expresivitate
Limbajele de modelare conceptuală a resurselorîn contextul Web-ului semantic
au grade diferite de expresivitate
RDFRDFS (RDF Schema)SKOSOWL
detalii în cursurile viitoare
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
„noul” Web
În contextul Web-ului, scopul principal estemodelarea unei arii (domeniu) de cunoaștere
concepte primare – entități ori „lucruri” ale domeniului
relații între concepte
atribute/proprietăți (nume + valori) ale conceptelor
reguli de asociere privind concepte, relații, atribute
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
componente (servicii) tipice ale unei aplicații aliniate
problematicilor Web-ului semantic
Kingsley Idehen, Understanding Data (2014)
www.slideshare.net/kidehen/understanding-29894555
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
„noul” Web – componente de bază
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
„noul” Web
Faze privind evoluția:
1. infrastructura de bază (HTTP, RDF, OWL)
finalizată
www.w3.org/2013/data/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
„noul” Web
Faze privind evoluția:
2. formularea necesitățilorde promovare + implementare
identificarea grupurilor de lucru relevanteatragerea comunităților de interes
(științe ale vieții, GIS – Geographical Information Systems, ofertanți de bunuri digitale, guverne etc.)
+ intersecția Web-ului semantic cu alte tehnologii
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
viziunea stratificată privitoare la Semantic Web(Tim Berners-Lee)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
„noul” Web
Semantic Web (Web of Data)
actualele „cărămizi” ale Web-ului semantic oferă
modalități de modelare conceptuală a resurselor
pentru a permite efectuarea de raționamente automate
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
„noul” Web
Constituirea unei științe a Web-ului(Science of the Web) – Berners-Lee et al., 2006
Web science = combinație între științe analitice(e.g., biologia) și cele sintetice (computer science)
caracter inerent inter-disciplinar
www.webscience.org
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
„noul” Web
“Web science is about more than modeling the current Web. It is about engineering
new infrastructure protocols and understanding the society that uses them,
and it is about the creation of beneficial new systems.”
Tim Berners-Lee et al., Science, 313, august 2006
www.webscience.org/2016/08/26/creating-a-science-of-the-web-10th-anniversary/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
„concluzii”
“Creating an online digital ecosystem in which knowledge, logic and presentation can all evolve in a globe-spanning, self-organizing, peer to peer
system of Web servers which is also the software substrate for
an emergent global collective intelligence.”
Shawn Murphy
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
„concluzii”
It’s not the wires – it’s the computers
It’s not the computers – it’s the documents
It’s not the documents – it’s the things
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
„concluzii”
“The last level of abstraction isthe Web of real things,
built on top of the Web of documents, which is in turn built on the network of computers.”
Tim Berners-Lee
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
rezumat
💡modelarea cunoștințelor – de la tagging la Web science
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co
episodul viitor: modelul de date RDF
Firebug Firefoxextinde
Mozilla
produsDeproduce
Deschis
areStatut
areStatut
Hadoop
Organizație
este Apacheproduce
este
Sabinutilizează
Persoană
este
Lucene