Allocazione Dirichlet latente

L'allocazione Dirichlet latente ( ( Latent Dirichlet Allocation o LDA ) è un modello probabilistico del testo.

Come funziona l'allocazione LDA

Un documento è considerato come un insieme di argomenti, ognuno dei quali è caratterizzato da una particolare distribuzione di termini e parole.

un semplice esempio di analisi semantica del testo per associazione e distribuzione dei termini

Il modello è stato elaborato prendendo come base di partenza gli studi di Peter Dirichlet.

Peter Dirichlet era un matematico tedesco del XIX secolo. Elaborò una formula sulla distribuzione della probabilità continua.

Il modello LDA

E' un modello di analisi del linguaggio naturale che permette di comprendere il significato semantico del testo analizzando la somiglianza tra la distribuzione dei termini del documento con quella di un argomento specifico ( topic ) o di un'entità.

Il modello LDA è stato ideato da David Blei, Andrew Ng e Michael Jordan. E' stato presentato in un articolo del 2003 su Journal of Machine Learning Research.

Più di recente, la Latent Dirichlet allocation ha conquistato una certa notorietà anche nell'ottimizzazione SEO semantica come possibile fattore di ranking del search engine Google.

Un esempio di funzionamento della LDA

Supponiamo di avere una base di conoscenza composta per semplicità soltanto da due argomenti ( o topic ). A ciascun topic è associata una particolare distribuzione di parole principali.

esempio di due topic in una base di conoscenza

Prendiamo come riferimento questa base di conoscenza per capire il significato delle seguenti frasi di un documento.

esempio di frasi da analizzare

Seguendo l'inferenza del modello LDA, l'algoritmo analizza il contenuto delle frasi e associa a ciascuna parola la sua appartenenza ai due topic ( C, A ).

Se una frase ha molti termini in comune con un topic, è molto probabile che stia parlando proprio di quell'argomento.

algoritmo LDA

La prima frase

La prima frase è composta da cinque parole, due di queste sono però stop-word ( "Io", "e" ) e possono essere eliminate. Una volta eliminate le stop-word dal testo abbiamo tre word-count.

Tutte le parole della prima frase ( "mangio", "pesce", "frutta" ) appartengono al 100% al topic C. Soltanto una parola ( "pesce" ) appartiene anche al topic A.

E' quindi probabile che nella prima frase si stia parlando di cibo ( topic C ).

l'argomento della prima frase con la LDA

La seconda frase

Nella seconda frase le due parole principali appartengono al topic A al 100%. E' quindi probabile che si stia parlando di animali.

Da notare, il termine "pesce" ha una relazione sia con il topic A ( Animali ) che con il topic C ( Cibo ). Questa relazione può essere scartata perché la frase ha già una relazione al 100% con il topic C.

la seconda frase secondo la LDA

La terza frase

Nella terza frase non c'è una relazione certa con un topic, perché due termini su tre appartengono al topic A e altrettanti al topic C.

Essendoci una situazione di incertezza, è utile adottare la logica fuzzy affermando che la frase ha un legame al 50% con il topic C e al 50% con il topic A.

la relazione delle frasi con un topic

In conclusione

L'analisi LDA ha consentito automaticamente di risalire all'argomento delle frasi per associazione delle co-occorrenze con una base di conoscenza ( KB ) di riferimento, senza dover interpretare il significato delle frasi.

la relazione delle frasi con un topic

Questo algoritmo è abbastanza efficace ed efficiente, perché non consuma molte risorse macchina come un algoritmo interpretativo del testo ( efficienza ).

Pur essendo una semplice euristica, la tecnica restituisce un risultato soddisfacente ( efficacia ).

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Il text mining