• Non ci sono risultati.

Filologia e Information Retrieval: progettazione e sviluppo di un motore di ricerca per EVT

N/A
N/A
Protected

Academic year: 2021

Condividi "Filologia e Information Retrieval: progettazione e sviluppo di un motore di ricerca per EVT"

Copied!
163
0
0

Testo completo

(1)

Università degli studi di pisa

dipartimento di filologia, letteratura e linguistica

Corso di laurea magistrale in Informatica Umanistica

Filologia e Information Retrieval:

progettazione e sviluppo di un motore di ricerca per EVT

tesi di laurea magistrale

RELATORI:

Prof. Roberto Rosselli Del Turco Dott. Angelo Mario Del Grosso

CONTRORELATORE: Prof.

CANDITATO: Giulia Cacioli

(2)

Indice

Introduzione 10

I Filologia digitale e Information Retrieval

14

1 Elementi di filologia digitale 15

1.1 Informatica umanistica . . . 16

1.2 L’informatica umanistica al servizio degli studi filologici: l’edizione digitale 18 1.2.1 Le potenzialità del mezzo elettronico . . . 20

1.2.2 I problemi inevitabili . . . 22

2 Elementi di Information Retrieval 24 2.1 Il bisogno e la ricerca di informazioni . . . 24

2.2 I tipi di dato . . . 27

2.3 Sistemi di recupero delle informazioni . . . 28

2.4 Information retrieval e dati semi-strutturati: XML retrieval . . . 30

3 I motori di ricerca 34 3.1 Architettura dei motori di ricerca . . . 36

3.1.1 Indexing process . . . 36

3.1.2 Query process . . . 40

II Analisi e progettazione

43

4 La funzionalità di ricerca in EVT 2: il contesto 44 4.1 Ciclo di vita del software . . . 44

4.1.1 Il ciclo di vita di EVT 2 Search . . . 45

4.2 EVT: Edition Visualization Technology . . . 47

4.2.1 EVT 1 Search: uno sguardo al motore di ricerca . . . 49

(3)

5 Analisi dei requisiti 53

5.1 Analisi del motore di ricerca . . . 53

5.1.1 Principi di analisi del motore di ricerca . . . 53

5.1.2 Alcuni esempi di motori di ricerca in edizioni digitali: funziona-lità e interfaccia utente . . . 55

5.1.3 Definizione delle user stories . . . 65

5.2 Analisi dell’interfaccia utente . . . 69

5.2.1 Principi di analisi dell’interfaccia utente . . . 69

5.2.2 Definizione delle user stories e componenti fondamentali . . . 70

5.2.3 Revisione e riscrittura delle user stories . . . 72

6 Progettazione 74 6.1 Progettazione del motore di ricerca . . . 74

6.1.1 Principi di progettazione del software . . . 74

6.1.2 Principi di progettazione dell’architettura di un software . . . 76

6.1.3 UML: Unified Modeling Language . . . 78

6.2 Progettazione dell’interfaccia utente . . . 88

6.2.1 Principi di progettazione dell’interfaccia utente . . . 88

6.2.2 Prototipi per il motore di ricerca di EVT 2 . . . 93

III Implementazione

99

7 L’ambiente di sviluppo 100 7.1 Il framework AngularJS . . . 100

7.2 Librerie a supporto del motore di ricerca . . . 106

7.2.1 Analisi di alcune librerie di ricerca . . . 107

7.2.2 La libreria lunr.js: creazione dell’indice e ricerca . . . 109

7.2.3 La libreria mark.js per la funzionalità di evidenziazione . . . 111

7.2.4 La libreria Keyboard per la creazione della tastiera virtuale . . . . 112

8 Implementazione del motore di ricerca 114 8.1 Implementazione dei parser . . . 114

(4)

8.1.2 L’inizializzazione della funzionalità di ricerca e la creazione dei parser . . . 116 8.1.3 Il parsing degli elementi . . . 121 8.2 Implementazione della parte legata all’indicizzazione . . . 127 8.2.1 Sviluppo del tokenizer personalizzato e aggiunta dei metadati . . 129 8.3 Implementazione della funzionalità di query . . . 132 8.4 Gestione dei risultati di ricerca . . . 133 8.4.1 Implementazione della ricerca case sensitive . . . 136

9 Implementazione dell’interfaccia utente 138

9.1 Sviluppo del componente che gestisce il box di ricerca . . . 138 9.1.1 Sviluppo del componente che gestisce i risultati di ricerca . . . . 141 9.1.2 Sviluppo del componente che gestisce la tastiera virtuale . . . 143 9.2 Risultato finale dell’interfaccia utente . . . 145

10 Conclusioni 148

Bibliografia 151

(5)

Elenco delle figure

2.1 Il modello di comportamento nella ricerca di informazione delineato da

Wilson. . . 26

2.2 Architettura di un tipico sistema di Information Retrieval. . . 29

2.3 Frammento di testo di Romeo and Juliet di Shakespeare (atto I, scena 1) e corrispondente indice invertito. . . 30

2.4 Divisione di un documento XML in unità di indicizzazione non sovrapposte. 33 3.1 Problemi nel recupero delle informazioni. . . 35

3.2 Componenti del processo di indicizzazione. . . 37

3.3 Componenti del processo di query. . . 41

4.1 Ciclo di vita di un software. . . 45

4.2 EVT 1: The Digital Vercelli Book. . . 48

4.3 EVT 2 demo: Edizione Logica Avicennae. . . 49

4.4 EVT 1: i risultati della ricerca accompagnati da alcune informazioni con-testuali. . . 50

4.5 EVT 1: l’evidenziazione del testo e la tastiera virtuale. . . 50

5.1 Electronic Beowulf 4.0: il motore di ricerca. . . 55

5.2 Electronic Beowulf 4.0: i risultati della ricerca. . . 56

5.3 Dante’s Commedia: il motore di ricerca. . . 57

5.4 Dante’s Commedia: i risultati della ricerca. . . 58

5.5 La dama boba: interfaccia principale e motore di ricerca. . . 58

5.6 La dama boba: i risultati della ricerca. . . 59

5.7 Samuel Beckett Digital Manuscript Project: il motore di ricerca. . . 60

5.8 Samuel Beckett Digital Manuscript Project: i risultati della ricerca. . . 60

5.9 Catullus Online: il search engine e i risultati della ricerca. . . 61

5.10 Thomas Gray Archive: il motore di ricerca. . . 62

5.11 Thomas Gray Archive: i risultati della ricerca. . . 63 5.12 Dictionary of Old English: il motore di ricerca, la tastiera virtuale e i risultati. 64

(6)

5.13 Dictionary of Old English: il dettaglio dei risultati della ricerca. . . 65

6.1 L’architettura del pattern architetturale MVC. . . 77

6.2 UML 2.5: classificazione dei diagrammi. . . 79

6.3 EVT 2 Search: il diagramma dei componenti. . . 80

6.4 EVT 2 Search: il diagramma delle classi. . . 82

6.5 EVT 2 Search: il diagramma di sequenza del parser XML. . . 85

6.6 EVT 2 Search: il diagramma di sequenza del motore di ricerca. . . 86

6.7 EVT 2 Search: il diagramma delle attività del motore di ricerca. . . 87

6.8 Il modello di design double-diamond. . . 92

6.9 Processo iterativo del design incentrato sull’uomo. . . 92

6.10 Progettazione dell’interfaccia utente: il pulsante per aprire il box di ricerca. 93 6.11 Progettazione dell’interfaccia utente: la barra di ricerca con i pulsanti per attivare/disattivare le opzioni ed l’evidenziazione dei risultati nel testo. 94 6.12 Progettazione dell’interfaccia utente: la tastiera virtuale. . . 95

6.13 Progettazione dell’interfaccia utente: i risultati di ricerca. . . 95

6.14 Progettazione dell’interfaccia utente: il pulsante di indicizzazione. . . 97

6.15 Progettazione dell’interfaccia utente: i risultati della ricerca. . . 97

7.1 AngularJS: two-way data-binding. . . 100

9.1 Interfaccia finale: pulsante di indicizzazione e di ricerca. . . 145

9.2 Interfaccia finale: creazione dell’indice. . . 145

9.3 Interfaccia finale: componenti del box di ricerca. . . 146

9.4 Interfaccia finale: risultati della ricerca. . . 146

(7)

Elenco degli estratti di codice

2.1 Estratto di codifica XML di The Tragedy of Macbeth di Shakespeare. . . . 31

7.1 AngularJS: definizione di un modulo. . . 101

7.2 AngularJS: applicazione del modulo al codice HTML. . . 101

7.3 AngularJS: definizione di un controller. . . 102

7.4 AngularJS: definizione di una direttiva personalizzata. . . 103

7.5 AngularJS: definizione diconstantevalue. . . 104

7.6 AngularJS: utilizzo diconstantevalue. . . 104

