Home topics Allocazione latente di Dirichlet Che cos'è l'allocazione latente di Dirichlet?
Esplora l'allocazione latente di Dirichlet con watsonx.ai Iscriviti per ricevere gli aggiornamenti sull'AI
Immagine dei dati di una pagina ordinati e allocati in gruppi diversi

Data di pubblicazione: 22 aprile 2024
Collaboratori: Jacob Murel Ph.D., Eda Kavlakoglu

 

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 nell'apprendimento automatico, è un approccio bayesiano alla modellazione degli argomenti. In poche 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 più recenti che contraddistinguono una raccolta di documenti.1

Gli utenti possono generare prontamente modelli di argomenti LDA utilizzando il toolkit di linguaggio naturale di scikit-learn (o sklearn) (NLTK) e gensim (link esterno a ibm.com) in Python. Anche i pacchetti topicmodels (link esterno a ibm.com) e lda (link esterno a ibm.com) in R contengono funzioni per generare modelli di argomenti LDA.

Perché la governance dell'AI è un imperativo per la scalabilità dell'intelligenza artificiale a livello aziendale

Scopri gli ostacoli all'adozione dell'AI, in particolare la mancanza di soluzioni di governance e gestione del rischio dell'AI.

Contenuti correlati

Registrati per leggere la guida sui foundation model

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 borsa di parole. 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 ri-presentano all'interno di ogni singolo documento.3 La frequenza delle parole e la frequenza con cui si ri-presentano 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 di 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 un immigrato 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 (spesso impiegate nell'apprendimento di rinforzo). Tuttavia, possiamo 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. Cioè, una parola non viene campionata una sola volta, 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 di 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, 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

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. 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, ballerino 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. Questi vengono poi utilizzati 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. Tuttavia, gli argomenti devono inoltre mantenere un grado di esclusività per i quali 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.

Risorse correlate Che cos'è la modellazione degli argomenti?

I modelli di argomento sono un metodo NLP non supervisionato che consente di riassumere dati di testo attraverso gruppi di parole. Aiutano nelle attività di classificazione dei testi e di recupero delle informazioni.

Addestra un modello tematico LDA per l'analisi del testo in Python

Addestra e metti a punto un modello di argomento LDA con NLTK e Gensim di Python.

IBM TechXchange: modellazione degli argomenti

Scopri la modellazione degli argomenti e il suo funzionamento in questo articolo della IBM Community.

Fai il passo successivo

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e una minima quantità di dati.

Esplora watsonx.ai Prenota una demo live
Note a piè di pagina

1 Daniel Jurafsky and 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/(link esterno a ibm.com).Jay Alammar and Maarten Grootendorst, Hands-On Large Language Models, O’Reilly, 2024.

2 David Blei, "Probabilistic Topic Models". Communications of the ACM, Vol. 55, No. 4, 2012, pp. 77-84. Zhiyuan Chen and 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 e 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, No. 4, 2012, pp. 77-84.

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

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

10 Chandler Camille May, “Topic Modeling in Theory and Practice,” Dissertation, John Hopkins University, 2022.https://aclanthology.org/D11-1024/ (link esterno a ibm.com).

11 Zachary Lipton, "The Mythos of Model Interpretability: In machine learning, the concept of interpretability is both important and slippery", Queue, Vol. 16, No. 3, pp. 31-57, https://dl.acm.org/doi/10.1145/3236386.3241340 (link esterno a ibm.com). Caitlin Doogan and 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, pp. 3824-3848, https://aclanthology.org/2021.naacl-main.300 (link esterno a ibm.com).

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, pp. 2018-2033, https://proceedings.neurips.cc/paper_files/paper/2021/hash/0f83556a305d789b1d71815e8ea4f4b0-Abstract.html (link esterno a ibm.com). Caitlin Doogan and 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, pp. 3824-3848, https://aclanthology.org/2021.naacl-main.300 (link esterno a ibm.com).

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