Tesi peiretti

81
Università degli studi di Torino FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di laurea in Informatica Tecnologie semantiche per l'annotazione e l'analisi del contenuto emozionale dei testi (Semantic techniques for the annotation and analysis of emotional contents in text documents) Relazione di Tirocinio Relatore: Candidato: Prof. Daniele Paolo Radicioni Stefano Peiretti Anno Accademico 2010-2011

description

Viene illustrato il lavoro di progettazione e realizzazione di un sistemasoftware per l'annotazione e l'analisi del contenuto emozionale dei testi.

Transcript of Tesi peiretti

Page 1: Tesi peiretti

Università degli studi di TorinoFACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI

Corso di laurea in Informatica

Tecnologie semantiche per l'annotazione e l'analisi del contenuto emozionale dei testi

(Semantic techniques for the annotation and analysis of emotional contents in text documents)

Relazione di Tirocinio

Relatore: Candidato:Prof. Daniele Paolo Radicioni Stefano Peiretti

Anno Accademico 2010-2011

Page 2: Tesi peiretti

Ai miei genitori, a mio fratello Federicoe ai miei nonni, Salvatore e Maria,per avermi aiutato e incoraggiato

nelle difficoltà incontrate in questi anni.

Al mio relatore, Prof. Daniele Paolo Radicioni,per la disponibilità, la pazienza, l'incoraggiamento

e per avermi aiutato nell'implementazione del sistema descritto e nella stesura di questa tesi.

Ai miei amici.

Page 3: Tesi peiretti

Indice 1 Introduzione...................................................................................................5

1.1 Descrizione del problema.......................................................................5 1.2 Motivazioni............................................................................................6 1.3 Argomenti trattati...................................................................................7

2 Sentiment Analysis.........................................................................................8 2.1 Fondamenti scientifici............................................................................9

2.1.1 Modello dell'Opinion Mining.........................................................9 2.1.2 Classificazione del sentimento.....................................................12 2.1.3 Opinion Mining basato sulle caratteristiche.................................13

2.2 Determinazione dell'orientamento dei termini.....................................19 2.3 Determinazione della soggettività dei termini.....................................20 2.4 Progetti per il Sentiment Analysis........................................................21

3 SentiWordNet e WordNet-Affect.................................................................21 3.1 WordNet...............................................................................................21

3.1.1 La nascita di WordNet..................................................................22 3.1.2 Forme di parole e significato........................................................23 3.1.3 Le relazioni di WordNet...............................................................24 3.1.4 I nomi di WordNet........................................................................25 3.1.5 Gli aggettivi di WordNet..............................................................30 3.1.6 I verbi di WordNet........................................................................30

3.2 Descrizione di SentiWordNet...............................................................31 3.2.1 Una breve storia di SentiWordNet................................................33 3.2.2 Lo sviluppo di SentiWordNet 3.0.................................................34 3.2.3 Struttura del database...................................................................37

3.3 Descrizione di WordNet-Affect............................................................40 3.3.1 Lo stato dell'arte dei lessici affettivi.............................................40 3.3.2 Lo sviluppo di WordNet-Affect e del suo nucleo.........................42 3.3.3 L'estensione del nucleo con le relazioni di WordNet...................44

4 Sviluppo del software..................................................................................46 4.1 Utilizzo del parser TUP........................................................................49

4.1.1 Sotto-moduli del parser................................................................50 4.1.2 Chunker........................................................................................50 4.1.3 Analisi della coordinazione..........................................................51 4.1.4 Dipendenze verbali.......................................................................52

4.2 Utilizzo di MultiWordNet....................................................................53 4.2.1 Descrizione di MultiWordNet......................................................55 4.2.2 Architettura del database..............................................................56

4.3 Implementazione dell'algoritmo di Lesk per la disambiguazione dei termini polisemici (WSD)...........................................................................65

1

Page 4: Tesi peiretti

4.4 La griglia emozionale di Ekman..........................................................68 4.5 Un formato XML per l'output dell'annotatore......................................72

5 Conclusioni..................................................................................................75

2

Page 5: Tesi peiretti

Indice delle illustrazioni

Figura 1: Esempio di una sintesi di opinioni basata sulle caratteristiche....................11

Figura 2: Grafico della sintesi di opinioni basata sulle caratteristiche.......................12

Figura 3: Grafico del confronto delle recensioni di due macchine fotografiche ........12

Figura 4: Tabella del confronto dell'uso degli aggettivi nella lingua italiana e inglese per la costruzione del comparativo............................................................................16

Figura 5: Forme particolari degli avverbi nella lingua italiana per la costruzione del comparativo...............................................................................................................17

Figura 6: Forme alterate degli avverbi nella lingua italiana per la costruzione del comparativo...............................................................................................................17

Figura 7: Tabella del confronto dell'uso degli aggettivi nella lingua italiana e inglese per la costruzione del superlativo..............................................................................18

Figura 8: Matrice lessicale di WordNet......................................................................22

Figura 9: I synset primitivi........................................................................................28

Figura 10: Relazione tra concetti primitivi................................................................29

Figura 11: Relazione tra i nomi in WordNet..............................................................29

Figura 12: Rappresentazione grafica di un termini generico in SentiWordNet..........31

Figura 13: Esempio di rappresentazione del termine “interesting” in SentiWordNet........................................................................................................32

Figura 14: Esempio di rappresentazione dell'aggettivo “estimable” in SentiWordNet........................................................................................................32

Figura 15: Esempio di rappresentazione del verbo “short” in SentiWordNet.............32

Figura 16: Struttura del data base di SentiWordNet...................................................38

Figura 17: Esempio di dati in SentiWordNet.............................................................38

Figura 18: Esempio di punteggi multipli per lo stesso termine in SentiWordNet.......39

Figura 19: A-labels con i rispettivi synset di esempio................................................43

Figura 20: Categorie e termini...................................................................................44

Figura 21: Architettura del sistema TUP....................................................................49

Figura 22: Matrice lessicale multilingua di MultiWordNet........................................55

Figura 23: Architettura di MultiWordNet...................................................................56

Figura 24: Tipi di relazioni in MultiWordNet............................................................59

Figura 25: L'algoritmo di Lesk..................................................................................66

Figura 26: Come funziona il metodo disambiguate...................................................67

Figura 27: Formato del file XML creato dal programma...........................................73

3

Page 6: Tesi peiretti

Figura 28: Albero del file XML creato dal programma..............................................74

Figura 29: File XML creato dal programma dando in input un file con delle recensioni..................................................................................................................74

4

Page 7: Tesi peiretti

1 Introduzione

In questa tesi sarà illustrato il lavoro di progettazione e realizzazione di un sistema

software per l'annotazione e l'analisi del contenuto emozionale dei testi.

1.1 Descrizione del problema

Il web contiene molte opinioni riguardo svariati argomenti (prodotti, personaggi

famosi, film, …) espresse in appositi siti. Di conseguenza, il problema del Sentiment

Analysis (chiamato anche Opinion Mining), di cui mi sono occupato principalmente

nel periodo di tirocinio, è stato oggetto di interesse in questi ultimi anni. Il materiale

usato per il test del programma, progettato e implementato durante il periodo di stage,

riguarda recensioni di film e di ristorazione.

I siti spesso associano dei meta-dati ad ogni recensione indicando quanto questa

sia positiva o negativa. Ma l'opinione del lettore può essere diversa da quella di colui

che ha scritto la recensione. Ad esempio, il giudizio del lettore potrebbe essere

influenzato dalla trama di un film, mentre i recensori potrebbero ritenere più

importanti altri aspetti, come i caratteri dei protagonisti. Di conseguenza, il lettore è

costretto a leggere molte recensioni fino a trovare quella che più gli interessa.

Il problema può essere suddiviso in quattro sotto-problemi:

• Identificare le caratteristiche di un prodotto

• Identificare le opinioni sulle caratteristiche

• Determinare la polarità delle opinioni

• Ordinare le opinioni sulla base delle loro intensità

Il sistema che ho progettato tratta solo un sottoinsieme di tutte le possibili

5

Page 8: Tesi peiretti

annotazioni semantiche dei meta-dati: in particolare al momento annota le coppie

<nome, aggettivo> e da ogni coppia costruisce una tripla <nome, aggettivo, griglia

dei valori delle emozioni che l'utente attribuisce a ogni coppia nome-aggettivo>. In

particolare, il sistema utilizza il TUP (Turin University Parser) per analizzare uno

stream continuo in input (letto da un file o da tastiera) in modo da determinare la sua

struttura grammaticale grazie ad una data grammatica formale.

L'obiettivo del tirocinio è stato quello di capire come possono essere classificate

le emozioni che compaiono in un testo di recensione e di sviluppare un programma

che sia in grado di acquisire le emozioni che l'utente percepisce dalla combinazione

nome-aggettivo, leggendo lo stream dato in input, tramite l'esplicita richiesta di

inserimento da tastiera. I risultati saranno salvati in un documento XML che conterrà

l'output prodotto dal software.

1.2 Motivazioni

Individuare, analizzare e annotare il contenuto emozionale dei testi è un problema

difficile soprattutto per i calcolatori, che possono commettere vari tipi di errori.

Errori nel giudicare l'opinione di una frase del tipo “Ho evitato un incidente” rispetto

all'opinione della frase “Ho causato un incidente”.

Il sistema sopra descritto si occupa di individuare e annotare in maniera

automatica solo le coppie nome-aggettivo presenti in una certa frase. Il sistema è

attualmente in fase di testing. L'individuazione di questi errori, commessi durante

l'elaborazione dei file, è molto importante sia per valutare le prestazioni del sistema

sia per correggere questi errori. Serve quindi uno strumento che permetta di

distinguere in maniera rapida e semplice la differenza tra frasi ambigue.

6

Page 9: Tesi peiretti

1.3 Argomenti trattati

La tesi si articola in:

Capitolo 1: Viene illustrato il Sentiment Analysis con i relativi studi effettuati, la

determinazione dell'orientamento e della soggettività dei termini e le soluzioni

possibili al problema.

Capitolo 2: Vengono presentati SentiWordNet e WordNet-Affect con un'excursus

su WordNet, il loro sviluppo, la classificazione dei sentimenti, i pregi e i difetti.

Capitolo 3: Viene spiegato il lavoro svolto durante il tirocinio. Si inizia con una

descrizione dei metodi usati e dei principi seguiti nella costruzione del software.

Segue la presentazione del TUP (Turin University Parser), di MultiWordNet, della

griglia emozionale usata per la memorizzazione dei valori delle emozioni, la struttura

dell'xml creato e il funzionamento del software per l'individuazione e l'analisi dei

sentimenti contenuti nei testi.

Capitolo 4: Contiene le conclusioni e i possibili lavori futuri sul programma

sviluppato durante il tirocinio.

7

Page 10: Tesi peiretti

2 Sentiment Analysis

Le informazioni testuali possono essere classificate in due categorie: i fatti e le

opinioni. I fatti sono affermazioni oggettive sulle entità e sugli eventi che accadono

quotidianamente. Le opinioni, invece, sono affermazioni soggettive che riflettono i

sentimenti e le percezioni delle persone sugli eventi.

Con il termine Sentiment Analysis ci si riferisce a un recente campo di ricerca nel

settore del Trattamento Automatico del Linguaggio il cui scopo è quello di

identificare e classificare informazioni di tipo soggettivo che possono essere presenti

all'interno di documenti testuali di vario tipo. Dato, quindi, un insieme di documenti

testuali che contengono pareri su un oggetto, si vogliono estrarre gli attributi e i

componenti dell'oggetto commentato in ogni documento e da questi si vuole

determinare se i commenti sono positivi., negativi o neutri.

Prima del WWW (World Wide Web), quando un individuo aveva bisogno di

prendere una decisione, chiedeva pareri a parenti e amici, mentre, quando

un'organizzazione aveva bisogno di trovare opinioni del pubblico sui suoi prodotti e

servizi conduceva delle interviste. Con l'avvento del Web si possono postare

recensioni di prodotti sui siti commerciali e i propri pareri sui forum, sulle

discussioni tra i gruppi e sui blog. Ma trovare opinioni sul Web può essere arduo

poiché esiste un gran numero di fonti e ognuna di esse contiene molte informazioni.

È molto difficile, quindi, per un lettore umano trovare le fonti, estrarne frasi

pertinenti, leggerle e a volte tradurle, riassumerle e organizzarle in forme utilizzabili.

Il Sentiment Analysis, conosciuto anche con il nome di Opinion Mining, nasce

con l'esigenza di rendere meno difficile all'utente la ricerca di opinioni sul Web. Le

ricerche in questo campo sono iniziate con l'individuare parole che esprimono un

sentimento (ad esempio grande, meraviglioso, disgustoso, orrido, bello,...) per poi

lavorare su tali parole identificando i loro orientamenti semantici e la loro

soggettività.

8

Page 11: Tesi peiretti

2.1 Fondamenti scientifici

2.1.1 Modello dell'Opinion Mining

In generale, le opinioni possono essere espresse su ogni cosa, ad esempio, un

prodotto, un servizio, un individuo, un'organizzazione o un evento.

Il termine “oggetto” è usato per denotare l'entità sulla quale si commenta. Un

oggetto è costituito da un insieme di componenti (o parti) e un insieme di attributi.

Ogni componente può anche avere i suoi sotto-componenti e il suo insieme di

attributi e così via. In questo modo l'oggetto può essere gerarchicamente decomposto

sulla base delle relazioni. Un oggetto è, quindi, un'identità che può essere un

prodotto, una persona, un evento o un'organizzazione. Esso è associato a una coppia,

O: (T, A) in cui T è una gerarchia o tassonomia di componenti (o parti) e

sotto-componenti di O, e A è un insieme di attributi di O. Ogni componente ha il suo

proprio insieme di sotto-componenti e attributi. In questa struttura gerarchica ad

albero, la radice è l'oggetto stesso. Ogni nodo è un componente o sotto-componente

dell'oggetto. Ogni link è una delle parti del rapporto e ogni nodo è associato a un

insieme di attributi. Un parere può essere espresso in qualsiasi nodo e su qualsiasi

attributo del nodo.

Il termine “caratteristiche” è usato per rappresentare entrambi i componenti e gli

attributi. Si noti che in questa definizione l'oggetto in sé è anche una caratteristica,

che è la radice dell'albero. Si considera quindi un documento d, che può essere una

recensione del prodotto, un post sul forum o un blog che valuta un particolare oggetto

O. Nel caso più generale, d è costituito da una sequenza di frasi d = <s1, s2, …, sm>.

L'opinione, valutata su una caratteristica f di un oggetto O in un documento d, è un

gruppo di frasi, una di seguito all'altra, nello stesso documento d, che esprime

un'opinione positiva o negativa su f.

9

Page 12: Tesi peiretti

È possibile che una sequenza di frasi esprima un opinione su un oggetto o su una

sua caratteristica. È anche possibile che una singola frase esprima opinioni su più di

un oggetto o sulle sue caratteristiche. Un esempio può essere la frase “E il risultato

che si ottiene è ottimo, anche grazie all’alchimia che si è creata tra i due perfetti

protagonisti”.

L'orientamento semantico di un'opinione su una caratteristica f stabilisce se il

parere è positivo, negativo o neutro. Mettendo insieme le cose, possono essere

definiti un modello per un oggetto e un insieme di opinioni sulle caratteristiche

dell'oggetto. Tutto ciò si chiama il modello Opinion Mining basato sulle