7.7 AngularJS: definizione di unservice. . . 105

7.8 AngularJS: definizione di unfactory. . . 105

7.9 AngularJS: differenza traserviceefactory. . . 105

7.10 AngularJS: definizione di unprovider. . . 106

7.11 La libreria lunr.js: la struttura JSON per la creazione dell’indice. . . 109

7.12 La libreria lunr.js: la creazione dell’indice. . . 110

7.13 La libreria lunr.js: aggiunta di metadati personalizzati. . . 110

7.14 La libreria lunr.js: utilizzo dei metadati personalizzati. . . 110

7.15 La libreria lunr.js: ricerca di uno o più termini. . . 111

7.16 La libreria lunr.js: ricerca di uno o più termini con l’aggiunta di opzioni. 111 7.17 La libreria mark.js: inizializzazione di una nuova istanza. . . 111

7.18 La libreria mark.js: inizializzazione di una nuova istanza ed evidenzia-zione dei termini. . . 112

7.19 La libreria Keyboard: inizializzazione. . . 112

7.20 La libreria Keyboard: il collegamento della tastiera a un campo di input. . 112

7.21 La libreria Keyboard: alcuni metodi. . . 113

8.1 EVT 2 Search: estratto di codifica XML di The Dream of the Rood. . . 115

8.2 EVT 2 Search: il modello dati dei documenti dell’indice. . . 116

8.3 EVT 2 Search: creazione dell’indice e inizializzazione della funzionalità di ricerca. . . 117

(8)

8.4 EVT 2 Search: inizializzazione della funzionalità di ricerca. . . 118

8.5 EVT 2 Search: creazione del parser. . . 119

8.6 EVT 2 Search: creazione dell’interfaccia dei parser. . . 120

8.7 EVT 2 Search: il metodoparseElements()del parserLbParser. . . 121

8.8 EVT 2 Search: il metodo di LbParserche permette di recuperare i nodi necessari. . . 122

8.9 XPath 1.0: sintassi di una query XPath in JavaScript. . . 122

8.10 EVT 2 Search: la struttura della costante che contiene le query XPath relative al motore di ricerca. . . 123

8.11 EVT 2 Search: il metodogetLineInfo()del parser di tipoLbParser. . . 124

8.12 EVT 2 Search: estrazione del testo del documento da indicizzare. . . 125

8.13 EVT 2 Search: il metodogetContent()che estrae il testo relativo al do-cumento da indicizzare. . . 126

8.14 EVT 2 Search: il metodogetGlyph()che estrae il glifo corrente. . . 127

8.15 EVT 2 Search: il metodo che avvia la fase di indicizzazione. . . 128

8.16 EVT 2 Search: disattivazione di alcune opzioni relative all’indice. . . 128

8.17 EVT 2 Search: gestione delle parole composte nell’indice. . . 129

8.18 EVT 2 Search: il tokenizer personalizzato e la gestione delle parole com-poste. . . 130

8.19 EVT 2 Search: aggiunta di un metadato personalizzato. . . 131

8.20 EVT 2 Search: utilizzo di un metadato personalizzato nella creazione dell’indice. . . 131

8.21 EVT 2 Search: il metodo di default utilizzato per effettuare una query. . . 132

8.22 EVT 2 Search: il metodo che permette la ricerca per parola esatta. . . 133

8.23 EVT 2 Search: estratto della callback del pulsante di ricerca. . . 133

8.24 EVT 2 Search: l’oggetto contenente i risultati della ricerca restituiti da lunr.js. . . 134

8.25 EVT 2 Search: dettaglio dell’oggetto contenente i risultati della ricerca restituiti da lunr.js. . . 134

8.26 EVT 2 Search: l’oggetto contenente i risultati della ricerca organizzati per edizione e token. . . 135

(9)

8.27 EVT 2 Search: estratto di codice che controlla la presenza o meno di

wildcard nella query. . . 136

8.28 EVT 2 Search: gestione dei wildcard nella ricerca case-sensitive. . . 137

9.1 EVT 2 Search: dichiarazione del modulo relativo alla ricerca. . . 138

9.2 EVT 2 Search: dichiarazione della direttiva del box di ricerca. . . 139

9.3 EVT 2 Search: stato degli elementi relativi al box di ricerca. . . 140

9.4 EVT 2 Search: costruzione dei pulsanti presenti nel box di ricerca. . . 140

9.5 EVT 2 Search: costruzione dei bottoni presenti nel box di ricerca. . . 141

9.6 EVT 2 Search: inserimento del componente di ricerca all’interno del box contenente il testo del documento. . . 141

9.7 EVT 2 Search: inserimento del componente dei risultati della ricerca all’interno del box di ricerca. . . 142

9.8 EVT 2 Search: collegamento del metodo che permette il collegamento risultato/testo all’elemento HTML. . . 142

9.9 EVT 2 Search: il metodo che permette il collegamento risultato/testo. . . 142

9.10 EVT 2 Search: il metodo che permette di aggiornare la pagina. . . 143

9.11 EVT 2 Search: il metodo che permette di scorrere fino alla riga corretta. . 143

9.12 EVT 2 Search: configurazione dei caratteri della tastiera virtuale. . . 144

(10)
(11)

Introduzione

Il testo è tutto il nostro bene; nessuna nostra escogitazione per quanto bril-lante o suggestiva può valere e significare di più del testo nella sua maestà. Questa maestà coincide con la verità, che è nostro dovere perseguire con impegno, nel testo e ovunque.

— Cesare Segre, Ritorno alla critica

L’avvento dell’informatica nell’ultima metà del XX secolo ha trasformato in modo sostanziale metodi, tecniche e strumenti per lo studio scientifico del testo, nonché il modo in cui gli studi testuali possono essere concepiti e condotti.

Da sempre l’umanità si impegna a realizzare e sfruttare i mezzi più efficaci per pro-durre, registrare e trasmettere saperi e conoscenze: passando dalle incisioni su tavolette di argilla alla scrittura su rotoli di papiro e, successivamente, su pergamena, è arriva-ta all’utilizzo di caratteri sarriva-tampati su cararriva-ta. Ognuno di questi momenti di passaggio da un metodo di trasmissione all’altro è caratterizzato da un minimo comun denominato-re, ossia il cambiamento. Cambiamento sia in termini del supporto materiale sul quale registrare l’informazione (tavolette di argilla, papiro, pergamena, carta), sia in termi-ni di metodologie per sfruttare al meglio le tecnologie dispotermi-nibili (incisione, scrittura, stampa).

Oggi stiamo assistendo a un altro profondo cambiamento nella produzione e diffusio-ne della conoscenza, «ci troviamo diffusio-nel mezzo di una gigantesca opera di traghettamento, di traduzione della cultura da un formato all’altro.»1

Pensiamo all’immagine che ci presenta Thomas Mann raccontando gli ultimi attimi della vita di Goethe: «moriva scrivendo [...] esercitava questa attività per cui il corporeo si scioglie e si fa spirito, e i prodotti dello spirito si consolidano, e restano.»2Lo spirito che

si consolida sulla carta, che si trasferisce in essa, è una metafora che racchiude il senso intero di un’epoca basata sull’universo scrittorio del manoscritto e della stampa, l’epoca 1 Fiormonte 2003, p. 9.

(12)

dell’edizione intesa come testimonianza ultima di un autore, consegnata alla storia per essere letta e interpretata. Ci troviamo di fronte a un’immagine che parla di un universo confinato e ben definito, un “universo della carta” che si distanzia drasticamente dal nuovo “universo elettronico” al quale stiamo andando incontro. Questo è per definizione dinamico, mutabile, in continuo movimento, virtuale. Fiormonte afferma che potremmo vedere questo spazio elettronico come una sorta di «[desacralizzazione] di quel prodotto dello spirito di cui parla Mann»3, come una vera e propria rifondazione delle tecniche di

scrittura e di fruizione dell’edizione. Personalmente preferisco vederlo, non solo come un nuovo inizio, ma anche come un proseguimento del nostro essere e del nostro spirito, un’evoluzione dei metodi con cui si pubblicano e vengono visualizzate le edizioni. Non parlerei quindi di desacralizzazione, ma piuttosto di “ancora di salvezza della cultura”, una cultura registrata su supporti materiali che corre il rischio di subire danni o andare distrutta con il passare del tempo.

Questo grande spostamento del sapere, portato avanti da una comunità internazio-nale molto dinamica e fervente, è supportato dalla nascita e dallo sviluppo di un nuovo settore di studi interdisciplinare: l’informatica umanistica. L’informatica umanistica, come affermato da Fiormonte, «It is not really about new instruments, but about a dif-ferent way of representing (and accessing) knowledge and culture through digital in-struments.»4Questo differente modo di rappresentare e accedere alla cultura costituisce

