PDA

View Full Version : Motore di ricerca basato sulle ontologie


Edde
27-07-2006, 18:10
Ciao :)

Allora, devo realizzare questo:

Implementare un sistema che estrae le informazioni fornite da un motore di ricerca su singole parole chiave, e calcola le risposte in base ad una ontologia di concetti. Più precisamente, il sistema deve essere in grado di:

1. (modalità web wrapping) estrarre le informazioni fornite da un motore di ricerca (ad esempio Google o Yahoo) su singole parole chiave, e rappresentare tali informazioni in una base dati relazionale;
2. (modalità ontology wrapping) estrarre le informazioni contenute in una ontologia di concetti (gerarchia ISA), rappresentata in XML, e rappresentare tale ontologia in una base di dati relazionale:
3. (modalità query answering) ricevere in input una parola chiave (concetto) e calcolare la query SQL corrispondente che permette di recuperare, sulla base di dati creata nelle modalità web wrapping e ontology wrapping, le informazioni relative a tale concetto.

Ecco, non mi è ben chiaro (e le ricerche sul web mi stanno più confondendo che facendo chiarezza) cosa siano e soprattutto cosa debbano fare praticamente queste ontologie... Ok, sono relazioni tra keyword (nel nostro caso), ma come dovrebbero essere utilizzate secondo voi in un progetto simile? Inserita una keyword bisogna estendere la ricerca anche a quelle a lei associate tramite ontologia? Bisogna filtrare i risultati? Non capisco...

Grazie :)

The3DProgrammer
27-07-2006, 19:45
bel progettino semplice semplice... :eek:


allora te lo spiego in modo banale. Un'ontologia è una specificazione esplicita e formale di una concettualizzazione condivisa :D. No, apparte gli skerzi (sta definizione mi sta anche un po sulle balle) è un formalismo per la classificazione e la modellazione della conoscenza. Concettualmente non è molto distante dal paradigma della programmazione orientata agli oggetti, nel senso che quello che dovresti fare è, detto proprio terra terra, modellare i concetti tramite classi, e poi inserire delle entità (istanze) che si identificano in queste classi. Esempio: una gerarchia che modella i vini. Il concetto base potrebbe essere ad es. THING (concettualmente simile ad Object di java) da thing potresti ottenere una classe WINE (in POO si direbbe "derivando" o "estendendo" da THING, in realtà nelle ontologie esiste la relazione ISA, quindi WINE ISA THING). Da WINE poi potresti ottenere tutte le tipologie di vino tipo BAROLO, CIRO', etc etc e potresti legarli ad altri concetti come il luogo di produzione ed altri attributi. Successivamente nel motore che gestisce le ontologie dovresti andare ad inserire delle istanze (es le varie qualità di barolo) in questo modo potrai sottoporre il motore delle ontologie a interrogazioni usando magari un linguaggio logico (a tal proposito l'uso di SQL nn mi sembra del tutto adatto, io avrei usato un linguaggio logico tipo datalog). Scusami ma nn posso essere molto preciso, ho cercato i miei appunti del corso e nn li ho trovati, quindi qualke concetto da quando ho fatto l'esame potrebbe essersi distorto ;)

spero di averti aiutato a capire qualkosa, cmq sono concetti difficili da spiegare, devi cercare di arrivarci da solo

ciau

The3DProgrammer
27-07-2006, 19:47
cmq mi sa di tesi questo lavoro;)

Edde
27-07-2006, 23:34
cmq mi sa di tesi questo lavoro;)

No, in realtà è solo un "progettino" di linguaggi e traduttori :D
Siamo un gruppo di 3, ed uno di noi lo discuterà nella prova finale, quindi avevamo intenzione di fare un buon lavoro ;)

Ti ringrazio della risposta, e diciamo che mi ha chiarito il concetto di ontologia.
Il forte dubbio che mi è rimasto però riguarda il come utilizzare queste ontologie nel motore di ricerca... Insomma, in pratica, in che modo si dovrebbero applicare questi concetti al problema? Tu hai qualche idea in proposito?

Ancora grazie :)

The3DProgrammer
28-07-2006, 05:35
No, in realtà è solo un "progettino" di linguaggi e traduttori :D
Siamo un gruppo di 3, ed uno di noi lo discuterà nella prova finale, quindi avevamo intenzione di fare un buon lavoro ;)

Ti ringrazio della risposta, e diciamo che mi ha chiarito il concetto di ontologia.
Il forte dubbio che mi è rimasto però riguarda il come utilizzare queste ontologie nel motore di ricerca... Insomma, in pratica, in che modo si dovrebbero applicare questi concetti al problema? Tu hai qualche idea in proposito?

Ancora grazie :)


posso darti un consiglio: dai un'okkiata al funzionamento del web semantico, come vengono modellate le risorse e le relazioni, le ontologie e le query. E' molto simile a quello ke dovete fare.

ciao

Edde
28-07-2006, 18:09
Si, mi sono imbattuto in questo "web semantico" mentre effettuavo le ricerche sul web.

Ho scritto anche al prof per maggiori chiarimenti, perchè in fondo il corso tratta di altro, quindi non so quanto voglia approfondita questa parte.

Grazie :)

lucan1
24-12-2006, 18:13
Ciao....

io sto al momento iniziando una tesi che riguarda le ontologies (in particolare di tipo biomedico BioPax e SBML) e il Semantic Web e avrei quindi bisogno di un po' di materiale introduttivo sul topic....

....dal momento che stavi sviluppando il tuo progetto nel corso della scorsa estate, hai trovato qualche sito web con delle buone risorse sull'argomento?

Perchè uno dei grossi problemi del settore è che trovi tnt roba ma per quanto riguarda la chiarezza o precisione .... :muro: ....

grazie, ciao