caratteristiche: un oggetto O è rappresentato con un insieme finito di caratteristiche,

F={f1, f2, …, fn}, che include l'oggetto stesso. Ogni carattestica fi ∈ F può essere

espressa con un insieme finito di parole o frasi W i, che sono sinonimi. Cioè esiste un

insieme di insiemi di sinonimi W = {W1, W2, …, Wn} per le n caratteristiche. In un

documento d che valuta un oggetto O, un titolare j dell'opinione commenta su un

sottoinsieme di caratteristiche Sj ⊆ F. Per ogni caratteristica fk ∈ Sj sulla quale il

titolare j commenta, lui/lei sceglie una parola o una frase da Wk per descrivere la

caratteristica ed esprime un'opinione positiva, negativa o neutra su fk. Il compito

dell'opinion mining è quello di scoprire tutte queste cose nascoste e pezzi di

informazione da un documento dato. L'output sarà un insieme di quadruple ognuna

delle quali è denotata da (H, O, f, SO), in cui H è il proprietario dell'opinione, O

l'oggetto, f la caratteristica dell'oggetto e SO è l'orientamento semantico dell'opinione

espressa sulla caratteristica f in un frase di d. Le opinioni neutre vengono ignorate

poiché non sono utili.

I problemi che possono essere identificati:

1. L'estrazione delle caratteristiche dell'oggetto che sono state commentate in

ogni documento d D.∈

2. Determinare se i pareri sulle caratteristiche sono positive, negative o neutre.

10

Page 13: Tesi peiretti

3. Raggruppamento dei sinonimi delle caratteristiche (come titolari di opinioni

diverse possono usare parole diverse o una frase per esprimere la stessa

caratteristica).

Ci sono molti modi di utilizzare i risultati del data mining. Un modo

semplice è quello di produrre una sintesi, basata sulle caratteristiche, dei

pareri sull'oggetto.

Questa figura riassume le opinioni in una serie di recensioni di una particolare

macchina fotografica digitale. I titolari dell'opinione sono stati omessi. Nella figura,

"CAMERA" rappresenta la macchina fotografica stessa (gerarchicamente, il nodo

radice dell'oggetto). 125 commenti hanno espresso pareri positivi e 7 giudizi negativi

sulla fotocamera. La "Qualità dell'immagine" e le "Dimensioni" sono due

caratteristiche del prodotto. 123 recensioni hanno espresso pareri positivi, e solo 6

recensioni negative sulla qualità delle immagini a differenza delle 82 positive e 10

negative sulle dimensioni della fotocamera. Con tale sintesi, l'utente può facilmente

vedere cosa pensano i clienti sulla fotocamera digitale. Se l'utente è molto interessato

a una particolare funzione, può eseguire il drill down (funzione che permette di

penetrare nei dati a diversi livelli di gerarchie) seguendo il collegamento

<individual sentences> per capire se piace o no ai consumatori.

11

Figura 1: Esempio di una sintesi di opinioni basata sulle caratteristiche

Page 14: Tesi peiretti

2.1.2 Classificazione del sentimento

La classificazione del sentimento è stato ampiamente studiata nell'elaborazione

del linguaggio naturale (NLP). Dato un insieme di documenti D, si determina se ogni

documento d ∈ D esprime un parere positivo o negativo su un oggetto. Per esempio,

dato un insieme di recensioni di film, il sistema li classifica in recensioni positive e

negative. Questo è chiaramente un problema di apprendimento per la classificazione.

Questo approccio è simile ma anche diverso da quello classico che classifica i

documenti in classi per tema predefinito, ad esempio, la politica, scienze, e lo sport.

In base alla classificazione, le parole sono molto importanti. Le parole stesse che

indicano opinione positiva o negativa sono importanti. Esempi di parole sono:

grande, eccellente, straordinario, orribile, cattivo, peggio, ...

Ci sono molte tecniche esistenti ma la maggior parte di esse riguardano forme di

12

Figura 2: Grafico della sintesi di opinioni basata sulle caratteristiche

Figura 3: Grafico del confronto delle recensioni di due macchine fotografiche

Page 15: Tesi peiretti

apprendimento per la classificazione. Esistono algoritmi specifici per la

classificazione del sentimento che sfruttano opinioni, parole e frasi insieme a

funzioni di punteggio.

Ogni documento di valutazione (ad esempio una recensione) si concentra su un

oggetto O e contiene solo opinioni di un titolare dell'unico parere. In questo modo la

classificazione del sentimento determina fondamentalmente l'orientamento semantico

del parere espresso sull'oggetto O in ogni documento che soddisfa le ipotesi espresse

sopra.

Oltre al livello di documento per la classificazione del sentimento, i ricercatori

hanno anche studiato la classificazione a livello della frase, cioè, hanno classificato

ogni frase come una frase soggettiva o oggettiva e/o come espressione di un parere

positivo o negativo. Analogamente alla classificazione a livello di documento, la

classificazione del sentimento a livello di frase non considera le caratteristiche

dell'oggetto che sono state commentate in una frase. Le frasi composte sono un

problema per un'approfondita analisi. Tali frasi, spesso, esprimono più di un'opinione,

ad esempio, "La storia del film s'intreccia, attraverso metafore o esplicite parodie,

con i reali problemi di cui al giorno d'oggi può soffrire un qualsiasi marchio

pluridecennale che ha lasciato un segno e rischia di sprofondare in un ricordo sterile e

passivo.".

2.1.3 Opinion Mining basato sulle caratteristiche

Classificare i testi a livello di documento o a livello di frase non dice quello che il

titolare dell'opinione esprime. Avere un documento positivo su un oggetto non

significa che il parere è positivo su tutti gli aspetti o sulle caratteristiche dell'oggetto.

Analogamente, avere un documento negativo non significa che l'oggetto non piace

per niente. In un documento, il titolare dell'opinione scrive, generalmente, sia gli

aspetti positivi sia quelli negativi dell'oggetto, anche se il sentimento generale di

quell'oggetto può essere positivo o negativo. Per ottenere questi aspetti in dettaglio,

bisogna andare al livello di funzionalità.

13

Page 16: Tesi peiretti

Sulla base del modello presentato precedentemente, esistono tre tipi di

opinion mining:

1. Identificare le caratteristiche dell'oggetto: ad esempio, nella frase "La qualità

delle immagini di questa fotocamera è straordinario ", la caratteristica

dell'oggetto è" la qualità delle immagini ". È possibile sia un approccio

supervisionato sia senza supervisione. La tecnica trova sostanzialmente

sostantivi frequenti e sintagmi nominali, come caratteristiche, che di solito

sono le caratteristiche originali. L'estrazione di molte informazioni tecniche

sono altresì applicabili, per esempio, nei campi condizionali casuali (CRF),

nei modelli di Markov (HMM), e in molti altri.

2. Determinare gli orientamenti dell'opinione: questa attività determina se i

pareri sulle caratteristiche sono positive, negative o neutre. Nella frase citata

nel punto 1, il parere sulla "qualità dell'immagine" è positivo. Si può usare un

approccio basato sul lessico che utilizza fondamentalmente l'opinione su

parole e frasi in una frase per determinare l'orientamento di un parere su una

caratteristica. È possibile anche un approccio di etichettatura, uno

supervisionato e uno senza supervisione.

3. Raggruppamento dei sinonimi: le caratteristiche stesse dell'oggetto possono

essere espresse con parole o frasi diverse.

L'esprimere direttamente pareri positivi o negativi su un oggetto o sulle sue

caratteristiche è solo una forma di valutazione. Confrontare, invece, l'oggetto con

altri oggetti simili è ancora un'altra forma di valutazione. Una frase di esempio può

essere "Tom è migliore di Peter". In generale, una frase comparativa esprime una

relazione basandosi sulle somiglianze o differenze tra gli oggetti.

In inglese, per i confronti tra oggetti o persone si usano le forme comparative e

superlative degli aggettivi o degli avverbi. La struttura di un comparativo

normalmente consiste nell'utilizzo di un aggettivo o di un avverbio, più il suffisso -er,

14

Page 17: Tesi peiretti

o il modificatore "more" o "less" davanti all'aggettivo o all'avverbio. La struttura di

un superlativo normalmente è composta dall'aggettivo o dall'avverbio, più il suffisso

-est, o il modificatore "most" o "least" prima dell'aggettivo o dell'avverbio.

In italiano per il comparativo si fa precedere l'aggettivo dall'avverbio più

(comparativo di maggioranza), meno (comparativo di minoranza) o uguale

(comparativo di uguaglianza) oppure con forme particolari ad esempio

grande → maggiore. Per il superlativo italiano invece si utilizzano le regole della

figura 6. L'estrazione del confronto tra le frasi è costituito essenzialmente

dall'identificazione delle caratteristiche degli oggetti confrontati e dal valutare se

sono caratteristiche opposte.

Per confrontare l'uso degli aggettivi in italiano e in inglese per la costruzione della

forma comparativa ci serviamo della tabella seguente che elenca le principali

possibilità:

15

Page 18: Tesi peiretti

Alcuni avverbi e locuzioni avverbiali possono avere il grado comparativo e

superlativo, come gli aggettivi; sono gli avverbi di modo (eccetto quelli terminanti

in -oni) e alcuni di tempo, di luogo e di quantità

Es. più chiaro - chiarissimo, più tardi - tardissimo, più vicino - vicinissimo, più in

fretta - assai in fretta, più terra terra - assai più terra terra

16

1)Per indicare una maggiore intensità di un aggettivo lo si fa precedere dall'avverbio più (comparativo di maggioranza)

Questo vino è più forte di/che quello

This wine is stronger than that one

2)Per indicare una minore intensità di un aggettivo lo si fa precedere dall'avverbio meno (comparativo di minoranza)

Questo vino è meno forte di quello

This wine is less strong than that one

3)Per indicare un'intensità simile di un aggettivo lo si fa precedere dall'avverbio tanto (o così) (comparativo di uguaglianza)

Questo vino è tanto (così) forte quanto (come) quello

This wine is as strong as that one

4)

con una forma particolarenormale comparativo superlativo

grande maggiore massimo

piccolo minore minimo

buono migliore ottimo

cattivo peggiore pessimo

precedente anteriore primo

seguente posteriore ultimo

interno interiore intimo

basso inferiore infimo

esterno esteriore estremo

alto superiore supremo

idiomatic

Figura 4: Tabella del confronto dell'uso degli aggettivi nella lingua italiana e inglese per la costruzione del comparativo

Page 19: Tesi peiretti

Certi avverbi hanno forme particolari di comparativo e superlativo (come gli

aggettivi corrispondenti). Essi sono:

Alcuni avverbi e locuzioni avverbiali possono avere forme alterate:

17

bene meglio ottimamente

male peggio pessimamente

grandemente maggiormente massimamente

internamente interiormente* intimamente

bassamente inferiormente infimamente

altamente superiormente* supremamente

Figura 5: Forme particolari degli avverbi nella lingua italiana per la costruzione del comparativo

bene benino, benone

male malino, maluccio, malaccio

adagio adagino

poco pochino, pochetto, pochettino

tardi tardino, tarduccio

piano pianino

Figura 6: Forme alterate degli avverbi nella lingua italiana per la costruzione del comparativo

Page 20: Tesi peiretti

Per il superlativo invece:

18

1)

con l'aggiunta del suffisso -issimo alla forma plurale del maschile di un aggettivoa) caldi (caldo), grandi (grande)di un nomeb) amici (amico)alla forma in "i" di un avverbioc) *mali, *subiti (subito, male)

a) caldissimo, grandissimob) amicissimoc) subitissmo, malissimo

a) hottest, biggestb) friendliestc) at once

2)facendo precedere l'aggettivo da un avverbio

molto (completamente, tanto, assai, immensamente,terribilmente ecc.) nuovo

very new

3)

facendo precedere l'aggettivo da "il più" (1). Alle volte l'articolo "il" può essere ripetuto due volte (2).

(1) il più nuovo(2) il vestito il più nuovo che ho

the newest

4) ripetendo l'aggettivo due volte bello bello

5)facendo precedere l'aggettivo da tutto

tutto pulito all clean

6) con una forma diversa

acre > acerrimointegro > integerrimocelebre > celeberrimomisero > miserrimobenefico > beneficentissimo

idiomatic

7)facendo precedere l'aggettivo da un prefisso

stra > strariccosopra > sovraccaricosuper > superfortunatoultra > ultraefficienteiper > ipersensibile

extra richoverloadedsuper luckyultra efficientoversensitive

8)in casi particolari formando una espressione idiomatica

bagnato fradiciobello da morire bello e buono brutto da morire

soaking wet incredibly beautiful outright incredibly ugly

9) con la preposizione di il re dei re The King of Kings

Figura 7: Tabella del confronto dell'uso degli aggettivi nella lingua italiana e inglese per la costruzione del superlativo

Page 21: Tesi peiretti

2.2 Determinazione dell'orientamento dei termini

Determinare l’orientamento (o polarità) consiste nel determinare se un testo

soggettivo esprime un’opinione positiva o negativa sull’argomento mentre

determinare la forza dell’orientamento consiste nel determinare quanto l’opinione

positiva o negativa sia forte (Debolmente Positiva, Mediamente, Fortemente …).

Il determinare l'orientamento dei termini è il task principale:

scrivere una risorsa con termini etichettati positivi o negativi è abbastanza facile, ma

determinare se questi termini sono soggettivi è molto arduo.

Nel 1997 Hatzivassiloglou e McKeown, tentarono di predire l’orientamento

analizzando coppie di aggettivi (unite da e, o, oppure, ...). L’intuizione di base sta nel

fatto che l’unione di aggettivi è soggetta a vincoli sull’orientamento: “e” unisce

aggettivi dello stesso orientamento mentre “ma” orientamenti opposti. Partendo da

questo concetto, si genera un grafo dove i nodi sono i termini connessi da due tipi di

archi: “uguali”, “opposti”. Si applica poi un algoritmo di clustering per partizionare il

grafo in un gruppo positivo e uno negativo.

Nel 2003 Turney, Littman partono da dei piccoli set di termini soggettivi (seed),

uno con termini positivi (buono, bello, splendente, …) e uno con termini negativi

(cattivo, brutto, disgustoso, ...). I termini vengono analizzati calcolando

l’associazione semantica del termine al seed (Pointwise Mutual Information – PMI).

L'orientamento viene dato dalla formula O(t) = Σ(t – tp) - Σ(t – tn) ovvero dato un

termine t il suo orientamento O(t) (la positività è determinata dal segno) è calcolato

dalla somma delle distanze con i componenti positivi del seed meno la somma con le

componenti negative.

Nel 2004 Kamps utilizza il grafo definito sugli aggettivi utilizzando la relazione di

sinonimia all’interno di WordNet. Determina quindi l’orientamento di un aggettivo t

comparando la lunghezza del cammino minimo tra t e la parola positiva e la

lunghezza del cammino minimo tra t e la parola negativa. Se t è più vicino alla parola

19

Page 22: Tesi peiretti

positiva sarà classificato come positivo, altrimenti sarà classificato come negativo.

Sempre nello stesso anno, Kim e Hovy cambiano approccio dando un punteggio

di positività e uno di negatività ai termini in modo che sia evidenziato come questi

termini possano avere orientamenti sia positivi che negativi, e con quanta forza

portano quell’orientamento. Si inizia considerando un set di termini positivi e