un chiaro superamento della fissità del testo a stampa. Un’edizione digitale, infatti, ha la capacità di restituire sullo schermo la mobilità del testo precedentemente fissata su un supporto cartaceo; ha la capacità di dare vita alla storia della tradizione testuale rap-presentandola in costrutti ipertestuali, offrendo al filologo la possibilità di pubblicare le sue ricerche su un supporto digitale, in modo da creare un’edizione elettronica che si trasforma in strumento per la ricerca accademica.

Oltre a considerare l’importanza del cambiamento che stiamo attraversando, dob-biamo soffermarci sull’altrettanto importante e fondamentale aspetto del recupero della cultura, in quanto l’edizione, una volta digitalizzata e pubblicata, rischia di perdersi tra le miriadi di informazioni presenti nel Web. Esso è un’universo dinamico, mobile, veloce, in continuo movimento e aggiornamento e la cosa più spaventosa che potrebbe accadere 3 Fiormonte 2003, p. 11.

4 Fiormonte 2015, p. 4.

(13)

in questo oceano di sapere è la perdita stessa del sapere, la perdita della tradizione cul-turale nel mare di parole del Web. Come sappiamo il Web è il più grande archivio di dati di sempre; in esso è possibile trovare informazioni di ogni genere e tipologia: letterali, musicali, cinematografiche, artistiche, e così via. Di fronte a tutto questo è fondamentale avere a disposizione degli strumenti appositamente realizzati per facilitare l’accesso alle informazioni, ossia i motori di riceca. Essi sono le canne da pesca del Web, un mezzo con il quale è possibile recuperare la conoscenza, un mezzo per permettere e incoraggia-re studi e ricerche.

È in questa cornice che si colloca EVT (Edition Visualization Technology),5 un

soft-ware open source per la pubblicazione di edizioni digitali basate sullo schema di codifica proposto dal consorzio TEI (Text Encoding Initiative).6 Esso nasce nel contesto del

Vercel-li Book Digitale7e si propone come strumento che permette agli studiosi, in particolare a

coloro che non hanno la possibilità di rivolgersi a un team specializzato, di pubblicare e diffondere i risultati delle proprie ricerche. Originariamente pensato per la pubblicazio-ne di edizioni diplomatiche e/o interpretative con giustapposiziopubblicazio-ne di testo e immagipubblicazio-ne (le cosiddette edizioni image-based), nel corso degli ultimi anni il software è stato esteso e arricchito grazie a diverse collaborazioni,8arrivando a introdurre, nell’attuale versione,

la funzionalità per il supporto alle edizioni critiche.9

Questa tesi si propone di proseguire lo sviluppo di EVT 2, aggiungendovi l’importan-te funzionalità di ricerca già presenl’importan-te nella prima versione, riorganizzandola in l’importan-termini architetturali, di scalabilità e di efficienza. In questo contributo seguiremo il percorso che mi ha permesso di raggiungere, e arricchire con nuove caratteristiche, una feature parity con il motore di ricerca di EVT 1, lasciando l’aggiunta di nuove funzionalità, come la ricerca all’interno di un’edizione critica, a sviluppi futuri.

Il lavoro svolto è diviso in tre parti e si è articolato in altrettante fasi principali: 5 EVT:http://evt.labcd.unipi.it.

6 TEI:http://www.tei- c.org/index.xml.

7 Digital Vercelli Book:http://vbd.humnet.unipi.it.

8 Tra queste ricordiamo il Codice Pelavicino Digitale, nato nel 2014 su iniziativa di Enrica Salvatori:http:

//pelavicino.labcd.unipi.it.

9 L’integrazione del supporto alle edizioni critiche è nato dalla scelta di utilizzare EVT 2 per la realiz-zazione dell’edizione digitale dei tre principali manoscritti che conservano il testo dell’Editto di Rotari (Buzzoni e Del Turco 2015).

(14)

• studio dello stato dell’arte e analisi dei motori di ricerca presenti in software simili; • analisi e progettazione del motore di ricerca e della sua interfaccia utente;

• implementazione del modulo in EVT 2.

La prima parte presenta una panoramica dello stato dell’arte relativo alla filologia digitale e all’information retrieval e del modo in cui questi due ambiti si interseca-no. Il cuore di questa parte è incentrato sullo studio dettagliato dell’architettura e del funzionamento dei motori di ricerca.

La seconda parte, relativa all’analisi e alla progettazione del modulo di ricerca, dopo una breve introduzione riguardante il ciclo di vita di un software, procede con la raccolta e l’analisi dei requisiti necessari per lo sviluppo, fino ad arrivare alla progettazione del motore di ricerca e dell’interfaccia utente. Qui vengono affrontate le caratteristiche le-gate alle user stories e discussi i problemi relativi all’interfaccia nell’ambito delle edizioni digitali.

La terza parte ospita le scelte implementative effettuate e affronta lo sviluppo vero e proprio del motore di ricerca. L’elaborato si conclude con un’esposizione di come il modulo di ricerca si inserirà negli sviluppi futuri di EVT.

(15)

Parte I

Filologia digitale e Information

Retrieval

(16)

Capitolo 1

Elementi di filologia digitale

Oggi si sente spesso parlare di crisi delle discipline umanistiche. A un primo sguardo l’avvento della cosiddetta rivoluzione digitale pare confermare questa tendenza di pen-siero che pervade la letteratura degli ultimi decenni (dalla fine del XX all’inizio del XXI secolo). In molti ambienti accademici si è manifestata la possibile, se non inesorabile, crisi del libro: una sorta di crisi di identità del testo, che si separa dal tradizionale sup-porto cartaceo e si dematerializza in ambienti digitali, con lo scopo di essere ricostruito e presentato sugli schermi dei dispositivi elettronici.

Le parole stampate hanno la caratteristica di essere ferme, statiche, racchiuse nei limiti del foglio di carta. Con i cambiamenti tecnologici che hanno pervaso gli ultimi anni, esse si sono dovute staccare dalla carta per raggiungere una diversa destinazione, lo schermo, antitetica a quella precedente e alla quale è difficile adattarsi. L’ambien-te digitale è caratL’ambien-terizzato da dinamicità e mobilità; esso è in continuo movimento e cambiamento e le parole dovranno adeguarsi a questo nuovo ambiente. Se di crisi vo-gliamo parlare allora è opportuno definirla come una crisi di identità della parola, che deve trasformarsi in qualcosa d’altro e vivere in un ambiente che richiede un continuo reinventarsi.

Il modo di accedere alla conoscenza sta cambiando. Le discipline umanistiche stanno vivendo uno di quei rari momenti di cambiamento paragonabili ad altre grandi trasfor-mazioni storico-culturali, come il passaggio dal rotulo al codex o l’invenzione della stam-pa. Le scienze umane, infatti, stanno attraversando un’era potenzialmente molto florida, ove poter giocare un ruolo fondamentale nello sviluppo della vita pubblica.1 In questo

cambiamento gioca un ruolo primario la trasmissione della conoscenza. Trasmissione della conoscenza vista come trasmissione del sapere in una prospettiva storica, cioè come modalità per mantenere un filo con il passato e collegarlo al futuro tramite il presente. Vediamo quindi come la parola passa dal passato (libro cartaceo) al futuro (libro digitale)

1 Burdick et al. 2012.

(17)

servendosi del presente. La figura del filologo, tramite i suoi studi, ha da sempre avuto un ruolo centrale nella trasmissione del sapere,2ma, a prima vista, risulta difficile

collo-carlo in questa nuova realtà, data la sua predispozione all’utilizzo di metodi tradizionali. Così come la parola deve reinventarsi continuamente, anche la figura del filologo deve e dovrà farlo, ma fino a un certo punto: ci saranno cambiamenti dal punto di vista del metodo di lavoro, con l’uso di nuovi strumenti, così come dal punto di vista del prodotto finale, che avrà caratteristiche diverse dal prodotto che gli studiosi erano soliti ottenere, ma non ci sarà alcun tipo di cambiamento dal punto di vista strettamente filologico, in quanto il percorso e gli obiettivi finali da raggiungere rimarranno gli stessi, a prescindere dalla metodologia adottata.

Una delle figure indispensabili per operare questo importante e complesso traghetta-mento del sapere è quella dell’informatico umanista, protagonista di una disciplina dagli sviluppi recenti: l’informatica umanistica.

1.1 Informatica umanistica

L’informatica umanistica è un settore di studi inter-disciplinare che si colloca all’in-tersezione tra varie discipline sia quantitative, sia qualitative.3 In altre parole, visti gli

effetti che lo sviluppo delle tecnologie hanno esercitato sugli studi accademici, può esse-re considerata come informatica applicata alle discipline umanistiche, e ha come obietti-vo quello di definire le modalità più efficaci per rappresentare l’informazione a seconda dell’ambito di studio, elaborandola con le opportune procedure, idonee alle specifiche indagini nei diversi domini d’interesse.

