UNIVERSITÀ DEGLI STUDI DI SALERNO MOTORI DI RICERCA SEMANTICI MOTORI DI RICERCA SEMANTICI Corso di Sistemi ad Agenti a.a. 2009/2010 Prof. Vincenzo Loia Dott. Giuseppe Fenza
SOMMARIO 1. Introduzione 2. Yahoo! SearchMonkey 3. Hakia 4. Bing! 5. PowerSet e FreeBase 6. DBPedia e Google Base 7. Google Squared 8. Cognition 9. Sensebot 10.DeepDyve
THE SEMANTIC WEB (AKA WEB 3.0) The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation - Tim Berners Lee Differentemente dai tradizionali motori di ricerca, un motore di ricerca semantico memorizza informazioni semantiche sulle risorse web ed è capace di risolvere query complesse, considerando, inoltre, il contesto al quale la risorsa è finalizzata. L input fornito dall utente non sarà più una lista di keyword, ma una frase, o meglio una domanda, a partire dalla quale il motore sarà capace di estrarre i concetti rilevanti, disambiguarli se necessario, e utilizzare una serie di query per costruire la lista dei risultati richiesti.
YAHOO! SEARCHMONKEY Yahoo! SearchMonkey è un framework offerto da Yahoo! per la creazione di piccole applicazioni che permettono di migliorare i risultati offerti da Yahoo! Search rendendoli maggiormente pertinenti e anche visivamente più attraenti. Che cosa a che fare SearchMonkey con il Semantic Web? E costruito sugli standard del Semantic Web (erdf, RDFa e microformati). Motivare i content-publishers a inserire metadati utilizzando gli standard semantici. Fornire una piattaforma di sviluppo (semplice!) per applicazioni che utilizzano metadati.
ARCHITETTURA DI SEARCHMONKEY Developer Site Owner
DATARSS <adjunct> E l unità fondamentale per le applicazioni SearchMonkey che utilizzano DataRSS; esso significa qualcosa accanto e rappresenta un contenitore di metadati associato a un URL. <meta> Rappresenta, generalmente, una particolare proprietà e contiene al suo interno un letterale che ne specifica il valore. <item> Rappresenta un oggetto o un concetto nel mondo reale; esso utilizza l attributo rel per descrivere la relazione che intercorre tra questo oggetto e la risorsa corrente e l attributo opzionale resource, generalmente utilizzato per indicare l URL che rappresenta questo oggetto.
DEVELOPER S VIEW Infobar Enhanced Result SearchMonkey Dashboard
YAHOO! SEARCH BOSS Build your Own Search Service A differenza delle API offerte dai comuni motori di ricerca, le API BOSS non pongono limitazioni sulla frequenza di utilizzo e sulla presentazione dei risultati di ricerca. Questa caratteristica è molto importante in quanto permette a BOSS di essere utilizzato da numerose applicazioni, e anche da altri motori di ricerca.
hakia E un motore di ricerca semantico,che si concentra sulla qualità dei risultati e non su metodi di classificazione basati sulla popolarità. I risultati di ricerca soddisfano 3 criteri: 1. Provengono da siti credibili 2. Rappresentano le più recenti informazioni disponibili 3. Restano rilevanti per le query
CARATTERISTICHE Hakia Galleries Categorizzazione Parallelismo Generalizzazione Interruzioni di testo CMR (Compressed Meaning Representation) Hakia Scoopbar
TECNOLOGIE I componenti principali dell architettura di Hakia sono: OntoSem QDEX SemanticRank Algorithm Dialogue Algorithm
ONTOSEM Prende in input del testo e restituisce una rappresentazione semantica.l ontologia alla base è un modello non ambiguo e indipendente dal linguaggio,che prevede un metalinguaggio per descrivere la semantica.
QDEX (Query Detection and Extraction) Qdex analizza l intero contenuto di una pagina web, poi l algoritmo estrae tutte le possibili queries adatte a questo contenuto. Le queries diventano l ingresso a documenti, paragrafi e frasi d origine, durante il recupero.
SEMANTIKRANK ALGORITHM Lo scopo di questo algoritmo é classificare risultati di ricerca in ordine d importanza. DIALOGUE ALGORITHM L obiettivo di questo algoritmo é quello di stabilire un dialogo con l utente.
Ha sostituito LiveSearch Ricerca interattiva Categorizzazione dei risultati Suggerimenti e ricerche correlate
FEATURES Ricerche istantanee o Calcoli matematici o Ricerche su Encarta e su Wikipedia o Informazioni mediche o Risultati sportivi, andamento borse, ecc. Informazioni geografiche
TIPI DI RICERCHE Bing Health Bing Local Bing Reference Bing Travel Bing Twitter Bing WolframAlpha Bing VisualSearch
IN ATTESA DI SVILUPPI
FREEBASE: SITO WEB E NON SOLO...
..E SE VOLESSIMO UTILIZZARE DATABASE RELAZIONALI? Beh, per memorizzare dati riguardanti Bob Dylan che è un artista vario utlizziamo la tabella song composer o book author?? La risposta è che c'è bisogno di memorizzare dati riguardanti la stessa persona in TUTTE queste differenti tabelle; Un edificio, per esempio, può partire come una chiesa, diventare un ospedale durante la guerra e dopo ancora una destinazione turistica. La mela è un frutto, ma anche un ingrediente in numerose ricette oppure un logo di una compagnia. Questi milioni di topics sono connessi in maniera molto intricata; d'altronde come lo è la vita reale, cosi lo sono i dati Freebase.
ACRE HOSTING PLATFORM... ACRE non è altro che un application hosting platform utilizzabile direttamente dall'infrastruttura server di Freebase per poter creare, debuggare, manutenere la propria web application. Utilizza Javascript come linguaggio di interoperabilità tra client e server e permette di trasformare il risultato di una query MQL(vedremo un'immagine tra poco) in codice da inserire nella propria pagina in locale per potersi linkare a Freebase.
ACRE HOSTING PLATFORM
...ACRE hosting platform!
SQL vs MQL La tipica query che viene usata quotidianamente fa uso di SQL per poter accedere al database; la query Freebase utilizza invece MQL, che sta per Metaweb Query Language e si pronuncia mickle. I risultati della query MQL arrivano all'utente sotto forma JSON e il layer intermedio è HTTP, diversamente da query tradizionali che passano attraverso ODBC, JDBC o altri database access layer. Questa rappresentazione JSON (JavaScript Object Notation) è un formato leggero di scambio di dati.
JSON: RAPPRESENTAZIONE { "id" : "/en/new_york", "guid" : "#9202a8c04000641f80000000002f8906", "name" : "New York City", "/location/location/containedby" : [ "New York", "United States" ], "/location/place_with_neighborhoods/neighborhoods" : [ "Silver Beach", "Tudor City", "Times Square" ] }
una community che formalizza e struttura le informazioni presenti su Wikipedia offrendo diverse modalità di accesso alle informazioni Estrae le informazioni strutturate da Wikipedia, rendendole disponibili sul Web in formato RDF. 274 milioni di triple RDF organizzati in diversi domini di conoscenza Elementi identificati univocamente http://dbpedia.org/resource/elemento_esempio http://en.wikipedia.org/wiki/elemento_esempio
DBPEDIA ONTOLOGY
LOD LINKING OPEN DATA Ha lo scopo di creare un Data Web Globale Navigazione per contenuti a favore degli utenti e delle applicazioni semantiche Definizione di relazione tra i dati di diverse sorgenti
..organizzare l immensa mole di dati reperibili sul web secondo le esigenze degli utenti.. Raccoglie ed organizza dati provenienti da sorgenti diverse. Presentazione sottoforma di tabella sinottica ogni colonna per ogni attributo principale di sua conoscenza. Struttura dati non strutturati Evita all utente la noia di avventurarsi alla ricerca di informazioni nei siti proposti dai normali motori.
NLP = Natural Language Processing Opera sul significato della parola o in accordo al contesto in cui è usata o significati memorizzati in una tassonomia o utilizzo di un meaning thesaurus per i sinonimi Analisi morfologica o forme varianti di una parola o acronimi considerati sinonimi della corrispondente forma estesa Phrasal reasoning o Frasi trattate come atomi
MAPPA SEMANTICA Codifica morfologica, sintattica e semantica delle parole Caratteristiche morfologiche forme regolari e irregolari per ogni significato esempio: babies baby, re-run run Caratteristiche sintattiche categorie: nome, verbo, aggettivo sotto-categorie: verbo intransitivo, nome comune, ecc.
MAPPA SEMANTICA (2) Caratteristiche semantiche caratteristiche di dominio: utilizzate per preferire un significato in un determinato contesto esempio: la parola check è interpretata come controllo in check-up e come cambiale in pay with a check a causa del contesto con pay. caratteristiche di conoscenza del senso comune esempio: cats have tails - hands have five fingers
ARCHITETTURA DI COGNITION Tokenizer suddivide il testo in frasi e parole Named Entity Extractor riconosce patterns comuni come nomi di persona, date, numeri di telefono, ecc. Morphology Component estrae la radice delle parole rimuovendo prefissi e suffissi esempio: worker-worked-working riconosce forme irregolari di nomi e verbi esempio: mouse - mice, catch caught
ARCHITETTURA DI COGNITION (1) Phrase recognizer combina le parole in frasi riconosce tutte le variazioni di date esempio: December 1, 1992 12/1/92 Dec. 1,92 riconosce nomi composti esempio: movie set mappa acronimi sulle forme estese Esempio: SEC e Securities and Exchange Commission Word Meaning Interpreter & Parser determina i significati delle parole in accordo al contesto
ARCHITETTURA DI COGNITION (2) Dizionario contiene significato delle parole con associate le caratteristiche morfologiche, sintattiche, tassonomiche e semantiche tassonomie per organizzare i concetti in una struttura gerarchica Meaning thesaurus classifica le parole in classi in accordo al loro significato Synographs ortografie alternative di uno stesso concetto esempio: cookie cooky
CARATTERISTICHE DELLA RICERCA Classificazione della rilevanza la lista dei risultati contiene documenti ordinati documenti contenenti parole che matchano esattamente con tutti i termini della query documenti contenenti parole che matchano parzialmente con i termini della query documenti contenenti parole che matchano concettualmente con i termini della query
CONCLUSIONI Vantaggi query in linguaggio naturale recupero di documeti concettualmente rilevanti rispetto alla query conversione automatica dei documenti prima dell indicizzazione (doc, ppt, rtf, ecc.) possibilità di definire nuove ontologie per classificare le risorse Svantaggio attualmente disponibile solo per la lingua Inglese
Analisi matematica definita su database di enormi dimensioni. Basato sulle tecniche di Text Mining, permette di estrarre il contenuto da enormi quantità di dati. Si basa su algoritmi del Data Mining (Text Data Mining). Utile per ottenere informazioni ed avere una panoramica generale relativa all argomento cercato.
API Utilizza due API base: ExtracConcept; CreateSummary. Per ogni ricerca, tali API permettono di estrarre le informazioni e creare una sintesi dei risultati ottenuti.
ESTRARRE I CONCETTI A partire da un URL in input, restituisce una serie di concetti semantici contenuti nel documento. Nome username allurls artclass artlenght numconcepts Lang Tipo String String, URL-encoded String Int Int String
CREARE LA SINTESI Tale metodo prende in input un set di URL e restituisce un documento che riassume i sorgenti e/o la lista dei chiavi semantiche. Nome username allurls Tipo String String, URL-encoded alltitles String, URL-ecncoded numsources Query Int String numsentences Lang Int String simthreshold bhtml btitle bsummary bconcept groupsentences Int Int Int Int Int String
CONCLUSIONI Estrazione dei contenuti molto valida; Summary ad alto valore semantico; Le ricerche forniscono risultati validi e precisi.
Un nuovo motore di ricerca in grado di esplorare quella parte invisibile del web che i motori tradizionali, Google compreso, non indicizzano. Secondo una stima dell Università di Berkeley, meno del 0,2% del Web è indicizzato da tali motori, il rimanente 99,8% rappresenta il Deep Web, costituito da un enorme patrimonio di informazioni e dati difficili da reperire: si stima infatti che il Deep Web contenga un numero di contenuti qualitativi di tre o quattro volte superiore a quello del Surface Web (Web di superficie).
KEYPHRASE ALGORITHM L algoritmo base di DeepDyve che applica tecniche di indicizzazione utilizzate nello studio del genoma umano (DNA). Estrazione delle frasi chiave (keyphrase) contenute nei documenti. Migliore è l input, migliore è la qualità dell output.
USES Utilizzato per effettuare ricerche di documenti in ambito medico e scientifico. Ricerche efficienti grazie all enorme input di dati: fino a 25.000 caratteri (contro le 32 parole di Google). Reserch, Rent, Read: oltre 30 milioni di articoli a prezzi contenuti e leggibili tramite l apposito viewer.
CONCLUSIONI Esplorazione di documenti sommersi ; Utile per ricerche specifiche; Costi accessibili; Non semantico.