negativi (seed) e lo si espande aggiungendo sinonimi e antinomi. Il sistema classifica

un termine t basandosi sulla probabilità di apparire nel set espanso. Uno dei limiti di

questo metodo è che possono essere classificati solo termini che condividono

sinonimi o antinomi con i seed.

2.3 Determinazione della soggettività dei termini

Determinare la soggettività di un documento consiste nel determinare se un testo

descrive un fatto in modo oggettivo (senza opinioni) oppure esprime un’opinione

sull’argomento. Il determinare la soggettività dei termini è un task chiave che

permette di scremare i termini interessanti (Soggettivi) da quelli non interessanti

(Oggettivi).

Nel 2003 Riloff adotta un algoritmo bootstrap per determinare i nomi soggettivi.

Per il bootstrap viene usato un set di 20 termini giudicati dall’autore come fortemente

soggettivi e molto frequenti nel testo da cui il nome proviene.

Nel 2004 Baroni e Vegnaduzzo applicano l'algoritmo PMI di Turney e Littman per

determinare la soggettività dei termini. Il metodo utilizza un set di 35 aggettivi

marcati come soggettivi da un valutatore umano, per dare un punteggio di

soggettività.

20

Page 23: Tesi peiretti

2.4 Progetti per il Sentiment Analysis

Il Sentiment Analysis è un settore di ricerca in rapido sviluppo e di grande

importanza per l'NLP. Ma si evince come l'applicazione abbia necessariamente

bisogno di un corpus di riferimento. Assumono importanza fondamentale i progetti

che mirano a costruire dei corpus di supporto come SentiWordNet, WordNet-Affect,

OntoText, FrameNet, … In questa tesi saranno illustrati SentiWordNet e

WordNet-Affect.

3 SentiWordNet e WordNet-Affect

Per capire al meglio cosa sono e di cosa trattano SentiWordNet e WordNet-Affect

è necessaria una presentazione di WordNet. Infatti questi due progetti, che in seguito

andrò a illustrare, sono estensioni di WordNet stesso.

3.1 WordNet

WordNet è un sistema di ricerca lessicale che si basa sulle attuali teorie

psicolinguistiche formulate sulla linguistica umana. In WordNet le parole sono

disposte alfabeticamente ed i loro significati elencati tutti assieme in relazione all'uso

più frequente a differenza di un dizionario tradizionale che è basato sulle procedure

storiche di organizzazione delle informazioni lessicali.

In WordNet le informazioni sono memorizzate in base al loro significato ed alle

loro categorie sintattiche e sono legate tra loro tramite diversi tipi di relazioni.

WordNet divide il significato di una parola in due concetti: la “Word Form”, la forma

scritta e la “Word Meaning”, il concetto espresso da tale parola. Il punto di inizio

della classificazione delle parole sono le relazioni che intercorrono fra il lemma e il

significato.

21

Page 24: Tesi peiretti

La base della teoria sta nella matrice lessicale (figura ): nelle righe vengono

elencati i significati delle parole e nelle colonne i lemmi. La presenza di un valore

non nullo di Eij all’interno della matrice implica che la forma F j viene espressa dal

significato Mi. Se abbiamo più valori non nulli nella stessa riga siamo davanti a dei

sinonimi: forme diverse hanno stesso significato; più valori non nulli nella stessa

colonna esprimono invece un concetto di polisemia: la stessa forma Fj ha più

significati.

WordNet è quindi organizzato su Relazioni Semantiche che coinvolgono le

relazioni fra significati (rappresentati in synset) e su Relazioni Lessicali che

stabiliscono le relazioni fra i singoli lemmi (le forme).

3.1.1 La nascita di WordNet

WordNet nasce nel 1985 come risultato di un progetto a cui hanno partecipato

linguisti e psicologi dell’Università di Princeton. Dall’idea iniziale di fornire

un'ulteriore risorsa on line, rispetto ad una semplice ricerca di tipo alfabetico, si è

arrivati ad un vero e proprio dizionario basato sui principi della psicolinguistica. La

differenza più evidente tra WordNet e un dizionario classico è che il primo divide il

lessico in 5 categorie sintattiche: sostantivi, verbi, aggettivi, avverbi e function words

(attualmente non trattati). I sostantivi sono organizzati in una memoria lessicale come

22

Figura 8: Matrice lessicale di WordNet

Page 25: Tesi peiretti

gerarchie di specializzazione (iperonimi/iponimi); i verbi sono strutturati in una

gerarchia mediante la relazione di troponimia (un verbo è troponimo di un altro verbo

quando esprime una particolare azione, per es. camminare/muoversi); gli aggettivi si

presentano invece come iperspazi n-dimensionali.

3.1.2 Forme di parole e significato

La semantica lessicale parte dal concetto che una parola è una associazione fra la

sua espressione ed i concetti che essa stessa esprime. Queste corrispondenze sono

rappresentate nella matrice lessicale. La sinonimia e la polisemia sono aspetti

complementari della Matrice Lessicale. Le relazioni sono del tipo “molti a molti”.

La matrice lessicale potrebbe essere rappresentata, in un diagramma, da due

blocchi con due frecce che partendo da questi vanno in entrambe le direzioni. I due

blocchi saranno chiamati rispettivamente “Word Meaning” e “Word Form”. Le due

frecce indicheranno che colui che parla può partire da un significato “Word Meaning”

e cercare una forma adeguata ad esprimerlo, oppure partendo da una “Word Form”

ricercarne il giusto significato. WordNet quindi si è posto l’obiettivo di voler

esprimere due diverse relazioni:

1. relazioni semantiche fra i significati

2. relazioni lessicali fra le forme.

La costruzione della base di dati si è scontrata con l’esistenza di due teorie: la

teoria costruttiva e la teoria differenziale.

Secondo la teoria costruttiva un'accurata costruzione di un concetto deve essere

supportata da un numero sufficiente di informazioni. Tali informazioni devono

consentire di caratterizzarlo in modo da poterlo distinguere da altri possibili concetti

lessicali e di fornirne una corretta definizione.

La teoria differenziale, molto meno rigida, esprime il fatto che la rappresentazione di

un concetto possa essere fatta solo con elementi che permettano di distinguerlo da

23

Page 26: Tesi peiretti

altri.

Per essere più chiari possiamo ricorrere ad un esempio:

La parola pianta ha diversi significati:

· nome generico che indica qualsiasi vegetale fornito di organi specializzati

· proiezione orizzontale di un oggetto

· parte inferiore del piede

Nella teoria costruttiva per differenziare i due significati dobbiamo fornire

abbastanza informazioni in modo da distinguerli. In quella differenziale basta fornire

una lista di forme che lo possano esprimere. Il significato M può essere espresso con

una lista di forme (F1, F2, …). In questo modo abbiamo per ogni significato una lista

di forme fra di loro in relazione di sinonimia. L’insieme viene indicato come

Synonym Set, chiamato Synset.

Ritornando al nostro esempio, per distinguere i due significati sarebbe stato

sufficiente citarne due sinonimi: vegetale per il primo, e mappa per il secondo. Nel

caso in cui non esista un sinonimo appropriato a differenziare quel significato da

altri, si fa ricorso ad una glossa ovvero una breve spiegazione del significato. Per il

terzo significato del nostro esempio si potrebbe utilizzare la glossa: parte inferiore del

piede.

3.1.3 Le relazioni di WordNet

WordNet si basa sulle relazioni semantiche fra concetti; tra quelle implementate

da WordNet esistono:

· Sinonimia: Due concetti sono fra loro sinonimi se la sostituzione di uno con

l’altro non cambia il valore di verità della frase nella quale viene fatta la sostituzione

quindi due concetti sono fra loro sinonimi in un contesto linguistico C se la

24

Page 27: Tesi peiretti

sostituzione di un concetto con l’altro nel contesto C non ne altera il valore di verità.

Un esempio è la parola pianta sinonimo della parola mappa.

· Antonimia: L’antonimo di una parola x viene definito quasi sempre come not x.

Le parole ricco e povero sono fra loro antonimi anche se essere non ricchi non

implica necessariamente essere poveri: infatti, si può essere né ricchi, né poveri.

· Iponimia/Iperonimia: Un concetto rappresentato dal synset {x1, x2, x3,…} viene

detto iponimo del concetto rappresentato dal synset {y1, y2,…} se si può accettare una

frase costruita come: Un x è un (un tipo di ) y. L’iponimia è transitiva ed è

antisimmetrica; essa genera una struttura semantica gerarchica secondo la quale gli

iponimi (concetto figlio) stanno sotto il proprio iperonimo (concetto genitore).

· Meronimia/Olonimia: è una relazione semantica, ed esprime il concetto di parte

di. {x1, x2,…} è un meronimo di un concetto rappresentato da {y1, y2,…} se si

possono accettare frasi scritte come x è parte di y. La relazione di14 meronimia è

transitiva (con le riserve che dopo spiegheremo) e antisimmetrica e può anch’essa

essere usata per costruire relazioni gerarchiche. Ne sono esempio le parole ala e

becco. esistono varie tipologie di relazioni parte di: componente/oggetto,

elemento/insieme, porzione/intero, materiale/oggetto, azione/attività, località/area e

fase/processo.

· Relazioni Morfologiche: Un'importante classe di relazioni lessicali fra forme di

parola. Un esempio è quello del plurale dei nomi. Se un utente inserisce la parola

chiese, e lancia la ricerca, il programma non dovrebbe dare come risultato l’assenza

della parola nel DataBase. Se la parola chiese è in relazione morfologica con il suo

singolare, la ricerca viene fatta sul termine chiesa.

3.1.4 I nomi di WordNet

Un nome è costituito da un termine generale che lo descrive (iperonimo) e

dall'elenco delle sue caratteristiche. La relazione di iponimia introduce quindi il

25

Page 28: Tesi peiretti

concetto di ereditarietà. Un figlio eredita dal genitore tutte le caratteristiche

aggiungendone altre che lo specificano e che lo distinguono dagli altri figli. Un

esempio può essere un ciliegio è un albero e si distingue dagli altri suoi simili per la

durezza del legno, la produzione di frutti, la forma delle foglie, il tipo di radici, ecc.

Questa relazione è la base della strutturazione dei nomi in WordNet.

La relazione di iperonimia/iponimia è la relazione sulla quale si basa la teoria sul

sistema di memoria semantica. Questo sistema è di tipo gerarchico e può essere

schematizzato come un albero. La proprietà fondamentale di un albero è che un

cammino dalla radice alle foglie non debba mai essere un loop. L’albero viene

costruito seguendo la catena di termini in relazione di iponimia. La struttura creata è

una sequenza di livelli che va da molti termini specifici al livello più basso a pochi

termini generici a livello più alto. Con questo sistema si ovvia al problema della

ridondanza, soprattutto per data-base che contengono molti termini: il termine al

livello n ha tutte le proprietà del termine al livello n-1 ad esso collegato e ne

aggiunge delle altre. E così via scendendo o salendo nella scala gerarchica. Basta

quindi memorizzare solo le informazioni che caratterizzano l’oggetto stesso, mentre

si possono tralasciare quelle che già sono memorizzate per l’oggetto genitore.

In WordNet per le relazione di iperonimia/iponimia si utilizzano i simboli @ e ~:

se Wh @-> Ws allora esiste la relazione inversa W s~->Wh. Quindi se la parola Ws è

un iperonimo del nome Wh allora Wh è un iponimo di Ws. La relazione semantica

@-> indica una generalizzazione mentre la relazione inversa ~-> indica una

specializzazione. Se synset della parola albero è {albero, pianta, @ conifera, ~….}

allora la parola pianta è un iperonimo di albero, ed equivale a scrivere:

albero@->pianta. Nel synset relativo alla parola pianta si troverà pianta~->albero.

Il synset della parola pianta è {pianta, flora, @ organismo, @ albero, ~…} in cui i

puntini indicano che la lista di relazione potrebbe continuare con altri termini ed i

relativi puntatori.

Sulla base della teoria del sistema gerarchico la costruzione dell’albero parte da

un'unica gerarchia, quindi la radice deve essere semanticamente piena. Di solito

26

Page 29: Tesi peiretti

come radice si prendere in considerazione un termine astratto come {entità} e si

inserisce {oggetto, cosa} e {idea} come suoi iponimi. Questa metodologia però porta

ad avere poco contenuto semantico. L’alternativa, adottata da WordNet, è quella di

partizionare i nomi in un insieme di synset primitivi, considerando un numero

relativamente piccolo di concetti generici da usare come radici semantiche per

costruire altrettante gerarchie separate. Nella figura …, qui di seguito, vengono

elencati i 25 synset primitivi; all’interno degli alberi generati da tali radici devono

essere contenuti tutti i vocaboli appartenenti alla categoria dei nomi della lingua

inglese. Le gerarchie create variano in grandezza e non sono fra loro mutuamente

esclusive: sono presenti anche riferimenti incrociati. Una volta scelti i concetti

primitivi, ci si è accorti che fra di essi esistevano delle relazioni.

27

Page 30: Tesi peiretti

28

Figura 9: I synset primitivi

Page 31: Tesi peiretti

Un concetto è costituito da attributi, parti e funzioni e per rappresentarli sono

necessarie anche le relazioni incrociate fra categorie lessicali diverse che saranno di

tipo diverso: nome-aggettivo, nome-nome e nome-verbo.

29

Figura 10: Relazione tra concetti primitivi

Figura 11: Relazione tra i nomi in WordNet

Page 32: Tesi peiretti

3.1.5 Gli aggettivi di WordNet

La categoria semantica degli aggettivi viene divisa in tre grandi gruppi:

· Aggettivi descrittivi

· Aggettivi relazionali

· Aggettivi Reference-Modifying

Un aggettivo descrittivo associa un valore a un attributo del nome cui esso è

associato. Un esempio è “casa grande”: grande è un aggettivo descrittivo riferito

all’attributo ‘dimensione’ del nome casa. Questo tipo di aggettivi è organizzato per

mezzo di uno spazio dimensionale di cui sono noti gli estremi. Per il termine

‘grandezza’ viene definita una scala di valori estesa, ad esempio, fra gli estremi

infinitesimo ed enorme. La relazione fondamentale per la definizione di queste scale

è l’antonimia.

Gli aggettivi relazionali sono aggettivi che derivano dai nomi (ad esempio

“atomico” deriva da “atomo”). Sono mantenuti in una lista distinta.

Gli aggettivi reference-modifying sono in un insieme piuttosto piccolo e

costituiscono una classe chiusa che viene mantenuta separata dagli altri aggettivi. Un

esempio è ‘Ieri ho incontrato un mio vecchio amico’. L’aggettivo vecchio può essere

riferito alla persona amica e indica che tale persona è anziana oppure può essere

riferito all’amicizia indicando che è di lunga data.

3.1.6 I verbi di WordNet

Anche i verbi sono organizzati secondo uno schema gerarchico. Nella categoria

vengono inclusi anche i “phrasal verbs”. Si suddividono in 15 files diversi: 14 relativi

ad altrettanti gruppi semantici che contengono i verbi denotanti azioni o eventi e un

file per verbi che denotano stati.

30

Page 33: Tesi peiretti

Le relazioni tra i verbi si basano su implicazione e opposizione. Per

l’implicazione, il tipo a cui si fa riferimento è la relazione di troponimia che

corrisponde all’iponimia per la categoria lessicale dei nomi. Un esempio di

troponimia esempio zoppicare è un modo di camminare. L’informazione