È importante evidenziare come l’informatica umanistica non intenda sostituirsi, co-me molti pensano,4 alle discipline umanistiche, o sovvertirne i valori, ma piuttosto

af-fiancarle e sostenerle. Essa si propone sì come protagonista di un’innovazione di ampia 2 Il filologo, letteralmente “amante della parola”, ha come obiettivo principale la ricostruzione della forma originaria di un testo attraverso l’analisi critica e comparativa delle fonti. Lo scopo finale è quello di arrivare a un’interpretazione del testo che sia la più corretta possibile, in modo da definire il contesto storico di collocazione.

3 Buzzetti 2011.

4 L’idea che vede l’informatica umanistica come una minaccia per le discipline umanistiche, così come il rifiuto nel considerarla disciplina autonoma, è un tema delicato, parte di un importante dibattito teorico, che ha prodotto negli ultimi decenni un cospicuo patrimonio di studi specialistici (vedi Orlandi 2002; Fiormonte 2001).

(18)

portata nei metodi e negli strumenti di lavoro per lo studioso di scienze umane, ma non intende rifiutare o ripudiare la tradizione degli studi umanistici preesistenti, bensì recu-perarla e allargarla. L’informatico umanista è consapevole della propria eredità culturale e si impegna, forse persino più di altri, nella sua produzione, conservazione, diffusione e valorizzazione. Inoltre l’informatica umanistica si impone sempre più come disciplina autonoma, mettendo da parte quelle idee secondo le quali sarebbe un mero strumento di lavoro, privo di rilievo teorico e metodologico.5

Cerchiamo di individuare più da vicino i campi d’indagine e i metodi di questa di-sciplina. Nell’ambito dell’informatica umanistica è sicuramente centrale, da un lato, la riflessione sulle modalità di rappresentazione e di codifica dell’informazione adatte per il lavoro dell’umanista, dall’altro, le modalità di produzione, manipolazione, gestione, di-stribuzione, reperimento e conservazione nel tempo di tali informazioni. A questi ambiti di riflessione si ricollegano, direttamente o indirettamente, settori ed esperienze di gran-de rilievo, quali l’uso di strumenti informatici nel settore gran-dell’ecdotica e gran-della filologia, volti alla realizzazione di edizioni elettroniche di testi, o l’uso dei linguaggi di marcatura per rappresentare le caratteristiche strutturali, formali e semantiche del testo.

Possiamo quindi dire che l’informatica umanistica è caratterizzata da una propria e specifica identità metodologica. A questo riguardo Tito Orlandi sottolinea l’importanza dell’uso di procedure computazionali basate su formalizzazioni rigorose, elaborate a par-tire dalla costruzione di modelli relativi ai propri oggetti di studio.6L’informatica

umani-stica utilizza le nuove tecnologie come strumento di conoscenza e interpretazione e vede nella codifica delle informazioni e nell’individuazione dei processi di elaborazione l’occa-sione per una riflesl’occa-sione epistemologica sulla natura stessa delle discipline umanistiche, tutto nel pieno rispetto della particolare natura del proprio oggetto di studio.

Come possiamo evincere dalle considerazioni esposte, il riconoscimento del ruolo dell’informatica umanistica è decisivo, perché anche da esso dipende la capacità della cultura umanistica di affrontare le sfide future, senza però rinunciare ai propri valori e alla propria natura.

5 Roncaglia 2002.

6 Roncaglia 2002, capitolo 5.

(19)

1.2 L’informatica umanistica al servizio degli studi

fi-lologici: l’edizione digitale

Gli studi di ambito filologico potrebbero sembrare molto lontani dalle dinamiche che caratterizzano l’applicazione delle tecnologie digitali alle scienze umane. Essi, in-fatti, seguono una rigida metodologia, sono concentrati sul testo, sui libri e sulla loro produzione, prediligendo una linea conservativa e talvolta vedendo le nuove tecnologie come una minaccia o come strumenti di potenziale sovvertimento del metodo di lavoro classico.7

L’idea di un connubio testo-informatica è in genere entusiastica da parte dei pochi che dominano le tecniche e gli strumenti digitali, mentre è cauta e sospettosa da parte della maggioranza degli accademici. Questo scetticismo si fonda sostanzialmente su una concezione strumentale del mezzo informatico, che identifica nel calcolatore elettroni-co solo una potente e veloce macchina da calelettroni-colo automatica, distante dall’oggetto di studio, disconoscendo così le potenzialità dell’informatica intesa come disciplina della rappresentazione, del trattamento e della gestione delle informazioni trasmesse da una o più fonti.8

Tuttavia alcune discipline, al contrario di quanto ipotizzato, come la filologia o la storia antica, sono state tra le prime a utilizzare sistematicamente i nuovi strumenti. Ciò è dovuto in parte all’interesse che alcuni studiosi hanno nutrito negli anni ’80 e ’90 nei confronti dell’informatica e dell’uso di procedure automatizzate in calcoli statistici, ma anche all’avvicinamento verso gli studi filologici di molte persone influenti nel settore. L’uso di strumenti tecnologici non ha solamente condizionato lo sviluppo degli studi umanistici, ma ha modificato le consolidate prassi e metodologie rivelandosi un poten-te mezzo, tanto da rivoluzionare i tradizionali metodi di pubblicazione. Uno dei primi passi compiuti nel contesto digitale è stato quello di rendere disponibili in forma elet-tronica i testi di autori greci e latini. Un caposaldo di questa trasformazione fu l’impresa del 1972 di creare un’edizione elettronica del Thesaurus linguae Graecae (TLG),9il primo

tentativo nell’ambito delle discipline umanistiche di produrre un vasto corpus digitale 7 Roncaglia 2002.

8 Buzzoni 2005.

(20)

di testi letterari, partendo da Omero fino alla caduta di Bisanzio, al quale poi seguirono progetti simili che utilizzarono, accanto ai testi latini, anche testi di altre lingue anti-che. Nonostante molti documenti fossero disponibili in formato elettronico, dalla fine degli anni ’80 non ci furono gravi ricadute sulla produzione e sulla distribuzione di edi-zioni stampate, in quanto le versioni elettroniche venivano considerate uno strumento di ricerca aggiuntivo più che uno sostitutivo.10L’innovazione più importante, infatti, fu

lo sviluppo nel 2001 del motore di ricerca interno al TLG, che rese ricercabile l’intero corpus. Per cogliere l’importanza di questo sviluppo basti pensare che una ricerca per parole chiave condotta con l’ausilio di strumenti elettronici può restituire i risultati vo-luti nel giro di pochi secondi, contro il lavoro di svariati giorni. Da questo momento si aprì una strada promettente che favorì due conseguenze di vasta portata. In primo luogo, gli studiosi grazie alla possibilità di fare ricerche in tempi più brevi, iniziarono ad affrontare argomenti più complessi, impossibili da prendere in considerazione senza la disponibilità di strumenti avanzati. Diventò fattibile, per esempio, studiare l’evoluzio-ne semantica di specifiche parole con una semplice ricerca l’evoluzio-nel database, riorganizzando successivamente i risultati in ordine cronologico. In secondo luogo, un grande passo in avanti fu fatto nell’identificazione di piccoli frammenti di papiro o pergamena, impresa ardua senza l’ausilio di un database, generalmente possibile solo se tali oggetti avessero riportato frasi o parole chiave. In questo modo i testi frammentari, trascurati perché di difficile identificazione, ritornarono ad attirare l’attenzione degli studiosi.

Accanto alla digitalizzazione del testo, un altro passo in avanti fu quello legato alle immagini, che in pochi anni raggiunsero risoluzioni altissime e furono di grande aiuto per i ricercatori, soprattutto per quanto riguarda lo studio delle parti danneggiate o poco comprensibili. In alcuni casi, anche se gli sviluppi a riguardo sono recenti, le immagini erano fruibili gratuitamente grazie alle connessioni Internet o ai siti Web delle istituzioni pubbliche, delle università, degli archivi e dei musei. La possibilità d’accesso alle risor-se di studio in rete ebbe notevoli conrisor-seguenze sul piano della metodologia di lavoro: il controllo dei testi divenne più semplice e la qualità delle pubblicazioni maggiore. Para-dossalmente rendendo le immagini disponibili, aumentò la centralità del testo, in quanto si rivelarono di grande aiuto per studiare a fondo tutte le sue varie dimensioni.

10Palme 2014.

(21)

1.2.1 Le potenzialità del mezzo elettronico

I nuovi avanzamenti che caratterizzano le edizioni digitali sono strettamente collegati alle potenzialità tecniche del mezzo elettronico.

Una delle caratteristiche di più grande rilievo è la capacità dei dispositivi elettronici di gestire ed elaborare enormi quantità di dati di varia tipologia in tempi sostanzialmente accettabili, aspetto che segna una netta discontinuità dal lungo e faticoso lavoro manua-le. In un articolo del 195911 James McDonough prese come esempio il lavoro di James

