Come può una macchina comprendere il linguaggio naturale che usiamo correntemente e imparare a riprodurlo? Ve lo spiega il team Ricerca e Sviluppo di QuestIT con un lavoro di ricerca presentato nell’ambito dell’International Workshop on Cognitive and Neural Systems (CNS 2019), che si è tenuto a Granada il 22 ottobre 2019.

La comprensione del linguaggio naturale è la prossima frontiera dell’Intelligenza Artificiale. Negli ultimi cinque anni le tecniche di deep learning, che usano evoluzioni delle reti neurali introdotte negli anni ‘80, hanno rivoluzionato l’automatizzazione del riconoscimento vocale e l’analisi di immagini: oggi le macchine sanno riconoscere parole dette a voce, volti, oggetti o azioni. Ma tra riconoscere e capire c’è una bella differenza. Perché capire quello che i testi significano rimane un problema aperto, sul quale i giganti del web stanno investendo enormi risorse. Per una macchina, come per esempio  un assistente virtuale o chatbot, capire un testo è più complesso che analizzare un’immagine, poiché all’interno di una frase o di un paragrafo alcune parole possono risultare ambigue, cioè avere più di un senso, e vanno interpretate alla luce del resto del testo e del contesto.

Leggi anche Cinque modi per creare un chatbot

È possibile insegnare a una macchina la comprensione del linguaggio naturale? In che modo i sistemi attuali possono imparare a riprodurlo? 

Il reparto di Ricerca e Sviluppo di QuestIT ha lavorato su questo tema e presentato il paper Neural Paraphrasing by Automatically Crawled and Aligned Sentence Pairs nell’ambito dell’International Workshop on Cognitive and Neural Systems (CNS 2019), che si è tenuto a Granada il 22 ottobre 2019. 

In cosa consiste il lavoro di ricerca di QuestIT?

Il metodo sviluppato dal nostro reparto di Ricerca e Sviluppo prevede la generazione automatica di grandi corpora allineati, basato sul presupposto che i siti Web di notizie e blog parlano degli stessi eventi utilizzando stili narrativi diversi. È stata prevista una procedura di ricerca di somiglianza con vincoli linguistici che, data una frase di riferimento, è in grado di individuare le parafrasi dei candidati più simili tra milioni di frasi indicizzate. Il processo di generazione dei dati viene valutato nel caso della lingua italiana, eseguendo esperimenti usando DNN (Deep Neural Networks) volte a generare delle frasi date in input. 

Lo scenario del lavoro di Ricerca e Sviluppo

Gli umani possono facilmente riformulare un passaggio di testo senza cambiare il significato del testo considerato e possono comunicare la stessa informazione usando parole diverse. Ma le macchine non dispongono di questa capacità e la progettazione di sistemi che generano automaticamente parafrasi di un testo di input è un compito impegnativo che, recentemente, è stato oggetto di un certo numero di studi nella letteratura sulla generazione del linguaggio naturale (NLG). 

Cos’è la parafrasi linguistica? 

La parafrasi è la riscrittura di un testo in input usando altre parole, senza alterare il significato del contenuto originale. I sistemi di conversazione possono sfruttare la parafrasi automatica per rendere la conversazione più naturale, come per es. Parlare di un determinato argomento usando parafrasi diverse in istanti di tempo diversi. Recentemente, il compito di generare automaticamente parafrasi è stato affrontato nel contesto di Natural Language Generation (NLG). Mentre molti sistemi esistenti consistono semplicemente in modelli basati su regole, il recente successo delle DNN in diversi compiti di NLG suggerisce naturalmente la possibilità di sfruttare tali reti per generare parafrasi. Tuttavia, il principale ostacolo alla parafrasi basata sulla rete neurale è la mancanza di grandi dataset con coppie allineate di frasi e parafrasi, necessarie per addestrare in modo efficiente i modelli neurali. 

L’idea del nostro reparto Ricerca e Sviluppo 

La parafrasi può essere affrontata come un’attività speciale di traduzione automatica in cui le due lingue coinvolte nella traduzione, denominate L-input e L-target, coincidono (L-input = L-target). 

