Cos’è l’Information Retrieval

Posted on 22 giugno 2009

3


“Information Retrieval” significa più o meno “rintracciamento delle informazioni”. E funziona all’incirca così: prendete la Divina Commedia di Dante Alighieri. Supponete di voler trovare quel certo canto in cui appaiono le parole “Adamo” e “serpente” ma non “Eva”.

Un metodo per farlo è leggere tutta l’opera dall’inizio e segnarsi, per ogni canto, se questo contiene sia la parola “Adamo” che la parola “serpente”; nel caso dovesse apparire la parola “Eva” escluderete comunque quel canto dalla lista.
Un computer riesce ad applicare questo metodo con una certa facilità, metodo che viene comunemente chiamato “grepping” dal nome del comando UNIX “grep“, che fa proprio questo.
Il grepping, se effettuato con la potenza di calcolo offerta dai moderni computer, può essere un metodo davvero efficace per trovare corrispondenze testuali, grazie anche alla potente sintassi che il comando grep utilizza: le regular expression. Ma il grep non è sempre sufficiente: ad esempio fallisce (o fatica)

  • in caso di grandi quantità di documenti,
  • in caso di condizioni complesse (trovami la parola “dimonio” se appare nella stessa frase in cui appare anche “legno”),
  • in caso dovessero servire anche quelle corrispondenze non del tutto afferenti alla nostra ricerca ma che dopotutto ci si avvicinano…

Esiste un secondo metodo. Per evitare la scansione lineare di tutto il testo ogni volta che si effettua un ricerca si può indicizzare preventivamente tutto il testo (meglio: ogni parte di questo testo) e segnarsi da qualche parte le caratteristiche che questo presenta; quando vorremo lanciare una richiesta sarà sufficiente guardare in questa “qualche parte” (il cosiddetto indice) se la corrispondente caratteristica è vera o falsa. Ad esempio, potremmo creare un elenco di tutte le parole usate da Dante e segnarci, per ogni canto, se quella parola vi appare o meno. Basterà un semplice “sì/no” accanto ad ogni parola, ovvero un’informazione di tipo binario, per avere una tabella che abbia tutte le parole in riga e tutti i canti in colonna.

Ma in questo modo non avremo ottenuto solamente un elenco di parole per ogni canto, bensì anche un elenco di canti per ogni parola (beh, questa era facile: una tabella può essere ribaltata a piacere…). Per questo motivo si parla anche di inverted index, indice inverso.

Da qui in avanti potete proseguire la lezione utilizzando il pdf in inglese
Introduction to Information Retrieval.pdf” (aprile 2009, Cambridge University Press)

Information Retrieval significa dunque cercare materiale (per lo più documenti) di natura non strutturata (per lo più testi) che soddisfi una necessità informativa e che provvenga da collezioni particolarmente corpose (per lo più salvate in digitale).