Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
La disponibilità crescente di corpora di dati non strutturati (come i file html) o semi-strutturati
(come i file xml) ha di recente accresciuto le possibilità di lavorare con sistemi automatici di
analisi del testo.
Con analisi del testo si intende il procedimento che consente di estrarre tutte le parole presenti in
testo e di stabilire il numero di volte in cui ciascuna forma occorre. Tali risultati permettono di
ragionare sull'uso di un certo vocabolario e di stabilire delle ipotesi interpretative sul lessico.
Per poter operare con sistemi automatici di analisi è importante disporre di corpora. Un corpus si
deve basare su una serie di regole di aggregazione, selezione e organizzazione precise, necessarie
affinché la collezione possa essere sottoposta a un'analisi linguistica.
La linguistica computazionale è la disciplina che per prima ha affrontato il problema del
trattamento automatico del linguaggio naturale, con l'obiettivo di acquisire conoscenza da
documenti testuali. Iniziatore di questi studi è Roberto Busa a cui si deve la compilazione, del
1946, dell'Index Thomisticus, una raccolta dell'indice e delle concordanze degli Opera Omnia di
San Tommaso.
1. Forme di text retrieval
La prima fase di analisi di un testo in forma digitale è la verifica della presenza delle forme testuali
all'interno del testo. Questo procedimento in linguistica computazionale è chiamato tokenizzazione,
individuazione cioè di tutte le unità minime del testo.
Successivamente si verificano il numero di volte in cui compaiono, ossia le occorrenze (tokens). Il
fine è la produzione dell'indice, ossia l'elenco di tali parole, che costituisce il vocabolario delle
forme grafiche (types) così come e dove compaiono nel testo. Diremo che il type è la parola in
astratto mentre il token è la parola che occorre in un punto definito e in un certo numero di volte in
un testo.
Passo successivo è la collocazione delle parole rispetto al contesto testuale d'uso (concordanze) e la
verifica di quante volte ciascuna forma grafica occorre (frequenze).
Per realizzare indici è necessario un software: esistono molteplici programmi che sono in grado di
effettuare operazioni di text retrieval, cioè di reperimento dati all’'interno di un corpus testuale.
1.1. Concordanze
Un programma di concordanze è un applicativo che consente di elencare tutte le parole presenti un
testo, presentandole in ordine alfabetico, accompagnate da un contesto, che permette di coglierne il
senso, e da una serie di indicazioni, che permettono la localizzazione all'interno del testo.
Non sempre vanno elaborate tutte le parti del testo. Generalmente si tendono ad omettere articoli,
congiunzioni, preposizioni, ossia le cosiddette parole vuote (empty words) che non forniscono
aiuto alla ricerca o non sono portatrici di significato.
Si parlerà invece di parole piene per aggettivi, sostantivi, verbi e avverbi in quanto veicolano un
significato individuabile.
Tuttavia, vi sono casi in cui si studiano i legami sintattici, dove solo proprio le parole vuote ad
essere l'oggetto della ricerca.
L'analisi delle concordanze dunque permette di verificare il contesto d'uso del vocabolario e
permette di disambiguare impieghi diversi del lessico, agevolando il confronto fra diversi
significati di uno stesso termine.
1.2. Indici
Un'indice è la lista dei vocaboli all'interno di un testo o di un corpus dove ogni parola è
accompagnata dal riferimento in cui la parola stessa si trova. Talvolta l'indice può riportare alcune
statistiche relative alla frequenza relativa ai vocaboli presenti all'interno del testo.
1.3. Frequenze
La lista delle frequenze di un testo mostra le parole che lo compongono accompagnate dal numero
di volte in cui occorrono.
Possono riportare le parole o rispettando l'ordine alfabetico, o ordinando i vocaboli a partire da
quello con il maggiore o minore numero di frequenza.
L'obiettivo di tali indagini è di verificare quale sia la tendenza di un autore nell'usare un preciso
vocabolo ritenendo che la scelta di certe parole definisca l'impronta di ogni scrittore.
2. Dal text retrieval alla text analysis
Per acquisire un’informazione linguistica dal testo a livello morfologico, lessicale, sintattico e
semantico bisognerà procedere con altri strumenti come la normalizzazione, lemmatizzazione, part
of speech, tagging e parsing.
2.1. Normalizzazione e annotazione
I procedimenti di individuazione di parole composte, riduzioni di articoli con apostrofo,
identificazione e scioglimento di sigle, ma anche riconoscimento di nomi prossimi sono delle
operazioni che possono essere delegate solo parzialmente alla macchina e quindi l'intervento
dell'uomo è indispensabile per ottenere risultati validi.
Per ottenere dei risultati attendibili nella fase di text analysis è necessario intervenire con la
cosiddetta annotazione del testo.
Annotare un testo significa arricchirlo di informazioni sui diversi aspetti. La sua forma più comune
è l'assegnazione di marcatori o etichette alle porzioni di testo delle quali si vuole dare una qualche
indicazione a livello morfo-lessicale, sintattico o semantico. Queste indicazioni sono
generalmente espresse in un linguaggio formale e utilizzando un vocabolario standardizzato, come
xml con schema tei.
Queste informazioni possono essere aggiunte direttamente nel corpo del testo (inline markup) o
possono essere definite in un file separato ed essere richiamate tramite collegamento (stand-off
annotation).
2.2. I livelli dell'analisi del testo
Possiamo definire tre livelli di analisi e quindi tre tipologie di annotazione:
- Morfo lessicale: associazione dei vocaboli a una determinata categoria grammaticale;
- Sintattico: analisi linguistica per la ricostruzione della struttura sintattica della frase;
- Semantico: contestualizzazione d'uso di una parola all'interno del costrutto sintattico.
Per poter lavorare a questi tre livelli, il primo passo è poter disporre di risorse linguistiche:
- Dizionario macchina: versione elettronica di un dizionario tradizionale che elenca tutti i lessemi e
associa a ciascuno di essi le informazioni tipiche di un dizionario tradizionale. Può essere quindi
usato nella fase di analisi morfo-lessicale, oggetto principale di studio della lessicografia;
- Un lessico di frequenza è un elenco di forme e di lemmi con indicazioni della frequenza d'uso.
Rispetto a un corpus definito, generalmente è usato per l'estrazione di parole chiave dal testo;
- Una rete semantico-concettuale vuole, invece, associare ogni lessema a un concetto e, quindi, a
una classe semantica di riferimento. Ma vuole anche individuare le relazioni che i concetti e le
classi intrattengono. Un possibile strumento per operare questo tipo di analisi è il database lessicale
WordNet per la lingua inglese e ItalWordNet per l'italiano.
2.2.1. Analisi morfo-lessicale
Il tokenizzatore è uno strumento che consente di selezionare le unità minime espresse sotto forma
di sequenze di caratteri separate da spazio. È necessario che la fase di tokenizzazione sia
accompagnato da un procedimento di identificazione dei tokens significativi ai fini della successiva
analisi. Questo significa operare a diversi livelli:
- Normalizzare le varianti ortografiche delle parole che possono presentarsi sotto diverse forme;
- Separare parole che sono formate da più token ma sono rappresentative di unità linguistiche
differenti (parole unite tramite apostrofo);
- Unione di elementi differenti in un unico token in quanto rappresentative di un'unica parola (come
le parole composte).
Effettuata la normalizzazione, ogni token può essere associato alla parte del discorso cui ogni forma
può essere ricondotta.
Il limite della tokenizzazione è che permette di estrarre il solo elenco delle forme. Sarebbe utile
poter disporre per le diverse forme del lemma di riferimento. Quindi bisognerà adottare delle
procedure che permettono di trasformare i token in lemmi.
Lemmatizzare un testo significa individuare un unico lemma, cioè un'unica forma grammaticale
per i vocaboli che sono caratterizzati dall'essere forme flesse: i tempi dei verbi, i sostantivi, gli
aggettivi, articoli, pronomi, cioè tutte le parti del discorso che sono dotate di un genere e numero.
Esistono programmi specifici per la lemmatizzazione come il Workpacage. Anche il dizionario
macchina può essere utile: può infatti agevolare l'operazione che verrà condotta in forma semi-
automatica. Infatti, con un dizionario macchina è possibile associare la categoria grammaticale di
riferimento a ciascun lemma.
2.2.2. Analisi sintattica
È rappresentata dal processo di parsing che associa un determinato valore sintattico agli elementi di
una frase.
Il primo passo è caratterizzato dalla POS tagging o marcature delle parti del discorso. Il tagger
POS è un programma che è in grado di associare un'etichetta descrittiva a ogni costituente
grammaticale.
Il pos tagging, inoltre, permette di disambiguare la part of speech di ciascun componente.
Esistono, infatti, parole che, a seconda del contesto sintattico, possono avere un ruolo diverso.
Inoltre, permette anche di associare una categoria sintattica con cui ogni forma occorre in un dato
contesto linguistico. Nello specifico diremmo che, mentre un analizzatore morfologico associa il
token al lemma e ne definisce le caratteristiche grammaticali, il chunking è il procedimento di
segmentazione del testo in gruppi sintattici.
Le parole che compongono una frase possono essere ricondotte a un gruppo funzionale di
riferimento, cioè a un sintagma, e i sintagmi possono essere inseriti in uno schema di relazioni di
dipendenza grammaticale.
Il parse indentificherà le dipendenze grammaticali principali tipiche dell'analisi logica (soggetto,
tipi di complemento, verbo).
Un corpus annotato dal punto di vista della struttura sintattica è detto treebank.
2.2.3. Analisi semantica
L'oggetto dell'analisi semantica è la ricostruzione del significato del vocabolario presente nel testo.
Un primo problema è disambiguare parole polisemiche quando il costrutto sintattico non l'ha
consentito.
Il livello successivo è passare dai termini ai concetti. Parleremo di categorizzazione semantica per
le diverse parole che rientrano nel medesimo raggruppamento concettuale. A livello di annotazione
semantica si distingue tra:
- specificazione del significato di un elemento desunto da una risorsa lessicale;
- marcatura dei ruoli semantici che descrivono la funzione semantica svolta dal predicato come
agente (chi svolge l'azione), paziente o tema (il referente) destinatario o beneficiario.
Lo strumento utilizzato è la rete semantico-concettuale che consente di associare una definizione a
un termine e di stabilire relazioni di dipendenza semantica fra il termine in questione e gli
iponimi/iperonimi/olonimi.
3. Tipologie di ricerca sul testo e interrogazione significativa
La verifica della frequenza d'uso di un termine è funzionale al procedimento di estrazione delle
parole chiave: tanto più un termine ricorre in un testo, tanto più è rappresentativo del suo contenuto
ma tanti più documenti riportano una certa parola tanto meno questa è significativa.
A livello di ricerca di parole i programmi permettono anche di effettuare interrogazioni sul testo o
sul corpus. È possibile ricercare co-occorrenze di forme, cioè sequenze di parole utilizzando gli
operatori ("fiore rosa" fra virgolette per cercare una sequenza, ma anche fiore + rosa per cercare un
testo o una porzione di testo in cui entrambi i termini compaiono) oppure cercare solo la radice di
una parola impiegando opportuni operatori logici (amor* per cercare tutte le forme che hanno amor
come radice ma qualunque desinenza).
A questa ricerca si affianca quella delle collocations, parole o lemmi che in abbinamento esprimono
un preciso concetto.
4. L'analisi dello stile
Sui risultati dell'analisi del testo affonda le proprie radici l'analisi statistica della lingua. A un
primo livello è possibile compiere un’indagine circa la frequenza di apparizione di alcune parole, o
la lunghezza delle stesse, in una determinata opera o in un corpus. Si entra così nel campo delle
analisi stilometriche, cioè misurare la lunghezza di parole o la lunghezza di frasi.
Al fondo di ogni metodo informatico per l'analisi dei testi sta la convinzione che esista qualcosa
ossia lo stile che è formalmente definibile e descrivibile, ed è ciò che caratterizza l'opera di un
autore e lo distingue da altri. Dunque, può divenire oggetto di ricerca. Non solo: l'analisi stilistica
può condurre a formulare risultati come la autorship attribuition ossia assegnare la paternità a un
testo di cui non si conosce o si dubiti dell'autore.
CAPITOLO 8 – Semantic Web: modelli, architettura e linguaggi
La home page di uno dei principali strumenti dedicati al Semantic Web, ossia il sito del World Wide
Web Consortium riporta che "The semantic webs provides a common framework that allows data to
be shared and reused across application".
Il web semantico è un'attività mirata all'estensione delle capacità sintattiche e semantiche
dell'attuale enorme archivio di dati rappresentato dal www.
Questa estensione va interpretata come volontà/necessità di ampliare le potenzialità del web: da un
lato per agevolare il recupero di informazioni da parte dell'utente, dall'altro per permettere ai
programmi di comprendere il significato dei documenti e consentire alle applicazioni di dialogare
tra di loro, condividendo non solo la dimensione semantica del vocabolario ma anche i concetti. Il
problema è che lo stesso vocabolo può essere espresso in termini differenti e quindi il caso di
polisemia può limitare la conoscenza.
Uno degli obiettivi del Semantic Web è di fare del web un luogo dove gestire collegamenti
semantici. Questo significa che il link dovrebbe descrivere il luogo in cui porta, dovrebbe avere,
cioè, capacità semantica, dove per "semantica" si intende un meccanismo che sa predire il valore
della sua azione. In altre parole, la specificazione del rapporto che lega la parola "attiva" all'oggetto
che verrà attivato dal link.
Nello specifico potremmo ragionare su quattro livelli, che rappresentano quattro limitazioni del web
attuale:
- la ricerca e il recupero di documenti: questa operazione viene fatta o navigando i link
ipertestuali, che collegano i documenti fra di loro, o attivando uno dei link in un elenco, risultato di
un'interrogazione effettuata a partire da un motore di ricerca tramite parole chiavi. Non sempre però
quest'operazione ci permette di ottenere i documenti di cui eravamo alla ricerca: da un lato perché
non abbiamo usato la parola chiave giusta o per problemi di sinonimia (non tutti usiamo lo stesso
vocabolo per esprimere lo stesso concetto) o per polisemia; dall'altro perché esiste un Deep Web,
non raggiungibile dai motori di ricerca;
- la ricerca e il recupero di informazioni: si possono recuperare singoli documenti, ma se si vuole
trovare delle informazioni, non è detto che esistano dei documenti che contengano le informazioni
che interessano all'utente, oppure se ci sono documenti che contengono informazioni che
interessano l'utente, devono essere ricercate all'interno dei documenti;
- la correlazione fra l'informazione disponibile: cercare informazioni che riguardano ambiti
diversi richiede una navigazione attraverso documenti diversi. Non è detto che i collegamenti
stabiliti da chi ha realizzato una pagina web siano gli stessi collegamenti logici che interessano la
nostra ricerca;
- il dialogo fra applicazioni: sarebbe utile se i programmi potessero dialogare in modo che
l'interrogazione dell'utente sia il risultato di una ricerca globale.
Il Dublin Core è un vocabolario ideato per assegnare etichette basilari alle risorse della rete.
Le sue caratteristiche possono essere sintetizzate in:
- fornire un elenco prestabilito di nomi di marcatori;
- garantire l'uso di tale vocabolario di metadati tramite diversi linguaggi formali perché il
DC non dipende da alcuna sintassi.
Ll nome deriva dal fatto che questo progetto è considerato il nucleo (core) delle meta-
informazioni interessanti per qualunque risorsa e perché è nato da un'iniziativa di
bibliotecari, archivisti ed esperti di markup svoltasi nel 1995 a Dublino (Ohio).
DC versione 1 ha stabilito 15 categorie di meta-informazioni, cioè 15 elementi utili per la
catalogazione di risorse di rete.
La versione 2 ha aggiunto i qualificatori. Ili loro obiettivo è duplice:
- raffinamento degli elementi: fornire alcuni significati più precisi ai termini;
- supporto per schemi di codifica: consentire l'associazione di certi elementi a vocabolari
controllati, cioè a schemi predefiniti e condivisi. Questo significa utilizzare un vocabolario
condiviso dalla comunità.
Nello specifico è necessario distinguere tra:
- un indice di classificazione, che permette di definire una voce di soggetto rispetto a un
contesto gerarchico nel quale la voce è inserita;
- e un soggetto, che è invece un termine scelto come predefinito, cui fare riferimento per
descrivere un dato concetto.
2. I servizi di una BD
Per l'umanista la biblioteca digitale rappresenta la possibilità di accedere a materiali digitalizzati di
varia natura. L'utente ha accesso alla raccolta di tali oggetti digitali, o meglio al digital repository,
consultando i materiali senza necessariamente sapere dove gli originali sono fisicamente conservati
(e senza doversi recare presso gli istituti che hanno tali oggetti).
In generale una BD dovrebbe provvedere alle stesse funzioni che una biblioteca tradizionale
possiede, come l’acquisizione selettiva dei materiali, la loro adeguata conservazione e
preservazione nel tempo, organizzazione rispetto alla collezione e catalogazione, ma anche
supporto al reperimento e alla consultazione. L'utente deve aver accesso ai materiali: deve poterli
trovare e fruire ma anche poterli interrogare, rispetto a una biblioteca tradizionale.
4. Il problema dell’interoperabilità
Il primo livello di interoperabilità sintattica è costituito dall’uso di formati di archiviazione dei dati
standardizzati che garantisca l’interscambio. Le BD devono interagire tra loro ma al momento
risultano isolate. L’uso diversificato di linguaggi e tecnologie, infatti, non permette la
comunicazione tra le risorse. Sarebbe necessario lo sviluppo di middleware, un insieme di modelli,
protocolli, interfacce utilizzati come strumento unico e condiviso per integrare applicazioni
sviluppate su sistemi eterogenei.
Affinché le BD possano dialogare tra loro è necessario che condividano il sistema di
rappresentazione della componente meta-informativa. Funzione dei metadati: descrizione di una
risorsa elettronica e consentire l’interrogazione sulle diverse BD agevolando l’integrazione
finalizzata all’accesso in un unico ambiente condiviso.
Soluzione → creazione di tavole di corrispondenza tra gli elementi utilizzati.
Harvesting → dei metadati consentirebbe di associare un termine alla sua connotazione e
identificazione.