by M Bozzano · Cited by 3 — un Approccio Promettente per Generare. Istituzioni Virtuali da Testi Scritti ai.uga/mc/pronto/Schlachter.pdf. [Sea69] J. R. Searle.
103 KB – 15 Pages
PAGE – 1 ============
Trattamento del Linguaggio Naturale Tramite Prolog: un Approccio Promettente per Generare Istituzioni Virtuali da Testi Scritti Michele Bozzano, Angela Locoro, Maurizio Martelli, Viviana Mascardi DISI, Dipartimento di Informatica e Scienze dell’Informazione, Via Dodecaneso 35, 16146, Genova, Italia michele.bozzano@gmail.com,{angela.locoro, maurizio.martelli, viviana.mascardi}@unige.it Abstract. 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 semi- automatico di ruoli e relazioni tra concetti (e quindi, indirettamente, tra ruoli) a partire da testi scritti. Tale strumento potrà essere utilizzato da gli esperti del dominio per creare Istituzioni Virtuali, senza essere esposti alla complessità del linguaggio con il quale l’Istituzione Virtuale viene descritta. Keywords: Istituzioni Virtuali, Disambiguazione del Senso di una Parola, Estrazione di Ruoli e Relazioni tra Ruoli. 1 Introduzione 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. Per definire le regole comportamentali di una società di agenti in un ambiente condiviso risultano particolarmente utili le Istituzioni Elettroniche , fiun modo di implementare convenzioni di interazione tra agenti – umani o software – che possono stabilire obbligazioni in un ambiente apertofl ( http://e-institutions.iiia.csic.es/) . Le Istituzioni Virtuali [Bog07] rappresentano l’intersezione tra Mondi Virtuali Tridimensionali ed Istituzioni Elettroniche. La potenzialità delle Istituzioni Virtuali e la trasversalità delle loro applicazioni sono ampiamente riconosciute dalla comunità scientifica, tuttavia, a causa della
PAGE – 2 ============
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 fi[] but the priests of the Nile themselves handle the corpse []fl , 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 del- le Istituzioni Virtuali. L’utilità di disporre di un estrattore di questo tipo è stata eviden- ziata in più occasioni dall’archeologo che ha partecipato alla stesura di [BPA+09]. 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 (fiWord Sense Disambiguationfl, 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 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 Basi scientifiche del lavoro proposto 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.
PAGE – 3 ============
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 fiunità sociali (o gruppi di esseri umani) costituite e ricostituite deliberatamente per perseguire obiettivi specificifl [Etz64]. 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 istituzio- nalizzate è 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]. 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. – 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. – Scena : le interazioni tra agenti avvengono mediante incontri chiamati scene e seguono un protocollo di comunicazione ben definito. – 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. 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. Le istituzioni elettroniche 3D, chiamate fiVirtual Institutionsfl [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.
PAGE – 4 ============
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 (I E) . 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. 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 fiMachine-readable dictionariesfl, 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. 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. All’interno di ogni categoria le parole sono raggruppate in insiemi di sinonimi, detti fisynsetfl, per ciascuno dei quali è fornita una definizione, detta figlossfl. 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.
PAGE – 5 ============
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. 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. 3 Estrazione di ruoli e relazioni tra ruoli da testo scritto 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. 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 scop o. Come mostrato in questa sezione mediante alcuni frammenti del codice sviluppato, infatti, il codice prodotto è estremamente compatto e leggibile. I meta- predicati 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. La tecnica che abbiamo sviluppato per estrarre ruoli e re lazioni 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 fifinestra scorrevolefl, 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. Data questa definizione di finestra, è ragionevole assumere che gli aggettivi riferiti ai sostantivi appartenenti alla finestra caschino dentro la finestra stessa, così come le
PAGE – 6 ============
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. 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. 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. 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. Il cuore del nostro algoritmo è implementato dal predicato 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 , 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 , 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 fiPart of Speechfl abbraviato in POS, ricoprono (predicato ). !!!!Nel seguito illustriamo nel dettaglio le 8 fasi che caratterizzano il nostro algoritmo. FASE 1: Pre-processing 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.
PAGE – 8 ============
di polirematiche quali ‘to it’ o ‘a few’ che altrimenti, rimuomendo sia ‘to’ che ‘it’ dalla prima e ‘a’ dalla seconda, non verrebbero individuate. 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. 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. Lo strumento utilizzato per compiere questo lavoro è ProNTo_Morph, un morphological analysis tool che consente di spezzare una parola in radice e suffisso. 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. ˇˆ˙ˆ˛ˇ˚ˆ ˆ˜ˆˆ ˇˆ!ˇˆ˙ˆ ˆˆˆ˚ˆˇˇ˚ˇˇ˚ˇ ˆ˙”ˆˇ#ˇ˙ˆˇ˚ˆ ˆˇˇˇ &ˇˆˆ˙!ˇ˚ˆ ˇˇˇˆ ˆ˙˝ ˆ˙ ˇ˚ˆˇˆˆˇ ˛˛ˇ#ˇ˙ˆ( ˇ˙)ˆˆˇ#ˆˆˇ ˙ˆˇ˙ˆˆ+ ˆ˙ˇ˙ˆ˙˙ ˇ˚ ˆ˙ˇˆ˙˚ˆˆ ˇ˘ ˇˇ˚ ˇˇ ˆ˙ˆˇˇˇˆ/˘ ˆ0ˆ˙˚ˇˇˆ˙+ ˆˇˇ˚ ˇ0˙ˇˆ3ˆˆ ˆˇˇˇˆˇˇˇˇ˙ˇˆˆ0 ˇ ˇˆˇ4 ˆˆ*ˆˆ ˆˆˆ˘ˇˆˇˇˆˇˇˇˇ˙ˇˆ ˆ0˙˚ˇˇˇˇˆ ˇˇˇˇ˚ ˆ0ˇ ˇˆˇ4ˆ0ˇ) ˆˆ 4˙˚ˇˆˇ+
PAGE – 9 ============
ˇˇˇ6 ˇˇˇˇˆ6 ˇˇˇˇˆ 7˙˘ˆˇˆˆ˚˚˚ˇ ˇˆˇˇˇ ˇ˚ˆ˚˚ 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. 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. FASE 7: Estrazione dei ruoli Una volta assegnato il presunto significato alla parola l’obbiettivo diventa estrarre il suo ruolo, che in questo contesto definiamo come fiil super-concetto che abbia il miglior rapporto tra generalità e dettagliofl. Il problema sta nell’individuare quale, tra i super-concetti, presenta il giusto grado di astrazione per candidarsi a diventare un firuolofl. 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. 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. L’idea è quindi fermarsi a un nodo intermedio della catena di discendenza, che sia sufficientemente informativo, generale e ad un buon livello di astrazione. 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. 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. 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. Il codice Prolog che implementa questa attività è riportato nel seguito con qualche semplificazione fatta a solo scopo di leggibilità. Il predicato analizza
PAGE – 10 ============
la lista di significati un elemento alla volta e su ciascun elemento di interesse, ovvero sostantivi e verbi, chiama . !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!FASE 8: Creazione delle relazioni 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. 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. 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. Verbi e nomi sono la sostanza della frase. Legati tra loro danno senso alla frase, descrivendo una situazione, un avvenimento o quant’altro. 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. 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.
PAGE – 11 ============
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. Gli schemi con cui si confrontano le parole sono i seguenti: ·nome/verbo/nome ·nome/verbo ·nome/nome 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. Le associazioni così create vengono scritte su un file di testo. Il predicato che implementa questa attività è ! che, presa una lista di sensi come quella passata a , unifica con le relazioni significative tra le parole appartenenti alla lista. Mostriamo per esteso anche il predicato richiamato da !!! ! !!! !!!!! !! !!@!! !!!! !!! !!@!! !!!!!!!!!!!!!!!!!!!!˚˛5D˚˛!!!!! ! !!!!!!!!! !!!!!!!!!
103 KB – 15 Pages