Un’introduzione al Semantic Web: descrivere le relazioni semantiche.

Posted on 28 ottobre 2010

1


Seconda puntata della mia introduzione al Web semantico.
Oggi cerchiamo di capire “come descrivere (e trovare)  le relazioni semantiche”.

Il Web Semantico fornisce una descrizione formale di relazioni, concetti e termini all’interno di un ambito di conoscenza (le prozioni di realtà che vengono formalmente descritte non possono ovviamente essere tutte, ma solo quelle che ci interessano in quello specifico contesto).

La descrizione formale viene effettuata mediante la sintassi RDF, che è una sintassi con cui definire anche schemi e vocabolari di metadati e che a sua volta viene estesa tramite OWL ed RDFa. SPARQL è un sistema per effettuare query all’interno di documenti scritti in RDF.

Mappa concettuale di tutto ciò che ha a che fare con il Web Semantico

Mappa concettuale di tutto ciò che ha a che fare con il Web Semantico

Le relazioni semantiche tra parole sono di numerosi tipi. Secondo la pagina dedicata a Wordnet (http://it.wikipedia.org/wiki/Wordnet) le relazioni semantiche includono tra le altre

per i sostantivi:

  • antonimia: Y è un antonimo di X se X ha un valore opposto a quello di Y (X: cane; Y: gatto);
  • iperonimia: Y è un iperonimo di X se ogni X è “una specie” di Y (X: merlo; Y: uccello);
  • iponimia: Y è un iponimo di X se ogni Y è “una specie” di X (X: uccello; Y: merlo);
  • coordinazione: Y è un termine coordinato di X se X e Y hanno un iperonimo in comune (X: merlo; Y: passero);
  • olonimia: Y è un olonimo di X se X è parte Y (X: vela; Y: nave);
  • meronimia: Y è un meronimo di X se Y è parte X (X: nave; Y: vela);

per i verbi:

  • iperonimia: il verbo Y è un iperonimo del verbo X se l’attività X è “una specie” di attività Y (X: viaggiare; Y: muoversi);
  • troponimia: il verbo Y è un troponimo del verbo X se nel fare l’attività Y si fa anche quella X (X: parlare; Y: mormorare);
  • implicazione: il verbo Y è un’implicazione del verbo X se nel fare X si deve per forza fare Y (X: russare; Y: dormire);
  • coordinazione: Y è un termine coordinato di X se X e Y hanno un iperonimo in comune (X: viaggiare; Y: camminare);

per gli aggettivi e i relativi avverbi:

  • nomi relativi;
  • simile a;
  • participi dei verbi.

Come si fa a trovare in automatico la relazione semantica tra due parole (o frasi)?
Tra i vari sistemi elencati alla pagina  http://en.wikipedia.org/wiki/Semantic_relatedness vi riporto qui

  • LSA (Latent semantic analysis) (basato sui vettori; svantaggi: lunghi tempi di pre-processamento)
  • PMI (Pointwise Mutual Information) (basato sui motori di ricerca; svantaggi: non misura relazioni tra frasi o documenti)
  • WordNet: (ontologia costruita manualmente dall’uomo; svantaggi: non apprende automaticamente; non misura relazioni tra frasi o documenti)
  • ESA (Explicit Semantic Analysis) (PDF) (basato su WikipediaODP, il progetto Open Directory)
  • Number of Wikipedia (noW) (ispirato al gioco Six Degrees of Wikipedia, si basa sulla struttura gerarchica di Wikipedia. Per una dimostrazione si veda  qui)
  • VGEM (PDF) (Vector Generation of an Explicitly-defined Multidimensional Semantic Space) (vocabolario incrementale, misura anche relazioni tra frasi o documenti; svantaggi: le performance dipendono dalle dimensioni specificate)
  • BLOSSOM (PDF) (Best path Length On a Semantic Self-Organizing Map) (altamente sperimentale)

Domani restringiamo il campo alle sole relazioni semantiche che possono servire ad un motore di ricerca.

Advertisements