Eccoci qua, secondo pezzo della rubrica (se vi siete persi il primo articolo, lo trovate qui). Oggi vorremmo dare ai nostri lettori una overview di come si siano evoluti i metodi di rappresentazione di una frase a partire dagli anni 50’ fino ad oggi. Quali sono stati i cambiamenti più significativi nello sviluppo del NLP?

Prima di iniziare con l’articolo, un metodo di rappresentazione non è altro che il modo in cui viene “insegnato” alla macchina ad analizzare un costrutto logico.

Come sempre, ricordiamo che lo scopo della rubrica non è fornire articoli di taglio scientifico, ma cercare di far comprendere anche a chi non lavora prettamente in questo campo cosa ci sia dietro un computer che capisce e parla come noi (o quasi). Se siete interessati, qua trovate altri articoli molto interessanti 🤖😄

Il livello funzionale

Nell’articolo precedente abbiamo parlato di diverse operazioni in cui possiamo applicare l’analisi NLP: ricerca del testo, divisione dello stesso, conteggio del numero di parole; a tutte queste attività si sono aggiunte nel tempo altre aree in cui la tecnologia può apportare un contributo importante. Ricerca ed estrazione di informazioni, traduzione istantanea, risposte a quesiti e domande. Inoltre si sono sviluppate recentemente branchie totalmente nuove, come quelle del topic modelingopinion mining, che hanno portato con sé dubbi e perplessità di natura etica morale.

Il topic modeling cerca di affrontare la comprensione di un testo capendo prima quali sono gli argomenti (o topic, appunto) che lo stesso documento tratta. Si parte dall’assunto che, per capire il significato di un testo, sia necessario comprendere innanzitutto quali sono i macro-argomenti contenuti in esso. Come potete vedere dall’immagine, è un campo fortemente interdisciplinare.

L’opinion mining invece cerca di interpretare opinioni, pensieri e atteggiamenti riguardo un certo argomento attraverso l’analisi del linguaggio naturale. Ricordate tutti lo scandalo di Cambridge Analytics, giusto? Episodi come questo sono alla fonte dei problemi di natura etica e morale: è possibile che un algoritmo possa interpretare ed influenzare in modo così decisivo l’opinione delle persone?

Ad ogni modo, ognuno di questi rami che si occupa di processare il linguaggio non riguarda soltanto l’NLP, ma concerne anche altre aree affini come il Natural Language Understanding e la Sentiment Analysis, di cui vorremmo parlare più avanti. A proposito, se vi piacerebbe approfondire di più un certo argomento, scriveteci o contattateci tramite Facebook, LinkedIn o Twitter!

Le strategie di rappresentazione più famose

Abbiamo già spiegato sopra che con strategia di rappresentazione, in NLP, si intende la metodologia utilizzata per rappresentare e comprendere le informazioni contenute nel testo. Se le prime ricerche erano focalizzate sulla sintassi, quindi quasi esclusivamente sulle parole, la disciplina si è evoluta già dai primi anni 60’ con l’introduzione di un forte accento sulla semantica.

First order logic – FOL 

Questo sistema utilizza assiomi e regole di inferenza statistica per individuare relazioni e connessioni semantiche. Benché uno dei primi sistemi, non è esclusivamente focalizzato sulla sintassi: comprende anche un buon grado di semantica ed espressioni pragmatiche. Come funziona?

  1. La sintassi specifica come gruppi di parole e simboli devono essere organizzati per avere un senso ed essere considerati quindi ben formati;
  2. La semantica specifica il significato di gruppi di espressioni catalogate come ben formate; 
  3. La pragmatica cerca di fare leva sulle informazioni del contesto per fornire correlazioni semantiche più efficaci.

Lo schema è esclusivamente basato sulla logica e inferenza statistica. Sistemi di questo tipo sono poco flessibili: non fanno altro che aggiungere e fornire correlazioni. Queste correlazioni aggiungeranno informazioni concilianti con l’assunto principale. Ma cosa succede se una persona cambia idea? Le decisioni e correlazioni future saranno influenzate da una logica sbagliata. 

Production Rules

In questo sistema di rappresentazione non abbiamo più una sola logica che comanda e detta la ratio di interpretazione.

Innanzitutto viene definito un set di azioni e conseguenze, che possono essere semplificate con una serie di IF <condizione> THEN <azione>. Le asserzioni (frasi) sono contenute in un buffer di memoria volatile. 

Il funzionamento base include un ciclo di tre step: 

  1. Recognize: il sistema analizza il buffer attuale (che, ricordiamo, contiene le asserzioni) e capisce quali sono le regole soddisfatte dallo stesso (gli IF). Il set di regole identificate costituisce quello che chiamiamo “conflict set”;
  2. Resolve conflict: analizza il conflict set e seleziona le regole da eseguire;
  3. Act: le regole vengono eseguite.

Questo tipo di procedimento è più flessibile, in quanto ogni set di azioni e conseguenze viene inserito da una persona con elevata expertise ed è indipendente dalle altre. Il problema più grosso è quello della scalabilità: con l’aumentare delle regole aumenta la capacità computazionale necessaria per eseguire i calcoli.

Ontology Web Language – OWL

L’ontologia affonda le sue radici in Aristotele, e si propone di studiare il fondamento di ogni Sistema Oggettivistico. In ambito informatico è intesa come “una rappresentazione condivisa di un concetto che ha un dominio di interesse”. 

OWL non è altro che un vocabolario XML che, basandosi su determinati framework (RDF in particolare, resource description framework) cerca di fornire risorse più comprensive per la rappresentazione di questi concetti. Definizioni di classi, proprietà, relazioni tra classi e tra le classi e le loro proprietà. Tutto ciò è ontologia.

Networks

Ad oggi tra i più discussi strumenti di analisi NLP, esistono vari tipi di network. Ve ne sono alcuni basati sull’analisi statistica e delle probabilità congiunte (come il Bayesian di Pearl, 1985); altri fanno capo a quello che chiamiamo semantic network

Questo ultimo tipo viene sviluppato durante anni 80’ dalla cosiddetta “Society of Mind Theory”, facente capo a Minsky. Secondo la corrente, l’intelligenza umana deriva dalla nostra grande diversità, ed è quindi difficile ridurre il tutto ad una mera sequenza. La nostra mente è un concentrato di agenti, ognuno quasi inutile da solo ma capace di combinarsi con altri agenti per formare le cosiddette agencies e svolgere funzioni fondamentali: la memoria, la comparazione, l’analogia, la semplificazione…

Basandosi sui lavori di Minsky gli studiosi di Intelligenza Artificiale hanno cercato di utilizzare la tecnologia del Natural Language Processing per costruire algoritmi capaci di interpretare il senso comune. Se pensiamo infatti alla contestualizzazione delle informazioni, vediamo che il senso comune gioca una ruolo fondamentale. In una bella giornata, l’espressione “la pietra è calda” implica con sufficiente certezza che “il sole sta splendendo sulla pietra” e che “il sole scalda qualunque cosa su cui esso rifletta”.

Alcuni approcci per la rappresentazione della conoscenza (E. Cambria & B. White, Jumping NLP Curves: A Review of Natural Language Processing Research, IEEE computational intelligence magazine, 2014).

Il settore è in continua evoluzione, e mentre scriviamo saranno sicuramente già uscite nuove notizie e nuovi metodi da applicare. Speriamo però di avervi reso un po’ più semplice la comprensione di questo particolare settore e di aver stimolato la vostra curiosità!

Mandateci una mail o contattateci sui nostri profili Facebook, LinkedIn e Twitter per qualunque informazione o confronto 🙂

A presto!

 

Post correlati