Referente per il progetto: Roberto Navigli Corso di Metodi di Estrazione delle Informazioni dal Web A.A. 2006/07 Progetto 1 Referente per il progetto: Roberto Navigli 24/02/2019
L’architettura del sistema Term Extractor Validazione della terminologia con TermExtractor Terminologia di dominio Corpus di documenti di dominio Conversione in OWL Creazione della tassonomia per string inclusion Terminologia di dominio validata Invio dell’ontologia a Navigli via email Indicizzazione semantica con Lucene Ricerca Semantica con Lucene Taxonomy Validator (TAV)
Da terminologia di Dominio Validata a Tassonomia per String Inclusion ambiguous word unambiguous word compound multi-word expression bag of words machine-readable dictionary reference dictionary lexical knowledge base lexical semantics lexicon structure linguistic knowledge base word ambiguous word unambiguous word compound expression multi-word expression words bag of words dictionary machine-readable dictionary reference dictionary base knowledge base lexical knowledge base linguistic knowledge base semantics lexical semantics structure lexicon structure codice java
Conversione in formato OWL della tassonomia Non è richiesto di utilizzare Jena Per ogni termine nella tassonomia, create un frammento OWL con questo schema: Id_concetto e id_padre sono gli identificativi univoci del concetto e del padre (potete utilizzare id numerici progressivi, ma per questioni di implementazione aggiungete un prefisso ID_ o qualsiasi prefisso con caratteri dell’alfabeto, es. ID_0000001 o MY_ONTOLOGY_0000001) <owl:Class rdf:about="http://lcl.di.uniroma1.it/ontologies/nome_file.owl#id_concetto"> <rdfs:subClassOf rdf:resource="http://lcl.di.uniroma1.it/ontologies/nome_file.owl#id_padre"/> <rdfs:label>multi-word expression</rdfs:label> </owl:Class>
Intestazione del file OWL In cima al file owl dovete aggiungere la seguente intestazione: <rdf:RDF xmlns="http://lcl.di.uniroma1.it/ontologies/nome_ontologia#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:daml="http://www.daml.org/2001/03/daml+oil#" xmlns:dc="http://purl.org/dc/elements/1.1/"> In coda al file owl dovete definire la relazione related-to (se pensate di usarla) e chiudere il tag <rdf:RDF>: <owl:DatatypeProperty rdf:about="http://lcl.di.uniroma1.it/ontologies/nome_ontologia#related-to"> <rdfs:range rdf:resource="xsd:string"/> </owl:DatatypeProperty> </rdf:RDF>
Formato dell’ontologia dopo la validazione con TAV Si ottiene il file in formato testo cliccando su “Download txt” concept_id|termine|numero_figli|lista di id dei figli separata da barra verticale (ovvero:|)|id_padre|nome_ relazione|numero_di_ istanze_della_relazione| elenco_di_istanze separate da barra verticale
Indicizzazione e ricerca semantica Utilizzate Lucene per indicizzare i documenti del corpus di dominio con i concetti dell’ontologia definitiva Se utilizzate formati non testuali, dovete occuparvi della conversione in formato txt Inserite la semantica nella fase di ricerca: Dato un termine w, indicizzo con w tutti i documenti che contengono w o un discendente di w nell’ontologia definitiva Se cerco le parole w1 e w2 => la query sarà (w1 OR (figli(w1)) AND (w2 OR (figli(w2)) oppure: (w1 OR (padre(w1)) AND (w2 OR (padre(w2)) oppure entrambi (sia discendenti che padre/i) Vi consigliamo di utilizzare solo discendenti e antenati di primo livello (ovvero, solo figli e padri diretti) Scegliete 10 query di vostro gradimento del tipo: w1 AND w2 e valutate le prestazioni con e senza semantica (ovvero, con e senza l’espansione di padri e figli) Potete valutare solo la precision, ovvero la percentuale di documenti restituiti che effettivamente hanno a che fare con il concetto richiesto