Che cos'è l'allocazione latente di Dirichlet?

22 aprile 2024

Autori

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Program Manager

L'allocazione latente di Dirichlet è una tecnica di modellazione degli argomenti per scoprire gli argomenti centrali e le loro distribuzioni in una serie di documenti.

L'allocazione latente di Dirichlet (LDA), da non confondere con l'analisi discriminante lineare nel machine learning, è un approccio bayesiano alla modellazione degli argomenti. In altre parole, l'LDA è una forma condizionale e probabilistica di modellazione degli argomenti.

La modellazione degli argomenti è una tecnica di elaborazione del linguaggio naturale (NLP) che applica l'apprendimento non supervisionato a set di dati di testo di grandi dimensioni per produrre un set di riepilogo dei termini derivati da tali documenti. Questi termini intendono rappresentare l'insieme generale di argomenti principali della raccolta. In questo modo, i modelli di argomento mirano a scoprire gli argomenti o i temi latenti che caratterizzano una raccolta di documenti.1

Gli utenti possono generare prontamente modelli di argomenti LDA utilizzando il Natural Language Toolkit (NLTK) di scikit-learn (o sklearn) e gensim  in Python. Anche i pacchetti topicmodels  e lda  in R contengono funzioni per generare modelli di argomenti LDA.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Presupposto per la generazione di testo

L'LDA è un modello probabilistico. Questo significa che l'algoritmo LDA genera argomenti, classificando parole e documenti tra questi diversi argomenti, in base alle distribuzioni della probabilità. Ma perché questo metodo per scoprire strutture tematiche nascoste nei dati testuali è adatto? Fondamentalmente, l'LDA presume che i documenti siano stati generati attraverso il campionamento casuale di argomenti precedenti al documento e tenta di decodificare questo campionamento.

Il processo di testo generativo immaginato da LDA inizia con argomenti precedenti al documento. Ogni argomento è un vocabolario fisso di parole, in cui ogni parola presenta una determinata probabilità che appartenga a quell'argomento. Tieni presente che alle parole viene assegnata una probabilità piuttosto che una categoria separata per tenere conto della pluralità potenziale di significato e utilizzo. Quindi, per creare un documento di testo, la macchina genera in modo casuale una distribuzione su vari argomenti, ad esempio, l'ottantacinque percento di politica, il dieci percento di finanza, il cinque percento di storia. Per ogni parola presente in questo documento, il computer seleziona in modo casuale uno degli argomenti scelti ed estrae in modo sempre casuale una parola da quell'argomento. Tieni presente che l'LDA non genera documenti in questo modo. Si tratta piuttosto del processo mediante il quale l'LDA presume che i documenti vengano generati. Lo stesso approccio LDA tenta di invertire questo processo per scoprire gli argomenti generali e quelli nascosti presenti in un corpus di documenti.

Questa immagine illustra il presunto processo di generazione di testo alla base dell'LDA:

In fondo a questa immagine c'è un assortimento casuale di argomenti composto da una distribuzione di parole. Questi argomenti sono disponibili per ogni documento della raccolta. Per generare un determinato documento (in questo esempio, Otello di Shakespeare), la macchina genera una distribuzione di argomenti, ovvero il grafico tutto a destra. Questa distribuzione è costituita dagli argomenti (e dalle proporzioni per ciascuno) che comprenderanno il documento. Per ogni parola del documento, il computer seleziona casualmente uno degli argomenti scelti (la colonna dei punti colorati), da cui seleziona in modo casuale una parola (i termini evidenziati).2 Tieni presente che questa visualizzazione è solo un esempio illustrativo, non il risultato di una modellazione di argomenti o di una generazione di testo effettiva. Come detto, tuttavia, l'LDA presume che ogni documento venga generato da questo processo generativo generale, che l'LDA tenta di decodificare.

Come funziona l'allocazione latente di Dirichlet