Turney Allen, che spese 43 anni per creare le concordanze dell’Euripide, un’attività che un computer potrebbe eseguire in tempi molto minori. Questo esempio dimostra come l’utilizzo delle tecnologie elettroniche potrebbe rivoluzionare la ricerca nell’ambito de-gli studi umanistici, supportando attività un tempo eseguite esclusivamente a mano e facendo risparmiare una notevole quantità di tempo.

Inoltre, la perdita dei vincoli imposti dall’edizione a stampa permette di integrare nell’edizione tutti quei materiali, tradizionalmente esclusi, che l’editore ritiene rilevanti per permettere al lettore di verificare nel migliore dei modi (ed eventualmente confutare) le scelte editoriali.

Importante anche la recente politica di pubblicazione in base al criterio noto co-me Open Access, che perco-mette la reperibilità gratuita di grandi quantità di docuco-menti, promuovendo una democratizzazione della conoscenza e un’accessibilità continua del patrimonio culturale.12 Essa offre la possibilità di migliorare la qualità della ricerca e

fornire gratuitamente a un pubblico più ampio l’accesso a svariati contenuti accademici. L’informazione diventerà sempre più semplice da reperire e riutilizzare, quindi maggiore accessibilità e diffusione, il che significa avanzare sia sul piano della ricerca, sia su quello riguardante i benefici per la società in generale.

Un’ulteriore potenzialità chiave del mezzo elettronico è quella di incoraggiare nuovi tipi di collaborazione. Non a caso, Peter Robinson sostiene che il più grande cambiamen-to nella pratica dell’editing è quello della creazione di nuovi modelli di collaborazione: «it changes who we collaborate with, how we collaborate, and what we mean by col-laborating.»13Le prime edizioni digitali non intendevano sfidare il tradizionale modello

11McDonough 1959, p. 44. 12Palme 2014.

(22)

editoriale, nel quale un singolo editore raccoglie tutti i materiali e ha la responsabilità di tutte le scelte e decisioni finali. Nel mondo digitale questa prassi può essere supera-ta a favore della creazione di un nuovo metodo di lavoro collaborativo, nel quale si fa concreta la possibilità di intervento di molteplici studiosi e nel quale le competenze ven-gono condivise per il raggiungimento di un obiettivo comune. In questo nuovo contesto digitale, le biblioteche potrebbero, per esempio, rendere disponibili le immagini di un’o-pera letteraria, alcuni studiosi potrebbero raccogliere queste immagini e predisporne la trascrizione, mentre altri potrebbero rendere la trascrizione adatta alla pubblicazione online. In questo modo le varie comunità di studiosi hanno la possibilità di collaborare e condividere grandi quantità di informazioni, rimettendole poi a disposizione di altre comunità, creando un efficace circolo virtuoso.

Infine, l’edizione digitale può essere costruita in modo tale da mettere a confronto diverse metodologie: l’editore, per esempio, avrà la possibilità di far convivere molteplici livelli di edizione, ognuno con i propri strumenti di analisi e di visualizzazione. Questa li-bertà riflette anche l’opportunità di rendere disponibile l’edizione a un pubblico multiplo, sia generico sia specializzato. È inoltre possibile offrire, a chi non ha curato l’edizione, la possibilità di partecipare attivamente alle discussioni ed eventualmente entrare nel-l’attività editoriale vera e propria. In questo modo si riducono i tempi di reazione del prodotto scientifico e si apre un dialogo diretto tra editore e lettore critico e, talvolta, tra i lettori stessi.

Tutto ciò è possibile perché nell’ambiente digitale i dati possono essere collegati con rapidità, precisione e complessità, tutte qualità non presenti nel tradizionale mondo dei testi stampati, cosa che permette una consultazione dinamica dell’edizione, vicina al-l’interesse di ciascun potenziale fruitore. Grazie all’ipertestualità del testo elettronico e ai nuovi strumenti di ricerca avanzata, le opere possono essere esplorate in maniera più approfondita, consentendo di ottenere risultati precedentemente impensabili o con-seguibili solo in tempi elevati. In più, le edizioni digitali, come detto, possono essere il frutto di un vasto lavoro collaborativo, che ha lo scopo comune di ottenere la produzione, l’elaborazione e la trasmissione della conoscenza.

(23)

1.2.2 I problemi inevitabili

Le nuove tecnologie devono inevitabilmente affrontare vari problemi in termini di qualità, accessibilità e obsolescenza.

È di fondamentale importanza non dimenticarsi della qualità dei contenuti trasmes-si. L’ambiente digitale è un mondo poco strutturato e controllato nel quale ogni risor-sa o informazione rischia di essere mesrisor-sa sullo stesso piano in termini di credibilità e autorevolezza. In questo panorama risulta complesso, ma decisivo, valutare la qualità e l’autenticità delle informazioni e dei dati trasmessi. L’editore, prima di trasmettere infor-mazioni non sicure o erronee, ha il compito di valutare i materiali per assicurare un’alta resa qualitativa. Le informazioni devono essere selezionate e ben organizzate in modo tale da consentire all’utente una piena conoscenza del testo, che sia anche articolata, approfondita e veritiera.

Un problema molto discusso è quello della sopravvivenza e della stabilità dell’edizio-ne dell’edizio-nel vasto mondo del Web. I documenti digitali sono per loro natura fragili, molto più fragili di gran parte di quelli analogici, e la loro durata reale rischia di essere inferiore a questi ultimi. I rischi si presentano sia dal punto di vista dell’hardware, sia dal punto di vista del software. Possiamo quindi parlare da un lato del problema dell’obsolescenza dell’hardware, che con l’andare del tempo potrebbe manifestarsi nell’impossibilità di de-codificare i formati dei file, leggere i supporti di memorizzazione o eseguire i programmi; dall’altro di quello dell’obsolescenza del software, che potrebbe manifestarsi nell’incom-patibilità e nella mancata interpretazione dei dati. Il problema della conservazione dei dati digitali, che va sotto il nome di long-term preservation, è un tema molto discusso,14

ma a tutt’oggi non ci sono ancora soluzioni soddisfacenti.

Un altro rischio legato a quello della conservazione e durabilità dei dati in formato elettronico, è quello dell’inaccessibilità di tali dati. Per esempio la fruizione di un’edi-zione creata con un software specifico è limitata esclusivamente a chi ha la possibilità di accedere a tale tecnologia. Diventa quindi fondamentale tenere in considerazione l’esi-genza di mantenere il prodotto leggibile e accessibile, quindi fruibile, nel lungo termine, rendendo la risorsa indipendente da eventuali ambienti di produzione e di presentazione (software and platform independent).

(24)

Infine, ma non ultimo, non dobbiamo dimenticare il problema del digital divide.15

Anche se con il passare del tempo esso sembra ridursi e sempre più persone hanno di-mestichezza con il mondo digitale, spesso il problema che resta ancora attuale per pro-durre, o anche solo consultare, un’edizione digitale, è quello delle competenze richieste. La creazione di un’edizione digitale necessita di competenze multidisciplinari, quali filo-logia, codifica di testi, sviluppo di software e così via.16Si rivela quindi necessaria quella

collaborazione di cui si è parlato nei paragrafi precedenti, che diventerà oltre che una collaborazione all’interno di comunità specifiche, anche e soprattutto una collaborazione che interessa diverse discipline.

15Il digital divide (divario digitale) è la discrepanza esistente tra chi ha accesso alle nuove tecnologie (so-prattutto personal computer e Internet) e chi ne è parzialmente o totalmente escluso. Inizialmente legato solo all’accesso fisico alle tecnologie, oggi indica anche il divario dal punto di vista delle competenze tecnologiche necessarie (digital literacy) per interagire attivamente con gli strumenti digitali proposti (Hargittai 2002; Dijk 2006).

16Pierazzo 2017.

(25)

Capitolo 2

Elementi di Information Retrieval

L’avvento del World Wide Web alla fine del XX secolo, ha rappresentato una vera e propria rivoluzione tecnologica e socio-culturale. Da quel momento milioni di utenti hanno creato una vastissima quantità di documenti che a oggi compongono la più gran-de collezione di conoscenza gran-della storia, facendo diventare il Web un archivio universale del sapere e della cultura umana e modificando di conseguenza il nostro modo di co-municare. Contemporaneamente è sorta la necessità di sviluppare tecniche efficaci ed efficienti per il recupero e la presentazione di queste informazioni, nonché di potenzia-re i meccanismi attraverso cui accedervi. L’apotenzia-rea di studio che si occupa di analizzapotenzia-re questi aspetti e produrre tecniche adeguate tese a soddisfare le necessità di reperimento informativo è l’Information Retrieval (IR).

L’IR è un vasto campo dell’informatica il cui obiettivo è quello di fornire agli utenti strumenti utili per accedere facilmente alle informazioni. Esso si occupa della rappre-sentazione, dell’archiviazione, dell’organizzazione e dell’accesso a risorse informative, come pagine Web, oggetti multimediali e altri tipi di dati.