memorizzata per i verbi è del tipo predicato-argomento. Infine per ogni verbo nel

synset vengono inserite una o più “frames” che indicano le frasi in cui possono

comparire.

3.2 Descrizione di SentiWordNet

SentiWordNet è un’estensione di WordNet e assegna ad ogni synset tre punteggi:

Obj(s), Pos(s) e Neg(s), che stanno a indicare quanto oggettivi, positivi o negativi

siano quei termini. L’assunzione di fondo che permette di assegnare i punteggi ai

synset è che differenti significati di un termine portano opinioni differenti. Ogni

punteggio varia tra 0.0 e 1.0, e la loro somma è sempre 1.0. I punteggi sono anche

visibili nella rappresentazione grafica di SentiWordNet secondo questo schema

riportato nella figura sottostanta.

31

Figura 12: Rappresentazione grafica di un termini generico in SentiWordNet

Page 34: Tesi peiretti

Le figure sotto riportate sono esempi di rappresentazione:

32

Figura 13: Esempio di rappresentazione del termine “interesting” in SentiWordNet

Figura 14: Esempio di rappresentazione dell'aggettivo “estimable” in SentiWordNet

Figura 15: Esempio di rappresentazione del verbo “short” in SentiWordNet

Page 35: Tesi peiretti

3.2.1 Una breve storia di SentiWordNet

Esistono quattro versioni differenti di SentiWordNet:

1. SENTI WORD NET 1.0, presentata da Esuli e Sebastiani nel 2006 e reso

pubblicamente disponibile per scopi di ricerca.

2. SENTI WORD NET 1.1, solo discusso dai due ricercatori nel 2007 in una

relazione tecnica che non fu mai pubblicata.

2. SENTI WORD NET 2.0, solo discusso nella tesi da Esuli nel 2008

4. SENTI WORD NET 3.0

Poiché le versioni 1.1 e 2.0 non sono state discusse ampiamente in noti

pubblicazioni formali, ci si concentra sulle differenze tra le versioni 1.0 e 3.0. La

versione 1.0 (analogamente a 1.1 e 2.0) consiste in un'annotazione del precedente

WordNet 2.0, mentre la versione 3.0 è un annotazione più recente di WordNet 3.0.

Per SentiWordNet 1.0 e 1.1, l'annotazione automatica è stata effettuata tramite una

debole supervisione, algoritmo di apprendimento semi-supervisionato.

Contrariamente, per SentiWordNet 2.0 e 3.0 i risultati sono solo un passo intermedio

del processo di annotazione, poiché sono alimentati dal processo iterativo

random-walk che viene eseguito per la convergenza. SentiWordNet 2.0 e 3.0 è

l'output del processo random-walk dopo che è stata raggiunta la convergenza. La

versione 1.0 e 1.1 usa le glosse dei synset di WordNet come rappresentazioni

semantiche dei synset stessi, quando viene invocato il processo di apprendimento

semi-supervisionato di classificazione dei testi che classifica le glosse in categorie

Pos, Neg e Obj. Nella versione 2,0 il processo di apprendimento semi-supervisionato

è il primo passo mentre il processo random-walk è il secondo passo. In SentiWordNet

3.0 tra il processo di apprendimento semi-supervisionato (prima fase)

e il processo random-walk (seconda fase) si usano invece le glosse manualmente

disambiguate dalla Princeton WordNet Corpus2 Gloss, che si assume siano

più accurate rispetto a quelle dell'ExtendedWordNet.

33

Page 36: Tesi peiretti

3.2.2 Lo sviluppo di SentiWordNet 3.0

Il processo di annotazione automatica, secondo il quale SentiWordNet 3.0 è

generato, è costituito da due fasi: uno step di apprendimento semi supervisionato, e

un passo random-walk.

Il primo passo è simile a quello usato per la generazione di SentiWordNet 1.0 e

consiste di quattro sotto-passi:

• espansione dell'insieme dei seed

• classificatore ternario

• classificazione dei synset

• combinazione del classificatore

Nella prima sotto-fase, vengono automaticamente espansi due piccoli insiemi di

seed (uno composto da tutti i synset contenenti sette termini paradigmaticamente

positivi e l'altro da tutti i synset contenenti sette termini paradigmaticamente

negativi) attraverso le relazioni binarie di WordNet si possono collegare synsets di

una determinata polarità con altri synsets o della stessa polarità

o di polarità opposta e dall'aggiungere i synset così raggiunti si espandono i due

insieme iniziali. Questa espansione può essere essere eseguita con un certo "raggio",

ad esempio, con raggio k significa aggiungere all'insieme dei seed tutti i synset che

sono distanti meno di k dai membri dell'originale insieme di seed nel grafico

collettivo derivante dalle relazioni binarie considerate.

Nella seconda sotto-fase, i due insiemi di synset generati nella precedente fase

sono usati, insieme a un altro insieme assumendo di avere la proprietà Obj, come

insiemi per classificare l'oggettività dei termini. Le glosse dei synset sono usate per la

classificazione dell'oggettività. SentiWordNet 1.0 usa il modello “bag of words”,

secondo il quale la glossa è rappresentata dall'insieme delle parole che occorrono in

34

Page 37: Tesi peiretti

essa. In SentiWordNet 3.0 disambiguiamo manualmente le glosse rese disponibili dal

Princeton WordNet Gloss Corpus, secondo cui una glossa è attualmente una sequenza

di synset di WordNet. I classificatori di glossa sono basati tutti su quello che può

essere definito modello “bag of synsets”.

Nella terza sotto-fase, tutti i synset di WordNet (inclusi quelli aggiunti nella

seconda fase)sono classificati come appartenenti a Neg , or Obj tramite il

classificatore generato nella seconda fase.

La sotto-fase 2 può essere eseguita usando un diverso valore del parametro raggio

e tecnologie di apprendimento supervisionate. L'annotazione si rivela

più accurata se, piuttosto che un classificatore ternario unico,

viene generato un comitato di classificatori ternari, ciascuno dei quali risultano

membri di una combinazione diversa di scelte per questi due parametri (raggio e

tecnologia di apprendimento). È nato un comitato classificatore composto di 8

membri, derivante da quattro diverse scelte di raggio (k ∈ {0,2,4,6}) e due

scelte diverse di tecnologie di apprendimento (Rocchio and SVMs). Nella fase 4 il

valore finale Pos (resp., Neg , Obj) di un synset dato viene generato come la sua

media Pos (risp., Neg, Obj) attraverso gli otto classificatori della commissione.

Il secondo step consiste nel visualizzare WordNet 3.0 come un grafico

nell'esecuzione di un processo iterattivo in cui il Pos(s) e il Neg(s), e di conseguenza

anche Pos(s), partendo dai valori trovati nel precedente step, possibilmente

cambiando ad ogni iterazione. Lo step termina quando il processo iterativo è

convergente. Il grafico usato è implicitamente determinato su WordNet dalla

relazione binaria definiens – definiendum; in altre parole si assume l'esistenza di un

link diretto dal synset s1 al synset s2 se e solo se s1 (definiens) si trova nella glossa

del synset s2 (definiendum). L'intuizione di base è che, se la maggior parte i termini

che vengono utilizzati per definire un dato termine sono positivi (o negativi), allora vi

è un'alta probabilità che il termine in via di definizione sia positivo (o negativo). In

altre parole, positività e negatività sono visti come "fluire attraverso il grafico", dai

termini usati nelle definizioni ai termini in via di definizione.

35

Page 38: Tesi peiretti

Tuttavia, va osservato che, in WordNet, il definiendum è un synset, mentre il

definiens è un termine non disambiguato, poiché le glosse sono termini non

disambiguati. Per effettuare lo step abbiamo bisogno di glosse da disambiguare

contro WordNet stessa, ad esempio loro devono essere sequenze di synset WordNet.

Mentre per effettuare lo step per SentiWordNet 2.0 avevamo usato automaticamente

le glosse disambiguate fornite da ExtendedWordNet (Harabagiu et al.), per

SentiWordNet 3.0 usiamo le glosse disambiguate manualmente disponibili dal

Corpus Princeton WordNet Gloss. La matematica che sta dietro a questo passo è

descritto in Esuli e Sebastiani, 2007a.

Due differenti processi random-walk vengono eseguiti per

le dimensioni della positività e della negatività, rispettivamente, di

SentiWordNet, producendo due diverse classifiche del

synset WordNet. Tuttavia, i valori numerici restituiti dal processo sono inadatti ad

essere utilizzati come punteggi finali Pos e Neg, poiché sono troppo

piccoli (il synset top-ranked per la positività otterrebbe un

punteggio Pos di 8.03*10-6); di conseguenza, anche i synset positivi top-ranked

si rivelerebbero essere neutrali e solo debolmente positivi. Poiché, come abbiamo

osservato, entrambi i punteggi di positività e di negatività derivanti dal

passo di apprendimento semi-supervisionato seguono una distribuzione che

obbedisce alla legge di potenza (pochissimi synset hanno un elevato punteggio Pos /

Neg, mentre moltissimi synset sono per lo più neutri),

si sono adattati i punteggi con una funzione della forma

Fpos(x)=a1xb1 (FNeg(x)=a2xb2 , nel caso negativo), determinando così A1 e B1 (o A2 e B2

nel caso negativo), valori che meglio si adattano all'effettiva distribuzione dei valori.

I valori finali Pos(s) (Neg(s) , nel caso negativo) sono quindi determinati applicando

le Fpos(x)=a1xb1 (FNeg(x)=a2xb2 ,nel caso negativo) per la classifica della positività (o

della negatività) prodotto dal processo random-walk.

I punteggi Obj(S) vengono poi assegnati in modo da rendere i tre

valori riassunti in uno. Nel caso in cui Pos(s) + Neg (s)> 1 si normalizzano i due

valori da sommare Obj fino a uno e si imposta (s) = 03.

36

Page 39: Tesi peiretti

Come esempio, nella figura la tabella riporta i primi 10 synset top-ranked positivi e i

primi 10 negativi in SentiWordNet 3.0.

3.2.3 Struttura del database

SentiWordNet è un database contenente i punteggi delle opinioni per i termini che

derivano da WordNet. È costruito usando un metodo semi-supervisionato per ottenere

i punteggi di polarità dell'opinione dal sottoinsieme di seed che sono conosciuti per

contenere la polarità dell'opinione. Ogni insieme di termini che hanno lo stesso

significato o synset è associato a tre punteggi numerici, come accennato nei

precedenti paragrafi, compresi tra i valori 0 e 1 indicando per ognuno la soggettività,

la positività e la negatività. Un'importante caratteristica di SentiWordNet è che il

grado di positività e negatività è associato a ogni termine dato ed è possibile per un

termine avere valori diversi da 0 tra il punteggio della positività e il punteggio della

negatività, secondo la seguente regola:

Per un synset si definisce:

• Pos(s) → punteggio della positività per il synset s

• Neg(s) → punteggio della negatività per il synset s

• Obj(s) → punteggio dell'oggettività per il synset s

Per la regola del punteggio si applica quanto segue: Pos(s)+Neg(s)+Obj(s)=1

I punteggi positivi e negativi sono sempre dati e l'oggettività può essere implicita

dalla relazione: Obj(s)=1-(Pos(s)+Neg(s)).

Il database di SentiWordNet viene fornito come file di testo in cui i punteggi sono

raggruppati in synset e in part of speech (pos). La tabella seguente descrive una

colonna per una entry nel data base riflettendo l'opinione di un synset.

37

Page 40: Tesi peiretti

38

Figura 16: Struttura del data base di SentiWordNet

Figura 17: Esempio di dati in SentiWordNet

Page 41: Tesi peiretti

I dati in SentiWordNet vengono classificati in base alla parte del discorso, e ci

sono notevoli differenze nel livello di oggettività che un synset

potrebbe portare, a seconda del suo ruolo grammaticale. L'informazione sulla parte

del discorso nei documenti originali per essere classificati dovranno essere estratti, in

modo che possono essere applicati i punteggi di SentiWordNet. Per ottenere questo,

un algoritmo di etichettatura della part-of-speech, può essere implementato per

classificare automaticamente le parole in categorie in base a parti

del discorso dai documenti originali. Dopo l'operazione di tagging di semplici

documenti di testo, le informazioni devono essere analizzati in modo che si usi il data

base SentiWordNet. Questo processo richiede lo sviluppo di un'applicazione che

legge un documento “taggato” e correttamente fa corrispondere i termini e il loro tag

di part of speech al punteggio di SentiWordNet.

Quando si valutano i punteggi per un dato termine con SentiWordNet, un

problema si pone nel determinare per quale specifico synset il termine appartiene a

WordNet e che punteggio assegnargli. Un esempio si ha per il termine "pazzo", con

quattro synset in WordNet.

39

Figura 18: Esempio di punteggi multipli per lo stesso termine in SentiWordNet

Page 42: Tesi peiretti

3.3 Descrizione di WordNet-Affect

WordNet-Affect è una risorsa linguistica per una rappresentazione lessicale della

conoscenza affettiva. Questa risorsa è stata sviluppata a partire da WordNet,

attraverso la selezione e l'etichettatura dei synset che rappresentano i concetti

affettivi. La computazione affettiva sta avanzando come un campo che permette una

nuova interazione uomo-macchina, oltre all'uso del linguaggio naturale. Vi è la

percezione che il futuro dell'interazione uomo-macchina sia nella sfera del

divertimento, delle emozioni, del piacere estetico, … Studiare la relazione tra il

linguaggio naturale e l'informazione affettiva e trattare la sua trattazione

computazionale diventa fondamentale.

Per lo sviluppo di WordNet-Affect si è considerato come punto di partenza

WordNet Domains, un'estensione multilingue di WordNet, sviluppato presso ITC-irst.

In WordNet Domains ogni synset è stato annotato con almeno un'etichetta dominio

(ad esempio legge, economia, politica), scelti da un insieme di circa duecento

etichette gerarchicamente organizzato. Un dominio può includere synset di diverse

categorie sintattiche: per esempio il dominio medicina raggruppa insieme i sensi dai

sostantivi, come doctor#1 (il primo senso della parola doctor) e hospital# 1, e dai

verbi come operate#7.

Per WordNet-Affect, l'obiettivo era di avere un'ulteriore gerarchia di "etichette di

dominio affettivo", indipendenti dalla gerarchia di domini, con le quali i synset

rappresentano concetti affettivi che sono annotati.

3.3.1 Lo stato dell'arte dei lessici affettivi

I primi tentativi di costruire una struttura lessicale per i termini affettivi

riguardavano lo studiare quali di questi termini rappresentano realmente delle

emozioni e quali criteri di classificazione prendere in considerazione. In particolare,

gli approcci semantici lessicali sono fondati sulla convinzione che "è possibile

inferire le proprietà emotive dalle parole che esprimono un'emozione." Questo

40

Page 43: Tesi peiretti

approccio è costituito da tre fasi principali. In primo luogo, vengono raccolti i termini

emotivi dai dizionari o da testi letterari e giornali. Quindi, un numero fisso di contesti

semantici sono fissati: ad esempio i termini di emozione pura oppure lo stato fisico e

cognitivo dei termini. Infine, da ogni termine viene estratto un insieme di dimensioni

affettive, utilizzando tecniche come l'analisi fattoriale o lo scaling multidimensionale.

L'approccio lessicale semantico ha mostrato una serie di importanti

questioni. Ortony e Clore hanno rivisto la letteratura sulle etichette emotive, e hanno

