INTRODUZIONE

Termini

I termini che si vogliono trattare sono del tipo:

T = t0 t1 ... tn

dove T e' un termine composto e ti sono termini semplici o complessi.

I termini semplici sono i termini presenti in WordNet.

I termini complessi sono i termini presenti in WordNet composti da piu' parole.

Esempio: 'sport event' e' un termine composto, 'sport' ed 'event' sono termini semplici. 'product line' e' un termine complesso.

PROBLEMI

TERMINI COMPLESSI E TERMINI COMPOSTI

A prima vista non riusciamo a dire che 'sport event' e' un termine composto ed invece 'product line' e' un termine complesso.

Dovremo trovare un algoritmo che permetta di distinguere i termini complessi dai termini composti.
Questa distinzione e' importante poiche' dovremo trattare i termini complessi alla stessa stregua dei termini semplici, mentre i termini composti richiederanno la scrittura di algoritmi piu' sofisticati per il loro trattamento.

RELAZIONI Hypernym E Hyponym

In WordNet esiste la relazione di specializzazione Hyponym tra i termini, e la relazione inversa di generalizzazione Hypernym.

Esempi: 'event' e' un Hypernym di 'happening'.
'football' e' un Hyponym di 'sport'.

Vogliamo estendere le relazioni Hypernym e Hyponym ai termini composti.

Consideriamo i seguenti esempi via via piu' complessi:

  1. 'happening' e' un Hyponym di 'event'
    E' la relazione di Hyponym di WordNet.

  2. 'sport event' e' un Hyponym di 'event'
    Per ottenere un Hypernym puo' essere necessaria un'eliminazione degli aggettivi piu' lontani dal sostantivo.

  3. 'football event' e' un Hyponym di 'sport event'
    Per ottenere un Hypernym puo' essere necessario avere un'Hypernym degli aggettivi.

  4. 'sport great event' e' un Hyponym di 'sport event'
    Per ottenere un Hypernym puo' essere necessario eliminare alcuni aggettivi anche vicini al sostantivo.

  5. 'football happening' e' un Hyponym di 'sport event'
    Casi 1 e 3 presenti contemporaneamente.

  6. 'imminent football great happening' e' un Hyponym di 'sport event'
    Casi 1, 2, 3 e 4 presenti contemporaneamente.

SOLUZIONI PROPOSTE

TERMINI COMPLESSI E TERMINI COMPOSTI

Per tentare di riconoscere i termini semplici e complessi useremo la seguente euristica:

sia T = t0 t1 ... tn un termine composto, costruiremo i termini

Tj = s0 s1 ... sn-1 tn per j = 0...2n-1

dove si = ti se l'i-esimo bit della rappresentazione binaria di j vale 1, stringa vuota altrimenti.

Notare che il termine tn e' sempre presente: il sostantivo e' il termine piu' indicativo e quindi non deve essere eliminato.

Ottimizzazione: poiche' i termini complessi di WordNet non sono formati da piu' di 3 termini semplici (o meglio: l'esperienza mostra che esistono molti termini complessi formati da due termini semplici, qualche termine complesso formato da tre termini semplici (raro), mai visto termini complessi formati da quattro termini semplici!), possiamo vincolare j ad assumere solo valori tali che la sua rappresentazione binaria abbia al piu' 1 o 2 bit a 1.

Per ogni Tj cosi' ottenuto, verifichiamo che sia presente in WordNet. Se si, allora Tj e' un termine semplice (o complesso) che compone il termine T.
Riordiniamo gli aggettivi presenti in T in modo tale che gli aggettivi presenti in Tj siano i piu' vicini al sostantivo tn.

I termini restanti (quelli non presenti in Tj) potrebbero formare, a loro volta, termini complessi. Possiamo riapplicare a questi termini il procedimento appena descritto.

Esempio: sia T ='American football product line'.
Applicando il procedimento a T otteniamo il termine complesso 'product line', riapplicando il procedimento ai termini restanti otteniamo il termine complesso 'American football'. Quindi il termine T e' composto dai termini complessi 'product line' (sostantivo) e 'American football' (sostantivo aggettivato).

Problema: In generale possiamo ottenere piu' Tj.
Una euristica e' quella di scegliere il Tj con j massimo: questo tende a scegliere i termini piu' "specializzati" con gli aggettivi piu' vicini al sostantivo.

Esempio: consideriamo il termine T = 'American football product line'.

j Tj in WordNet
0 line X
1 American line -
2 football line -
3 American football line -
4 product line X
5 American product line -
6 football product line -
7 American football product line -

Il j massimo per cui Tj e' in WordNet, e' j = 4.