Information retrieval (IR) is finding material (usually documents) of an unstruc-tured nature (usually text) that satisfies an information need from within large col-lections (usually stored on computers).1

L’obiettivo principale dell’IR, quindi, è quello di soddisfare il bisogno informativo dell’utente tramite la ricerca di informazioni in documenti di natura non strutturata. Per comprendere meglio questo campo è necessario soffermarsi su due aspetti basilari, ossia il concetto di bisogno informativo e quello di documenti non strutturati.

2.1 Il bisogno e la ricerca di informazioni

La ricerca e l’uso delle informazioni è parte integrante della vita quotidiana di ogni persona. Informazioni legate al lavoro, al tempo libero, alla salute, alla famiglia, ven-1 Manning, Raghavan, and Schütze 2008, p. 1.

(26)

gono cercate costantemente tramite varie fonti e utilizzando vari mezzi, molti dei quali si rivelano essere informatici. Nel corso degli anni, diverse discipline si sono interes-sate ad analizzare le modalità attraverso le quali le persone cercano e fanno uso delle informazioni trovate, quali canali impiegano per accedervi e i fattori che incoraggiano o inibiscono il loro comportamento mentre effettuano una ricerca.2 Un numero crescente

di studiosi di scienze dell’informazione hanno recentemente iniziato a esplorare, tramite l’uso di varie tecniche, i comportamenti e i processi cognitivi coinvolti in questa attività. Una delle tecniche più rilevanti è lo studio sugli utenti (user studies), un campo mol-to complesso perché può variare a seconda del contesmol-to e delle memol-todologie utilizzate. Nell’ambito dell’IR sono molti gli studi incentrati sull’utente per capire, direttamente o indirettamente, i suoi bisogni e le sue difficoltà durante le azioni svolte per la ricerca di informazioni.

[…] all such research inquiries about users […] with a view to understand their characteristic features, needs, preferences, practices, opinions, attitudes, behaviour, evaluations, etc., with respect to library and information services that are offered or likely to be or need to be offered.3

Questi studi hanno come obiettivo quello di raccogliere informazioni volte a favorire la progettazione dei sistemi informativi e ad aumentarne l’efficienza e l’affidabilità. Nel corso degli anni si sono sviluppati molti modelli, la maggior parte dei quali descrivono l’attività di ricerca delle informazioni eseguita dagli utenti finali di un servizio. Questi modelli studiano le cause, le conseguenze e le relazioni che intercorrono tra le varie fasi di recupero dell’informazione desiderata.4

In questo contesto sono maturati due concetti fondamentali sviluppati nella seconda metà del XX secolo:5quello di information need e quello di information seeking behaviour.

Si parla di information need, quando un utente riconosce un bisogno di informazio-ne e lo trasforma in una richiesta o domanda, per poi trasmetterla attraverso un canale ad un servizio al fine di ricevere una risposta atta a soddisfare il precedente bisogno. Il modo in cui le persone cercano e utilizzano le informazioni, riguardano, tra le altre cose, 2 Wilson 1997; Wilson 1999.

3 Sridhar 2002, p. 25.

4 Per approfondire l’argomento si può fare riferimento alle seguenti voci in bibliografia: Wilson 1981; Kuhlthau 1991; Wilson 1999; Wissbrock 2004; Dinet, Aline e André 2012; Savolainen 2014; Kundu 2017. 5 Kundu 2017.

(27)

le decisioni su quali canali di comunicazione utilizzare e come utilizzarli. Le attività che si occupano di studiare i fenomeni del comportamento nella ricerca dell’informazione prendono il nome di information seeking behaviour.6 L’information need è uno dei

con-cetti più importanti nella teoria dell’IR, nonché uno dei principali criteri di valutazione per stabilire la qualità delle informazioni fornite. Difatti, l’obiettivo di ogni sistema di recupero di informazioni è quello di fornire tutti e solo i documenti rilevanti per i bisogni informativi dell’utente.7

Figura 2.1: Il modello di comportamento nella ricerca di informazione delineato da Wilson.

Fonte: Wilson 1999. La figura 2.1 mostra come l’information seeking behaviour deriva dal riconoscimen-to da parte dell’utente di avere un bisogno. Questa presa di coscienza porta l’utente a seguire una serie di comportamenti per soddisfarlo, servendosi di vari mezzi. Questi possono essere i tipici sistemi di informazione (librerie, motori di ricerca) o sistemi che posso svolgere funzioni di informazione in aggiunta alla loro funzione primaria non in-formativa. Le agenzie di vendita, per esempio, hanno la funzione primaria di vendere, ma possono avere anche una funzione informativa relativamente ai prezzi correnti o alle 6 Siatri 1999.

(28)

caratteristiche di un prodotto. Inoltre, l’utente può interagire con altri utenti, creando così uno scambio di informazioni (information exchange). Dopo aver individuato il ca-nale sul quale effettuare la ricerca, si presenterà una situazione di successo, se l’utente riesce a soddisfare le proprie esigenze, oppure di fallimento, se non riuscirà a reperire l’informazione. Nel caso di successo l’informazione restituita verrà valutata in rappor-to alle necessità dell’utente, analizzando se è adatta o meno a soddisfare il suo bisogno informativo. La valutazione può anche indicare un riconoscimento di una potenziale ri-levanza dell’informazione per un’altra persona; in tal caso l’informazione ottenuta può essere trasferita a tale persona (information transfer).

Ritornando alla definizione di IR, Manning afferma che questa si occupa del recupero delle informazioni in documenti intrinsecamente non strutturati, in opposizione al recu-pero in documenti di natura strutturata. I vari tipi di dato che sono elaborati da sistemi di recupero dell’informazione hanno caratteristiche diverse, ed è opportuno in questa sede approfondire questo aspetto.

2.2 I tipi di dato

Per comprendere meglio gli obiettivi e le tecniche dell’IR è necessario esaminare meglio i tipi di dati coinvolti nell’elaborazione. La distinzione da fare è quella fra da-ti strutturada-ti e dada-ti non strutturada-ti. I dada-ti strutturada-ti sono quei dada-ti da-tipici dei database relazionali,8 dotati di una rigida struttura e di un’organizzazione ben precisa (schema).

Nel contesto dell’IR, quando ricerchiamo informazioni in queste strutture parliamo di data retrieval, che consiste principalmente nel determinare quali documenti contengono la parola o le parole chiave indicate dall’utente nella sua richiesta (query).9 I dati non

strutturati invece sono l’oggetto di studio dell’IR e sono rappresentati da quelle infor-mazioni che non hanno né una struttura predefinita, né un’organizzazione rigida, come i dati presenti nei giornali, nei libri, nei documenti, nelle immagini, nei video o nelle e-mail. Un sistema di recupero di dati si occupa quindi di oggetti che hanno una struttura e una semantica ben definite, mentre un sistema di recupero di informazioni riguarda 8 Possiamo definire un database relazionale come una raccolta di dati tra i quali intercorrono relazioni

predefinite. Essi sono basati sul concetto di relazione e tabella (Atzeni et al. 2013). 9 Baeza-Yates e Ribeiro-Neto 2011.

(29)

l’elaborazione e il recupero di documenti che non hanno nella loro forma originaria una struttura formale ed esplicita, ossia tutti quei dati espressi attraverso modalità vicine al linguaggio naturale.

Riprendendo il concetto di information need, un sistema di recupero di dati non sarà in grado di soddisfare completamente il bisogno informativo dell’utente, in quanto le risposte che restituirà saranno quelle valutate solo sulla base delle singole parole chiave inserite; mentre un sistema di recupero dell’informazione sarà in grado di avvicinarsi alle necessità informative di chi effettua una ricerca. Per esempio, in seguito a una query, un utente di un sistema di IR è propenso ad accettare risultati che contengono sinonimi delle parole che ha inserito nella ricerca, cosa che si rivelerebbe inaccettabile in un sistema di data retrieval.10

Un terzo tipo di dato è quello semi-strutturato, che presenta sia caratteristiche dei dati strutturati, sia caratteristiche dei dati non strutturati. Nonostante non ci siano li-miti strutturali nell’inserimento dei dati,11le informazioni vengono organizzate secondo

schemi precisi, utilizzando marcatori metatestuali intercalati tra i dati testuali per sepa-rare gli elementi semantici e funzionali, nonché rafforzare le gerarchie all’interno del dato. Uno dei linguaggi più utilizzati per la descrizione dei dati semi-strutturati è XML (eXtensible Markup Language)12, un linguaggio di codifica dichiarativo human-readable

caratterizzato dall’uso di etichette, detti tag, per marcare i frammenti di testo d’interesse.

2.3 Sistemi di recupero delle informazioni

