<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Trattamento del Linguaggio Naturale Tramite Prolog: un Approccio Promettente per Generare Istituzioni Virtuali da Testi Scritti</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michele Bozzano</string-name>
          <email>michele.bozzano@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Angela Locoro</string-name>
          <email>angela.locoro@unige.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maurizio Martelli</string-name>
          <email>maurizio.martelli@unige.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Viviana Mascardi</string-name>
          <email>viviana.mascardi@unige.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DISI, Dipartimento di Informatica e Scienze dell'Informazione</institution>
          ,
          <addr-line>Via Dodecaneso 35, 16146, Genova</addr-line>
          ,
          <country country="IT">Italia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Le Istituzioni Virtuali sono un formalismo estremamente potente per descrivere relazioni sociali tra agenti autonomi, ma sono di difficile uso per non-esperti di tali tecnologie. In questo articolo descriviamo un estrattore semiautomatico di ruoli e relazioni tra concetti (e quindi, indirettamente, tra ruoli) a partire da testi scritti. Tale strumento potrà essere utilizzato dagli esperti del dominio per creare Istituzioni Virtuali, senza essere esposti alla complessità del linguaggio con il quale l'Istituzione Virtuale viene descritta.</p>
      </abstract>
      <kwd-group>
        <kwd>Istituzioni Virtuali</kwd>
        <kwd>Disambiguazione del Senso di una Parola</kwd>
        <kwd>Estrazione di Ruoli e Relazioni tra Ruoli</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduzione</title>
      <p>I Mondi Virtuali Tridimensionali progettati a scopo non ludico stanno acquisendo
sempre più importanza grazie ai numerosi domini in cui trovano applicazione, che
vanno dal commercio elettronico al turismo elettronico, alla salvaguardia dei beni
culturali. In questi contesti, la possibilità di simulare interazioni tra agenti e di
verificarne la conformità rispetto a regole imposte dal mondo stesso riveste un ruolo
cruciale poiché consente, ad esempio, di addestrare correttamente un discente sulle
possibili azioni ed interazioni ammesse in determinate situazioni, oppure di validare
ipotesi sul tipo di relazioni sociali esistenti in società scomparse, oppure ancora di
vivere un'esperienza di turismo virtuale estremamente realistica in cui il visitatore
umano interagisce con agenti software nell'ambiente e secondo le tradizioni del luogo
riprodotto.</p>
      <p>Per definire le regole comportamentali di una società di agenti in un ambiente
