...temo che dal titolo non si capisca molto
devo consegnare l'ultima parte di un progettino dell'uni.. un piccolo motore di ricerca...
quello che ho è uun albero binario di ricerca che costituisce un dizionario contenente tutte le parole contenute in tutti i files del corpus (i files su cui effettuare la ricerca).
A questo punto del progetto devo fare il sistema di ranking.. il prof ci ha suggerito anche il metodo per stabilire la rilevanza del documento rispetto ad una query:
Il dizionario ha N parole.. allora un vettore "query" di N elementi avrà l'elemento i-esimo pari ad 1 se la corrispondente parola del dizionario è presente nella query, 0 altrimenti.
Similmente un file di testo avrà un vettore dello stesso tipo.
Il prodotto scalare tra i due vettori sarà tanto maggiore quanto minore è l'angolo tra i due vettori... ovvero quante più parole in comune abbiano.
Ok.. un po' laborioso ma chiaro...
il problema è come mi conviene implementare la cosa?
Ho l'albero di ricerca... pensavo di farne una lista ordinata delle parole e da quella calcolarmi il vettore dell file di query. Poi per ogni file calcolarne il vettore e calcolare il prodotto scalare con il vettore query memorizzando di volta nomefile e valore del prodotto in struct che mi ordino con una lista...
è la strada giusta?
mi sembra pareeeeeeeeeecchio laborioso..
tnx