Milioni di persone si cimentano ogni giorno nella ricerca di informazioni relative ai più svariati argomenti di interesse. Il fenomeno è talmente vasto che i sistemi di IR sono ad oggi la forma dominante di accesso alle informazioni.13

La figura 2.2 illustra le componenti principali di un tipico sistema per il recupero delle informazioni. Nella prima fase vengono raccolti i documenti (documents collection), che verranno successivamente indicizzati. L’indicizzazione è un processo il cui scopo è quel-10Baeza-Yates e Ribeiro-Neto 2011.

11Prendiamo per esempio il linguaggio XML. Esso è per natura estensibile (eXtensible) e permette di creare tag personalizzati, abbattendo le rigide regole su cui si basano altri linguaggi di markup, come l’HTML. 12XML:https://www.w3.org/XML.

(30)

lo di creare una struttura dati detta indice,14ovvero «a data structure buildt on the text

to speed up the searches.»15Questa fase è propedeutica al vero e proprio processo per il

recupero delle informazioni, che, di conseguenza, recupera i documenti che soddisfano una data richiesta avanzata da un utente. Per effettuare una ricerca, infatti, l’utente spe-cifica una query (user query) che riflette il suo bisogno informativo. Successivamente, la richiesta viene analizzata ed eventualmente espansa (query parsing and query expansion), arricchendola con termini che si possono ricollegare ad essa, come sinonimi, parole con lo stesso significato semantico, parole con varianti ortografiche, etc.16

Figura 2.2: Architettura di un tipico sistema di Information Retrieval. Fonte: Baeza-Yates e Ribeiro-Neto 2011. A seguire, la richiesta viene elaborata rispetto all’indice (system query) al fine di re-perire i documenti che la soddisfano. Le informazioni vengono poi classificate e ordinate (ranking) e, infine, i documenti principali vengono restituiti all’utente (answer set). 14Per secoli gli indici sono stati creati manualmente come liste di categorie, identificate da un’etichetta e

da puntatori, che rimandavano ai documenti di riferimento. L’avvento dei computer moderni ha reso possibile la creazione automatica di indici di grandi dimensioni, aspetto che ha accelerato notevolmente lo sviluppo dell’IR (Baeza-Yates e Ribeiro-Neto 2011).

15Baeza-Yates e Ribeiro-Neto 2011, p. 338. 16Baeza-Yates e Ribeiro-Neto 2011.

(31)

Tra le varie tecniche per la creazione degli indici, la più utilizzata è quella dell’in-verted index. Questo tipo di indice fornisce una mappatura tra i termini presenti nei documenti e la loro occorrenza nella collezione. In altre parole, un indice invertito è composto da tutte le parole presenti in una collezioni di testi e da una lista di documenti nei quali ciascuna parola appare. Le componenti fondamentali di un inverted index sono il dizionario (dictionary), che è l’insieme dei termini contenuti nella collezione, e una postings list, ossia la lista dei documenti in cui appare il termine. Ogni voce contenuta nel dizionario avrà la sua corrispondente postings list.

Figura 2.3: Frammento di testo di Romeo and Juliet di Shakespeare (atto I, scena 1) e corrispondente indice invertito.

Fonte: Büttcher, Clarke e Cormack 2010.

2.4 Information retrieval e dati semi-strutturati: XML

retrieval

L’eXtensible Markup Language (XML) può essere usato come formato universale per lo scambio di dati sul Web ed è ampiamente impiegato in molti domini applicativi. Nel corso degli anni ’90 sono stati progettati alcuni approcci per accedere a documenti

(32)

strut-turati logicamente.17Quando nel 1998 l’XML fu adottato come formato standard, si iniziò

a parlare del concetto di XML retrieval.18

Dal punto di vista dell’IR, l’elaborazione e l’accesso a questi nuovi tipi di documento è un compito impegnativo, in quanto in essi coesistono sia il lato strutturato sia quello non strutturato, motivo per il quale vengono anche chiamati documenti semi-strutturati. A differenza dei sistemi tradizionali di IR, che mirano al recupero di interi documen-ti (libri, ardocumen-ticoli) ritenudocumen-ti rilevandocumen-ti, l’XML retrieval consente all’utente di recuperare le componenti del documento più adatte a soddisfare il proprio bisogno informativo, ad esempio sezioni, capitoli, paragrafi, versi.

XML Retrieval Task - to exploit the hierarchical structure of XML documents to determine the best document components, i.e., the best XML elements to return as results to a user query. In addition, this results should be ranked according to their likelihood or relevance to the query.19

L’individuazione dei frammenti XML corretti da recuperare non è un operazione ba-nale da gestire, in quanto non tutti gli elementi sono utili per soddisfare il bisogno del-l’utente. Per esempio alcuni frammenti potrebbero essere troppo piccoli o altri potreb-bero non contenere del testo rilevante. La sfida principale dell’XML retrieval è quella di determinare qual è il migliore elemento, e quindi la migliore informazione, da restituire. Prendiamo come esempio un breve estratto di codifica XML di The Tragedy of Macbeth di Shakespeare (Estratto di codice 2.1).

Estratto di codice 2.1: Estratto di codifica XML di The Tragedy of Macbeth di Shakespeare.

<play>

<author>Shakespeare</author> <title>Macbeth</title> <act number="I">

<scene number="vii">

<title>Macbeth's castle</title>

<verse>Will I with wine and wassail...</verse> </scene>

</act> </play>

17Wilkinson 1994; Navarro e Baeza-Yates 1997.

18Carmel, Maarek e Soffer 2000; Baeza-Yates e Ribeiro-Neto 2011; Manning, Raghavan e Schütze 2008. 19Baeza-Yates and Ribeiro-Neto 2011, p. 552.

(33)

Se proviamo a cercare Macbeth’s castle è possibile restituire l’atto, la scena o l’intero documento. Questo esempio mostra la complessità nel determinare quale parte del do-cumento restituire all’utente. Uno dei criteri che si può seguire si basa sul principio del recupero delle informazioni in documenti strutturati:

Structured document retrieval principle. A system should always retrieve the

most specific part of a document answering the query.20

Quest’ultimo principio delinea una strategia di recupero che restituisce la più piccola unità che contiene le informazioni cercate, quindi nel caso dell’esempio precedente verrà restituita la scena.

Parallelamente al problema appena introdotto, relativo all’identificazione della parte del documento XML da restituire all’utente, emerge il problema di quali sono le parti principali da tenere in considerazione nella creazione dell’indice, ossia è necessario in-dividuare qual è l’unità di indicizzazione (indexing unit). In un sistema tradizionale di IR è semplice identificare le unità di indicizzazione, che possono corrispondere, per esem-pio, a un file sul computer, un indirizzo e-mail, una pagina Web e così via. In un sistema di XML retrieval invece, siamo in presenza di un content model “contenitore-contenuto”, ovvero di elementi che possono contenere altri elementi, che a loro volta ne possono contenere altri, motivo per il quale l’unità di informazione da restituire all’utente può essere di vario tipo.

Conseguentemente, sono stati avanzati diversi approcci per stabilire le unità di indi-cizzazione in tali tipi di documenti. Uno degli approcci consiste nel raggruppare i nodi in pseudo-documenti non sovrapposti (non-overlapping method), come mostrato nella figura 2.4. In questo caso, libro, capitolo e sezione sono identificati come unità di indi-cizzazione. Lo svantaggio di questo metodo è che gli pseudo-documenti potrebbero non aver senso, non rappresentando unità coerenti.

Un altro approccio è quello di recuperare l’elemento più grande, per esempio l’ele-mento libro in una collezione di libri, e poi, per ogni libro, rielaborare i risultati per tro-vare i sottoelementi più adatti (top down method); oppure, andare a recuperare le foglie più rilevanti per poi estendersi a unità più grandi (bottom up method). Questi due ap-procci non riescono di solito a restituire la migliore risposta. Nel primo caso la rilevanza 20Manning, Raghavan, and Schütze 2008, pag. 201.

(34)

del libro non è un buon predittore della rilevanza dei suoi sottoelementi, così come, nel secondo caso, la rilevanza degli elementi più piccoli, le foglie, non danno informazioni esaustive sull’importanza degli elementi nei quali sono contenuti.

Figura 2.4: Divisione di un documento XML in unità di indicizzazione non sovrapposte.

Fonte: Manning, Raghavan e Schütze 2008. L’approccio meno restrittivo è quello di favorire l’indicizzazione di tutti gli elemen-ti. In questo caso ci saranno sicuramente elementi XML che non hanno una rilevanza significativa, come per esempio il tag<b>, che trasforma il testo in grassetto, e verranno di conseguenza restituiti risultati ridondanti.