scoperto che il processo utilizzato per selezionare le parole emotive non ha portato

esclusivamente a un dominio di termini emotivi (ad esempio la parola “rabbia” si

riferisce ad un'emozione, a uno stato d'animo, e “confusione” ad uno stato cognitivo).

Un altro problema è stato delineato da Watson e Tellegen: in letteratura vi è un

accordo solo su due caratteristiche: “arousal” (eccitato, teso contrario di rilassato,

sonnolento) e “valence” (felice, felice contrario di triste, emozionato). Tuttavia,

queste due dimensioni non sono sufficienti ad individuare l'intera gamma di concetti

emozionali. Inoltre, le tecniche dell'approccio semantico lessicale non ci permettono

di distinguere i diversi sensi della parola stessa. Ad esempio, la parola

“surprise” può fare riferimento a un sentimento ("lo stupore si sente

quando ti succede qualcosa di totalmente inaspettato"), ad un evento ("un evento

improvviso e inaspettato"), o ad una azione ("l'agire sorprendente di qualcuno").

Pertanto, al fine di costruire una struttura per l'organizzazione del lessico affettivo,

non si possono solo utilizzare le informazioni provenienti dallo stesso lessico, ma

abbiamo bisogno di ottenere informazioni fornite da recenti ricerche scientifiche

sull'emozione. In questo approccio al lessico affettivo, il centro d'interesse non è

quello di studiare la natura delle emozioni, ma capire come i significati affettivi sono

espressi in linguaggio naturale.

41

Page 44: Tesi peiretti

3.3.2 Lo sviluppo di WordNet-Affect e del suo nucleo

Il lavoro sul lessico affettivo si è concentrato sulla realizzazione

di una risorsa che contiene un insieme di concetti affettivi correlati con parole

affettive. La disponibilità del database WordNet è un importante punto di partenza. Il

modello synset è sufficientemente semplice da fornire un'intrinseca correlazione tra

un concetto e le corrispondenti parole. Inoltre, WordNet copre l'intero lessico inglese

e fornisce una quantità straordinariamente grande delle distinzioni concettuali.

Inoltre, è particolarmente utile da un punto di vista computazionale perché è stato

sviluppato per un facile accesso e per la navigazione attraverso le sue gerarchie.

Partendo da WordNet è stato selezionato un sottoinsieme di synset (chiamato

WordNet-Affect) idonei a rappresentare concetti affettivi. Si sta attualmente puntando

a mirare l'espressività di WordNet senza introdurre modifiche nella struttura

originale. Pertanto, abbiamo aggiunto ulteriori informazioni ai synset affettivi senza

definirne di nuovi. Ugualmente al metodo per le etichette di dominio, si assegna a un

certo numero di synset di WordNet una o più etichette affettive (a-labels) che

contribuiscono a precisare il significato affettivo. Ad esempio, i concetti affettivi che

rappresentano lo stato emotivo sono individuati dai synsets contrassegnati con le

affective-label emotion. Ci sono anche altre etichette affettive per quei concetti che

rappresentano stati d'animo, situazioni che suscitano emozioni o risposte emotive.

Nella tabella della figura sottostante si può vedere la lista delle a-labels.

WordNet-Affect è stato sviluppato in due fasi. La prima fase è stata l'individuazione

di un primo "nucleo" dei synset affettivi. La seconda fase è stata l'estensione del

nucleo con le relazioni definite in WordNet.

42

Page 45: Tesi peiretti

Per avere un insieme iniziale di parole affettive, è stato realizzato manualmente

WordNet-Affect, composto da 539 sostantivi, 517 aggettivi, 238 verbi e 15 avverbi.

Si è iniziato a raccogliere un elenco di aggettivi con l'aiuto di dizionari mentre più

tardi sono stati aggiunti i sostantivi tramite una correlazione intuitiva con gli

aggettivi. Verbi e avverbi sono stati aggiunti in modo simile. Per ogni elemento, è

stata creata una struttura al fine di aggiungere informazioni lessicali e affettive. Le

informazioni lessicali comprendono la correlazione tra i termini inglesi e italiani,

parti del discorso (POS), definizioni, sinonimi e contrari. L'attributo POSR si

riferiscono a termini aventi differenti POS, ma che puntano alla

stessa categoria psicologica. Ad esempio, l'aggettivo allegro è semanticamente legato

al nome di allegria, al verbo rallegrare e all'avverbio allegramente.

L'informazione affettiva è un riferimento ad uno o più delle principali tipologie di

teorie sulla rappresentazione delle emozioni discrete: teorie basate sul concetto di

valutazione cognitiva, teorie basate sulle emozioni base e teorie dimensionali. Sulla

base del lavoro di Ortony, i termini sono classificati in termini emozionali, termini

affettivi non-emozionali e termini non affettivi di stato mentale. Altri termini sono

collegati con tratti della personalità, dei comportamenti, degli atteggiamenti, degli

stati fisici o stati del corpo e dei sentimenti (come il piacere o dolore). Viene

chiamato Ortony l'attributo usato per indicare la categoria affettiva dei termini nel

database. Alcuni esempi sono riportati nella tabella sottostante.

43

Figura 19: A-labels con i rispettivi synset di esempio

Page 46: Tesi peiretti

Dal mappare i sensi dei termini in WordNet-Affect ai loro rispettivi synset, è stato

identificato il nucleo affettivo. Si è selezionato un sottoinsieme di WordNet

contenente tutti i synset nel quale c'è almeno una parola della wordlist affettiva, e ha

respinto quei synset che non sono riconosciuti come concetti affettivi.

È stato eseguito un controllo automatico di coerenza delle informazioni affettiva

all'interno dei synset. In particolare, è stato controllato se ci sono sinonimi con valori

incompatibili delle informazioni affettiva. I risultati hanno mostrato

che i synset sono un buon modello per la rappresentazione di

concetti affettivi.

Quindi, abbiamo proiettato parte delle informazioni affettive

dal database Affect sui sensi corrispondenti di WordNet-Affect, come valore di un

marchio affettivo (a-label). Questa operazione non è stata completata su tutti i synset

di WordNet, sia per il valore dello slot Ortony (null per alcuni degli elementi) e

perché ci sono synsets aggiunti manualmente, oltre a quelli individuati in Affect. Per

questo motivo, si è proceduto ad un ulteriore manuale di etichettatura, al fine di

assegnare le a-labels per l'intero insieme di synset affettivi.

3.3.3 L'estensione del nucleo con le relazioni di WordNet

In WordNet sono definite un numero fisso di relazioni lessicali (tra

parole) e semantiche (tra synset). Una volta individuato il nucleo affettivo, si è

studiato se e in quale misura, sfruttando le relazioni di WordNet,

44

Figura 20: Categorie e termini

Page 47: Tesi peiretti

il nucleo affettivo di WordNet-affettive potrebbe essere esteso. Per ogni relazione, si

è esaminato se si conservano i sensi affettivi (cioè se tale rapporto, applicato al synset

di WordNet-Affect, genera synset che ancora rappresentano

concetti affettivi). Se i synset risultanti sono membri di WordNet-Affect, la risposta è

affermativa. Ma nel caso in cui il rapporto non genera synsets inclusi nel data base,

dovrebbe essere necessario procedere al controllo manuale. Tuttavia, un esame

esplorativo ha permesso di individuare un elenco di relazioni "affidabili" (come ad

esempio antonimia e somiglianza, derivati da parole, appartenenti a parole e attributi)

per il quale si è ipotizzato che il significato affettivo è conservato per tutti gli articoli

di WordNet-Affect. Pertanto, tutti i synset ottenuti mediante l'applicazione di tali

relazioni e che non sono ancora contenuti nel WordNet-Affect sono inclusi in esso.

Per le altre relazioni (come ad esempio iperonimia, implicazione, gruppi di verbi) si è

assunto che il significato affettivo è solo parzialmente conservato. In tal caso è

necessario filtrare manualmente i synset al fine di selezionare coloro che hanno

veramente significato affettivo. In particolare, è utile confrontare

informazioni affettive del database con iperonimi della gerarchia di WordNet limitata

al dominio PSICOLOGIA, per proporre arricchimento nella struttura di questa camp

semantico. WordNet-Affect al momento contiene 2874 synset e 4.787 parole.

45

Page 48: Tesi peiretti

4 Sviluppo del software

Il software che ho implementato nel periodo di tirocinio annota in modo

semantico ed emozionale il contenuto di un testo in un file xml in particolar modo

prendendo in considerazione le coppie <nome, aggettivo>.

All'inizio dell'esecuzione il programma richiede all'utente di inserire il nome del

file che si vuole dare in input al sistema di annotazione. Il file è sottoposto al

preprocessing che elimina da ogni frase le emoticons (come :) ;) :D e molte altre) e

tutte le parole contenute tra parentesi. Perché questa fase di preprocessing?

Semplicemente per semplificare il compito del parser, che si occupa dell'analisi

sintattica delle frasi contenute nel file.

Il sistema consente di continuare ad annotare appendendo elementi a un file xml

già esistente oppure permette di creare un nuovo file xml.

Come dominio di applicazione abbiamo scelto delle recensioni di ristoranti, sia

perché è uno degli ambiti in cui è più agevole reperire commenti e opinioni, sia

perché in questo dominio era disponibile un dataset già pronto.1

Quindi dando in input al sistema un file di testo, il sistema estrae una frase alla

volta e la passa in input al parser (TUP) . Grazie all'analisi sintattica si estraggono le

coppie <nome, aggettivo>. A queste coppie viene aggiunta una griglia emozionale le

cui emozioni sono state individuate da Ekman. Viene chiesto all'utente di inserire da

tastiera, tramite il metodo inserimento_emotion_grounds, un valore per ogni

emozione (happyness, sadness, anger, fear, disgust e surprise) contenuta in questa

griglia di cui parleremo nel paragrafo dedicato a Ekman.

Le triple annotate sono pertanto costituite dai seguenti elementi, <nome,

cognome, griglia emozionale> e sono memorizzate per mezzo di una struttura di tipo

1 Desidero ringraziare in proposito il Dott. Di Caro per avermi inviato un dataset su cui sta attualmente lavorando, e proveniente dal sito http://www.2spaghi.it/.

46

Page 49: Tesi peiretti

ArrayList. Se il primo valore della griglia emozionale è -1 la coppia <nome,

aggettivo> non viene salvata nell'ArrayList; in questo modo l'annotatore può scartare

coppie nome-aggettivo frutto di un'associazione erronea causata da errori di parsing

(per esempio nella gestione della coordinazione).

Quindi viene chiesto all'utente di inserire il nome al file xml che si sta per creare:

se il nome corrisponde al nome di un file esistente il sistema chiede se si vuole

sovrascrivere il file esistente (in questo caso il file esistente perderà tutte le

informazioni finora annotate) oppure appendere i nuovi elementi in coda alle

annotazioni già presenti. Se il nome del file invece non corrisponde al nome di

nessun file xml, viene creato un file xml con quello stesso nome scelto dall'utente.

Il metodo estrazione_triple prende in input un nodo dell'albero creato dal parser

(TUP) e una frase e da in output un ArrayList contenente le triple di ogni frase,

contenuta nel file iniziale, data in input al metodo stesso. Questo metodo si serve di

due metodi di supporto di cui il primo si occupa di estrarre il nome corrispondente

all'aggettivo individuato dal metodo chiamante mentre il secondo si occupa di trovare

l'aggettivo coordinato all'aggettivo individuato dal primo metodo di supporto che lo