Proprio come altri approcci di modellazione degli argomenti, come l'analisi semantica latente (LSA), l'LDA affronta i documenti in tutti i corpora come una bag of words. Questo significa che l'LDA ignora l'ordine delle parole e il contesto. Si concentra invece sulla frequenza con cui le parole si presentano e si ripresentano all'interno di ogni singolo documento.3 La frequenza delle parole e la frequenza con cui si ripresentano sono modellate nella matrice documento-termine. Qui, i documenti sono righe e le singole parole sono colonne, o viceversa. Il valore di ciascuna cella indica la frequenza con cui una determinata parola viene visualizzata in ciascun documento.4

Generazione di argomenti

Utilizzando la matrice documento-termine, l'algoritmo LDA genera distribuzioni di argomenti (ovvero elenchi di parole chiave con rispettive probabilità) in base alla frequenza delle parole e a quanto spesso si ripresentano nel testo. Monitorando la frequenza di quanto spesso si ripresentano nel testo, l'LDA presume che le parole che ricorrono insieme facciano probabilmente parte di argomenti simili. L'algoritmo assegna quindi distribuzioni documento-argomento in base ai cluster di parole che sono presenti nel documento specificato.5

Ad esempio, supponiamo di generare un modello LDA per una raccolta di nuovi articoli di notizie con il seguente output parziale

Qui abbiamo due argomenti che potrebbero essere descritti probabilmente come immigrazione (Argomento 1) e astronomia (Argomento 2). I punteggi assegnati a ciascuna parola sono la probabilità che quella parola chiave sia presente nell'argomento specificato. Le probabilità allegate a ciascun documento sono le rispettive probabilità di appartenenza di quel documento a una combinazione di argomenti, data la distribuzione e la ripresentazione delle parole di ciascun argomento all'interno di quel documento. Ad esempio, la prima riga della tabella elenca confine in Argomento 1 con una probabilità del 40% e spazio nell'Argomento 2 con una probabilità del 60%. Queste percentuali indicano la probabilità che i rispettivi termini ricorrano in quell'argomento nell'intero corpus. La prima riga del documento è Documento 1: Argomento 1: .95, Argomento 2: .05. Questo significa che, in base alla presenza di parole nel Documento 1, il modello proietta il Documento 1 come derivato al 95% dall'Argomento 1 e al 5% derivato dall'Argomento 2. In altre parole, il nostro ipotetico modello LDA presuppone che questi siano gli argomenti e le proporzioni degli argomenti utilizzati per generare il modello.

Naturalmente, le parole polisemiche in particolare creano problemi per queste categorizzazioni separate: ad esempio, la parola estraneo può riferirsi a uno sconosciuto o a una creatura extra-terrestre. In questi casi, come fa l'algoritmo LDA a stabilire a quale argomento appartiene la parola (e, per estensione, il documento)?

Formula di Gibbs

Quando si assegnano argomenti a parole, l'algoritmo LDA utilizza quello che è noto come campionamento di Gibbs. La formula di campionamento Gibbs è:

Conoscere le operazioni e gli iperparametri esatti di questa equazione richiede la conoscenza fondamentale delle statistiche e delle tecniche di Markov Chain Monte Carlo (le seconde spesso impiegate nell'apprendimento per rinforzo). Possiamo tuttavia riassumere i componenti principali dell'equazione:

  • Il primo rapporto esprime la probabilità dell'argomento t nel documento d. L'algoritmo calcola questa probabilità in base al numero di parole nel documento d che appartengono all'argomento t. Questo chiede essenzialmente: quanto è diffuso l'argomento t nel documento d?
  • Il secondo rapporto esprime la probabilità che la parola w ricorra nell'argomento t. L'algoritmo calcola questa probabilità enumerando le occorrenze di w in t rispetto a tutte le parole chiave in t. Questo chiede: con quale frequenza la parola w ricorre nell'argomento t in tutto il resto del corpus?

Tieni presente che il campionamento di Gibbs è un processo iterativo, dove una parola non viene campionata una sola volta, bensì le viene assegnato un argomento e poi viene messa da parte. Il campionamento di Gibbs passa invece ogni parola attraverso più iterazioni, aggiornando le probabilità argomento-parola alla luce l'una dell'altra.6

Classificazione del testo

La caratteristica distintiva dell'LDA è la distribuzione probabilistica di ciascun documento su un set condiviso di argomenti. Come con altri approcci di modellazione degli argomenti, questi argomenti e la loro distribuzione in ogni documento non sono noti. La modellazione degli argomenti non è supervisionata; non vi sono dati etichettati manualmente che guidino l'analisi. Scoprendo strutture topiche nascoste, l'LDA alla fine annota i documenti di una raccolta. Queste annotazioni (ovvero gli argomenti scoperti) possono essere utilizzate per classificare i testi. In questo modo, l'LDA aiuta i sistemi di recupero delle informazioni automatizzando l'annotazione e l'organizzazione di grandi raccolte di documenti.7

Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Ottimizzazione

Come per molte tecniche di estrazione del testo nella data science, la pre-elaborazione del testo migliora notevolmente i risultati del modello LDA. L'eliminazione delle stop word consente di eliminare le parole comuni e semanticamente irrilevanti. Lo stemming o lemmatizzazione aiuta a ridurre le varianti morfologiche in forme di base, riducendo così le variazioni di una parola che la macchina può altrimenti separare, ad esempio, danza, danzare, danzatore e così via.

Poiché i modelli LDA sono probabilistici e non deterministici, l'ottimizzazione del modello può essere un processo difficile. Non esiste un numero prestabilito di argomenti che produce i migliori risultati, né sembra esistere un principio guida, come numero prestabilito di argomenti adatto a un determinato numero di documenti. Infatti, la messa a punto dei parametri del modello per produrre argomenti interpretabili e coerenti comporta una grande quantità di tentativi ed errori.

Metriche di valutazione

Quali strumenti o metriche sono disponibili per aiutare un utente a ottimizzare un modello LDA? Per chi è nuovo nella modellazione degli argomenti, può essere frustrante apprendere che non esiste una, e nemmeno una raccolta di metriche prestazionali adottate in letteratura.

Qualitativa. Che ci si creda o no, la valutazione qualitativa non è rara, in particolare nelle applicazioni del mondo reale. Spesso questo può comportare l'esame delle cinque o dieci parole chiave principali per ogni argomento. Queste vengono poi utilizzate per valutare gli argomenti in base a quanto siano interpretabili dagli utenti umani.8 Questo tipo di "osservazione", per così dire, richiede una notevole quantità di conoscenze di dominio e familiarità con i documenti in esame.9

Coerenza. La coerenza tematica è un metodo quantitativo popolare per valutare gli argomenti generati. Un punteggio di coerenza tematica misura la frequenza con cui le parole più probabili di un determinato argomento ricorrono negli stessi documenti in tutto il corpus. Più specificamente, calcola con quale frequenza ogni coppia di parole (tra le parole più utilizzate di un argomento) n compare insieme rispetto alla frequenza delle singole parole nel corpus. Questo serve a quantificare la coerenza di un determinato argomento. Il punteggio complessivo della coerenza di un modello fa la media del punteggio della coerenza appartenente a ogni singolo argomento. In effetti, questo punteggio complessivo indica la coerenza media degli argomenti all'interno di un determinato modello. Secondo il nome, la coerenza valuta i modelli esclusivamente in base alla coesione dei loro argomenti. Gli argomenti devono anche mantenere un certo grado di esclusività, per cui attualmente non vi è alcuna misura quantitativa.10

Ricerche recenti dimostrano che le metriche quantitative, come ad esempio il punteggio di coerenza, sono inaffidabili per quanto riguarda la valutazione del modello tematico. Questo è dovuto in parte all'ambiguità nell'obiettivo di valutazione dichiarato dell'interpretazione: cosa rende un modello e i suoi risultati interpretabili?11 Inoltre, le metriche automatizzate progettate per i sistemi più datati potrebbero non essere estrapolate correttamente nei sistemi più recenti. Questo problema è ulteriormente complicato dalla mancanza di trasparenza in numerosi esperimenti pubblicati che impediscono la generalizzazione dei metodi di valutazione ad altri set di dati o domini.12 La ricerca si è recentemente rivolta alle applicazioni dell'AI, in particolare ai modelli linguistici di grandi dimensioni (LLM), come mezzo per progettare e valutare modelli LDA per uno specifico obiettivo di ricerca.13 Sebbene questo dimostri risultati promettenti, sono necessarie ulteriori ricerche.

Soluzioni correlate
IBM watsonx Orchestrate

Progetta facilmente assistenti e agenti di AI scalabili, automatizza le attività ripetitive e semplifica i processi complessi con IBM watsonx Orchestrate.

Scopri watsonx Orchestrate
Strumenti di elaborazione del linguaggio naturale e API

Accelera il valore aziendale dell'intelligenza artificiale con un portfolio potente e flessibile di librerie, servizi e applicazioni.

Esplora le soluzioni NLP
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Progetta facilmente assistenti e agenti di AI scalabili, automatizza le attività ripetitive e semplifica i processi complessi con IBM watsonx Orchestrate.

Scopri watsonx Orchestrate Esplora le soluzioni NLP
Note a piè di pagina

1 Daniel Jurafsky e James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 3a edizione, 2023, https://web.stanford.edu/~jurafsky/slp3/. Jay Alammar e Maarten Grootendorst, Hands-On Large Language Models, O'Reilly, 2024.

2 David Blei, "Probabilistic Topic Models", Communications of the ACM, Vol. 55, n. 4, 2012, pagg. 77-84. Zhiyuan Chen e Bing Liu, "Topic Models for NLP Applications", Encyclopedia of Machine Learning and Data Mining, Springer, 2017.

3 Matthew Jockers, Text Analysis with R for Students of Literature, Springer, 2014.

4 Cole Howard, Hobson Lane, and Hannes Hapke, Natural Language Processing in Action, Manning Publications, 2019. Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana, Practical Natural Language Processing, O’Reilly, 2020.

5 Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana, Practical Natural Language Processing, O’Reilly, 2020. David Blei, Andrew Ng, and Michael Jordan, “Lantent Dirichlet Allocation,” Journal of Machine Learning Research, Vol. 3, 2003, pp. 993-1022.

6 Zhiyuan Chen and Bing Liu, “Topic Models for NLP Applications,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.

7 David Blei, "Probabilistic Topic Models", Communications of the ACM, Vol. 55, n. 4, 2012, pagg. 77-84.

8 Chandler Camille May, "Topic Modeling in Theory and Practice", Dissertation, John Hopkins University, 2022.

9 Matthew Gillings e Andrew Hardie, "The interpretation of topic models for scholarly analysis: An evaluation and critique of current practice", Digital Scholarship in the Humanities, Vol. 38, n. 2, 2023, pagg. 530-543, https://academic.oup.com/dsh/article-abstract/38/2/530/6957052

10 Chandler Camille May, "Topic Modeling in Theory and Practice", Dissertation, John Hopkins University, 2022. https://aclanthology.org/D11-1024/ 

11 Zachary Lipton, "The Mythos of Model Interpretability: In machine learning, the concept of interpretability is both important and slippery", Queue, Vol. 16, n. 3, pagg. 31-57, https://dl.acm.org/doi/10.1145/3236386.3241340 . Caitlin Doogan e Wray Buntine, "Topic Model or Topic Twaddle? Re-evaluating Semantic Interpretability Measures", Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2021, pagg. 3824-3848, https://aclanthology.org/2021.naacl-main.300 .

12 Alexander Hoyle, Pranav Goel, Andrew Hian-Cheong, Denis Peskov, Jordan Boyd-Graber, Philip Resnik, "Is Automated Topic Model Evaluation Broken? The Incoherence of Coherence", Advances in Neural Information Processing Systems, 2021, pagg. 2018-2033, https://proceedings.neurips.cc/paper_files/paper/2021/hash/0f83556a305d789b1d71815e8ea4f4b0-Abstract.html . Caitlin Doogan e Wray Buntine, "Topic Model or Topic Twaddle? Re-evaluating Semantic Interpretability Measures", Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 2021, pagg. 3824-3848, https://aclanthology.org/2021.naacl-main.300 .

13 Dominik Stammbach, Vilém Zouhar, Alexander Hoyle, Mrinmaya Sachan e Elliott Ash, "Revisiting Automated Topic Model Evaluation with Large Language Models", Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing, 2023, pagg. 9348-9357, https://aclanthology.org/2023.emnlp-main.581/ .