condiviso risultano particolarmente utili le Istituzioni Elettroniche, “un modo di
implementare convenzioni di interazione tra agenti - umani o software - che possono
stabilire obbligazioni in un ambiente aperto” (http://e-institutions.iiia.csic.es/).
Le Istituzioni Virtuali [Bog07] rappresentano l'intersezione tra Mondi Virtuali
Tridimensionali ed Istituzioni Elettroniche.</p>
      <p>La potenzialità delle Istituzioni Virtuali e la trasversalità delle loro applicazioni sono
ampiamente riconosciute dalla comunità scientifica, tuttavia, a causa della
complessità del linguaggio per specificare ruoli, norme, protocolli, scene ed altre
componenti fondamentali di un'Istituzione Virtuale, la sua progettazione ed
implementazione è appannaggio esclusivo di ricercatori con competenze informatiche
specifiche su linguaggi dichiarativi ed agenti. In [BPA+09] abbiamo illustrato la
progettazione e parziale realizzazione di uno strumento mirato a rendere disponibile
contenuto culturale alla grande massa in forma di gioco, ma con basi scientifiche
rigorose fondate su Istituzioni Virtuali. Tale strumento dovrà essere utilizzato in
piena autonomia dagli esperti del dominio, e questo sarà possibile creando
un'interfaccia che mascheri all'esperto del dominio la complessità del linguaggio con
il quale l'Istituzione Virtuale viene descritta. L'Istituzione Virtuale è caratterizzata in
primo luogo dai ruoli che gli agenti possono ricoprire in essa e dalle relazioni tra tali
ruoli, che determinano cosa un agente che ricopre un ruolo possa, non possa, debba o
non debba fare/dire in determinate situazioni. Uno degli aspetti cruciali per supportare
l'esperto è quindi la realizzazione di un estrattore semi-automatico di ruoli e relazioni
tra concetti (e quindi, indirettamente, tra ruoli) a partire da testi scritti.
Ad esempio, la generazione automatica della relazione handle(priest, corpse) dal testo
“[...] but the priests of the Nile themselves handle the corpse [...]”, tratto dal secondo
libro delle Storie di Erodoto e la individuazione del ruolo role(clergyman, priest),
potrebbero fornire un supporto all'esperto di dominio che le visiona e decide se esse
sono corrette e se vanno impiegate per generare una specifica nel formato proprio
delle Istituzioni Virtuali. L'utilità di disporre di un estrattore di questo tipo è stata
evidenziata in più occasioni dall'archeologo che ha partecipato alla stesura di [BPA+09].</p>
      <p>In questo articolo descriviamo l'implementazione in SWI Prolog, esteso con la
libreria ProNTo_Morph [Sch03] e con l'accesso alla versione Prolog di WordNet
(http://wordnet.princeton.edu/wordnet/download/), di un estrattore semi-automatico di
ruoli di concetti e relazioni tra concetti a partire da testi scritti, finalizzato alla
generazione semi-automatica di Istituzioni Virtuali. La semi-automaticità è legata alla
possibilità di generare relazioni e ruoli non corretti: l'output dell'estrattore deve
sempre essere supervisionato da un esperto. L'estrattore utilizza tecniche di
comprensione del linguaggio naturale, in particolare viene utilizzata la
disambiguazione del senso delle parole (“Word Sense Disambiguation”, WSD
[AE06]). Pur essendo il problema affrontato intrinsecamente complesso, gli
esperimenti dimostrano che, su alcune tipologie di testo, l'estrattore dà buoni risultati:
la relazione tra ruoli e l'assegnazione di un ruolo ad un concetto descritte
precedentemente in questa sezione sono state ottenute dall'esecuzione dell'estrattore
su una traduzione in inglese del testo di Erodoto.</p>
      <p>L'articolo è organizzato nel modo seguente: la Sezione 2 pone le basi scientifiche
per comprendere il lavoro proposto; la Sezione 3 descrive l'algoritmo implementato;
la Sezione 4 tratta e commenta gli esperimenti condotti; la Sezione 5 conlcude
illustrando i lavori collegati e le attività future.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Basi scientifiche del lavoro proposto</title>
      <p>In questa sezione illustriamo le basi, necessarie a comprendere il resto dell'articolo,
su cui il nostro lavoro si poggia: istituzioni elettroniche e disambiguazione del
significato di una parola sfruttando WordNet.
2.1 Istituzioni elettroniche
Secondo [Nor90] le interazioni tra esseri umani sono guidate da istituzioni che
forniscono la struttura della vita quotidiana, definiscono le regole del gioco in una
società ed introducono vincoli formali e informali necessari affinché l'interazione
abbia luogo in modo controllato ed efficace. Le istituzioni sono la struttura all'interno
della quale avviene l'interazione e definiscono cosa i vari individui possono, devono,
non possono fare sotto determinate circostanze. Le istituzioni devono essere create (si
pensi alla stesura della Costituzione di uno stato) e possono evolvere (si pensi alla
legge ordinaria). Un tratto caratterizzante delle istituzioni è la chiara distinzione tra le
regole e gli individui che sottostanno a tali regole. Grazie alle istituzioni è possibile
formare organizzazioni ovvero “unità sociali (o gruppi di esseri umani) costituite e
ricostituite deliberatamente per perseguire obiettivi specifici” [Etz64].</p>
      <p>Il modo in cui le organizzazioni sono create è influenzato dalla struttura
istituzionale che a sua volta influenza il modo in cui le organizzazioni evolvono. Le
organizzazioni devono conformarsi alle regole della istituzione per essere accettate,
legittimate e supportate. In [ERS+01] la metafora delle organizzazioni
istituzionalizzate è usata per progettare ed implementare organizzazioni aperte di agenti
software, denominate istituzioni elettroniche, in cui un gran numero di agenti umani e
software giocano ruoli differenti ed interagiscono tramite atti comunicativi [Sea69].</p>
      <p>Gli elementi che caratterizzano una istituzione elettronica sono quindi
- Agenti e ruoli: gli agenti sono i giocatori all'interno di un'istituzione elettronica,
mentre i ruoli sono schemi di comportamento standardizzati. La identificazione e la
regolamentazione dei ruoli è una fase rilevante del processo di formalizzazione di
ogni organizzazione. Ogni agente in una istituzione elettronica deve adottare uno o
più ruoli.</p>
      <p>- Struttura dialogica: alcuni aspetti di una istituzione quali gli oggetti del mondo
ed il linguaggio utilizzato per la comunicazione sono fissati e costituiscono il contesto
o struttura dell'interazione tra agenti.</p>
      <p>- Scena: le interazioni tra agenti avvengono mediante incontri chiamati scene e
seguono un protocollo di comunicazione ben definito.</p>
      <p>- Struttura performativa: le scene possono essere collegate e formare quindi una
rete di scene detta struttura performativa.
- Regole normative: le azioni degli agenti nel contesto di una istituzione possono
avere conseguenze che limitano oppure allargano le successive possibilità di azione.
Queste conseguenze imporranno obblighi agli agenti e avranno un impatto sui loro
possibili cammini all'interno della struttura performativa.</p>
      <p>Per la creazione e verifica di istituzioni elettroniche è possibile usare l'editor
ISLANDER (http://e-institutor.iiia.csic.es/islander/islander.html) che consente la
specifica delle componenti di un'istituzione elettronica mediante un linguaggio
testuale dichiarativo.</p>
      <p>Le istituzioni elettroniche 3D, chiamate “Virtual Institutions” [Bog07] sono state
utilizzate con successo in diversi domini, dall'apprendimento basato su imitazione
alla riproduzione di società antiche e alla condivisione di beni culturali.
2.2 Disambiguazione del significato di una parola
Il problema dell’estrazione di ruoli e relazioni fra ruoli può essere inquadrato nel
contesto più generale dell’estrazione dell'informazione o Information Extraction (IE)
[CL96,Sar08]. In particolare, nel campo dell'elaborazione di linguaggio naturale, un
aspetto pregnante del problema riguarda la disambiguazione o word sense
disambiguation (WSD) [AE06]; essa coinvolge l’associazione ad una parola in un
testo del significato che meglio le si addice rispetto a tutti i possibili significati (sense,
in inglese). Questa associazione può essere ottenuta eseguendo due passi: (i) si
recuperano tutti i significati delle parole più rilevanti del testo preso in
considerazione; (ii) si assegna ad ogni parola il significato più appropriato.
Per quanto riguarda il recupero dei significati, esistono proposte basate sull'uso di
significati predefiniti simili a quelli presenti nei dizionari, su gruppi di associazioni tra
parole come i sinonimi, o ancora su accessi a traduzioni in altre lingue. Per ogni
significato non esiste tuttavia una definizione accettata da tutti, che cambia per
esempio da dizionario a dizionario in base al grado di granularità scelto dall'autore.
Per individuare il giusto significato di una parola, si deve tener conto del contesto in
cui la parola è inserita ed è utile sfruttare dati esterni quali risorse lessicali ed
enciclopediche.</p>
      <p>Le metodologie sono molte, ma raggruppabili in tre aree principali:
- Metodi basati sull'Intelligenza Artificiale
- Metodi basati su corpora
- Metodi basati sulla conoscenza
I primi fanno riferimento ai tradizionali metodi di rappresentazione della conoscenza
come, per esempio, le reti semantiche; i secondi ottengono empiricamente i risultati
utilizzando gli esempi forniti dai corpora. I metodi basati sulla conoscenza, sui quali
ci soffermiamo in quanto sono quelli usati nel nostro approccio, si basano
sull'estrazione automatica di informazioni da basi di dati quali dizionari, thesauri e
corpora. Essi ebbero nuova linfa con la diffusione su larga scala di queste basi di
conoscenza. In questa categoria rientrano lavori compiuti sui “Machine-readable
dictionaries”, contenenti informazioni lessicali, come gli algoritmi proposti da Lesk
[Les86] e da Wilks [Wil90]; lavori compiuti sui thesauri, che contengono relazioni tra
categorie di parole e informazioni semantiche, il più famoso dei quali è il Roget's
International Thesaurus; lavori compiuti su dizionari semantici, i quali possono essere
di tipo enumerativo, in cui i significati sono forniti esplicitamente come WordNet,
oppure di tipo generativo, in cui i significati associati alle parole sono derivati da
regole di generazione.</p>
      <p>WordNet [Mil95] è una base di dati non legata ad un particolare dominio di
applicazione, che raggruppa tutte le parole della lingua inglese. Include sia concetti di
tipo generale, sia concetti con un maggior grado di specializzazione, collegati non
solo da relazioni lessicali ma anche da relazioni semantiche, ed è organizzata in
quattro categorie sintattiche: nomi, verbi, aggettivi, avverbi.</p>
      <p>All'interno di ogni categoria le parole sono raggruppate in insiemi di sinonimi, detti
“synset”, per ciascuno dei quali è fornita una definizione, detta “gloss”. Ogni parola
gestita da WordNet appartiene ad almeno un synset. Le parole che appartengono a più
synset sono dette polisemiche e hanno la caratteristica di avere più di un significato ad
esse attribuibile.</p>
      <p>Le relazioni semantiche legano coppie di synset ed includono: iperonimia, in cui il
secondo synset denota una classe di oggetti più ristretta di quella rappresentata dal
primo synset; iponimia, relazione inversa dell'iperonimia; istanza, in cui il primo
synset è un'istanza del secondo synset; implicazione, in cui il primo synset
rappresenta un'azione che non può verificarsi in mancanza dell'azione rappresentata
dal secondo synset; similarità, in cui il secondo synset, detto satellite, è legato al
primo, detto cluster head, da una somiglianza di significato; meronimia, in cui il
primo synset è parte del secondo synset oppure ne è membro oppure è una sostanza
che si può trovare al suo interno; causa, in cui il primo synset rappresenta un'azione
scatenante l'azione che rappresenta il secondo synset; attributo, in cui un synset,
rappresentante un aggettivo, è legato al synset rappresentante il nome di cui esprime il
valore.</p>
      <p>Le relazioni lessicali legano coppie di vocaboli ed includono: sinonimia, che esiste
tra parole appartenenti a uno stesso synset; antinomia, che lega una parola al suo
contrario; classe, in cui il primo vocabolo può essere classificato come appartenente
alla classe indicata dal secondo vocabolo; derivazione, che specifica l'esistenza di una
derivazione morfologica tra la prima e la seconda parola, tale relazione è riflessiva.</p>
    </sec>
    <sec id="sec-3">
      <title>3 Estrazione di ruoli e relazioni tra ruoli da testo scritto</title>
      <p>L'algoritmo che proponiamo analizza il testo ed estrae ruoli e relazioni tra ruoli
sfruttando WordNet e l'algoritmo di Lesk adattato [BP02], partendo da un testo scritto
che descrive in linguaggio naturale la situazione che vogliamo modellare come
Istituzione Virtuale.</p>
      <p>L'implementazione è stata sviluppata in SWI Prolog esteso con la libreria
ProNTo_Morph [Sch03] e con l'accesso alla versione Prolog di WordNet. Prolog è
utilizzato con successo per applicazioni di trattamento del linguaggio naturale da circa
vent'anni [Cov93,Lag00]; il suo utilizzo si è rivelato particolarmente adatto anche al
nostro scopo. Come mostrato in questa sezione mediante alcuni frammenti del codice
sviluppato, infatti, il codice prodotto è estremamente compatto e leggibile. I
metapredicati per la raccolta di insiemi di soluzioni si sono rivelati particolarmente utili
per l'individuazione e la selezione di tutti gli iperonimi di un concetto, passaggio
necessario per assegnare un ruolo ad un concetto, e per l'individuazione delle coppie e
terne di parole legate da qualche tipo di relazione all'interno della finestra scorrevole.</p>
      <p>La tecnica che abbiamo sviluppato per estrarre ruoli e relazioni tra ruoli si basa
sull'analisi della punteggiatura del testo in input, effettuata considerando il testo
avulso da qualsiasi contesto, inteso come dominio o corpus di riferimento. Il testo
viene suddiviso in segmenti separati l'uno dall'altro da un segno di punteggiatura forte
(punto, punto e virgola, due punti, punto di domanda, punto esclamativo). Ognuno di
questi segmenti viene analizzato attraverso una “finestra scorrevole”, spostata di una
parola alla volta, la quale contiene al più K parole significative. Nei nostri esperimenti
abbiamo posto K = 5 riscontrando empiricamente che con tale valore si ottengono i
risultati migliori. Se il segmento di testo contiene meno di K parole significative
allora la finestra avrà dimensioni ridotte e coinciderà con tutto il segmento.</p>
      <p>Data questa definizione di finestra, è ragionevole assumere che gli aggettivi riferiti
ai sostantivi appartenenti alla finestra caschino dentro la finestra stessa, così come le
azioni riferite a questi sostantivi. La vicinanza spaziale risulta altresì importante. Un
aggettivo si riferisce ad un sostantivo tanto più gli è vicino nella finestra.
Analogamente per i verbi.</p>
      <p>Per disambiguare le parole contenute all'interno della finestra abbiamo adottato
l'algoritmo di Lesk adattato per tener conto della punteggiatura. Al meglio della
nostra conoscenza, sfruttare la punteggiatura per circoscrivere la ricerca di ruoli in
relazione è un aspetto originale della nostra proposta. L'idea è quindi quella di far
coincidere il contesto con la finestra e applicare a questa l'algoritmo di Lesk.</p>
      <p>Una volta terminata la fase di disambiguazione, ad ogni parola viene assegnato un
ruolo, ovvero il concetto più generale da cui discende, utilizzando le relazioni
semantiche di WordNet. In questa fase di estrazione dei ruoli è importante non
perdere la contestualizzazione di ogni termine.</p>
      <p>L'estrazione delle relazioni avviene tenendo conto sia delle informazioni prodotte
in fase di contestualizzazione che in fase di disambiguazione. Le relazioni vengono
estratte associando gli aggettivi ai nomi e gli avverbi ai verbi. Queste associazioni
sono guidate dalla distanza tra le parole all'interno della finestra. Successivamente
vengono legati verbi e nomi sempre tenendo conto che parole più vicine hanno
maggiore probabilità di essere in relazione rispetto a parole più distanti.</p>
      <p>Il cuore del nostro algoritmo è implementato dal predicato doWork/4 che, presa
una finestra scorrevole di K parole significative, le disambigua considerando come
contesto la finestra stessa e associando ad ogni parola il proprio senso (predicato
disambiguate/3, il cui primo argomento è la lista di parole da disambiguare, il
secondo è il contesto - che coincide con le parole stesse - ed il terzo è la lista di sensi
ottenuti dal processo di disambiguazione usando l'algoritmo di Lesk), trova i ruoli
ricoperti dalle parole dati i loro significati (predicato findRoles/2, il cui primo
argomento è la lista di parole con relativo senso disambiguato, ed il secondo è la lista
di ruoli associati alle parole), e infine trova le relazioni tra le parole considerando che
parte del discorso, in inglese “Part of Speech” abbraviato in POS, ricoprono
(predicato findRelationsByPOS/2).</p>
      <p>doWork(W,Senses,Roles,Relations):disambiguate(W,W,Senses),
findRoles(Senses,Roles),
findRelationsByPOS(Senses,Relations).</p>
      <p>Nel seguito illustriamo nel dettaglio le 8 fasi che caratterizzano il nostro algoritmo.</p>
      <sec id="sec-3-1">
        <title>FASE 1: Pre-processing</title>
        <p>Scopo di questa fase è individuare, nell’intero testo, le parole che non risultino
significative per le fasi successive. Tale obiettivo è raggiunto mediante:
- Creazione di una lista statica di parole comuni (quali aggettivi o proposizioni, in
inglese stopwords), costruita sulla base del British National Corpus (BNC,
http://www.natcorp.ox.ac.uk/), a cui è associata la frequenza.
- Estrazione della lista di stopwords dal testo preso in esame e calcolo della loro
frequenza nel testo stesso.</p>
        <p>Confronto di quest’ultima lista con la lista statica, basato sulla soglia
FSqrt &lt; M * FreqSqrt dove FSqrt =</p>
        <sec id="sec-3-1-1">
          <title>F , con F frequenza della parola Word</title>
          <p>nel testo preso in esame, FreqSqrt =</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>Freq e Freq frequenza della parola Word</title>
          <p>nella lingua, M fattore moltiplicativo fissato empiricamente a 10.</p>
          <p>Dagli esperimenti condotti è risultato che l'utilizzo della radice quadrata e
l'introduzione del fattore M sono necessari per meglio approssimare i valori di
frequenza. L'analisi di un testo composto da poche frasi porterebbe senz'altro ad
avere, per ogni parola, una frequenza molto superiore alle parole della lista statica. La
scelta di introdurre radice quadrata e fattore M non è convalidata in letteratura, ma è
stata indotta dai test svolti.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>FASE 2: Selezione del segmento di testo</title>
        <p>La fase si segmentazione del testo è basata sulla punteggiatura forte. Come
riportato nella Sezione 5, questo approccio potrà essere completato da una procedura
di controllo che distingua tra segni di punteggiatura che terminano il periodo rispetto
a quelli presenti all’interno di parole abbreviate.</p>
        <p>Le frasi tra parentesi sono considerate come segmenti a se stanti, assumendone
l’indipendenza rispetto a quelle esterne ad esse. Se durante lo scorrimento del testo si
incontra una parentesi aperta, si va alla ricerca della corrispondente parentesi chiusa e
si salva la frase tra parentesi per una successiva iterazione dell'algoritmo.</p>
        <p>Viene inoltre trattato il caso in cui ci siano parentesi annidate.</p>
      </sec>
      <sec id="sec-3-3">
        <title>FASE 3: Individuazione delle espressioni polirematiche</title>
        <p>Lo scopo di questa fase è quello di individuare le unità lessicali del linguaggio,
ovvero le espressioni polirematiche, composte da più termini che identificano un
unico concetto. Se ad essere prese in esame fossero le singole parole dell'espressione
una alla volta, le informazioni ricavate sarebbero incomplete e fuorvianti rispetto al
significato inteso dall'utilizzo dell'espressione stessa. Per esempio il concetto 'credit
card' ha molto più senso se considerato come un tutt'uno piuttosto che suddiviso nelle
singole parole 'credit' e 'card'.</p>
        <p>Per poter quindi assegnare la corretta interpretazione semantica l'operazione viene
svolta andando a confrontare sequenze di parole successive con i vocaboli in
WordNet. Se le corrispondenze possibili sono più di una, viene scelta la sequenza di
parole più lunga, perché sperabilmente più significativa. Ad esempio le espressioni
'professional tennis' e 'professional tennis player' sono entrambe contenute in
WordNet. Se il testo contenesse l'espressione “[...] professional tennis player [...]”
questa verrebbe unificata con il concetto formato da tutte e tre le parole, perché
portatore di maggiori informazioni rispetto al concetto formato dalle sole prime due.</p>
        <p>Nell'implementazione dell'algoritmo si ricercano sequenze con non più di 4 parole.</p>
      </sec>
      <sec id="sec-3-4">
        <title>FASE 4: Rimozione delle parole non significative</title>
        <p>Questa fase è strettamente correlata a quella di pre-processing. E' infatti questo lo
stadio in cui le parole non significative individuate in quella fase vengono rimosse.</p>
        <p>Ciò avviene in un secondo momento rispetto al calcolo delle frequenze e alla fase
di individuazione delle espressioni polirematiche, per permettere anche l’unificazione
di polirematiche quali 'to it' o 'a few' che altrimenti, rimuomendo sia 'to' che 'it' dalla
prima e 'a' dalla seconda, non verrebbero individuate.</p>
        <p>In questa fase vengono rimosse solo le singole parole che non risultano far parte di
un'espressione polirematica e tutte le parole che non sono presenti in WordNet e che
non sarebbero quindi gestibili in alcun modo.</p>
        <p>L’assenza in WordNet delle coniugazioni dei verbi e delle parole plurali rende
necessario ricondurre queste parole alla loro forma normale per poterle recuperare
correttamente.</p>
        <p>Lo strumento utilizzato per compiere questo lavoro è ProNTo_Morph, un
morphological analysis tool che consente di spezzare una parola in radice e suffisso.</p>
        <p>Per esempio la parola 'played' è composta dai due morfemi 'play' e '-ed'.
ProNTo_Morph si avvale di regole di spelling generali quale ad esempio il suffisso
's' per il riconoscimento di parole plurali e coniugazioni di verbi nella terza persona
singolare presente. Fa inoltre utilizzo di una lista di parole irregolari per il
riconoscimento di nomi, verbi, aggettivi e avverbi che non possono essere analizzati
secondo le regole grammaticali generali.</p>
        <p>FASE 5: Creazione della finestra scorrevole</p>
        <p>Sui concetti rimanenti del segmento di testo viene implementata una finestra
scorrevole. Essa viene inizialmente posta sui primi K concetti del segmento di testo e
successivamente viene fatta scorrere di un concetto alla volta fino alla fine del
segmento. Durante ogni spostamento l'algoritmo può vedere attraverso la finestra
solamente i K concetti contenuti in quel momento, e solo su quelli può lavorare.</p>
        <p>Nel caso di un segmento composto da meno di K concetti, la finestra viene ridotta
alle dimensioni del numero di concetti presenti.</p>
        <p>FASE 6: Disambiguazione</p>
        <p>La disambiguazione avviene considerando la finestra come il contesto sul quale
applicare l'algoritmo di Lesk adattato.</p>
        <p>L'algoritmo è basato sull'assunzione che le parole contenute in un certo intorno
condividano un argomento comune e consiste sostanzialmente nei seguenti passi:
1. scegliere coppie di parole ambigue entro un ristretto raggio
2. controllare le loro definizioni in un vocabolario
3. scegliere i significati che massimizzano il numero di termini comuni
nelle definizioni delle due parole.</p>
        <p>Le parole da disambiguare sono tutte quelle del contesto appartenenti a più di un
synset. Per ogni significato della parola da disambiguare:
- si recuperano le parole della definizione del synset (glossa) a cui essa appartiene
- si concatena la parola con la lista delle parole contenute nelle glosse dei synset in
relazione diretta di iponimia, iperonimia, meronimia, olonimia e similarità con
essa. Chiamiamo la lista risultante L.
- si associa, ad ogni parola del contesto, la lista delle parole contenute nella glossa
di ogni synset a cui appartiene un significato della parola, concatenata con la lista
delle parole contenute nelle definizioni dei synset in relazione diretta di iponimia,
iperonimia, meronimia, olonimia e similarità con in vari synset cui la parola è
abbinata. Tutte queste liste vengono concatenate in una unica che chiamiamo LL.
La bontà di un significato è poi calcolata a partire da questi valori:
1. il numero di occorrenze delle parole di L che compaiono in LL;
2. il numero di occorrenze delle parole del contesto che compaiono in L;
3. il numero di occorrenze delle parole di L che compaiono nel contesto.</p>
        <p>Ognuno di questi tre valori ha associato un coefficiente modificabile che permette
di variarne il peso nella valutazione finale. Di default la misura dei coefficienti è posta
a 1 per il primo valore, 50 per il secondo, 25 per il terzo. Questo è dovuto al fatto che
il secondo valore ha maggiore peso nella valutazione rispetto agli altri due.</p>
        <p>La valutazione finale del significato viene calcolata come somma dei tre prodotti e
tra i significati disponibili viene scelto quello con la valutazione più alta. Il risultato
della disambiguazione è l'etichettatura di ogni parola disambiguata con tre
informazioni: il synset, la parte del discorso, il valore di bontà del significato scelto,
che sarà quello che ha ottenuto il punteggio maggiore come valutazione.</p>
      </sec>
      <sec id="sec-3-5">
        <title>FASE 7: Estrazione dei ruoli</title>
        <p>Una volta assegnato il presunto significato alla parola l'obbiettivo diventa estrarre
il suo ruolo, che in questo contesto definiamo come “il super-concetto che abbia il
miglior rapporto tra generalità e dettaglio”. Il problema sta nell'individuare quale, tra i
super-concetti, presenta il giusto grado di astrazione per candidarsi a diventare un
“ruolo”.</p>
        <p>La catena dei super-concetti di un concetto C si trova tramite le relazioni
semantiche di WordNet, in particolare attraverso le relazioni di istanza e di
iperonimia. Per quel che riguarda i nomi, WordNet è organizzato in un albero con
radice il synset a cui appartiene la parola 'entity'. Ogni altro synset è figlio diretto o
indiretto di questa radice.</p>
        <p>Risalire tutta la catena di iperonimi del synset non è quindi una soluzione
percorribile, perché troppo generale e univoca; risalire la catena di un solo nodo,
viceversa, potrebbe risultare troppo specifico perché troppo ‘vicino’ al synset iniziale.</p>
        <p>L'idea è quindi fermarsi a un nodo intermedio della catena di discendenza, che sia
sufficientemente informativo, generale e ad un buon livello di astrazione.</p>
        <p>La soluzione individuata consiste quindi nel prendere la lista di tutte le parole
appartenenti ai synset iperonimi diretti e indiretti di quello di partenza (chiamiamola
H) e confrontarli con ognuna delle parole della glossa associata al synset di partenza
(chiamiamola P) abbinando a ciascun confronto un valore di similarità, ottenuto
tramite la metrica Jaro-Winkler [Jar89,Win99], così da poter confrontare anche
eventuali varianti di H contenute in P, non solo parole identiche.</p>
        <p>Il ruolo selezionato è l'iperonimo della coppia con il valore maggiore. Il calcolo del
ruolo è significativo solo per nomi e verbi, in quanto aggettivi e avverbi non hanno
relazioni di iperonimia.</p>
        <p>Nel caso in cui il termine non abbia iperonimi, si esamina la possibilità che esso sia
istanza di una qualche classe. Se la verifica ha esito positivo viene recuperata tutta la
lista degli iperonimi diretti e indiretti della classe di cui il termine è istanza e
l'operazione di paragone viene fatta su questa lista. Per esempio il synset ('Asimov',
'Isaac Asimov') non ha iperonimi, ma è legato da una relazione di classe/istanza al
synset ('writer', 'author'). In caso negativo l'algoritmo stabilisce che il termine non
possiede un ruolo.</p>
        <p>Il codice Prolog che implementa questa attività è riportato nel seguito con qualche
semplificazione fatta a solo scopo di leggibilità. Il predicato findRoles/2 analizza
la lista di significati un elemento alla volta e su ciascun elemento di interesse, ovvero
sostantivi e verbi, chiama findRoleByGloss/2.
findRoles([],[]):-!.
findRoles([sense(Syn,Word,POS,_)|Rest],[(Word,Role,POS,Syn)|Roles]):(POS == noun ; POS == verb), !, findRoleByGloss(Syn,Role),
findRoles(Rest,Roles).
findRoles([sense(Syn,Word,POS,_)|Rest],[(Word,noRole,POS,Syn)|Roles]):findRoles(Rest, Roles).
findRoleByGloss(S,Role):</p>
        <p>s(S,_,Word,_,_,_), !, /* (predicato offerto dalla versione Prolog di
WordNet) ricerca in WordNet la parola Word appartenente al synset
identificato da S */</p>
        <p>g(S,G), /* (predicato offerto dalla versione Prolog di WordNet)
unifica G con la glossa associata a S */</p>
        <p>atom_codes(G,Chars), /* (predicato di sistema) trasforma la
stringa G in lista di char */</p>
        <p>tokenize(Chars,Tokens), /* (predicato implementato da Fabrizio
Larosa e offerto dalla libreria http://www.disi.unige.it/person/
MascardiV/BooleAndLesk/Fabrizio_Larosa.zip disponibile sotto licenza
GPLv2) opera la “tokenizzazione” ovvero la individuazione delle parole
nella glossa */</p>
        <p>subClassOf(S,SynList), /* trova la lista dei synset degli
iperonimi/classi di S */</p>
        <p>findall(W,(member(H,SynList), s(H,_,W,_,_,_)),L), /* dalla lista
di identificatori di synset, ricava la lista di parole a cui tali
identificatori corrispondono */</p>
        <p>computeDistance(Tokens,L,Distances), /* calcola distanze tra tutti
gli elementi di Tokens e quelli di L */</p>
        <p>bestRole(Distances,(Word,0),Role). /* Role è il ruolo che dà
l'approssimazione migliore */</p>
      </sec>
      <sec id="sec-3-6">
        <title>FASE 8: Creazione delle relazioni</title>
        <p>Per creare le relazioni l'idea è quella di basarsi sulla vicinanza tra le parole e sulla
parte del discorso con cui sono state etichettate nella fase di disambiguazione.</p>
        <p>L'aggettivo è la parte del discorso che qualifica un nome, che ne evidenzia una
proprietà, una caratteristica o che semplicemente dà delle informazioni su di esso.
Quando compare in una frase si riferisce sempre a un nome.</p>
        <p>L'avverbio, similmente, descrive il modo con cui un'azione viene fatta; figura
sostanzialmente da commento al verbo a cui si riferisce all'interno della frase.</p>
        <p>Verbi e nomi sono la sostanza della frase. Legati tra loro danno senso alla frase,
descrivendo una situazione, un avvenimento o quant'altro.</p>
        <p>Le associazioni tra le varie parti del discorso avvengono in questo ordine:
1. gli aggettivi si legano ai nomi;
2. gli avverbi si legano ai verbi;
3. si associano i verbi e i nomi.</p>
        <p>Le prime due associazioni avvengono con le stesse modalità. Si prende ogni
aggettivo e lo si lega al nome più vicino a lui nella finestra. Se esistono due nomi alla
stessa distanza si creano entrambe le associazioni. La stessa cosa avviene prendendo
gli avverbi e legandoli ai verbi più vicini a loro.</p>
        <p>Per la terza associazione si seguono degli schemi predefiniti che corrispondono alle
sequenze di verbi e nomi che maggiormente ricorrono nelle comuni frasi in lingua
inglese.</p>
        <p>Gli schemi con cui si confrontano le parole sono i seguenti:
• nome/verbo/nome
• nome/verbo
•</p>
        <p>nome/nome</p>
        <p>Il fatto che nella finestra compaiano aggettivi e avverbi tra i verbi e i nomi
influenza solamente quest'ultimo schema di associazioni (nome/nome). Si è deciso
quindi di mettere in relazione due nomi solamente se risultino essere molto vicini
all'interno della finestra, cioè se non distano l'uno dall'altro più della metà della
lunghezza della finestra. Nei primi due schemi risulta invece irrilevante la presenza di
aggettivi o avverbi, in quanto non sono presi in esame nel calcolo.</p>
        <p>Le associazioni così create vengono scritte su un file di testo.</p>
        <p>Il predicato che implementa questa attività è findRelationsByPOS/2 che, presa
una lista di sensi come quella passata a findRoles, unifica Relations con le
relazioni significative tra le parole appartenenti alla lista. Mostriamo per esteso anche
il predicato createAssociations/2 richiamato da findRelationsByPOS.
findRelationsByPOS(SenseList,Relations):</p>
        <p>addNumToList(SenseList,ListWithNumbers), /* assegna un numero
progressivo a ogni elemento e scarta informazioni non necessarie */
bindAdjectives(ListWithNumbers,CouplesAN), /* CouplesAN è la lista
delle coppie (Aggettivo,Nome di riferimento) */</p>
        <p>bindAdverbs(ListWithNumbers,CouplesAV), /* CouplesAV è la lista
delle coppie (Avverbio,Verbo di riferimento) */</p>
        <p>createAssociations(ListWithNumbers,Associations), /* Associations è
la lista dei gruppi di elementi in relazione tra loro */</p>
        <p>append(CouplesAN,CouplesAV,L1), append(L1,Associations,Relations).
/* concatena i risultati */
),L3), /* trova le coppie del tipo (Nome,Nome), con nomi vicini
rispetto alle dimensioni della finestra */</p>
        <p>append(L1,L2,L12),append(L12,L3,Assoc). /* concat. i risultati */</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Esperimenti e Risultati</title>
      <p>Le sperimentazioni sono avvenute selezionando dal web testi di due-tre frasi
appartenenti a tre differenti ambiti: testi letterari, testi scientifici, articoli di news.</p>
      <sec id="sec-4-1">
        <title>Disambiguazione</title>
        <p>Nei testi letterari le maggiori difficoltà nella disambiguazione sono dovute
all'utilizzo dei nomi propri di persona come protagonisti delle vicende; il
disambiguatore non riesce a trovare per loro nessuna associazione all'interno di
WordNet, la parola va persa e con essa anche tutte le relazioni che la coinvolgono.
Come riportato nella Sezione 5, un lavoro futuro sarà quello di rafforzare l’uso di
WordNet con tecniche di riconoscimento automatico di nomi di entità.</p>
        <p>Inoltre in questi testi è ricorrente la presenza di un soggetto che compie numerose
azioni, ma vista la limitatezza della finestra solamente la prima o le prime due gli
vengono attribuite. Per i testi letterari la percentuale di parole che trovano un corretto
abbinamento in WordNet si aggira intorno al 65-70%.</p>
        <p>Le stesse problematiche si riscontrano negli articoli di news, dove molto spesso il
soggetto principale è un'azienda, un'impresa o un personaggio pubblico. Il contesto
risulta essere però più circoscritto rispetto ai testi letterari; questi articoli raccontano
infatti in modo non molto descrittivo vicende di cronaca o avvenimenti speciali in cui
l'attenzione è focalizzata sul soggetto principale. Gli articoli di news solitamente non
presentano le digressioni che caratterizzano i testi letterari e le percentuali di parole
disambiguate correttamente migliorano, portandosi al 75-80%.</p>
        <p>I testi scientifici hanno la caratteristica di essere specifici di un argomento; in
questo modo tutte le parole “cooperano” per pervenire a una corretta
disambiguazione. Il contesto in cui è inserito il testo risulta chiaro per la presenza di
numerosi termini caratteristici. Si riduce drasticamente il numero di parole polimorfe
e la percentuale di parole disambiguate correttamente sale al 90-95%.</p>
      </sec>
      <sec id="sec-4-2">
        <title>Creazione delle relazioni</title>
        <p>La percentuale di relazioni esistenti trovate risulta nella grande maggioranza dei
casi inferiore alla percentuale delle parole correttamente disambiguate. Questo è
dovuto principalmente a due fattori:
1. la lunghezza limitata della finestra;
2. la scorretta disambiguazione di un concetto.</p>
        <p>Il primo fattore porta termini, tra i quali esiste una relazione, fuori dai limiti della
finestra, impedendo una possibile associazione tra questi concetti, nonostante a essi
sia stato attribuito il giusto significato. Un aumento della lunghezza della finestra
porta a un numero maggiore di relazioni individuate ma fa aumentare la complessità e
il tempo del calcolo.</p>
        <p>Effetti deleteri derivano dall'attribuzione di un significato errato a una parola, nel
caso in cui gli sia abbinato un synset appartenente a una categoria sintattica differente
da quella che in realtà si intendeva nel testo. Ad esempio, l'attribuzione di un
significato della categoria degli aggettivi a una parola che intendeva essere un verbo
al passato, porta alla mancata creazione delle relazioni che coinvolgevano quel verbo.</p>
        <p>Il numero di relazioni trovate nei testi scientifici continua a rimanere alto proprio
grazie alla corretta disambiguazione. La percentuale di relazioni trovate è mediamente
dell'80%.</p>
        <p>Negli articoli di news la presenza di errori nell'attribuzione del significato si fa
sentire maggiormente. In questi articoli le relazioni trovate sono il 66-67%.</p>
        <p>Nei testi letterari si aggiunge la difficoltà nel collegare soggetti distanti dall'azione
che compiono all'interno del testo. La presenza di lunghe digressioni spinge i concetti
a una distanza tale da rendere in certi casi impossibile ricostruire la relazione. In
questo caso la percentuale arriva al 53-54%.</p>
        <p>A titolo di esempio, riportiamo nel seguito alcune relazioni significative tratte dal
secondo libro delle Storie di Erodoto (esempi 1 e 2) e dalla fiaba “Il pescatore e sua
moglie” dei fratelli Grimm (esempi 3 e 4):</p>
        <p>1. Frase: “There are other lilies too, in flower resembling roses, which also grow in the
river”; ruoli assegnati a concetti: role(lilies, plants), role(roses, shrub); relazioni tra concetti:
resemble(lilies, roses)</p>
        <p>2. Frase: “for the rest of Egypt becomes a sea and the cities alone rise above water”; ruoli
assegnati ai concetti: role(Egypt, African nation), role(sea, water); relazioni tra concetti:
become(Egypt, sea)</p>
        <p>3. Frase: “So the man went home, and saw his wife standing at the door of a nice trim little
cottage”; ruoli assegnati ai concetti: role(man, male), role(home, housing), role(saw, consider),
role(wife, partner), role(door, barrier), role(cottage, house); relazioni tra concetti: go(man,
home), see(man, wife), stand(wife, door), little(cottage).</p>
        <p>4. Frase: “This time the sea looked a dark grey colour, and was overspread with curling
waves and the ridges of foam as he cried out”; ruoli assegnati ai concetti: role(sea, water),
role(grey, color), role(overspread, cover), role(waves, movement), role(ridges, elevation),
role(foam, bubble); relazioni tra concetti: look(sea, dark), look(sea, grey), overspread(sea),
curling(waves), ridges(foam).</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5 Lavori collegati e sviluppi futuri</title>
      <p>Alcuni dei principali contributi allo studio dei ruoli semantici nell’ambito del
trattamento del linguaggio naturale e della linguistica computazionale riguardano
l’estrazione di pattern lessico sintattici [Hea92] e di dipendenze sintattiche tra parole o
tra i verbi e i loro argomenti [AD01, GJ02, CJ00], allo scopo di individuare relazioni
semantiche basate sulla co-occorrenza di parole o classi di parole o sulla struttura
logico-argomentativa di un verbo.</p>
      <p>Un uso massiccio di tali tecniche è presente nell’ambito dell’apprendimento
automatico di ontologie, sia per estrarre gerarchie di concetti, istanze e relazioni
[Cim06, CHS05, PS05], che per il riconoscimento automatico di entità nominali quali
persone, luoghi, eventi [ECD+05, YE09] da corpora annotati, thesauri e contenuti
sempre più vasti e disponibili, non strutturati o semi-strutturati, quali quelli disponibili
sul Web. Nella maggior parte dei lavori citati vi è un impiego prevalente di metodi di
apprendimento statistico e modelli probabilistici.</p>
      <p>L’approccio descritto in [NV04] utilizza invece un algoritmo di disambiguazione
del senso, usato per interpretare i concetti e le loro relazioni semantiche, basato sul
riconoscimento di pattern semantici estratti da WordNet (synset, relazioni, glosse) e
da corpora annotati, codificati in una grammatica context-free che ne descrive le
strutture, chiamate interconnessioni semantiche. La disambiguazione avviene con un
algoritmo iterativo che, dato un termine, il suo contesto e tutte le possibili
interconnessioni semantiche, utilizza pesi assegnati a ciascuna produzione della
grammatica, fino ad ottenere quella che viene chiamata interpretazione
composizionale, rappresentata dalla regola di produzione con peso maggiore.</p>
      <p>Nessuno degli approcci citati utilizza l’algoritmo di Lesk adattato per estrarre ruoli
e relazioni tra ruoli all’interno di testi; l'utilizzo di tale algoritmo in questo ambito
rappresenta quindi un nostro contributo originale.</p>
      <p>Per quanto riguarda gli sviluppi futuri, oltre all'individuare le tecniche più adatte
ad affrontare problemi classici nel campo della WSD quali l'uso di pronomi anaforici
e cataforici, di deittici e di anafore, ci concentreremo sul miglioramento del nostro
algoritmo per quel che riguarda:
- l’individuazione di segmenti di testo tramite la distinzione della punteggiatura che
termina il periodo rispetto a quella che delimita le abbreviazioni o le iniziali dei nomi
seguiti da un punto. L'algoritmo, allo stato attuale, riconosce tutti i segni di
punteggiatura come terminatori di un periodo.
- l'individuazione di nomi propri di persona, azienda o luogo, non presenti in
WordNet e pertanto eliminati durante l'analisi del testo. L'eliminazione comporta il
mancato riconoscimento di relazioni all'interno delle frasi, riducendo di molto
l'informazione estratta. Una possibile soluzione potrebbe essere quella di adottare
approcci per il riconoscimento automatico di nomi di entità.</p>
      <p>Una valutazione qualitativa delle metriche usate e un’analisi sull’ottimizzazione dei
parametri che tenga conto delle caratteristiche dei contentuti testuali nei diversi
contesti è un lavoro futuro che ci proponiamo di condurre. Un’analisi comparativa del
nostro approccio con strumenti proposti in letteratura e considerati stato dell’arte sia
nell’ambito dell’IE che della WSD è altresì parte delle nostre prospettive future.</p>
    </sec>
    <sec id="sec-6">
      <title>Riferimenti bibliografici</title>
      <p>[AD01] E. Agirre and D. Martinez. Learning class-to-class selectional preferences. In Proc. Of</p>
      <p>ConLL'01, pp 1-8. Association for Computational Linguistics, 2001.
[AE06] E. Agirre and P. Edmonds . Word Sense Disambiguation: Algorithms and Applications.</p>
      <p>Text, speech, and language technology series, Vol 33, Springer, 2006.
[Bog07] A. Bogdanovych: Virtual Institutions. PhD Thesis, University of Technology Sydney
(UTS), Australia. 2007.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [BP02]
          <string-name>
            <given-names>S.</given-names>
            <surname>Banerjee</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Pedersen</surname>
          </string-name>
          .
          <article-title>An Adapted Lesk Algorithm for Word Sense Disambiguation Using WordNet, LNCS</article-title>
          , Vol.
          <volume>2276</volume>
          , pp.
          <fpage>136</fpage>
          -
          <lpage>145</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [BPA+09]
          <string-name>
            <given-names>A.</given-names>
            <surname>Bogdanovych</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Papaleo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ancona</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Mascardi</surname>
          </string-name>
          , G. Quercini,
          <string-name>
            <given-names>S.</given-names>
            <surname>Simoff</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cohen</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Traverso</surname>
          </string-name>
          .
          <article-title>Integrating Agents and Virtual Institutions for Sharing Cultural Heritage on the Web</article-title>
          .
          <source>In Proc. of the Workshop On Intelligent Cultural Heritage</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [CHS05]
          <string-name>
            <given-names>P.</given-names>
            <surname>Cimiano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hotho</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Staab</surname>
          </string-name>
          .
          <article-title>Learning concept hierarchies from text corpora using formal concept analysis</article-title>
          .
          <source>Journal of Artificial Intelligence Research</source>
          ,
          <volume>24</volume>
          :
          <fpage>305</fpage>
          -
          <lpage>339</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [Cim06]
          <string-name>
            <given-names>P</given-names>
            <surname>Cimiano</surname>
          </string-name>
          .
          <source>Ontology Learning and Population from Text: Algorithms, Evaluation and Applications</source>
          . Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [CJ00]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ciaramita</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Johnson</surname>
          </string-name>
          .
          <article-title>Explaining away ambiguity: Learning verb selectional preference with bayesian networks</article-title>
          .
          <source>In Proc. Of COLING</source>
          , Morgan Kaufmann,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [CL96]
          <string-name>
            <given-names>J.</given-names>
            <surname>Cowie</surname>
          </string-name>
          , &amp; W. Lehnert. Information Extraction, in (Y. Wilks, ed.)
          <article-title>Special NLP Issue of the Comm</article-title>
          .
          <source>ACM</source>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>[Cov93] M.</surname>
          </string-name>
          <article-title>A. Covington, Natural Language Processing for PROLOG Programmers</article-title>
          .
          <year>1st</year>
          .
          <string-name>
            <surname>Prentice Hall</surname>
            <given-names>PTR</given-names>
          </string-name>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [ECD+05]
          <string-name>
            <given-names>O.</given-names>
            <surname>Etzioni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.J.</given-names>
            <surname>Cafarella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Downey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.M.</given-names>
            <surname>Popescu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Shaked</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Soderland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.S.</given-names>
            <surname>Weld</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Yates</surname>
          </string-name>
          .
          <article-title>Unsupervised named-entity extraction from the web: An experimental study</article-title>
          .
          <source>Artificial Intelligence</source>
          ,
          <volume>165</volume>
          (
          <issue>1</issue>
          ):
          <fpage>91</fpage>
          -
          <lpage>134</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [ERS+01]
          <string-name>
            <given-names>M.</given-names>
            <surname>Esteva</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Rodríguez-Aguilar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Sierra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Garcia</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Arcos</surname>
          </string-name>
          .
          <article-title>On the Formal Specifications of Electronic Institutions</article-title>
          .
          <source>In Proc. Of AMEC'01</source>
          , pp.
          <fpage>126</fpage>
          -
          <lpage>147</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [Etz64]
          <string-name>
            <given-names>A. Etzioni. Modern</given-names>
            <surname>Organizations. Englewood Cliffs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.J.</given-names>
            :
            <surname>Prentice-Hall</surname>
          </string-name>
          ,
          <year>1964</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [GJ02]
          <string-name>
            <given-names>D.</given-names>
            <surname>Gildea</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Jurafsky</surname>
          </string-name>
          .
          <article-title>Automatic labeling of semantic roles</article-title>
          .
          <source>Computational Linguistics</source>
          ,
          <volume>28</volume>
          :
          <fpage>245</fpage>
          -
          <lpage>288</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [Hea92]
          <string-name>
            <given-names>M.</given-names>
            <surname>Hearst</surname>
          </string-name>
          .
          <article-title>Automatic acquisition of hyponyms from large text corpora</article-title>
          .
          <source>In Proc. Of COLING 92</source>
          , pp.
          <fpage>539</fpage>
          -
          <lpage>545</lpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>[Jar89] M.</surname>
          </string-name>
          <article-title>A. Jaro, Advances in record linking methodology as applied to the 1985 census of Tampa Florida</article-title>
          .
          <source>Journal of the American Statistical Society</source>
          <volume>84</volume>
          (
          <issue>406</issue>
          ):
          <fpage>414</fpage>
          -
          <lpage>20</lpage>
          ,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [Lag00]
          <string-name>
            <given-names>T.</given-names>
            <surname>Lager</surname>
          </string-name>
          .
          <article-title>A Logic Programming Approach to Word Expert Engineering</article-title>
          .
          <source>In Proc. of ACIDCA</source>
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>[Les86] M. Lesk</surname>
          </string-name>
          ,
          <article-title>Automatic Sense Disambiguation Using Machine Readable Dictionaries: How to Tell a Pine Cone from an Ice Cream Cone</article-title>
          .
          <source>In Proc. of ICSD</source>
          , pp.
          <fpage>24</fpage>
          -
          <lpage>26</lpage>
          ,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [Mil95]
          <string-name>
            <given-names>G. A.</given-names>
            <surname>Miller</surname>
          </string-name>
          .
          <article-title>WordNet: A Lexical Database for English</article-title>
          .
          <source>Communications of the ACM</source>
          Vol.
          <volume>38</volume>
          , No.
          <volume>11</volume>
          . pp.
          <fpage>39</fpage>
          -
          <lpage>41</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [Nor90]
          <string-name>
            <given-names>D.</given-names>
            <surname>North</surname>
          </string-name>
          . Institutions, Institutional Change and
          <string-name>
            <given-names>Economic</given-names>
            <surname>Performance</surname>
          </string-name>
          . Cambridge University Press,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [NV04]
          <string-name>
            <given-names>R.</given-names>
            <surname>Navigli</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Velardi</surname>
          </string-name>
          .
          <article-title>Learning domain ontologies from document warehouses and dedicated websites</article-title>
          .
          <source>Computational Linguistics</source>
          ,
          <volume>30</volume>
          (
          <issue>2</issue>
          ):
          <fpage>151</fpage>
          -
          <lpage>179</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [PS05]
          <string-name>
            <given-names>P.</given-names>
            <surname>Cimiano</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Staab</surname>
          </string-name>
          .
          <article-title>Learning concept hierarchies from text with a guided hierarchical clustering algorithm</article-title>
          .
          <source>In Proc. of Learning and Extending Lexical Ontologies with Machine Learning Methods Workshop</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [Sar08]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sarawagi</surname>
          </string-name>
          . Information extraction.
          <source>Foundations and Trends in Databases</source>
          ,
          <volume>1</volume>
          (
          <issue>3</issue>
          ):
          <fpage>261</fpage>
          -
          <lpage>377</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [Sch03]
          <string-name>
            <given-names>J. G.</given-names>
            <surname>Schlachter</surname>
          </string-name>
          ,
          <source>ProNTo_Morph: Morphological Analysis Tool</source>
          ,
          <year>2003</year>
          . Available from http://www.ai.uga.edu/mc/pronto/Schlachter.pdf
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [Sea69]
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Searle</surname>
          </string-name>
          . Speech Acts. Cambridge University Press,
          <year>1969</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [Wil09]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wilks</surname>
          </string-name>
          , Machine Translation.
          <source>Its Scope and Limits</source>
          , Departement of Computer Science, The University of Sheffield,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [Win99]
          <string-name>
            <surname>W. E. Winkler,</surname>
          </string-name>
          <article-title>The state of record linkage and current research problems</article-title>
          . Statistics of Income Division,
          <source>Internal Revenue Service Publication R99/04</source>
          .
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [YE09]
          <string-name>
            <given-names>A.</given-names>
            <surname>Yates</surname>
          </string-name>
          and
          <string-name>
            <given-names>O.</given-names>
            <surname>Etzioni</surname>
          </string-name>
          .
          <article-title>Unsupervised methods for determining object and relation synonyms on the web</article-title>
          .
          <source>Journal of Artificial Intelligent Research</source>
          ,
          <volume>34</volume>
          (
          <issue>1</issue>
          ):
          <fpage>255</fpage>
          -
          <lpage>296</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>