Algoritmo Modello neurale di argomenti (NTM) - 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 Modello neurale di argomenti (NTM)

Amazon SageMaker NTM è un algoritmo di apprendimento senza supervisione utilizzato per organizzare un corpus di documenti in argomenti che contengono raggruppamenti di parole in base alla loro distribuzione statistica. I documenti che contengono frequenti occorrenze di parole come "bici", "auto", "treno", "chilometraggio" e "velocità" potrebbero condividere un argomento sul "trasporto", ad esempio. La modellazione degli argomenti può essere utilizzata per classificare o riepilogare i documenti in base agli argomenti rilevati o per recuperare informazioni o consigliare i contenuti in base alle somiglianze tra argomenti. Gli argomenti dei documenti che NTM apprende sono caratterizzati come una rappresentazione latente perché gli argomenti sono dedotti dalle distribuzioni di parole osservate nel corpus. La semantica degli argomenti solitamente viene dedotta esaminando le parole più importanti che contengono. Poiché il metodo non è supervisionato, viene preventivamente specificato solo il numero di argomenti e non gli argomenti stessi. Inoltre, non è possibile garantire l'allineamento degli argomenti con la capacità umana di categorizzare naturalmente dei documenti.

La modellazione degli argomenti offre un modo per visualizzare i contenuti di un ampio corpus di documenti in termini di argomenti appresi. I documenti relativi a ogni argomento possono essere indicizzati o ricercati in base alle relative etichette. Le rappresentazioni latenti dei documenti possono essere utilizzate anche per individuare documenti simili nell'ambito degli argomenti. È inoltre possibile utilizzare le rappresentazioni latenti dei documenti che il modello di argomenti apprende per inserirle in un altro algoritmo supervisionato, come un classificatore di documenti. Poiché le rappresentazioni latenti dei documenti dovrebbero acquisire la semantica dei documenti soggiacenti, gli algoritmi basati in parte su tali rappresentazioni dovrebbero funzionare meglio rispetto a quelli basati solo su caratteristiche lessicali.

Sebbene sia possibile utilizzare sia gli algoritmi Amazon SageMaker NTM che LDA per la modellazione degli argomenti, si tratta di algoritmi distinti e ci si può aspettare che producano risultati diversi sugli stessi dati di input.

Per ulteriori informazioni sulla matematica alla base di NTM, consulta Neural Variational Inference for Text Processing.

Interfaccia di input/output per l'algoritmo NTM

Amazon SageMaker Neural Topic Model supporta quattro canali di dati: addestramento, convalida, test e ausiliario. I canali di dati di convalida, test e ausiliari sono opzionali. Se specifichi uno qualsiasi di questi canali opzionali, imposta il valore del parametro S3DataDistributionType su FullyReplicated. Se si forniscono i dati di convalida, la perdita relativa a questi dati viene registrata pe ogni epoch e il modello interrompe la preparazione non appena rileva che la perdita di convalida non sta migliorando. Se non si forniscono i dati di convalida, l'algoritmo si interrompe con anticipo in base ai dati di preparazione; tuttavia questa procedura può risultare meno efficiente. Se si forniscono i dati di test, l'algoritmo riferisce la perdita dei dati di test dal modello finale.

I canali dei dati di training, convalida e test per NTM supportano i formati di file recordIO-wrapped-protobuf (a densità alta e bassa) e CSV. Per il formato CSV, ogni riga deve essere rappresentata in modo denso con conteggi zero per le parole assenti nel documento corrispondente e deve avere la dimensione pari a: (numero di record) * (dimensione del vocabolario). Puoi utilizzare la modalità file o la modalità pipe per addestrare i modelli sui dati formattati come recordIO-wrapped-protobuf o CSV. Il canale ausiliario viene utilizzato per fornire un file di testo che contiene il vocabolario. Fornendo il file del vocabolario, gli utenti sono in grado di vedere le parole migliori per ciascuno degli argomenti stampati nel log invece degli ID numeri interi. Il file di vocabolario consente inoltre a NTM di calcolare i punteggi WETC (Word Embedding Topic Coherence), un nuovo parametro visualizzato nel log che acquisisce in modo efficace la somiglianza tra le parole principali di ciascun argomento. Il valore ContentType per il canale ausiliario è text/plain, con ogni riga contenente una singola parola, nell'ordine corrispondente all'ID numero intero fornito nei dati. Il file di vocabolario deve essere denominato vocab.txt e attualmente è supportata solo la codifica UTF-8.

Per l'inferenza, sono supportati i tipi di contenuti text/csv, application/json, application/jsonlines 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 NTM restituisce le previsioni application/json o application/x-recordio-protobuf , che includono il vettore topic_weights di ogni osservazione.

Consulta il post del blog e il notebook di accompagnamento per ulteriori dettagli su come utilizzare il canale ausiliario e i punteggi WETC. Per ulteriori informazioni su come calcolare il punteggio WETC, consulta l'argomento sulla modellazione di argomenti neurali che supportano la coerenza. Abbiamo usato il WETC a coppie descritto in questo paper per l'Amazon SageMaker Neural Topic Model.

Per ulteriori informazioni sui formati di file di input e output, consulta Formati della risposta NTM per l'inferenza e i Notebook di esempio NTM.

Raccomandazione istanza EC2 per l'algoritmo NTM

La preparazione NTM supporta entrambi i tipi di istanze GPU e CPU. Si consigliano le istanze GPU, ma per determinati carichi di lavoro, le istanze CPU possono comportare costi di preparazione inferiori. Le istanze CPU dovrebbero essere sufficienti per l'interferenza. L'addestramento NTM supporta famiglie di istanze GPU P2, P3, G4dn e G5 per l'addestramento e l'inferenza.

Notebook di esempio NTM

Per un taccuino di esempio che utilizza l'algoritmo SageMaker NTM per scoprire argomenti nei documenti a partire da una fonte di dati sintetica in cui sono note le distribuzioni degli argomenti, consulta l'Introduzione alle funzionalità di base di NTM. 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).