Il successo dell’utilizzo di DNN nella traduzione automatica, Natural Machine Translation, in particolare delle architetture sequence to sequence, suggerisce che la parafrasi di un testo può essere affrontata usando approcci simili.

Il caso: la mancanza di grandi dataset con etichetta per la parafrasi 

Sfortunatamente, mentre nel campo della traduzione automatica è possibile trovare facilmente un gran numero di dataset con milioni di coppie di frasi allineate (in cui ciascuna coppia è composta da una frase di input e dalla traduzione associata nella lingua target) nel caso delle parafrasi non esiste questa grande quantità di dati. 

La creazione di tale datset di dati “supervisionati” richiede un’attività di annotazione molto costosa. 

Quello che il reparto Ricerca e Sviluppo di QuestIT propone è un metodo per costruire un dataset di frasi allineate che possono essere utilizzate per addestrare modelli di apprendimento automatico, nel caso specifico sequence to sequence. 

Il metodo proposto

Normalmente i siti web di quotidiani e blog di informazioni riportano, nello stesso arco temporale, informazioni riguardanti gli stessi fatti usando diversi idioletti. Un idioletto è definito come l’uso individuale distintivo e unico del linguaggio proprio di ogni persona. 

Il problema della costruzione di dataset viene affrontato come una ricerca di tipo Highly constrained sentence similarity search (HCSSS), in cui i risultati di una ricerca in una base di documenti devono soddisfare rigidi vincoli linguistici (vincoli morfologici, sintattici e semantici) oltre alle ricorrenze di parole.

Le fasi di sviluppo del metodo

1 | RACCOLTA DATI

La prima fase mira a recuperare un gran numero di articoli dal Web utilizzando un crawler focalizzato. Sfrutta un elenco di siti Web di giornali e blog, insieme a una serie di argomenti per limitare i contenuti a domini specifici, ad esempio:

  • cronaca
  • cultura
  • economia
  • natura
  • politica
  • società
  • sport
  • tecnologia

2 | ANALISI DEL CONTENUTO

La fase successiva consiste in una pipeline di tecniche di NLP che segmenta il testo in frasi e arricchisce il contenuto del testo con caratteristiche linguistiche, quali:

  • collocazioni
  • Lemmi (delle collocazioni)
  • POS (delle collocazioni)
  • Entità 

3 | STORING E INDEXING 

Successivamente, ogni frase viene memorizzata utilizzando un motore di ricerca. 

Per ogni frase, le seguenti caratteristiche linguistiche sono indicizzate come campi del motore di ricerca:

  • Testo non elaborato 
  • Collocazioni
  • Lemmi (delle collocazioni)
  • POS (delle collocazioni)
  • Entità

4 | SELEZIONE DEL SET DI RIFERIMENTO

Per costruire un dataset composto da coppie (frase, parafrasi), definiamo un gruppo di frasi di riferimento.

Il nostro obiettivo è selezionare frasi che non siano troppo brevi e che coinvolgono la

descrizione di fatti riguardanti il mondo reale. Le frasi nel set di riferimento vengono utilizzate per recuperare frasi simili del motore di ricerca. 

5 | FILTRAGGIO DELLE FRASI CANDIDATE AD ESSERE PARAFRASI 

La procedura di ricerca restituisce un ampio set di parafrasi candidate per ciascuna frase di riferimento. 

Grafico con esperimento di natural languagge processing

I risultati sono classificati in base al grado di similarità e viene eseguita una fase di filtraggio per massimizzare la qualità delle parafrasi candidate.

6 | COSTRUZIONE DEL DATASET 

Affinché si utilizzi un criterio costante lungo tutto il dataset, le coppie vengono ordinate dalla più informativa alla meno informativa. L’informatività di una frase si basa sul numero di nomi propri che contiene. Infine, il dataset ottenuto è  composto da tutte le coppie restituite (input, target). 

Gli esperimenti 

Abbiamo applicato il metodo proposto al caso della lingua italiana, generando un set di dati di parafrasi supervisionato che successivamente abbiamo usato per addestrare e testare una DNN. 

