3. Starting Point
• Tim Berners-Lee (CERN – Ginevra) mette in linea il
1991 primo sito web.
• Il CERN rende pubblica la tecnologia alla base del
1993 WWW.
1993 • Nascono i crawler
1994
1994 • Si sviluppa la tecnologia di ricerca full-text
2000
1997 • Larry Page e Sergey Brin introducono il PageRank
2000
4. Web 2.0
• Si affermano le tecnologie alla base del Web 2.0 (termine coniato
2000 nel 2004 da Tim O'Reilly e Dale Dougherty)
Gli utenti del web assumono un ruolo attivo (da semplici
fruitori ad editori/collaboratori).
La tecnologia rende disponibile strumenti semplici ed
usabili per l’editing dei contenuti.
- Wiki
- Blog
- Syndication (RSS, Atom)
- Folksonomia (Social Tagging)
- Bookmarking (del.icio.us)
- Social Networking (facebook, myspace)
- Mash-up
5. Social Search
2004 • I motori di ricerca integrano i concetti del Web 2.0
2005
I Social Search Engine determinano la rilevanza dei risultati
considerando l’interazione o il contributo degli utenti.
1
Indicizzazione di fonti Web 2.0 (wiki, video, delicious)
CONNETTORI
INDEX
6. Social Search
2004 • I motori di ricerca integrano i concetti del Web 2.0
2005
I Social Search Engine determinano la rilevanza dei risultati
considerando l’interazione o il contributo degli utenti.
2
Rilevazione di contributi utente
feedback di
gradimento Inserimento di
(promozione o commenti
pubblici
retrocessione
(indicizzati)
dei link)
http://www.baagz.com/
7. Social Search
2004 • I motori di ricerca integrano i concetti del Web 2.0
2005
I Social Search Engine determinano la rilevanza dei risultati
considerando l’interazione o il contributo degli utenti.
3
Social Ranking
Social Ranking (ranking stabilito
in base alla rete sociale cui
l’utente appartiene).
8. Potenzialità
Riduzione dell’effetto dei link spam.
Miglior qualità del ranking in funzione degli
input utente.
Giudizio espresso dall’uomo.
Rilevanza della pagina dal punto di vista dei
lettori e non degli autori.
Risultati aggiornati continuamente ed
influenzati dal contesto sociale contingente.
9. Rischi
Aumento dello spam:
- Necessario definire criteri di trust tra utenti.
Scarsa inclinazione a contribuire:
- Necessità di rilevare automaticamente il
gradimento delle pagine.
Completezza:
- I web-robot indicizzano l’intero web.
10. A.V.I.C.
E’ un progetto cofinanziato dalla U.E., P.O.R. Sardegna 2000-
2006.
Agente software di re-ranking;
Indipendente dal motore di ricerca e dalla rete sociale;
Implementa algoritmi di feedback impliciti ed espliciti;
Implementa algoritmi di trusting tra utenti;
Incorpora concetti semantici (FOAF).
Ottimo comportamento nelle reti sociali aziendali.
11. Rete Sociale
WWW ENTERPRISE PMI
Social Network Organigramma aziendale Assenza di struttura
tradizionale (Facebook, (LDAP, Active Directory). (registrata).
linkedin). Appartenenti alla stessa Rete determinata dai
Molte connessioni area hanno un link contatti della propria
richiedono vincoli diretto. rubrica.
computazionali.
13. Web 3.0
• Word Wide Database
(DataWeb - database
distribuito).
• Intelligenza artificiale a
supporto dell’utente.
• Semantic web.
• Web 3D (2° life).
14. Semantic Web
• Tim Berners-Lee pubblica “The Semantic Web”
2001 (Scientific American)
Semantico = elaborabile dalla macchina.
Propone un web con strutture e
collegamenti più espressivi.
Ipotizza un web con agenti intelligenti
che vi operano.
Oggi i risultati migliori si hanno
nell’ambito dell’information retrieval.
15. Ontologie
Metadati sono informazioni aggiuntive che
qulificano una risorsa/documento.
ONTOLOGIE
Trattati dall’elaboratore.
Necessitano di una TESAURI
interpretazione univoca e TASSONOMIE
condivisa.
VOCABOLARI
Esistono differenti modi per
fornirla (differente complessità).
16. Cosa serve
1. Definizione di una ontologia:
– Individuare i concetti chiave;
– Identificare le caratteristiche e le
proprietà necessarie a descriverli;
– Definire i legami non immediati.
2. Annotare le pagine:
– Identificare le infomrazioni;
– Collegarle ai concetti dell’ontologia;
– Mettere in risalto i concetti rilevanti;
17. Esempio
Dissertazione sull’evoluzione dei motori di ricerca
in occasione dell’incontro presso il cliente INAIL.
Programma
Comunicazione is_a Persona Giuridica
is_a Motore di ricerca is_a
Com. Orale Ente Pubblico
type_of type_of type_of type_of
Dissertazione Discorso INAIL Istituto Nazionale
per l'Assicurazione
contro gli Infortuni
same_as alt_label sul Lavoro
18. Esigenze
1. nomi non ambigui per le risorse
2. un modello comune dei dati per scambiare,
collegare e descrivere le risorse
3. accedere ai dati situati nei diversi angoli del
Web, conservati in molteplici forme e in
differenti archivi
4. definire dei vocabolari comuni
5. impostare delle logiche di ragionamento
19. Architettura
URI: per l’identificazione non ambigua delle
risorse;
RDF: modello comune di codifica, ed
interscambio dei fatti;
SPARQL: linguaggio di SIAMO QUI
interrogazione del
modello;
OWL: per la definizione
dei vocabolari.
20. RDF
• Fornisce un modello per descrivere proprietà
ed attributi di una risorsa.
• Progettato con l’obiettivo di aggiungere meta-
informazioni (semantica) ai documenti web
(ovvero le risorse che vogliamo descrivere).
• Mentre l’XML supporta l’interoperabilità
sintattica, RDF mira all’interoperabilità
semantica.
21. RDF
Elemento base è l’RDF-statement:
Resource – Property – Value
Resource Identifica la risorsa che deve essere descritta nello
statement.
Property Identifica la proprietà della risorsa che si sta descrivendo.
Serve per rappresentare attributi, caratteristiche o
relazioni di una risorsa.
Value Identifica il valore della proprietà (Risorsa o Literal).
22. Esempio
Titolo
The Picture of ISBN:
Dorian Gray 9780140xx
Oscar
Wilde Autore
“Orcar Wilde” è l'autore di “The picture of Dorian Gray”
– Resource: http://www.w3c.it/ISBN9780140xx
– Property: autore
– Value: Oscar Wilde
<rdf:Description rdf:about=quot;http://www.w3c.it/ISBN9780140xxquot;>
<f:autore>Dorian Gray</f:autore>
<f:titolo>The Picture of Dorian Gray</f:title>
</rdf:Description>
24. OWL
Sebbene RDF sia molto diffuso ed utile presenta
limiti di espressività:
– solo predicati binari.
– nessun concetto di equivalenza (risorse distribuite).
– nessuna possibilità di inversione delle relazioni.
– nessuna possibilità di crerare nuove classi/proprietà.
– non adatto ad applicazioni complesse.
“if «Person» resources «A» and «B» have the same «foaf:email» property,
then «A» and «B» are identical”
– etc.
25. OWL
OWL è una estensione di RDF Schema (extra-
layer sopra RDF).
Ha una sintassi ed una semantica ben definite.
Ha sufficiente potere espressivo.
E’ processabile automaticamente da un
calcolatore per fare inferenza.
Consente di scrivere ontologie che descrivono
la conoscenza che abbiamo di un certo
dominio.
26. Esempio
Titolo²
The Picture of
Dorian Gray ISBN:
9780140xx
Autore¹ ISBN:
9780140xx
Oscar
Wilde Originale
Autore¹
Oscar ISBN:
Wilde 823740xx
Titolo²
Traduttore
Il ritratto di Mario Rossi
Dorian Gray
27. Esempio: equivalenza
• Per le classi:
owl:equivalentClass: due classi con stessi individui
owl:disjointWith: nessun individuo in comune
• Per le proprietà:
owl:equivalentProperty
Esempio - a:author vs. f:autore?
• For individuals:
owl:sameAs: due URI di riferiscono allo stesso concetto
owl:differentFrom: negazione di owl:sameAs
28. Semantic Search
• Utilizzo delle ontologie per migliorare la
rilevanza dei risultati.
– Document indexer/retriever
Individuano i documenti caratterizzati da una specifica
combinazione di concetti.
– Information extractor
Individuano una determinata informazione in una serie di
documenti utilizzando anche la semantica.
– Question answerers
Individuano la risposta ad una domanda.
29. Anatomia di un Search Engine
“Scova” i documenti di Estrae le informazioni Implementa un metodo di
interesse per l’utente. rilevanti dai contenuti ordinamento dei risultati
Crawler Indexer Ranker
Metadata Searcher Index
Struttura le Consente la ricerca dei Organizza le informazioni
informazioni rilevanti risultati e la loro ispezione ottimizzando i tempi di ricerca
30. Comportamento
Contenuto Crawler Indexer Ranker Metadata Searcher
I link sono Sfrutta Popolarità Analisi Chi cerca
semplici da interamente funzione dei lessicale in esprime la
seguire. il contenuto link. base alla richiesta
testuale grammatica come testo.
delle pagine. della lingua.
Sono Estremamen Non esistono Lessico per Non banale.
contenuti di te difficile e riferimenti contenuti
altre risorse. costoso. espliciti (solo multimediali
impliciti). ?
Fonte CEFRIEL
31. Esempio
Ricerca Sintattica
disabili discorso deficit discorso
motori discorso ... discorsosensitivi ediscorso... discorso
... ... ricerca ... motori ... ricerca ...
problemi ricerca ... ricerca ricerca ... ricerca
di ricerca ... motori ... ... motori ...
motori motori motori motori
Discorso sui
motori di
ricerca
Ricerca Semantica
Dissertazione Discorso
same_as discorso
Programma
is_a
programma
Motore di ricerca
33. Document indexer/retriever
Fase “Retrieval”:
Ontologia
Annotazione semantica
della Query
Indice di
Retrieval somiglianza
Annotazione semantica
del documento
34. CLAS.SE.
Classificatore Semantico
– A partire da una ontologia è in grado di
costruire indici di classificazione della base
dati informativa.
Indexing
– attribuire metadati di classificazione in
modo automatico (ad es. riempiendo il
campo “parole chiave” di un sistema
documentale).
– classificare su più lingue simultaneamente,
grazie all’impiego dello standard europeo
SKOS per ontologie e tesauri. Ontologia
35. Approccio Exalead
Natural language processing.
Language identification
Segmentation
Grammatical Parsing
Named entity extraction
(people, location, event, date, addr
ess, money, etc.).
Categorizzation.
Sentiment Analysis.
RDF Support.
Navigazione tra classi.
36. Conclusioni
Punti di forza:
– Documenti più pertinenti con la richiesta
– Indipendenza dallo stile della richiesta
– Indipendenza dalla lingua
– Navigazione tra documenti simili
– Aggregazione tra documenti simili
– Ricerca per esempi
37. Conclusioni
Limitazioni:
– Creare una ontologia è un lavoro impegnativo:
• Richiede un’approfondita conoscenza dell’area che si
intede descrivere;
• Alcune comunità hanno sviluppato nel tempo una
buona ontologia (bibliotecario);
– Ontologie molto grandi richiedono spesso un
lavoro comunitario.
– Devono poter essere condivise e riutilizzate.
Nasce ufficialmente il 6 Agosto1991 con il primo sito web messo in linea da “Tim Berners-Lee” (CERN – Ginevra).L’esigenza era quella di pubblicare ed accedere facilmente a risorse collegate, attività che in precedenza era svolta con l’ausilio del protocollo FTP e che ben si adattava a un ristretto gruppo di persone.
Inizialmente il numero di siti web era limitato e ne esisteva una lista completa gestita ed aggiornata dal CERN stesso.All’aumentare del loro numero si è iniziato a creare un database distribuito di siti web ed applicazioni client che accedevano e ricercavano su tali database (per tutti citiamo Gopher 1991 ed Archi).
Successo immediato che ha portato ad una crescita esponenziale di Intennet e ad una conseguente disponibilità di un gran numero di contenuti.Con la crescita della numerosità di tali contenuti nasce naturalmente l’esigenza di recuperarli prima ancora che di accedervi.
Nasce l’esigenza di catalogare e indicizzare i contenuti (sistema bibliotecario).Il primo web robot aveva lo scopo di misurare le dimensioni del www (1993-1995).JumpStation (December 1993) è il primo web robot utilizzato per la ricercare e la costruiredi un indicedellepagine web.Disponeva di una interfaccia web ed i un linguaggio di query. Era il primo tool a combinare le tre feature essenziali di un web search engine (crawling, indexing, and searching). A causadellerisorselimitatedisponibilisilimitavaall’indicizzazione del titolo e dell’headerdellepagine.WebCrawler (1994) è il primo motorediricercafulltextovveroeseguival’indicizzazionedell’interotestodellapagina web.SEO: Search Engine Optimizer.
Indicizzamento full text e ricerca all’interno della propria base dati.Quello dei motori di ricerca è negli anni ‘90 il mercato più florido raggiungendo numeri di fatturato record (new economy).
Originariamente il web è stato concepito come modo per visualizzare documenti ipertestuali statici (creati con l'uso del linguaggio HTML); questo approccio può essere definito come Web 1.0.In seguito, grazie all'integrazione con database e all'utilizzo di sistemi di gestione dei contenuti (CMS), Internet si è evoluta con siti dinamici (come ad esempio i forum o i blog); questo web dinamico è stato da alcuni definito Web 1.5.Web 2.0 è del tutto equivalente al Web 1.0, in quanto l'infrastruttura di rete continua ad essere costituita da TCP/IP e HTTP e l'ipertesto è ancora il concetto base delle relazioni tra i contenuti. La differenza, più che altro, sta nell'approccio con il quale gli utenti si rivolgono al Web, che passa fondamentalmente dalla semplice consultazione alla possibilità di contribuire popolando e alimentando il Web con propri contenuti.Il software wiki è nato nel design pattern di comunità web come una soluzione per scrivere e discutere pattern languages. Il Portland Pattern Repository è stato il primo wiki, creato da Ward Cunningham nel 1995 ([2]). Cunningham ha inventato il nome e il concetto wiki e ha prodotto la prima implementazione di un motore wiki.Il termine blog è la contrazione di web-log, ovvero \"traccia su rete\". Il fenomeno ha iniziato a prendere piede nel 1997 in America; il 18 luglio1997, è stato scelto come data di nascita simbolica del blog, riferendosi allo sviluppo, da parte dello statunitense Dave Winer del software che ne permette la pubblicazione (si parla di proto-blog), mentre il primo blog è stato effettivamente pubblicato il 23 dicembre dello stesso anno, grazie a Jorn Barger, un commerciante americano appassionato di caccia, che decise di aprire una propria pagina personale per condividere i risultati delle sue ricerche sul web riguardo al suo hobby. Nel 2001 è divenuto di moda anche in Italia, con la nascita dei primi servizi gratuiti dedicati alla gestione di blog.Il social bookmarking diviene una pratica diffusa solo nel settembre del 2003 con la nascita del sito del.icio.us ma risale al 1999.Folksonomia è un neologismo derivato dal termine di lingua inglesefolksonomy che descrive una categorizzazione di informazioni generata dagli utenti mediante l'utilizzo di parole chiave (o tag) scelte liberamente. Il termine è formato dall’unione di due parole, folk e tassonomia; una folksonomia è, pertanto, una tassonomia creata da chi la usa, in base a criteri individuali.In informatica un mash-up è un sito o un'applicazione web di tipo ibrido, cioè tale da includere dinamicamente informazioni o contenuti provenienti da più fonti.
I motori di ricerca “tradizionali” implementano operazioni qualy: boolean queries, proximity searches, text relevance and link analysis.Tre generazioni di search engine:ranking basato sul contenuto dei siti;ranking basato sull’analisi dei link (considerano la struttura del web);Includono i concetti tipici del Web 2.0 e Web 3.0Un Social Search Engine è un motore di ricerca che determina la rilevanza dei risultati di ricerca considerando l’interazione o il contributo degli utenti. Tali contributi possono essere forniti in diversi modi come il social bookmarking o l’interazione diretta dell’utente con i risultati della ricerca promuovendo o regredendo un risultato in base alla sua percezione della rilevanza dello stesso con la query di ricerca.Integrazione di fonti web 2.0 es deliciou e wiki.
Ridurre l’impatto dei link spam ovvero meno credibilità alla struttura della rete.Miglior rilevanza dei risultati perchè “suggeriti” dagli utenti.L’introduzione del giudizio umano implica che la pagina è stata vista e valutata da una o più persone che l’hanno riteuta valida o meno. Le capacità di giudizio dell’essere umano vanno ben oltre quella degli attuali sistemi automatici di analisi delle pagine.Rilevanza della pagina dal punto di vista dei lettori e non degli autori o webmaster che vogliono che la pagina sia vista e si sforzano per aumentare il ranking (Search Engine Optimization).Un social search engine raccoglie continuamente feedback dagli utenti che sono ovviamente influenzati nei loro giudizi dalla situazione sociale contingente.
Poichè gli utenti possono influenzare direttamente i risltati di un search engine aumenta il rischio di avere risultati errati in modo direttamente proporzionale a quanto il suggeriotre sia poco valido o in generale sia poco rilevante (trust) nei confronti del fruitore dei contenuti.Gli utenti sono poco inclini a fornire informazioni ai sistemi che quindi devono raccogliersele autonomamente. Il problema è capire quali sono tali informazioni e quanto sono credibili.La rete sociale per quanto grande non raggiungerà tutte le pagine del www quindi i motori di ricerca non potranno mai prescindere dai crowler.
E’ un agente software in grado di riorganizzare il ranking delle pagine ottenute da un qualsiasi motore di ricerca in base al gradimento espresso dagli utenti della propria rete sociale.Indipendente dal motore di ricerca specifico (integra google ed exalead) e dalla specifica implementazione della rete sociale (facebook, myspace, etc.).Implementa algoritmi di feedback espliciti (gladiatore e bookmarking) ed impliciti (tempo di permanenza, numero di accessi, link seguiti, download eseguiti).E’ stata creata una ontologia per la gestione di una rete sociale, inclusi gli aspetti di trust tra persone ed apprezzamento di una risorsa. Ad oggi non ne esiste una in letteratura come quella di AVIC.Il progetto può essere utilizzato anche all’interno di una rete sociale aziendale o in settori verticali (ad es. l’Ordine dei Giornalisti). In questo caso si ottiene il massimo dei benefici; si pensi ad es. ad un gruppo di progettisti che sta lavorando su un nuovo macchinario: chi eseguirà le ricerche dopo che già alcune pagine sono state vagliate, troverà direttamente quelle più promettenti, senza dover fare il lavoro di ricerca delle fonti utili che ci fa perdere la maggior parte del tempo durante la navigazione.
Una parte importante, assolutamente vitale ed innovativa del progetto, è stata la creazione di specifici algoritmi per il calcolo della rete sociale, della fiducia tra utenti, del livello di apprezzamento di una risorsa web.Gli algoritmi creati sono i seguenti:- Algoritmo per la determinazione della lista amici a distanza ≤ R.- Calcolo di amici in comune tra due persone.- Calcolo del ranking “personale” di una risorsa di un nodo- Calcolo del ranking “sociale” di una risorsa di un nodo (rispetto alla propria rete sociale)- Calcolo della fiducia tra due nodi - Algoritmo generale di ricerca L’ultimo (“Algoritmo generale di ricerca”) è il cuore del sistema, ovvero l’algoritmo che modifica il ranking di ricerca di un motore generalista di ricerca (ad es. Google) per portare in evidenza le pagine gradite alla rete sociale della persona ed analogamente abbassare di importanza le pagine poco gradite. Per poter applicare questo algoritmo è necessario conoscere la rete sociale della persona, cosa che si ottiene con il calcolo dell’ “Algoritmo per la determinazione della lista amici a distanza <= R”, dove R è il raggio che vogliamo considerare (con raggio 1, si prendono gli amici diretti di una persona, con raggio 2 sia gli amici diretti che gli amici degli amici e così via).Quanto una pagina sia interessante per la rete sociale viene calcolato sulla base delle pagine gradite/sgradite dagli amici della persona interessata. Non si considerano però tutte le persone allo stesso modo, ma si prendono in considerazione due aspetti di fiducia (trust) uno cosiddetto structural trust che viene calcolato sulla base della topologia della rete sociale, ed uno basato sui feedback che l’utente di cui si sta eseguendo la ricerca dà ai documenti trovati, e che chiamiamo feedback based trust .Il primo trust, strutturale, viene calcolato sulla base del numero di amici in comune, assumendo che avere molti amici in comune aumenta il grado di intimità (e quindi di fiducia) delle persone. Questo calcolo viene eseguito dal “Calcolo di amici in comune tra due persone”.Il “Calcolo della fiducia tra due nodi” prende in considerazione anche il feedback da parte dell’utente, e tracciato tramite il meccanismo del gladiatore (ovvero un segnale esplicito positivo o negativo della pagina, tramite il plug-in installato sul browser). Il “Calcolo del ranking “personale” di una risorsa di un nodo” prende in considerazione quanto un utente ha gradito la pagina (tramite i meccanismi di feedback espliciti ed implici) ; questa informazione ci permette di sapere quanto quella persona (un nodo della rete sociale) abbia gradito una particolare risorsa (una pagina web).Il “Calcolo del ranking ‘sociale’ di una risorsa di un nodo (rispetto alla propria rete sociale)” esegue un passaggio in più, ovvero permette di calcolare il ranking di preferenza delle risorse per la rete sociale a cui una persona (un nodo) appartiene. Ogni persona ha una rete sociale (potenzialmente) diversa dagli altri utenti e quindi questo calcolo è individuale. Sulla base di questo ranking diviene possibile eseguire l’ultimo passaggio, ovvero la ricerca personalizzata.La ricerca personalizzata è quindi una ricerca su un motore generalista la cui posizione è modificata sulla base del ranking sociale della persona che sta cercando. Poiché la persona potrà dare dei feedback, questo ranking potrà cambiare in base ai suoi gusti, modificando anche il livello di fiducia nelle raccomandazioni date dagli “amici” della rete sociale, e quindi il sistema è del tutto adattativo nel tempo.
Il primo passo verso un \"Web 3.0\" è l'emergere del \"Data Web\" visto che gli archivi di dati strutturati sono pubblicati sul Web in formati riutilizzabili e \"interrogabili\" da remoto, come XML, RDF e microformati. La recente crescita della tecnologia SPARQL fornisce un linguaggio di query standardizzato e l'API per la ricerca attraverso database RDF distribuiti nel Web. I Data Web permettono un nuovo livello di integrazione e di interoperabilità delle applicazioni, rendendo i dati disponibili a tutti e \"linkabili\" come se fossero pagine Web. Il Data Web è il primo passo verso il vero e proprio Web semantico.Il Web 3.0 è stato anche utilizzato per descrivere un percorso evolutivo per il Web che conduce all'Intelligenza Artificiale capace di interagire con il Web in modo quasi umano.In linea con l'Intelligenza Artificiale, il Web 3.0 potrebbe costituire la realizzazione e l'estensione del concetto di Web semantico. I ricercatori accademici stanno lavorando per sviluppare un software per il ragionamento, basato sulla logica descrittiva e sugli agenti intelligenti. Tali applicazioni possono compiere operazioni di ragionamento logico utilizzando una serie di regole che esprimano una relazione logica tra i concetti ed i dati sul Web.Un ulteriore possibile percorso del Web 3.0 è verso la visione tridimensionale coniata dal Web3D Consortium. Questo significherebbe trasformare il Web in una serie di spazi in 3D, in linea con ciò che ha già realizzato Second Life.
L’evoluzione del web ha comportato una esplosione di contenuti di formato e tipologia differente (pagine web, immagini, video, animazioni, etc.) che sempre più difficilmente possono essere gestite dai motori di ricerca tradizionali. Soprattutto in considerazione del fatto che in prevalenza si tratta di contenuti destinati alla interpretazione dell’essere umano. Testi, video ed immagini possono facilmente essere processati dall’uomo che può derivare deduzioni (anche da informazioni parziali), fare associazioni mentali e raggiungere un obiettivo.Tali operazioni non sono possibili alle macchine a causa di informazioni parziali, impossibilità di interpretare immagini e video, difficoltà nel fare deduzioni, etc. Alla base di tutto ciò vi è l’incapacità degli elaboratori di “interpretare” i contenuti del web.In tale contesto Tim Berners-Lee propone un web con strutture e collegamenti ad espressività maggiore delll’attuale in cui agenti intelligenti operano comprendendo il sgnificato delle risorse e guidando l’utente nella navigazione direttamente verso l’informazione ricercata se non addirittura sostituendosi ad esso nello svolgimento di determinate operazioni.Solo recentemente l’idea del semantic web ha acquistato una certa notorietà prevalentemente grazie alla presenza di un certo numero di soluzioni (molto spesso a livello prototipale) prevalentemente legate agli strati più bassi dello stack tecnologico, associabili all’information retrieval, piuttosto che a quelli più alti associabili al “reasoning”.
I metadati sono informazioni che qualificano ulteriormente una risorsa/documento.Ciscun documento può essere rappresentato con un isieme di metadati tra loro ortogonali (es. autorie, dat, argomeno, etc.) ognuno die quali rappresenta una “sfaccettatura” della conoscenza complessiva associata al documento. Ciascuna sfaccettatura a sua volta rappresenta una porzione della conoscenza.Il concetto di classificazione a faccette è noto in ambito bibliotecario ed è stato riproposto in ambito informatico con una sfumatura differente. Infatti il suo uso non è finalizzato alla localizzazione fisica del documento (in una biblioteca) ma alla sua classificazione in uno spazio di classificazione n-dimensionale.Normalmente non sono trattati dagli uomini ma dall’elaboratore. Il problema è che generalmente non ne esiste una codifica univoca. Ad esempio lo stesso concetto può essere rappresentato da sinonimi differente.Per ovviare al problema è necessaria una codifica oppornuna della conoscenza (knowledge representation: kb).In ordine di complessità esistono diverse possibili rappresentazioni della conoscenza: Vocabolari (controllati): definiscono una lista chiusa di termini utilizzati dall’applicazione per rappresentare la kb. Tassonomie: aggiungono a tali definizioni le relazioni di sottoinsieme e sovra insieme. Classificazione gerarchica di concetti (es. vegetale <- carote). Tesauri: estendono le tassonomie con la nozione di “concetto correlato”. Ontologie: includono relazioni più generali (es. composto-da)In Conclusione: ai documenti sono associate ontologie ed a porzioni di documenti sono associati metadati (annotazioni) che li legano alle ontologie.
Il primo passo che deve essere realizzato consiste nella definizione di un’ontologia, cioè il documento che ha il compito di memorizzare gli elementi principali del dominio e le loro relazioni.- La prima questione da affrontare è quella dell’individuazione della struttura del dominio che si sta analizzando. Una volta individuati i concetti-chiave, si devono individuare tutte le caratteristiche e le proprietà che sono rilevanti per descriverli: ad esempio, i dati anagrafici per le persone o i dettagli di fabbricazione per un prodotto in vendita. Un altro importante aspetto che deve essere analizzato è l’individuazione deilegami tra i vari elementi della tassonomia: è possibile che i vari concetti siano correlati non solo in base alle regole di classificazione, ma anche da relazioni proprie per il tipo di dominio che si sta analizzando.Il passo successivo consiste nell’annotazione delle pagine, cioè nell’inserimento dei contenuti semantici all’interno delle pagine Web.Innanzi tutto, si devono collegare le informazioni ad un dominio e quindi scegliere l’ontologia che specifica gli elementi di quel dominio. Quindi, gli elementi reali, che si vogliono descrivere, devono essere ”tradotti” nel linguaggio dell’ontologia: classificati in base alle entit`a specificate, messi in relazione con altri elementi e descritti mediante dei valori attribuiti alle proprietà.E’ una fase delicata, che deve specificare tutte le informazioni rilevanti: come nel web tradizionale i tag di formattazione permettevano di dare più o meno risalto a determinati dati, così con questo approccio si mettono in rilievo le informazioni che devono essere reperibili non solo da un utente umano, ma anchedaagenti software.
Per realizzare quanto profetizzato da Tim Berners-Lee sono stati proposti diversi approcci e sviluppate diverse tecnologie.L’insieme di tali tecnologie hanno come finalità la realizzazione di una infrastruttura tecnologica che ha come fine ultimo quello di far comprendere ad un elaboratore la semantica dei dati trattati. Le esigenze che tali tecnologie intendono soddisfare sono le seguenti:1.nomi non ambigui per le risorse (che possono anche collegare i dati agli oggetti del mondo reale)2. un modello comune dei dati per scambiare, collegare e descrivere le risorse3. accedere ai dati situati nei diversi angoli del Web, conservati in molteplici forme e in differenti archivi4. definire dei vocabolari comuni5. impostare delle logiche di ragionamentoPer rispondere a tali esigenze il W3C ha indivisuato una architettura stratificata con interfacce standardizzate che hanno iniziato a consolidarsi a partire dagli strati più bassi.
In riferimento ai bisogni sopraelencati sono state definite diverse tecnologie per ognuno. Uniform Resource Identifier (URI) per l’identificazione di nomi non ambigui per le risorse; Resource Description Framework (RDF) per un modello comune di codifica, riuso ed interscambio dei fati; Il Resource Description Framework (RDF), quindi, non descrive la semantica, mafornisce una base comune per poterla esprimere, permetendo di definire la semanticadei tag XML SPARQL come linguaggio di interrogazione del modello; - Web Ontology Language (OWL) per la definizione dei vocabolari.
Qualunque cosa descritta da RDF è detta risorsa. Principalmente una risorsa è reperibile sul web, ma RDF può descrivere anche risorse che non si trovano direttamente sul web. Ogni risorsa è identificata da un URI, un identificatore univoco di risorse.RDF è progettato per aggiungere informazioni semantiche ad una risorsa ovvero un documento web. Una sua possibile serializzazione è con sintassi XML, ovvero il documento RDF è anche un documento XML. Mentre XML mira a supportare l’interoperabilità sintattica tra le applicazioni, RFD mira q quella semantica.Inoltre XML rappresenta un documento con una struttura ad albero, mentre RDF lo rappresenta attraverso un grafo i cui nodi rappresentano i concetti del dominio che vogliamo descrivere e gli archi rappresentano le relazionitraiconcetti.
L’unità base per rappresentare un’informazione in RDF è lo statement. Uno statement è una tripla del tipo: Resource – Property (attributo) – Value (possono essere literal o altre risorse).Graficamente, le relazioni tra Resource, Property e Value vengono rappresentatemediante grafi etichettati orientati, in cui : le risorse vengono identificate come nodi(graficamente delle ellissi), le proprietà come archi orientati etichettati, i valoricorrispondenti a sequenze di caratteri come rettangoli.
Possono essere espresse attraverso una notazione grafica che utilizza grafi orientti aciclici.
Linked Open Data è un progetto del W3C il cui scopo è di fornire una descrizione RDF (triple) degli svariati set di dati esistenti nel web pubblicati in licenca “open” (Creative Common) e delle loro interconnessioni. Esempi: Wikipedia, Wikibooks, Geonames, MusicBrainz, WordNet, DBLP bibliography, etc.Marzo 2009: 4.5 miliardidi triple RDF, chesonointerlacciateda 180 milionidi link RDF.Questo perchè per il successo delle applicazioni semantiche, soprattutto su internet, non è sufficiente disporre di standard e tool ma soprattutto è necessaria una infrastruttura di base. L’iniziativa Linked Open Data ha proprio lo scopo di fortire tale infrastruttura, permettendo di integrare nelle proprie applicazioni un gran numero di triple provenienti da fonti differenti.
- OWL è una estensione di RDF (schema) che consente di descrivere domini in maniera completa.- Caratterizzato da una sintassi ed una semantica ben definite, un sufficiente potere espressivo ed una certa praticità di definizione delle espressioni.- Con OWL è possibile scrivere delle ontologie che descrivono la conoscenza che abbiamo di un certo dominio, tramite classi, relazioni fra classi e individui appartenenti a classi.- La conoscenza così formalizzata è processabile automaticamente da un calcolatore, tramite un ragionatore automatico che implementa i processi inferenziali e deduttivi.
I motori di ricerca tradizionali (sintattici, come quasi tutti quelli presenti su Internet) che si preoccupano unicamente di \"censire\" le parole che ci sono all'interno di un testo - le keyword - senza in alcun modo tentare di determinare il contesto in cui queste parole vengono utilizzate.Ciò tuttavia implica che quando devo andare a cercare certe informazioni devo usare le stesse identiche parole che sono state usate nel documento originale.I motori di ricerca semantici tentano di estendere le funzionalità classiche dell’information retrieval, utilizzando ontologie in modo da aumentare il numero di documenti pertinenti rintracciati e ridurre il numero di documenti non pertinenti.Document indexer/retriever.Individuano i documenti caratterizzati da una specifica combinazione di concetti.Information extractor.Individuano una determinata informazione in una serie di documenti utilizzando anche la semantica.Question answerers.Individuano la risposta ad una domanda.