Non esiste una tecnica consolidata per individuare la migliore unità di indicizzazione o di recupero. Le scelte effettuate dipendono da diversi fattori, come l’oggetto di studio, il target degli utenti che intendono recuperare l’informazione, il loro obiettivo finale, il tipo di ambiente nel quale viene effettuata la ricerca (accademico, informale, lavorativo) e altro. Per capire quale sia la migliore unità è quindi necessario un preliminare studio su questi aspetti volto ad analizzare le finalità della fase di indicizzazione, tenendo pre-sente che è impresa ardua soddisfare sempre e completamente il bisogno informativo dell’utente.

(35)

Capitolo 3

I motori di ricerca

I motori di ricerca rappresentano il prodotto applicativo delle tecniche di Informa-tion Retrieval (IR) destinato al trattamento di una vasta collezione di testi. Essi hanno il vantaggio di essere componenti flessibili, ossia di essere progettati con l’intento di adat-tare le proprie funzionalità alle esigenze peculiari dell’applicazione nella quale verranno inseriti. Esistono diverse tipologie di motori di ricerca, ognuna delle quali risponde ad esigenze specifiche ed è sviluppata al fine di raggiungere precisi obiettivi: per esempio i motori di ricerca per il Web, come Google,1devono essere in grado di recuperare

un’e-norme quantità di dati, per poi presentarli all’utente in tempi molto brevi, con l’intento di soddisfare un elevato numero di richieste effettuate contemporaneamente da tutto il mondo; mentre i motori di ricerca desktop, come quelli interni agli attuali sistemi ope-rativi, sono concepiti per indicizzare e incorporare rapidamente nuovi documenti, for-nendo un’interfaccia intuitiva e di facile utilizzo; infine, i motori di ricerca open source sono sviluppati per essere riutilizzati liberamente come componenti in progetti appli-cativi di più ampio respiro. Tra le varie iniziative degne di nota vale la pena citare il progetto Lucene,2 un sistema di indicizzazione e ricerca implementato in Java ed

este-so ad altri linguaggi di programmazione, e il progetto Indri,3 sviluppato dai ricercatori

dell’Università del Massachusetts.

Le sfide principali da affrontare nella progettazione di un motore di ricerca sono mol-teplici (figura 3.1). Oltre ai problemi relativi all’IR di cui abbiamo già parlato (rilevanza e valutazione dell’informazione restituita — parametri di recall e precision — e bisogno informativo dell’utente), c’è la necessità di sviluppare tutte quelle funzionalità e qualità essenziali al corretto funzionamento del meccanismo di ricerca, come le performance in termini di tempi di risposta (response time), definite come il tempo che trascorre tra la sottomissione di una richiesta e la ricezione dei risultati; la velocità effettiva della query 1 Google:https://www.google.it/.

2 Lucene:http://lucene.apache.org/. 3 Indri:http://www.lemurproject.org/indri/.

(36)

(query throughput), definita come il numero di query che possono essere processate nel-l’unità di tempo; la velocità di indicizzazione (indexing speed), definita come la velocità con la quale i documenti vengono elaborati per la realizzazione dei relativi indici, nonché la velocità con la quale vengono aggiornate le strutture degli indici già esistenti in se-guito a nuove elaborazioni. Inoltre, come noto, i motori di ricerca nascono con lo scopo di supportare la ricerca di informazioni in vaste collezioni di documenti, caratteristica che risulta essere assai problematica dal punto di vista della scalabilità delle soluzioni proposte, cioè relativamente alla capacità dell’applicazione di continuare a funzionare e a mantenere le stesse performance all’aumentare delle richieste.

Figura 3.1: Problemi nel recupero delle informazioni.

Fonte: Croft, Metzler e Strohman 2015. Ulteriore qualità da considerare per una corretta progettazione del componente di ricerca è la sua adattabilità a diversi contesti applicativi, ovvero che i suoi vari aspet-ti, come la strategia di indicizzazione, l’interfaccia utente e via dicendo, si adattino alle specifiche necessità dell’applicazione. Infine possiamo incontrare anche problemi prati-ci. L’esempio più emblematico è sicuramente quello dello spam, vale a dire la ricezione di informazioni ingannevoli, non rilevanti o non appropriate, quando si effettuano ricerche sul Web.

(37)

3.1 Architettura dei motori di ricerca

L’architettura software ha il compito di definire la struttura di un sistema, che è com-posta da varie componenti di cui vengono specificate le proprietà e le relazioni.4 Inoltre

un’architettura è progettata al fine di soddisfare i requisiti e gli scopi di un’applicazione.5

Riferendosi a un motore di ricerca, i due principali obiettivi sono:

• l’efficacia (effectiveness) in termini di qualità e rilevanza, vale a dire la capacità di un sistema di recuperare i documenti più adatti per rispondere a una query; • l’efficienza (efficiency) in termini di velocità, cioè la capacità di elaborare le

richie-ste inviate al sirichie-stema il più velocemente possibile.

A queste due classi possono essere ricondotti obiettivi più specifici; per esempio, gli indici dei dati elaborati devono garantire immediati riallineamenti a seguito di eventuali cambiamenti nei documenti indicizzati, in quanto una buona qualità del risultato deve essere accompagnata da tempi di risposta accettabili.

Per far sì che un motore di ricerca sia efficace, il testo viene elaborato e, successiva-mente, vengono raccolte informazioni utili intese a migliorare la rilevanza dei risultati. Dal punto di vista dell’efficienza, invece, vengono impiegate strutture specializzate e ottimizzate per il recupero rapido di informazioni.

L’architettura di base di un motore di ricerca consta di due principali elementi, legati a due fondamentali fasi di elaborazione dei dati: il processo di indicizzazione (indexing process), nel quale vengono costruite le strutture che renderanno possibile la ricerca, e il processo di query (query process), che ha il compito di utilizzare le strutture create per rispondere a una richiesta avanzata da un utente.

3.1.1 Indexing process

L’architettura del processo di indicizzazione si suddivide in tre blocchi principali (figura 3.2):6

• l’acquisizione del testo (text acquisition); 4 Bass, Clements e Kazman 2013.

5 Croft, Metzler e Strohman 2015. 6 Croft, Metzler e Strohman 2015.

(38)

• la trasformazione del testo (text transformation); • la creazione dell’indice (index creation).

Figura 3.2: Componenti del processo di indicizzazione.

Fonte: Croft, Metzler e Strohman 2015. La parte di acquisizione del testo (text acquisition) si occupa di recuperare e rendere disponibili i documenti sui quali si intende effettuare la ricerca, creando un archivio dati, formato sia dal contenuto testuale, sia dai metadati7a esso collegato. Successivamente, il

processo prevede la fase di trasformazione del testo (text transformation o text analysis), per mezzo della quale si elaborano i documenti estraendo da essi le unità di indicizza-zione (index terms), ovvero gli elementi informativi che verranno utilizzati dalla fase di indicizzazione (index creation), che avvierà dunque la creazione dell’indice, processo che richiede accortezza computazionale sia in termini di tempo che di spazio occupato.

Di seguito verranno esaminati in dettaglio i componenti di ciascun blocco, premet-tendo che non tutti i componenti sono obbligatori per la realizzazione di un motore di ricerca, in quanto ognuno di essi viene implementato sulla base dei requisiti specifici dell’applicazione e degli obiettivi che si vogliono raggiungere.

Text acquisition

La prima fase del processo di indicizzazione è, come abbiamo già introdotto, l’acqui-sizione del testo, in merito al quale possiamo individuare varie modalità di recupero. In 7 I metadati sono dati (informazioni) che forniscono informazioni su altri dati. Un esempio tipico di metadato è l’identificativo di un libro (ISBN), ossia un dato numerico che ha il compito di descrivere un altro dato (libro). Metadata:https://developer.mozilla.org/en- US/docs/Glossary/Metadata.

Riferimenti

Documenti correlati

Brief description of the planned research and references if needed, including the 1) objectives, 2) the study area and 3) the research methods foreseen: Integration of

Title Thermal maturity Latest Ordovician (Hirnantian) miospores from Northern Gondwana regions, and their evolutionary significance. Name of the supervisor, Amalia Spina Name(s) of

Effectiveness of the less costly, relatively simple approaches of visually assessing palynomorph colour to determine thermal alteration (i.e., SCI: Spore Colour Index, TAI:

● Generalizzate i Complessi in modo che parte  reale e complessa possano essere int, float,  double, etc (template).

Perche' una istanziazione di una funzione template per un certo tipo abbia successo si deve garantire che per quel tipo siano definiti tutti gli operatori e le funzioni/dati

Algoritmi : i più comuni algoritmi (find, sort, count ...) che, per mezzo degli iteratori si applicano a qualsiasi container. Interfaccia di alto livello verso le

• Gli iteratori sono dei puntatori agli elementi di un contenitore e ci permettono di muoverci all’interno di esso:.. – Iteratori monodirezionali: Permettono di accedere

• Gli iteratori sono dei puntatori agli elementi di un contenitore e ci permettono di muoverci all’interno di esso:.. – Iteratori monodirezionali: Permettono di accedere