Il crawler ha collezionato circa 86.000 articoli in circa 2 mesi. Da questi documenti abbiamo estratto più di 1 milione di frasi che sono state segmentate e analizzate utilizzando una piattaforma NLP proprietaria. 

Le frasi sono state indicizzate utilizzando la Elastic Search. 

natural language generation example A

Abbiamo ottenuto un dataset di parafrasi costituito da circa 85.000 coppie allineate in lingua italiana. Per convalidare il set di dati generato, l’abbiamo usato per addestrare e testare una DNN. Le Point Network sono un caso particolare di sequence to sequence in cui il token da predire ad ogni passo viene ottenuto da una combinazione di due distribuzioni di probabilità:

  • può essere generato usando quindi il vocabolario predefinito (vocabulary distribution)
  • può essere copiato dalla sequenza di input (tramite l’Attention Distribution)
natural languagge generation example B

Questo meccanismo è utile per rilevare e gestire parole fuori dal vocabolario (OOV), come le entità. 

I risultati

I risultati ottenuti da tale rete hanno dimostrato come il dataset da noi costruito possa essere utilizzato per effettuare training su DDN per il task di parafrasi. 

Risultati Eesperimento NLP

Conclusioni 

Il metodo proposto è stato utilizzato per produrre un dataset di parafrasi nel caso della lingua italiana. Sono stati utilizzati oltre 86.000 articoli da siti di notizie e blog italiani indicizzando 1 milione di frasi sul motore di ricerca. Dopo la procedura di ricerca vincolata, abbiamo ottenuto un dataset di 85.000 coppie allineate.

La qualità del dataset è stata valutata addestrando una Pointer Network. I risultati sperimentali suggeriscono che la procedura di costruzione del set di dati proposta (HCSSE) è un metodo promettente per la costruzione di un dataset per la parafrasi. 

Attualmente il reparto Ricerca e Sviluppo di QuestIT sta lavorando sull’applicazione del metodo proposto per generare un dataset in lingua inglese. 

Leggi anche Perché gli utenti preferiscono i chatbot

Chi è QuestIT?

QuestIT si occupa di sviluppo di tecnologie proprietarie di Intelligenza Artificiale. L’azienda nasce nel 2007 come spin-off del gruppo di ricerca in Intelligenza Artificiale dell’Università di Siena, sotto la guida di Marco Gori, docente del Dipartimento di Ingegneria dell’Informazione e Scienze Matematiche. Nel 2010 QuestIT consolida il team: un organico di 25 figure professionali, giovani e competenti, che vantano oggi numerose pubblicazioni di alto livello scientifico. Nel 2016 viene acquisita da The Digital Box, azienda leader nel settore del Mobile Marketing & Advertising nata nel 2013 nella “Murgia Valley“ tra Gravina in Puglia e Gioia del Colle, con sedi anche a Barcellona e Palo Alto, e grandi investitori come Mobyt, Atlantis Ventures e Macnil Gruppo Zucchetti. Con l’entrata in TheDB, QuestIT si inserisce come uno dei primi laboratori di innovazione di Intelligenza Artificiale italiani per lo sviluppo e ricerca software in ambito digitale. Nel 2019, QuestIT vede l’ingresso di Exprivia|Italtel all’interno della società, con l’acquisizione da parte dell’azienda pugliese di una parte delle quote di QuestIT. Sempre nel 2019, viene inaugurato a Siena il SAILab – Siena Artificial Intelligence Lab, il primo laboratorio congiunto di Intelligenza Artificiale nel Dipartimento di Ingegneria dell’Università di Siena. 

Vuoi conoscere tutte le pubblicazioni e i progetti di QuestIT? 

Clicca qui http://bit.ly/2KmzD5s 

Il documento è a cura di:
Achille Globo, Antonio Trevisi, Leonardo Rigutini (QuestIT Research, Siena, Italy)
Andrea Zugarini (University of Florence, Florence, Italy)
Marco Maggini, Stefano Melacci (DIISM – University of Siena, Siena, Italy)