Riassunto analitico
Questo elaborato di tesi tratta lo studio di tecniche per effettuare keyword search su database relazionali. È usuale effettuare ricerche su questo tipo di database tramite l’utilizzo di query esatte, che specificano non solo cosa cercare, ma anche dove cercarlo, ovvero la tabella e la colonna contenenti quanto di interesse. Il keyword search è un meccanismo di Information Retrieval già utilizzato efficientemente nell’interrogazione di documenti testuali, come ad esempio nei motori di ricerca sul web. Permette di effettuare ricerche non esatte, cioè di trovare i documenti che assomigliano maggiormente alla query data, utilizzando le keyword della query per individuare le esigenze informative dell’utente e ordinare di conseguenza i documenti. Visti i suoi vantaggi, come ad esempio la mancata necessità di conoscere la struttura dei dati, si stanno studiando metodi per poter applicare tecniche di keyword search anche a database relazionali (RDB). Il problema principale risiede nel modo attraverso il quale si trasformano le entry dell’RDB in documenti sui quali effettuare la ricerca. Esistono già diverse tecniche che si pongono questo obiettivo, ma non è ancora presente un vero e proprio standard de facto. Non esistendo infatti una risposta esatta, la correttezza di questa dipende da diversi fattori: è possibile valutare il risultato tramite parametri come accuracy, precision e recall, ma questi dipendono anche da quanto l’utente ritiene rilevante una determinata risposta. La valutazione dipende quindi dalla soggettività con la quale un utente considera la propria soddisfazione, al contrario della valutazione di un sistema di ricerca esatto su database relazionali che si basa in maniera oggettiva sul calcolo delle performance, come ad esempio velocità di indicizzazione, ricerca, eccetera. Inoltre esistono diverse funzioni per valutare la similarità tra la query sottoposta e i documenti tra i quali effettuare la ricerca. Esistono quindi molte possibilità di studiare nuove tecniche per implementare questo tipo di ricerca focalizzandosi sulla massimizzazione di differenti aspetti a discapito di altri. In questo elaborato, per prima cosa, sono stati studiati e implementati metodi di keyword search già esistenti per poterli analizzare e valutare eventuali punti di forza, di criticità e possibili miglioramenti. Successivamente, partendo da queste implementazioni si è provato ad apportare delle piccole modifiche per ovviare ad alcune delle problematiche riscontrate. Oltre a questo, si è provato a studiare ed implementare nuove tecniche mirate a massimizzare l’accuratezza della risposta a discapito di tempi di esecuzione meno performanti, adottando tecniche online, che elaborano cioè tutti i dati in fase di ricerca, ottimizzando diversamente la risposta a seconda della query inserita, non prevedendo fasi di indicizzazione offline che stabiliscano a priori lo score di ogni keyword ricercata.
|