LatentDirichletAllocationEstimator Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
La trasformazione LDA implementa LightLDA, un'implementazione all'avanguardia dell'allocazione latente di Dirichlet.
public sealed class LatentDirichletAllocationEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.Text.LatentDirichletAllocationTransformer>
type LatentDirichletAllocationEstimator = class
interface IEstimator<LatentDirichletAllocationTransformer>
Public NotInheritable Class LatentDirichletAllocationEstimator
Implements IEstimator(Of LatentDirichletAllocationTransformer)
- Ereditarietà
-
LatentDirichletAllocationEstimator
- Implementazioni
Commenti
Caratteristiche dello strumento di stima
| Questo strumento di stima deve esaminare i dati per eseguire il training dei relativi parametri? | Yes |
| Tipo di dati colonna di input | Vettore di Single |
| Tipo di dati della colonna di output | Vettore di Single |
| Esportabile in ONNX | No |
L'allocazione di Dirichlet latente è un algoritmo di modellazione di argomenti noto che deduce la struttura semantica dai dati di testo e, infine, consente di rispondere alla domanda su "che cos'è questo documento?". Può essere usato per definire le caratteristiche di tutti i campi di testo come vettori di argomento a bassa dimensione. LightLDA è un'implementazione estremamente efficiente di LDA che incorpora una serie di tecniche di ottimizzazione. Con la trasformazione LDA, ML.NET gli utenti possono eseguire il training di un modello di argomento per produrre 1 milione di argomenti con un vocabolario di 1 milione di parole in un documento di 1 miliardo di token impostato su un singolo computer in poche ore(in genere, LDA su questa scala richiede giorni e richiede cluster di grandi dimensioni). L'innovazione più significativa è un $O(1)$super efficiente. Metropolis-Hastings algoritmo di campionamento, il cui costo in esecuzione è indipendente dalle dimensioni del modello, consentendo di convergere quasi un ordine di grandezza più veloce rispetto ad altri campioni Gibbs.
In una pipeline di ML.NET questo strumento di stima richiede l'output di alcuni pre-elaborazione, come input. Una pipeline tipica che opera sul testo richiederebbe la normalizzazione del testo, la tokenizzazione e la produzione di n-grammi per fornire allo strumento di stima LDA. Vedere l'esempio di utilizzo nella sezione Vedere anche per i suggerimenti sull'utilizzo.
Se sono disponibili i tre esempi di testo seguenti, come punti dati, e si usa la trasformazione LDA con il numero di argomenti impostati su 3, si otterrebbero i risultati visualizzati nella tabella seguente. Documenti di esempio:
- Mi piace mangiare banane.
- Mangio le banane ogni giorno.
- La giornata della Terra, celebrata per la prima volta nel 1970, include eventi in più di 193 paesi/aree geografiche, ora coordinati a livello globale dalla Earth Day Network.
Si noti la somiglianza nei valori della prima e della seconda riga, rispetto al terzo, e osservare in che modo tali valori sono indicativi di analogie tra i due corpi di testo (piccoli).
| Argomento1 | Argomento 2 | Argomento 3 |
|---|---|---|
| 0.5714 | 0.0000 | 0.4286 |
| 0.5714 | 0.0000 | 0.4286 |
| 0.2400 | 0.3200 | 0.4400 |
Per ulteriori dettagli tecnici, è possibile consultare i documenti seguenti.
Vedere anche la sezione Vedere anche i collegamenti agli esempi di utilizzo.
Metodi
| Nome | Descrizione |
|---|---|
| Fit(IDataView) |
Esegue il training e restituisce un oggetto LatentDirichletAllocationTransformer. |
| GetOutputSchema(SchemaShape) |
Restituisce l'oggetto SchemaShape dello schema che verrà prodotto dal trasformatore. Usato per la propagazione e la verifica dello schema in una pipeline. |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Aggiungere un "checkpoint di memorizzazione nella cache" alla catena di stima. In questo modo si garantisce che gli estimatori downstream vengano sottoposti a training su dati memorizzati nella cache. È utile disporre di un checkpoint di memorizzazione nella cache prima che i formatori eseseguono più passaggi di dati. |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Dato uno strumento di stima, restituire un oggetto wrapping che chiamerà un delegato una volta Fit(IDataView) chiamato. È spesso importante che uno strumento di stima restituisca informazioni sulle dimensioni, motivo per cui il Fit(IDataView) metodo restituisce un oggetto tipizzato in modo specifico, anziché solo un oggetto generale ITransformer. Tuttavia, allo stesso tempo, IEstimator<TTransformer> vengono spesso formati in pipeline con molti oggetti, quindi potrebbe essere necessario creare una catena di estimatori tramite EstimatorChain<TLastTransformer> dove lo strumento di stima per il quale si vuole ottenere il trasformatore è sepolto in una posizione in questa catena. Per questo scenario, è possibile collegare un delegato che verrà chiamato una volta chiamato fit. |