invoca (ad esempio nella frase “Mi piace la casa rossa e blu nella foresta” il primo

metodo mi restituisce un ArrayList contenente solo <casa, rossa, emozioni relative

all'aggettivo rosso> aggiungendolo in coda all'ArrayList globale mentre il secondo

metodo mi restituisce un ArrayList contenente solo <casa, blu, emozioni relative

all'aggettivo blu> e lo aggiunge in coda allo stesso ArrayList globale). Nel caso non

ci fossero aggettivi coordinati il secondo metodo non viene neanche eseguito.

Vengono quindi creati due oggetti, rispettivamente Nome e Aggettivo, che

contengono il lemma e un array di synset corrispondenti. Infatti ogni metodo di

supporto, per trovare un array di synset relativi al lemma trovato, deve richiamare il

metodo cerca_in_mwn.

Il metodo cerca_in_mwn, dato in input un lemma, un POS (part-of-speech) e la

lingua, si connette al database MultiWordNet e verifica se esiste quel lemma

47

Page 50: Tesi peiretti

restituendo tutti i possibili synset. Nel caso il lemma non fosse presente nel data base,

viene stampato un messaggio “Il lemma - nome del lemma - non si trova nel

database”.

Nel programma si trova anche il metodo disambiguate che restituisce un oggetto

di tipo Lesk in cui vi è la descrizione e il synset di un lemma. Questo metodo serve

per la disambiguazione tra i tanti synset corrispondenti a una parola e viene utilizzato

nel metodo crea_xml per far corrispondere a ogni lemma il synset più appropriato

alla frase corrispondente con la relativa descrizione.

Il metodo crea_xml prende in input un ArrayList e il nome di un file e crea un

documento xml vuoto e un albero xml con una radice <root> a cui appende

l'elemento <annotated_corpus> a cui vengono appesi gli <annotation pair>

contententi gli elementi <name> (contiene il lemma e il synset relativo al nome) e

<adjective> (contiene il lemma, il synset e i valori della griglia di Ekman). Viene così

salvato l'albero in un file xml.

Il metodo append prende in input un ArrayList e il nome di un file ma, a

differenza del metodo crea_xml, non crea un elemento root e un elemento

annotated_corpus: crea semplicemente tutti gli annotation pairs che saranno “appesi”

all'annotated corpus del file xml esistente.

48

Page 51: Tesi peiretti

4.1 Utilizzo del parser TUP

L'analizzatore sintattico (parser) utilizzato dal sistema include quattro

componenti: il chunker, l'analizzatore della coordinazione, l'analizzatore delle

dipendenze verbali e il post-processore.

Il TUP (Lesmo L. 2009) è un sistema basato su regole, che restituisce la struttura

sintattica delle frasi in un formalismo a dipendenze. Le dipendenze sono le relazioni

sintattiche che legano una parola dominante, la testa (per esempio il verbo), alle

parole dominate (per esempio un nome). Le parole dominate sono dette anche

dipendenti. La connessione tra due parole viene rappresentata usando frecce dotate di

una direzione e di un'etichetta. L'insieme di tutte le relazioni di dipendenza di una

frase forma un albero, che ha come radice il verbo principale. I dipendenti si

differenziano in due tipologie:

1. Argomento della testa: se è obbligatorio per garantire la correttezza della

frase.

2. Modificatore: se non è necessario per la correttezza della frase.

Il TUP esegue due operazioni preliminari: l'analisi morfologica e POS tagging.

Servono a ricostruire il lemma e il part of speech. Il part of speech è una categoria

grammaticale (verbo, aggettivo, sostantivo, pronome, articolo, preposizione,

avverbio, interiezione e congiunzione), che deve essere associato a ciascuna parola in

una frase prima di procedere all'analisi sintattica. Dopo queste due operazioni

49

Figura 21: Architettura del sistema TUP

Page 52: Tesi peiretti

preliminari, si eseguono in ordine le operazioni di chunking (raggruppamento),

analisi della coordinazione e della sotto categorizzazione verbale.

4.1.1 Sotto-moduli del parser

I sotto-moduli del sistema sono costituiti dai seguenti elementi:

1. Parentesi: se il sistema lavora su singole frasi, rimuoviamo tutte le parentesi

che compaiono nella frase. Il contenuto delle parentesi viene parsificato, il

risultato di questo lavoro viene inserito nello stesso punto da cui è stata

prelevata la parentesi.

2. Chunking: il risultato è un insieme di chunk (nominale, aggettivi, etc.) tra

loro non collegati, la testa del chunk contiene un link vuoto.

3. Liste di oggetti

4. “di cui a”: se prendiamo come esempio la frase “...il commento di cui al

paragrafo successivo è molto importante...”, si assume l'esistenza di una

traccia verbale, si cerca il testo a cui si riferisce la frase “di cui a”.

5. Analisi delle congiunzioni: comporta l'individuazione e il collegamento di

ogni possibile congiunzione con le altre.

6. Allegare i dipendenti verbali.

7. Possibile correzione degli allegati preposizionali: si esamina l'intero albero,

per cercare di cambiare i collegamenti delle preposizioni ed ottenere così una

struttura migliore.

8. Post-processamento: Se alcuni oggetti sono rimasti isolati, saranno connessi

all'albero di parsificazione in questa fase.

4.1.2 Chunker

Il chunker ispeziona la frase in passi differenti, e per ogni parola prova ad

applicare ogni possibile regola di chunking, associata alla categoria della parola.

50

Page 53: Tesi peiretti

La categoria sintattica della testa del chunk è costituita da uno degli elementi

appartenenti alla seguente lista: Special, Punct, Adv, Predet, Conj, Adj, Num, Noun,

Pron, Art, Prep, Verb. Ogni regola di chunking rispetta il seguente formato: Head-

Category: <Position, Dependent-category, Conditions, Label>. Un esempio di questo

formato può essere:

NOUN <Precedes (ADJ qualif T),

ADJ,

(type INDEF) (agree) (dep-follows ART),

ADJ+QUANTIF-RMOD>

4.1.3 Analisi della coordinazione

In questa fase si svolgono le seguenti operazioni:

1. la ricerca del secondo sintagma che viene ritenuto il migliore:

Se il sistema incontra una congiunzione coordinativa, cerca di identificare il

candidato che sarà la testa della seconda entità da collegare.

2. la ricerca del possibile primo sintagma:

Si cerca il primo elemento che è posto a sinistra della congiunzione,

otteniamo così una serie di possibili coppie. Per esempio: <<fc11,sc1> ,

<fc12,sc1> , … <fc21,sc2> , <fc22,sc2> ,...>.

3. la ricerca della migliore coppia:

Si applica un insieme di euristiche per trovare la coppia migliore. Queste

regole tengono conto della vicinanza tra gli oggetti della coppia e delle

caratteristiche lessicali dei verbi.

4. Ci si muove all'indietro per controllare ogni comma se in realtà è il secondo

sintagma di una congiunzione che compare precedentemente.

51

Page 54: Tesi peiretti

4.1.4 Dipendenze verbali

La decisione sulle strutture verbali si svolge in due fasi:

1. Una volta che sono stati definiti i confini, tutti i chunk al loro interno

vengono collegati al singolo verbo che vi compare. I confini vengono definiti

tramite l'applicazione di regole euristiche. Le regole vengono applicate da

sinistra a destra. Ogni oggetto scollegato posto a sinistra del verbo viene

assunto come suo dipendente. Gli oggetti scollegati che seguono il verbo

vengono presi come dipendenti del verbo finché non se ne trova un altro. Il

verbo trovato diventa un dipendente, se ha tempo infinito o gerundio, o se

ammette discorsi diretti.

2. Si deve scegliere un'etichetta corretta per il chunk che sarà attaccato al verbo.

Include argomenti separati da aggiungere ed assegnare all'etichetta corretta.

Le tracce vengono inserite nello spazio di ogni argomento mancante. Il

lavoro viene fatto basandosi su una gerarchia di sottocategorie verbali, che

include informazioni sui possibili argomenti e le loro realizzazioni ammesse.

Dopo questa fase ci troveremo con una struttura di parsing parzialmente

costruita, che include un insieme di chunk, sia preposizionali, modificatori,

sintagmi e alcuni verbi. I vari chunk sono i dipendenti verbali. Ogni verbo è

collegato con un insieme di dipendenti senza etichetta. L'ultima fase di

questo lavoro consiste nel determinare le etichette degli archi. Il risultato

finale di questa fase consiste nel trovare, per ogni verbo nella frase,

l'accoppiamento ritenuto migliore tra le sue dipendenze e i frame verbali

associati alle sue possibili sottocategorie. Per esempio il verbo autorizzare ha

una sola possibile sottocategoria (trans-a), dopo autorizzare segue la

preposizione “a”. Un verbo transitivo prevede anche un soggetto, un oggetto

ed un tema. Per esempio: [il terzo comma]subj autorizza [il Consiglio]obj [a

inviare aiuti alimentari]theme.

52

Page 55: Tesi peiretti

Il post-processing è la fase che si occupa di riempire i link relativi alla

punteggiatura e ai verbi. Consiste nell'individuare il verbo principale e se non ci sono

altri verbi disponibili, nel selezionare un'altra radice. Per la punteggiatura si

applicano varie regole, per cercare di segnare quando è possibile le parentetiche. Il

processo tiene conto della struttura dei chunk e delle frasi verbali precedentemente

stabilite.

4.2 Utilizzo di MultiWordNet

Per il sistema sviluppato si è fatto uso di MultiWordNet, una banca dati lessicale

multilingue che comprende le informazioni sulle parole inglesi e italiane. Si tratta di

un'estensione di WordNet 1.6, un database lessicale per l'inglese sviluppato presso

l'Università di Princeton. MultiWordNet contiene informazioni sui seguenti aspetti

dei lessici della lingua inglese e italiana :

• relazioni lessicali tra concetti

• corrispondenze tra i concetti lessicalizzati in italiano e inglese

• campi semantici (domini)

La relazione di base lessicale in MultiWordNet è la sinonimia. Gruppi di sinonimi

vengono utilizzati per identificare i concetti lessicali, che vengono chiamati anche

synsets. Ecco un esempio di synset italiano:

{elaboratore, computer, cervello_elettronico, calcolatore}

I synset sono l'unità più importante di MultiWordNet. Molte informazioni

interessanti sono unite ad essi, come i campi semantici e le relazioni semantiche. Ad

esempio, il synset sopra appartiene al campo semantico "Computer Science" e

dispone di tre diverse relazioni semantiche:

53

Page 56: Tesi peiretti

Macchina has_hypernym {}

has_hyponym calcolatore_analogico {}, {} calcolatore_digitale, ecc

has_part {microchip, chip}, ecc.

La corrispondenza incrociata tra i termini inglesi e italiani è definita tra i synset:

{elaboratore, computer, cervello_elettronico, calcolatore}

corrisponde a

{computer, data_processor, electronic_computer, information_processing_system}

MultiWordNet può essere utilizzato per una varietà di compiti NLP tra cui:

• Information Retrieval: le relazioni di sinonimia vengono utilizzati per

l'espansione della query e per migliorare il recupero dell'IR; le

corrispondenze incrociate tra i synset italiani e inglesi sono utilizzati per il

Cross Language Information Retrieval.

• Tagging semantico: i testi sono contrassegnati con identificatori synset.

• Chiarimento delle ambiguità: le relazioni semantiche sono utilizzate per

misurare la distanza semantica tra le parole, e possono essere utilizzate per

disambiguare il significato delle parole nei testi. Anche i campi semantici si

sono rivelati molto utili per l'attività di disambiguazione.

• Le ontologie: MultiWordNet può essere visto come una ontologia per essere

utilizzato per una varietà di compiti NLP basata sulla conoscenza.

• Terminologie: MultiWordNet costituisce un solido framework che sostiene lo

sviluppo di specifiche terminologie strutturate.

Al momento è disponibile la release 1.39, contenente 58.000 word meaning

italiani organizzati in 32.700 synset, oltre alle corrispondenze con i synset equivalenti

di WordNet 1.6. Al momento, il database è fornito come dump di tabelle MySQL,

insieme a un paccheto di API implementate in Java, mentre con la prossima release

54

Page 57: Tesi peiretti

sarà disponibile un’interfaccia html-based che utilizzerà Apache/php/MySQL.

4.2.1 Descrizione di MultiWordNet

MultiWordNet rappresenta un’estensione della matrice lessicale di WordNet in

una matrice lessicale multilingua. Viene aggiunta una terza dimensione che

rappresenta la lingua. Guardando la figura, in larghezza si trovano i lemmi specifici

di una lingua, in altezza i significati e in profondità si scorrono le lingue. Se

prendiamo come base di riferimento WordNet, la costruzione della matrice lessicale

multilingua con l’aggiunta dell’italiano consiste nel ri-mappare i lemmi italiani

secondo i synset della lingua inglese.

Il risultato è una completa ridefinizione delle relazioni lessicali (che collegano un

lemma a un synset) della lingua italiana; invece, per le relazioni semantiche vengono

mantenute il più possibile quelle definite per l’inglese.

Questa architettura è facilmente estensibile ad altre lingue.

In questa matrice il concetto di synset si evolve, dunque, nel multisynset: un

significato comune alle due lingue che viene rappresentato e individuato in modo

55

Figura 22: Matrice lessicale multilingua di MultiWordNet

Page 58: Tesi peiretti

univoco nel data base e di conseguenza anche nell'ontologia. Il multisynset individua

una relazione di sinonimia in senso lato tra synset equivalenti, e quindi tra i termini

che li compongono, in lingue diverse. I multisynset in pratica, essendo indipendenti

dalla lingua, rappresentano la dimensione verticale della matrice; così, le relazioni

semantiche (rappresentate con archi che collegano due synset) vengono estese in

validità a tutte le lingue.

4.2.2 Architettura del database

Il database contiene una parte comune a tutti i wordnet e una specifica per ogni

lingua che è rappresentata. Guardando la figura, la struttura è organizzata in un

modulo centrale, Common-db, e due moduli, Italian-db e English-db. Il Common-db

contiene tutte le relazioni semantiche presenti in WordNet. A livello concettuale, il

Common-db contiene anche i multisynset: in realtà questi non esistono nel database,

ma vengono implementati utilizzando lo stesso identificatore per i synset dei moduli

linguistici. Nei moduli Italian-db e English-db invece sono contenute le informazioni

lessicali, ovvero i legami tra lemmi e synset, specifiche delle lingue.

Lo schema non è in grado di rappresentare le loro differenze strutturali, che si

vogliono rappresentare; inoltre si desidera poter modificare le relazioni semantiche

comuni di WordNet e aggiungerne di nuove. La soluzione che è stata adottata

consiste in una struttura a add-on: questi sovrascrivono (nel verso delle frecce) in vari

strati il database WordNet, senza modificarlo fisicamente. Il primo Semantic add-on è

incapsulato nel Common-db e si pone direttamente sopra a WordNet; esso permette

di modificare l’insieme delle relazioni semantiche comuni. Questo modulo è a sua

volta sovrascritto dai semantic add-on specifici per ciascuna lingua, che sono

incapsulati nei language-db: il loro ruolo è quello di rappresentare le relazioni

56

Figura 23: Architettura di MultiWordNet

Page 59: Tesi peiretti

semantiche incompatibili con quella lingua. Le informazioni contenute in questi

ultimi add-on sono di due tipi:

• Relazioni semantiche specifiche di una lingua;

• Lexical gap.

I lexical gap si hanno quando un concetto, che può essere espresso con singoli

lemmi, in un'altra lingua non trova un synset corrispondente ma può essere solo

tradotto con una frase oppure espresso con un termine di significato più generico o

più specifico (denotation difference ). Ad esempio, il synset inglese associato alla

glossa “the pointed head or striking tip of an arrow” e contenente il solo termine

“arrowhead”, non trova in italiano un termine corrispondente, ma viene tradotto con

l’espressione “Punta di freccia”. In questo caso ci troviamo di fronte ad un lexical

gap, che viene rappresentato, nell'Italian-db, con un synset italiano che ha associati

solo il particolare lemma “GAP!” e la glossa “punta_di_freccia”. “GAP!” viene

implementato nel database come se fosse un lemma anche se non è un vero e proprio

termine. Quando ci si trova in uno di questi casi, il concetto mancante viene

collegato, nel language-db, ad un empty-node presente nella parte lessicale; a questo

punto ci sono due strategie differenti:

• nel caso di lexical gap, nella glossa del nodo viene riportata una traduzione del

concetto in quella lingua;

• nel caso di denotation difference, il nodo viene collegato da una o più relazioni

nearest a synset che esprimono concetti più generali/specifici.

Per le relazioni sono importate da WordNet tutte quelle semantiche e a queste si

aggiungono le relazioni di tipo nearest. L’unica relazione lessicale al momento

istanziata è la sinonimia. La figura rappresenta una tabella che riassume tutti i tipi di

relazioni presenti in MultiWordNet.

Il popolamento del data base è avvenuto in questo modo: dapprima è stato

57

Page 60: Tesi peiretti

integrato WordNet, separando la parte semantica, che ha riempito il Common-db, da

quella lessicale, inclusa nell'English-db. In seguito, si sono utilizzate due procedure

semi-automatiche per la costruzione dell'Italian-db che sfruttano entrambe un

dizionario bilingue italiano-inglese:

• La prima è denominata Assign-procedure e serve a individuare, dato un termine

italiano ed un suo significato, una lista dei synset inglesi più simili; i synset vengono

pesati in base ad una serie di regole di match;

• La seconda è la LG-procedure, che aiuta a trovare i lexical gap; i lexical gap

English-to-Italian possono quindi essere automaticamente esclusi dai risultati della

routine precedente, mentre quelli Italian-to-English rappresentano synset italiani per i

quali l'Assign-procedure non restituisce alcun risultato, e che perciò devono essere

aggiunti manualmente.

58

Page 61: Tesi peiretti

Il database descritto è stato implementato con tabelle MySQL e viene acceduto

dal sistema sviluppato tramite la connessione a jdbc:mysql://127.0.0.1/mwn-1.4.2 e

il driver com.mysql.jdbc.Driver di Java importando la libreria di Java

mwaccess.org.itc.mwn.*.

59

Figura 24: Tipi di relazioni in MultiWordNet

Page 62: Tesi peiretti

Attualmente il programma si connette in locale a MySQL in cui è caricato il data

base di MultiWordNet. Le tabelle che sono state importate sono:

• common_relation.sql 124722 records

• english_frame.sql 19543 records

• english_index.sql 123774 records

• english_relation.sql 18838 records

• english_synset.sql 102101 records

• italian_index.sql 45099 records

• italian_relation.sql 318 records

• italian_synset.sql 38653 records

• semfield.sql 108038 records

• semfield_hierarchy.sql 164 records

La tabella "common_relation" elenca tutte le relazioni semantiche che sono

comuni a tutti i linguaggi. Ogni record contiene quattro campi:

• type: tipo della relazione (vedere anche la lista delle relazioni di

MultiWordNet e i corrispondenti simboli usati per codificarli);

• id_source: identificatore del synset di provenienza ("pos#offset", dove pos è

"n" per i nomi, "v" per i verbi, "a" per gli aggettivi, ed "r" per gli avverbi);

• id_target: identificatore del target synset ("pos#offset", dove pos è "n" per i

nomi, "v" per i verbi, "a" per gli aggettivi, ed "r" per gli avverbi);

60

Page 63: Tesi peiretti

• status: "new" se la relazione coinvolge nuovi synset, ad esempio i synset che

non sono in Princeton WordNet and sono stati creati in MultiWordNet.

Quando la relazione coinvolge i synset che sono stati definiti già in Princeton

WordNet il campo è "NULL".

Esempi:

INSERT INTO common_relation VALUES ('*','v#00001740','v#00003763',NULL);

INSERT INTO common_relation VALUES ('@','v#00002143','v#00001740',NULL);

Le tabelle "english_relation" e "italian_relation" contengono le relazioni che

dipendono dal linguaggio. Queste relazioni sono istanze delle relazioni lessicali

standard usate in Princeton WordNet (ad esempio antonimia, appartiene a, etc.).

Inoltre, queste tabelle contengono un nuovo tipo di relazione semantica creata

all'interno MultiWordNet, che si chiama "nearest". La più vicina relazione vale tra un

synset vuoto (uno spazio lessicale) di un certo linguaggio e il synset con il significato

più simile in quella lingua. Ci sono solo pochi esempi di questa relazione codificata

finora.

La tabella contiene sei campi:

• type: tipo della relazione (vedere anche la lista delle relazioni di

MultiWordNet e i corrispondenti simboli usati per codificarli);

• id_source: identificatore del synset di provenienza ("pos#offset", dove pos è

"n" per i nomi, "v" per i verbi, "a" per gli aggettivi, ed "r" per gli avverbi);

• id_target: identificatore del target synset ("pos#offset", dove pos è "n" per i

nomi, "v" per i verbi, "a" per gli aggettivi, ed "r" per gli avverbi);

• w_source: il lemma originale (solo per le relazioni lessicali);

• w_target: il target del lemma (solo per le relazioni lessicali);

61

Page 64: Tesi peiretti

• status: "new” se la relazione include un nuovo synset oppure "NULL" se

include synset derivanti da Princeton WordNet.

Esempi:

INSERT INTO english_relation VALUES

('!','v#00009549','v#00009666','rest','be_active',NULL);

INSERT INTO italian_relation VALUES ('|','n#N0002074','n#09593084','','','new');

Le tabelle "english_synset" e "italian_synset" contengono i synset italiani e inglesi

(molti di questi derivano da Princeton WordNet but ma altri sono nuovi). Vengono

specificate anche le lacune lessicali.

Ogni record contiene quattro campi:

• id: identificatore synset ("pos#offset") o un identificatore di Princeton

WordNet o un nuovo identificatore synset (che incomincia con"N");

• word: lemmi contenuti nel synset, separati da uno spazio. I token delle parole

multiple sono collegate dal carattere "_". La parola "GAP!" e

"PSEUDOGAP!" sono identificatori speciali usati per descrivere dei

lexical gaps;

• phrase: lemmi contenuti nelle frasi, separate da uno spazio. I token delle

parole multiple sono collegate dal carattere "_".

• gloss: la maggior parte dei synset ha una glossa, composta da una definizione

come esempio.

Esempi:

INSERT INTO english_synset VALUES ('n#00008864',' plant flora plant_life

',NULL,'a living organism lacking the power of locomotion');

INSERT INTO italian_synset VALUES ('n#00043525',' GAP! ',' errore_di_calcolo

',NULL);

62

Page 65: Tesi peiretti

INSERT INTO italian_synset VALUES ('a#02078908',' epocale ',' che_fa_epoca ','che

caratterizza un\'epoca; \"una svolta epocale\"');

Le tabelle "english_index" e "italian_index" contengono le liste dei lemmi inglesi

e italiani. Lo scopo di queste tabelle è richiamare molto rapidamente i synset-id e le

ricerche possibili a partire da un lemma in tutta i suoi pos.

Ogni record contiene cinque campi:

• lemma: contenente i lemmi normalizzati. I token delle parole multiple sono

collegate dal carattere "_". La parola "GAP!" e "PSEUDOGAP!" sono

identificatori speciali usati per descrivere dei

lexical gaps;

• id_n: contiene la lista dei synset-id (separati da un carattere) nei quali il

lemma è contenuto come un nome;

• id_v: contiene la lista dei synset-id nei quali il lemma è contenuto come un

verbo;

• id_a: contiene la lista dei synset-id nei quali il lemma è contenuto come un

aggettivo;

• id_r: contiene la lista dei synset-id nei quali il lemma è contenuto come un

avverbio;

Esempi:

INSERT INTO english_index VALUES ('shape','n#03952527 n#00015185

n#04055717 n#04562135 n#03685812 n#10430604 n#04554317','v#00474001

v#01139594 v#00095506','','');

INSERT INTO italian_index VALUES ('parlamentare',' n#07457674','

v#00518082','a#02590962',NULL);

63

Page 66: Tesi peiretti

La tabella "semfield" contiene uno o più etichette di dominio per ogni synset in

MultiWordNet. Le etichette di dominio sono indipendenti dal linguaggio e applicate

tra i synset inglesi e italiani. Tuttavia, per ragioni pratiche, sia le parole in inglese sia

le traduzioni italiane sono riportate come etichette di dominio.

Ogni record di questa tabella contiene due campi:

• synset: identificatore del synset ("pos#offset");

• english: contiene la lista delle etichette di dominio associate al synset in

inglese;

Esempi:

INSERT INTO semfield VALUES ('r#00078025','Administration Economy Law',);

INSERT INTO semfield VALUES ('n#00031741','Military',);

La tabella "semfield_hierarchy" contiene la gerachia di 169 etichette di dominio

usate per taggare i synset di MultiWordNet.

Ogni record contiene cinque campi:

• code: numero progressivo associato a ogni dominio, da 1 a 169.

• english: nome in inglese del dominio

• normal: il dominio base (secondo livello della gerarchia) al quale il dominio

si riferisce nel record .

• hypers: il diretto iperonimo del dominio

• hypons: il diretto iponimo del dominio

64

Page 67: Tesi peiretti

Esempi:

INSERT INTO semfield_hierarchy VALUES

(25,'Sport','Sport','Free_Time','Badminton Baseball Basketball Cricket Football Golf

Rugby Soccer Table_Tennis Tennis Volleyball Cycling Skating Skiing Hockey

Mountaineering Rowing Swimming Sub Diving Racing Athletics Wrestling Boxing

Fencing Archery Fishing Hunting Bowling');

INSERT INTO semfield_hierarchy VALUES (29 , 'Folklore' , 'Anthropology' ,

'Ethnology' , '');

La tabella "english_frame" contiene la sotto-categorizzazione dei frame dei verbi

inglesi. Fino ad ora i verbi italiani non hanno questo tipo di informazioni.

Ogni record contiene tre campi:

• id: identificatore del synset ("v#offset");

• frame_num: identificatore della sotto-categorizzazione dei frame

• lemma: il lemma nel synset al quale è stata applicata la

sotto-categorizzazione del frame. Se la sotto-categorizzazione del frame è

applicata a tutti i lemmi nel synset, il campo contiene "*".

Esempi:

INSERT INTO english_frame VALUES ('v#00182674',2,'*');

INSERT INTO english_frame VALUES ('v#00182674',8,'get_over');

4.3 Implementazione dell'algoritmo di Lesk per la disambiguazione dei termini polisemici (WSD)

L’algoritmo di Lesk, è utilizzato per la disambiguazione di termini di tutte le

categorie sintattiche, all’interno di brevi frasi. Data la parola da disambiguare e la sua

definizione nel dizionario o la sua glossa, per ognuno dei sensi ad esso associati,

viene confrontato con le glosse degli altri termini che compaiono all’interno della

65

Page 68: Tesi peiretti

frase. Successivamente, al termine viene associato il significato la cui glossa presenta

il maggior numero di parole in comune con le glosse appartenenti alle altre parole.

L’algoritmo prosegue, eseguendo un processo iterativo per ogni termine, e non

considerando i sensi precedentemente assegnati. Di seguito si riporterà il codice

dell’algoritmo:

Riportiamo ora un esempio di applicazione dell’algoritmo sulla parola pine cone.

Utilizzando l’Oxford Advanced Learner’s Dictionary, si ritrovano i seguenti due

sensi per la parola pine:

• Senso 1: kind of evergreen tree with needle-shaped leaves

• Senso 2: waste away through sorrow or illness

66

Figura 25: L'algoritmo di Lesk

Page 69: Tesi peiretti

Per la parola cone troviamo invece tre sensi:

• Senso 1: solid body which narrows to a point

• Senso 2: something of this shape whether solid or hollow

• Senso 3: fruit of certain evergreen tree

Ognuno dei sensi della parola pine è confrontato con tutti i sensi della parola

cone. Come si nota facilmente il senso 1 di pine ha in comune la parola evergreen

tree con il senso 3 di cone. Di conseguenza questi due sensi sono scelti come i più

appropriati da assegnare alle parole pine e cone, nel caso in cui quest’ultime

compaiano insieme.

L’algoritmo di Lesk, quindi, non fa altro che contare il numero di elementi che le

glosse hanno in comune e assegna un punteggio pari al numero di parole in comune.

L’algoritmo di Lesk utilizza una window of context intorno al termine target, da

sottomettere come input all’algoritmo. In particolare è stata definita una finestra di

2n+1 parole intorno al termine target, che include ovviamente la parola target e gli n

termini subito alla sua destra e gli n subito alla sua sinistra.

Il metodo disambiguate che ho implementato sulla base di questo algoritmo

prende in input una parola e una frase e valuta qual è il termine più pertinente alla

frase. Lo mostra bene questa figura:

67

Figura 26: Come funziona il metodo disambiguate

Page 70: Tesi peiretti

4.4 La griglia emozionale di Ekman

Basandoci sul lavoro di un gruppo di studiosi del Media Laboratory del MIT (per

esempio (Liu, 2003)) ho adottato una griglia emozionale le cui emozioni, inserite da

tastiera dall'utente, vengono classificate nei sei tipi individuati da Paul Ekman.

Non esiste una teoria scientifica per spiegare l'origine delle emozioni.

L'osservazione scientifica sull'evoluzione emozionale risulta scarsamente sistematica.

La psicologia ha tentato di delineare una definizione operativa, una spiegazione

sperimentale, con una verificabilità empirica rispetto al manifestarsi delle emozioni.

Paul Ekman (Ekman. P.1994), incoraggiato da Tomkins, iniziò dagli anni sessanta

del Novecento, una vasta serie di ricerche, in larga misura insieme con Wallace

Friesen, sul riconoscimento dell'espressione facciale delle emozioni in varie

popolazioni americane (del nord e del sud) e tra i nativi del Borneo e della Guinea al

fine di verificare le tesi di Darwin sull'universalità delle emozioni (The Expression of

the Emotions in Man and Animals – Darwin. 1872), trovando sin dagli inizi notevoli

conferme (Ekman 1973). Vennero utilizzati vari metodi. Quello principale consisteva

nella presentazione di fotografie di espressioni facciali esprimenti emozioni ricavate

da soggetti "spontanei" oppure che si erano prestati volontariamente allo scopo, ivi

compresi adulti, bambini e anche un gruppo di pazienti psichiatrici. Tra le 3.000 foto

esaminate da Ekman e Friesen ne vennero scelte trenta relative a specifiche e isolate

(cioè "pure") espressioni di emozioni basiche di paura, rabbia, disgusto, gioia,

tristezza e sorpresa. Tali fotografie vennero fatte valutare da gruppi di giudici

statunitensi, brasiliani, cileni, argentini e giapponesi cui si chiedeva di etichettarle in

base alle sei emozioni. La percentuale di designazioni corrette fotografia-emozione fu

altissima, a testimonianza, almeno provvisoria, del carattere universale

dell'espressione di queste emozioni, e i risultati confortati da uguali, esatti,

riconoscimenti ottenuti (utilizzando ingegnosi accorgimenti) da popolazioni

illetterate del Borneo e della Guinea (Ekman e Friesen 1971).

L’esperimento è stato condotto da 21 gruppi di studio, ciascuno in uno stato

68

Page 71: Tesi peiretti

differente. Di questi, solo 11 stati erano di cultura occidentale.

Il risultato è stato che:

• In tutti e 21 gli stati le persone hanno associato univocamente felicità,

tristezza e disgusto.

• In 20 su 21 stati la maggioranza era d’accordo anche sulla sorpresa.

• In 19 su 21 stati la maggioranza era d’accordo sulla paura.

• In 18 su 21 stati la maggioranza era d’accordo sulla rabbia.

• In tutti i casi in cui non c’è stata concordanza, la risposta scelta è però

risultata la medesima a tutti gli altri che non erano d’accordo, formando di

fatto solo due possibili alternative.

Seppure la ricerca non escluda la possibilità che esistano altre emozioni

universalmente riconosciute, partire da una base di 6 sembra comunque un ottimo

riferimento.

Ekman ampliò la sua lista di emozioni base nel 1992 aggiungendo: divertimento,

disprezzo, contentezza, imbarazzo, eccitazione, colpa, orgoglio, sollievo,

soddisfazione, piacere sensoriale e vergogna.

Un altro studio interessante di Ekman (Ekman, 1999b) riguarda la definizione di

quali possano essere le emozioni primarie, ovvero emozioni innate nell’uomo che

non sono scomponibili ulteriormente. Giunge a definire 11 caratteristiche che

qualunque emozione primaria dovrebbe possedere:

1. Segnali universali distintivi: la presenza di una serie di segnali, o anche

solo di impulsi nervosi, che si attivano in modo chiaro in presenza di una

particolar emozione. Una parziale evidenza di questo fenomeno l’abbiamo

69

Page 72: Tesi peiretti

nelle espressioni emotive involontarie (Ekman e Davidson, 1990).

2. Fisiologia distintiva: ogni emozione dovrebbe essere associata ad una

risposta fisiologica specifica, includendo anche stati di alterazione interni e

configurazioni di attivazioni nervose.

3. Valutazione automatica: ovvero la capacità di distinguere una emozione

anche se non c’è l’attenzione conscia.

4. Eventi precedenti distintivi: se le emozioni si sono evolute nel tempo,

allora dovranno esserci certe configurazioni di stimoli esterni in grado di

scatenare specifiche emozioni.

5. Apparizione distintiva nella crescita: le emozioni dovrebbero apparire in

momenti differenti della crescita del bambino.

6. Presenza in altri primati: sempre avvalorando la natura evolutiva delle

emozioni, dovrebbero rivelarsi anche negli altri primati.

7. Attivazione rapida: l’espressione dell’emozione, o anche la sua sola

apparizione interiore, è così veloce da essere percepita solo dopo che si è

completamente manifestata.

8. Durata breve: la durata di una emozione è di minuti o secondi.

9. Attivazione non controllabile: non dovrebbe essere possibile controllare

consciamente l’apparizione di una emozione.

10.Pensieri e immagini distintive: dovrebbe esserci associazione fra emozioni

e certe tipologie di pensiero e di immagini mentali.

11.Esperienza soggettiva distintiva: ogni individuo è in grado di distinguere

le varie emozioni.

70

Page 73: Tesi peiretti

Tutti i punti di questa ipotesi non sono esclusivi: per esempio è possibile che le

emozioni primarie si rilevino anche in situazioni che non soddisfino tutti i punti.

Inoltre, alcuni di questi punti sono stati già contestati, ma comunque mantengono il

loro interesse per guidare la ricerca, pur non essendo universalmente accettati.

Dopo aver identificato un sottoinsieme di termini comuni che si riferisce alle

emozioni, si costruisce un modello affettivo del senso comune permettendo l'analisi

delle qualità affettive di un testo dell'utente. Così un modello è un'associazione di

modelli differenti con cui competere e un altro complementare. Tutti i modelli hanno

entry omogeneamente strutturate, ciascuna delle quali ha un valore della forma

seguente: [a happy, b sad, c anger, d fear, e disgust, f surprise]. In ogni tupla, a-f sono

scalari superiori a 0.0, rappresentando la grandezza della valenza di ogni entry

rispetto a una particolare emozione. Come punto di partenza prendiamo le sei

emozioni base.

Il modello che di solito si usa, rappresenta una frase dichiarativa come un frame

subject-verbo-object-object. Per esempio per la frase: “Avere un incidente pauroso”

la parola pauroso porta ad avere una griglia emozionale di questo genere

[0 happy, 0 sad, 0 anger, 1.0 fear, 0 disgust, 0 surprise]. In questo esempio, ci si

riferisce alla parola incidente come un emotion ground perché conferisce una qualità

affettiva all'evento descritto nella frase.

Questo esempio però non prende in considerazione la negazione o frasi composte

da altre frasi. La negazione viene gestita come un modificatore del soggetto, del

verbo e dell'oggetto. Se ci sono verbi composti in una frase o frasi all'interno di una

frase, allora ogni strategia di disambiguazione euristica cercherà di scegliere la parola

più rilevante e scartare tutto il resto.

La forza di questo modello è la precisione, in quanto conserva l'evento a livello di

frase. SVOO è il più specifico dei modelli, e la migliore caratteristica è che conserva

la precisione della conoscenza affettiva. SVOO non è sempre applicabile.

71

Page 74: Tesi peiretti

In un altro modello, i concetti sono estratti da ogni frase. A ogni concetto (verbi,

nomi e aggettivi) viene attribuito il valore dell'emozione nella frase. Ad esempio,

dalla frase: "Un incidente d'auto può essere spaventoso," viene estratto il concetto

“incidente d'auto” a cui viene associata la griglia emozionale:

[0 happy, 0 sad, 0 anger, 1.0 fear, 0 disgust, 0 surprise].

Le negazioni sono l'unione della parola "non" davanti al verbo. I sintagmi

nominali che contengono modificatori aggettivali sono generalizzati mettendo a nudo

gli aggettivi. Gli unigrammi a livello di concetto di questo modello non sono così

accurati come quelli del SVOO. Tuttavia, questo modello è più usato perché è

indipendente dalla struttura superficiale del linguaggio.

Un altro problema che si può riscontrare è sicuramente quando la frase è una

battuta ironica come la frase: “Bella questa giornata!” in un contesto in cui la

giornata è piovosa. Di conseguenza qualsiasi modello finora sviluppato non è in

grado di creare una griglia emozionale riferendosi alla realtà.

4.5 Un formato XML per l'output dell'annotatore

XML (EXtensible Markup Language) è un linguaggio di marcatura derivato dal

SGML. Un documento XML è scritto in formato testo con tag anch’essi in formato

testo, è quindi leggibile e modificabile con un comune text editor su ogni tipo di

computer. XML, come tutta la famiglia SGML, non è pensato come un linguaggio di

programmazione, anche se, data la sua generalità, nulla impedirebbe di usarlo per

memorizzare programmi.

Molte sono le sue analogie con HTML (il linguaggio di descrizione delle pagine

web), ma anche profonde e significative le differenze. Innanzitutto XML non è un

linguaggio orientato solamente alla visualizzazione, ma un formato assolutamente

generale per descrivere dati. La visualizzazione di un documento XML è solo una

delle numerose possibilità. Poiché XML, come HTML, deriva da SGML, i tag sono

scritti nello stesso modo usando le parentesi angolate <NOMETAG> </NOMETAG>

72

Page 75: Tesi peiretti

ma la sintassi è più rigida di quella dell’HTML: ogni tag aperto deve essere anche

chiuso, non si possono aprire e chiudere tag in un ordine “sparso”, vi è differenza tra

maiuscole e minuscole. Con questi importanti vincoli si può dimostrare che un file

XML ha una struttura ad albero. Un’utile abbreviazione permette di sostituire un tag

aperto e immediatamente chiuso <BR></BR> con un solo tag con la barra di

chiusura in fondo <BR/>.

In genere un tag XML può essere arricchito aggiungendovi degli attributi che

consistono in coppie nome-valore. La totale generalità della notazione XML permette

di usarla per descrivere praticamente qualsiasi cosa, con il vantaggio sostanziale di

una struttura sintattica univoca.

Il formato XML del file che il programma crea alla fine dell'esecuzione è il

seguente:

73

<root>

<annotated_corpus>

<annotation_pair>

<name synset_id="STRING" lemma="STRING">

word_occurring_in_text </name>

<adjective synset_id=”STRING" lemma="STRING"

hap_val="FLOATVALUE" sad_val="FLOATVALUE"

ang_val="FLOATVALUE" fea_val="FLOATVALUE"

dis_val="FLOATVALUE" sur_val="FLOATVALUE">

adj_occurring_in_text </adjective>

</annotation_pair>

<annotation_pair> … </annotation_pair>

</annotated_corpus>

</root>

Figura 27: Formato del file XML creato dal programma

Page 76: Tesi peiretti

Come tutti i file XML, anche questo file ha una struttura ad albero:

Quindi dando in input un file contenente recensioni viene creato un file XML

come questo:

74

Figura 28: Albero del file XML creato dal programma

Figura 29: File XML creato dal programma dando in input un file con delle recensioni

root

Annotated_corpus

annotation_pair

name adjective

Altri annotation pair

Page 77: Tesi peiretti

5 Conclusioni

In questo periodo di tirocinio ho lavorato sul problema dell'annotazione semantica

di frasi. Si tratta di un problema articolato,per cui non esistono soluzioni automatiche

pienamente soddisfacenti. Questa è la ragione per cui è utile sviluppare dei corpora

annotati: per studiare e comprendere in maniera sistematica il funzionamento dei

fenomeni linguistici.

Per sviluppare il sistema per l'annotazione è stato necessario studiare il

funzionamento di altri elementi software, come il parser a dipendenze, WordNet,

MultiWordNet, e sviluppare componenti (come il modulo per la Word Sense

Disambiguation) ad hoc. Infine ho avuto modo di approfondire il funzionamento

dell'XML e degli strumenti adatti alla creazione di dati espressi in questo formato.

La tesi si articola in 4 capitoli.

Nel primo capitolo è introdotto il problema affrontato nel tirocinio e ne sono

presentate le motivazioni.

Nel secondo capitolo ho tentato di illustrare alcuni degli elementi fondamentali e

degli approcci più rilevanti nel campo della Sentiment Analysis, con particolare

enfasi sulla determinazione dell'orientamento e sulla soggettività dei termini.

Nel terzo capitolo ho illustrato delle risorse annotate: in particolare ho discusso

SentiWordNet e WordNet-Affect, estensioni di WordNet, il loro sviluppo, la

classificazione dei sentimenti, i loro pregi e i difetti. Non poteva mancare, in questo

capitolo, un excursus su WordNet per poter capire come sono strutturate le due

estensioni descritte nel capitolo.

Nel capitolo 4, invece, viene spiegata l'implementazione del sistema: vengono

illustrati i metodi principali usati per la riuscita dell'obiettivo preposto sin dall'inizio

del mio tirocinio, ovvero quello di creare un corpus contenente tutti i possibili nomi e

75

Page 78: Tesi peiretti

aggettivi con i valori che l'utente assegna a ogni emozione della griglia emozionale di

Ekman, utilizzata per evitare i difetti di SentiWordNet e WordNet-Affect. Ho dovuto

utilizzare il parser TUP per la ricerca dei nomi e degli aggettivi all'interno di ogni

frase passatagli in input. L'utilizzo di MultiWordNet è servito per i synset di ogni

lemma e tramite l'algoritmo disambiguate (algoritmo inventato da Lesk) trovare i

synset dei lemmi più adeguati alla frase data in input.

In questa tesi ho solo annotato le triple <nome, aggettivo, emozioni> quindi,

questo lavoro, è un punto di inizio per poter annotare anche verbi e avverbi che, come

detto precedentemente, sono anche fondamentali in una frase. Infatti se prendiamo

come esempio la frase “Mi piace la casa in collina”, il verbo piacere esprime

un'emozione positiva e di conseguenza potrebbe già essere annotata.

76

Page 79: Tesi peiretti

Bibliografia

Piero Amerio, 2007. Fondamenti di Psicologia Sociale, Il Mulino 2007, pages 163-164.

Alina Andreevskaia, Sabine Bergler. 2006. Mining WordNet for fuzzy sentiment: Sentiment tag extraction from WordNet glosses. In Proceedings of EACL-06, 11th Conference of the European Chapter of the Association for Computational Linguistics, Trento, IT. Forthcoming.

J. Bates, 1994. The Role of Emotion in Believable Agents. Communications of the ACM. 37(7), pp. 122-125.

M. G. Dyer, 1987. Emotions and Their Computations: Three Computer Models. Cognition and Emotion, Vol. 1, No. 3, 323- 347.

Paul Ekman , W. V. Friesen, 1971. Constants across cultures in the face and emotion. Journal of Personality and Social Psychology 17, pp. 124-129.

Paul Ekman, R. J. Davidson, W. V. Friesen, 1990. The Duchenne smile: emotional expression and brain physiology II. Journal of Personality and Social Psychology 58, pp. 342-353.

Paul Ekman, 1993. Facial expression of emotion. American Psychologist, 48, 384-392.

Paul Ekman, 1994. The nature of emotions. Fundamental questions . New York & Oxford University.

Andrea Esuli and Fabrizio Sebastiani. 2005. Determining the semantic orientation of terms through gloss analysis. In Proceedings of CIKM-05, 14th ACM International Conference on Information and Knowledge Management, pages 617–624, Bremen, DE.

Andrea Esuli and Fabrizio Sebastiani. 2006. Determining term subjectivity and term orientation for opinion mining. In Proceedings of EACL-06, 11th Conference of the European Chapter of the Association for Computational Linguistics, Trento, IT. Forthcoming.

Andrea Esuli, Fabrizio Sebastiani. 2006. SentiWordNet: A Publicly Available Lexical Resource for Opinion Mining. Proceedings of LREC-06, 5th Conference on Language Resources and Evaluation, Genova, IT, pages 417-422.

Andrea Esuli, Stefano Baccianella, Fabrizio Sebastiani. 2010. SentiWordNet 3.0: An

77

Page 80: Tesi peiretti

Enhanced Lexical Resource for Sentiment Analysis and Opinion Mining. Proceedings of the Seventh conference on International Language Resources and Evaluation (LREC’10), European Language Resources Association (ELRA), Valletta, Malta, pages 2200-2204.

Vasileios Hatzivassiloglou, Kathleen R. McKeown, 1997. Predicting the semantic orientation of adjectives. In Proceedings of ACL-97, 35th Annual Meeting of the Association for Computational Linguistics, pages 174–181, Madrid, ES.

Vasileios Hatzivassiloglou, Janyce M.Wiebe, 2000. Effects of adjective orientation and gradability on sentence subjectivity. In Proceedings of COLING-00, 18th International Conference on Computational Linguistics, pages 174–181.

Jaap Kamps, Maarten Marx, Robert J. Mokken, Maarten De Rijke. 2004. Using WordNet to measure semantic orientation of adjectives. In Proceedings of LREC-04, 4th International Conference on Language Resources and Evaluation, volume IV, pages 1115–1118, Lisbon, PT.

Soo-Min Kim and Eduard Hovy. 2004. Determining the sentiment of opinions. In Proceedings of COLING-04, 20th International Conference on Computational Linguistics, pages 1367–1373, Geneva, CH.

Leonardo Lesmo, 2009. The Turin University Parser at Evalita, Dipartimento di Informatica, Università di Torino.

Michael E.Lesk. 1986. Automatic sense disambiguation using machine readable dictionaries: How to tell a pine cone from ice cream cone. In Proceeding of SIGDOC.

Bing Liu. 2008. Opinion Mining. Department of Computer Science University of Illinois at Chicago 851 S. Morgan Street Chicago.

Hugo Liu, Henry Lieberman, Ted Selker, 2002. Automatic Affective Feedback in an Email Browser. MIT Media Lab Software. Agents Group Technical Report. November.

Hugo Liu, Henry Lieberman, Ted Selker, 2003. A Model of Textual Affect Sensing using Real-World Knowledge.

Bruno Ohana. 2009. Opinion Mining with the SentiWordNet lexical resource. Dublin Institute of Technology.

Andrew Ortony, Gerard L. Clore, Allan Collins, 1988. The cognitive structure of emotions. New York: Cambridge University Press.

Bo Pang and Lillian Lee, 2004. A sentimental education: Sentiment analysis using subjectivity summarization based on minimum cuts. In Proceedings of ACL-04, 42nd Meeting of the Association for Computational Linguistics, pages 271–278, Barcelona, ES.

78

Page 81: Tesi peiretti

Bo Pang and Lillian Lee, 2005. Seeing stars: Exploiting class relationships for sentiment categorization with respect to rating scales. In Proceedings of ACL-05, 43rd Meeting of the Association for Computational Linguistics, pages 115–124, Ann Arbor, US.

Ellen Riloff, Janyce Wiebe, Theresa Wilson, 2003. Learning subjective nouns using extraction pattern bootstrapping. In Proceedings of CONLL-03, 7th Conference on Natural Language Learning, pages 25–32, Edmonton, CA.

P. J. Stone, D. C. Dunphy, M. S. Smith, D. M. Ogilvie, 1966. The General Inquirer: A Computer Approach to Content Analysis. MIT Press, Cambridge, US.

Hiroya Takamura, Takashi Inui, Manabu Okumura, 2005. Extracting emotional polarity of words using spin model. In Proceedings of ACL-05, 43rd Annual Meeting of the Association for Computational Linguistics, pages 133–140, Ann Arbor, US.

Peter Turney, 2002. Thumbs up or thumbs down? Semantic orientation applied to unsupervised classification of reviews. In Proceedings of ACL-02, 40th Annual Meeting of the Association for Computational Linguistics, pages 417–424, Philadelphia, US.

Peter D. Turney and Michael L. Littman, 2003. Measuring praise and criticism: Inference of semantic orientation from association. ACM Transactions on Information Systems, 21(4):315–346.

Alessandro Valitutti, Carlo Strapparava, Oliviero Stock, 2004. Developing affective lexical resources. PsychNology Journal, 2(1):61–83.

Stefano Vegnaduzzo, 2004. Acquisition of subjective adjectives with limited resources. In Proceedings of the AAAI Spring Symposium on Exploring Attitude and Affect in Text: Theories and Applications, Stanford, US.

Hong Yu, Vasileios Hatzivassiloglou, 2003. Towards answering opinion questions: Separating facts from opinions and identifying the polarity of opinion sentences. In Proceedings of EMNLP-03, 8th Conference on Empirical Methods in Natural Language Processing, pages 129–136, Sapporo, JP.

Casey Whitelaw, Navendu Garg, Shlomo Argamon, 2005. Using appraisal groups for sentiment analysis. In Proceedings of CIKM-05, 14th ACM International Conference on Information and Knowledge Management, pages 625–631, Bremen, DE.

79