Algoritmo Allocazione latente di Dirichlet (LDA, Latent Dirichlet Allocation) - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Algoritmo Allocazione latente di Dirichlet (LDA, Latent Dirichlet Allocation)

L'algoritmo Amazon SageMaker Latent Dirichlet Allocation (LDA) è un algoritmo di apprendimento non supervisionato che tenta di descrivere un insieme di osservazioni come una combinazione di categorie distinte. LDA viene generalmente utilizzato per individuare un numero di argomenti specificati dall'utente, condivisi da documenti all'interno di un corpus di testo. Qui ogni osservazione è un documento, le caratteristiche sono la presenza (o conteggio occorrenza) di ciascuna parola e le categorie sono gli argomenti. Poiché il metodo non è supervisionato, gli argomenti non sono specificati in anticipo e il loro allineamento con il modo in cui un umano può naturalmente classificare documenti non è garantito. Gli argomenti vengono appresi sotto forma di una distribuzione di probabilità sulle parole incontrate in ogni documento. Ogni documento, a sua volta, viene descritto come una combinazione di argomenti.

Il contenuto esatto di due documenti con combinazioni di argomenti simili non sarà lo stesso. Tuttavia, in generale, puoi supporre che questi documenti utilizzino più di frequente un sottoinsieme di parole condiviso, rispetto a un documento proveniente da un gruppo diverso di argomenti. Questo consente a LDA di scoprire questi gruppi di parole e utilizzarli per formare argomenti. Facciamo un esempio molto semplice: se disponi di un gruppo di documenti in cui le sole parole in essi riportate sono: mangiare, dormire, giocare, miagolare e abbaiare, LDA può generare argomenti come i seguenti:

Argomento

mangiare dormire giocare miagolare abbaiare
Argomento 1 0,1 0,3 0,2 0,4 0,0
Argomento 2 0,2 0,1 0,4 0,0 0,3

Puoi dedurre che i documenti che hanno maggiori probabilità di appartenere all'Argomento 1 riguardano i gatti (che possono miagolare e dormire) e che i documenti che rientrano nell'Argomento 2 riguardano i cani (che preferiscono giocare e abbaiare). Questi argomenti possono essere trovati anche se le parole cane e gatto non compaiono in alcun testo.

Scelta tra Latent Dirichlet Allocation (LDA) e modello neurale di argomenti (NTM)

I modelli tematici sono comunemente usati per produrre argomenti a partire da corpus che (1) racchiudono in modo coerente il significato semantico e (2) descrivono bene i documenti. Pertanto, i modelli tematici mirano a ridurre al minimo le perplessità e massimizzare la coerenza degli argomenti.

Perplexity è una metrica intrinseca di valutazione della modellazione del linguaggio che misura l'inverso della media geometrica di verosimiglianza per parola nei dati di test. Un punteggio di perplessità inferiore indica migliori prestazioni di generalizzazione. La ricerca ha dimostrato che la probabilità calcolata per parola spesso non è in linea con il giudizio umano e può essere del tutto non correlata, pertanto è stata introdotta la coerenza tra gli argomenti. Ogni argomento dedotto dal modello è composto da parole e la coerenza degli argomenti viene calcolata in base alle prime N parole per quel particolare argomento del modello. Viene spesso definita come la media o la mediana dei punteggi di somiglianza verbale a coppie delle parole di quell'argomento, ad esempio Pointwise Mutual Information (PMI). Un modello promettente genera argomenti coerenti o argomenti con punteggi di coerenza tematici elevati.

Sebbene l'obiettivo sia quello di sviluppare un modello tematico che riduca al minimo le perplessità e massimizzi la coerenza degli argomenti, spesso c'è un compromesso tra LDA e NTM. Una recente ricerca di Amazon, Dinget et al., 2018 ha dimostrato che NTM è promettente per raggiungere un'elevata coerenza tematica, ma LDA addestrato con campionamento Gibbs collassato genera maggiori perplessità. Esiste un compromesso tra perplessità e coerenza tematica. Dal punto di vista della praticità per quanto riguarda l'hardware e la potenza di calcolo, l'hardware SageMaker NTM è più flessibile di LDA e può scalare meglio perché NTM può essere eseguito su CPU e GPU e può essere parallelizzato su più istanze GPU, mentre LDA supporta solo l'addestramento della CPU a singola istanza.

Interfaccia di input/output per l'algoritmo LDA

LDA prevede che i dati vengano forniti nel canale di addestramento e, facoltativamente, supporta un canale di test, valutato dal modello finale. LDA supporta entrambi i formati di file recordIO-wrapped-protobuf (a densità alta e bassa) e CSV. Per CSV, i dati devono essere a densità alta e avere una dimensione pari al numero di record * dimensione vocabolario. LDA può essere addestrato in modalità File o Pipe quando si utilizza protobuf con wrapping di recordIO, ma solo in modalità File per il formato CSV.

Per inferenza, sono supportati i tipi di contenuti text/csv, application/json e application/x-recordio-protobuf. I dati a densità bassa possono anche essere trasmessi per application/json e application/x-recordio-protobuf. L'inferenza del modello LDA restituisce le previsioni application/json o application/x-recordio-protobuf , che includono il vettore topic_mixture di ogni osservazione.

Consulta Notebook di esempio di LDA per maggiori dettagli sui formati dei file di addestramento e inferenza.

Raccomandazione istanza EC2 per l'algoritmo LDA

Attualmente il modello LDA supporta solo l’addestramento CPU a istanza singola. Le istanze CPU sono raccomandate per l'hosting/l'inferenza.

Notebook di esempio di LDA

Per un taccuino di esempio che mostra come addestrare l'algoritmo SageMaker Latent Dirichlet Allocation su un set di dati e quindi come implementare il modello addestrato per eseguire inferenze sulle combinazioni di argomenti nei documenti di input, vedere An Introduction to SageMaker LDA. Per istruzioni su come creare e accedere alle istanze di notebook Jupyter che è possibile utilizzare per eseguire l'esempio, vedere. SageMaker Istanze Amazon SageMaker Notebook Dopo aver creato un'istanza di notebook e averla aperta, seleziona la scheda SageMaker Esempi per visualizzare un elenco di tutti gli esempi. SageMaker I notebook di esempio di modellazione dell'argomento che utilizzano gli algoritmi NTM sono disponibili nella sezione con l'introduzione agli algoritmi di Amazon. Per aprire un notebook, fai clic sulla relativa scheda Use (Utilizza) e seleziona Create copy (Crea copia).