Forelsket

Forelsket - Project S.E.N.T.I.M.ENT. Natural Language Processing module

Forelsket è un sistema di analisi del testo (NLP, Natural Language Processing) sviluppato all’interno del progetto SENTIMENT. L’analisi del testo prevede:

  • Rilevamento della lingua
  • Analisi sintattica
  • Analisi semantica (disambiguazione)
  • Estrazione di relazioni e proposizioni elementari, su base semantica
  • Ricerca di contenuti su base semantica
  • Ricerca di proposizioni sulla base di prototipi di preposizione (es. descriventi fattispecie di reato)
  • Estrazione di valori di sentiment (opinione polare positiva/negativa, stress/calma) generali e su specifiche aree semantiche
  • Estrazione di valori descrittivi del registro linguistico

Forelsket si basa sull’impiego di modelli ibridi neurali/tradizionali, nello specifico alcune analisi sono eseguite con modelli tradizionali, altre su basi statistiche (es. rilevamento della lingua), altre con modelli neurali o tradizionali (es. analisi sintattica, a seconda della lingua).

Per quanto riguarda il rilevamento della lingua, Forelsket dispone inoltre di modelli specifici per testi brevi (sotto i 15 caratteri) impiegati automaticamente dal software sulla base appunto della lunghezza del testo.

Per poter eseguire operazioni di ricerca su base semantica, Forelsket individua per ogni parola presente:

  • Testo “grezzo”
  • Lemma (parola nella forma base)
  • Synset (il significato della parola nel contesto in cui è utilizzata)

 

Synset significa letteralmente SYNonym SET, ossia "insieme di sinonimi". È l'unità fondamentale dell'analisi semantica del testo in quanto rappresenta il significato di una parola a prescindere dallo specifico termine utilizzato e dalla lingua.

 

I synset individuati possono essere allineati con i principali database utilizzati al livello globale e sono indipendenti dalla lingua; ogni ricerca o analisi può essere effettuata tenendo conto di uno o più di questi elementi.

Per ogni elemento semantico da ricercare si può impiegare un singolo synset, un’insieme di synset, o un’area semantica definita come tutti i synset relazionati in un certo modo con il synset da ricercare.

Alcune delle relazioni supportate sono per la definizione di aree semantiche sono:

 

Iperonimo

Termine più generico

Iponimo

Termine più specifico

Olonimo

È parte di

Meronimo

Ha come parte

Antonimo

Contrario

Causa

Causa di

 

Forelsket supporta attualmente diverse lingue, ed il supporto per ulteriori lingue può essere sviluppato in tempi rapidi qualora richiesto. Le principali lingue supportate nelle varie funzionalità sono:

 

 

EN

IT

FR

DE

ES

NL

FI

RU

TR

PL

EL

SE

PT

GA

CY

AR

FA

ZH

JA

KO

SW

Language recognition

Sentiment analysis

Stress analysis

*

*

*

*

Triplet extraction

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

Semantic disambiguation

Legenda:
★: funzionalità con prestazioni equivalenti o superiori a prestazioni umane
✓: funzionalità pienamente implementate
∿ : funzionalità disponibili ma con limitazioni
✗: funzionalità attualmente non implementate
* : funzionalità implementabili su richiesta

 

La sentiment analysis (comprensiva della stress analysis ove disponibile) può essere eseguita sia con riferimento all'intero testo analizzato sia con riferimento a specifici elementi ontologici, e restituisce valori separati di opinione polare positiva e negativa, potendo rilevare anche opinioni positive e negative espresse contemporaneamente su determinati argomenti.

Infine alle funzionalità qui esposte può essere aggiunta su richiesta la rappresentazione vettoriale delle parole e dei synset (permette di cercare elementi semantici "intuitivamente" simili anche se non strettamente correlati).

L’estrazione di relazioni elementari è eseguita con un’innovativa tecnologia da noi appositamente sviluppata, a partire dalla struttura sintattica della frase. A differenza dei sistemi di information extraction basati sull’impiego di sole reti neurali, il nostro sistema non richiede l’addestramento di un modello qualora vi sia interesse ad individuare nuovi tipi di relazioni ed informazioni, ma solo la definizione puntuale del contenuto ed eventualmente della nuova struttura da ricercare. A ciò può corrispondere , un notevole risparmio di tempo e risorse, soprattutto nei casi in cui sia da ricercare un gran numero di tipologie di relazioni.

 

Le relazioni elementari sono rappresentate attraverso triplette. Una tripletta corrisponde ad una proposizione logica elementare costituita da soggetto, predicato e oggetto. Tramite le triplette è possibile rappresentare qualsiasi stato, azione o relazione, e non solo frasi (contenenti appunto un verbo). Ad esempio, una relazione sostantivo-aggettivo può essere rappresentata con il sostantivo come oggetto e l'aggettivo come oggetto o come predicato nominale.

 

La gestione delle triplette in Forelsket avviene in maniera completamente automatica, lasciando all'utente solo il compito di definire cosa cercare o analizzare.