LatentDirichletAllocationEstimator Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
La transformation LDA implémente LightLDA, une implémentation de pointe de l’allocation Dirichlet latente.
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)
- Héritage
-
LatentDirichletAllocationEstimator
- Implémente
Remarques
Caractéristiques de l’estimateur
| Cet estimateur doit-il examiner les données pour entraîner ses paramètres ? | Oui |
| Type de données de colonne d’entrée | Vecteur de Single |
| Type de données de colonne de sortie | Vecteur de Single |
| Exportable vers ONNX | Non |
L’allocation Dirichlet latente est un algorithme de modélisation de rubriques bien connu qui déduit la structure sémantique des données de texte, et permet de répondre à la question sur « à propos de ce document ? ». Il peut être utilisé pour caractérisation de tous les champs de texte sous forme de vecteurs d’actualité à faible dimension. LightLDA est une implémentation extrêmement efficace de LDA qui intègre un certain nombre de techniques d’optimisation. Avec la transformation LDA, ML.NET utilisateurs peuvent entraîner un modèle de rubrique pour produire 1 million de rubriques avec un vocabulaire de 1 million de mots sur un document de 1 milliard de jetons défini un seul ordinateur en quelques heures (généralement, LDA à cette échelle prend des jours et nécessite de grands clusters). L’innovation la plus importante est une $O(1)$. Metropolis-Hastings algorithme d’échantillonnage, dont le coût d’exécution est indépendant de la taille du modèle, ce qui lui permet de converger près d’un ordre de grandeur plus rapide que d’autres échantillonneurs Gibbs.
Dans un pipeline ML.NET, cet estimateur nécessite la sortie d’un prétraitement, comme entrée. Un pipeline classique fonctionnant sur le texte nécessiterait la normalisation du texte, la tokenisation et la production de n-grammes pour fournir à l’estimateur LDA. Consultez l’exemple d’utilisation dans la section Voir aussi pour obtenir des suggestions d’utilisation.
Si nous avons les trois exemples suivants de texte, en tant que points de données et que nous utilisons la transformation LDA avec le nombre de rubriques définies sur 3, nous obtenons les résultats affichés dans le tableau ci-dessous. Exemples de documents :
- J’aime manger des bananes.
- Je mange des bananes tous les jours.
- Le Jour de la Terre, qui a été célébré en 1970, comprend désormais des événements dans plus de 193 pays/régions, qui sont désormais coordonnés à l’échelle mondiale par le Réseau de la Journée de la Terre.
Notez la similarité dans les valeurs de la première et de la deuxième ligne, par rapport au troisième, et voyez comment ces valeurs sont indicatives de similitudes entre ces deux corps (petits) de texte.
| Rubrique1 | Rubrique2 | Rubrique 3 |
|---|---|---|
| 0.5714 | 0.0000 | 0.4286 |
| 0.5714 | 0.0000 | 0.4286 |
| 0.2400 | 0.3200 | 0.4400 |
Pour plus d’informations techniques, vous pouvez consulter les articles suivants.
Consultez la section Voir aussi pour obtenir des liens vers des exemples d’utilisation.
Méthodes
| Nom | Description |
|---|---|
| Fit(IDataView) |
Effectue l’apprentissage et retourne un LatentDirichletAllocationTransformer. |
| GetOutputSchema(SchemaShape) |
Retourne le SchemaShape schéma qui sera produit par le transformateur. Utilisé pour la propagation et la vérification du schéma dans un pipeline. |
Méthodes d’extension
| Nom | Description |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Ajoutez un « point de contrôle de mise en cache » à la chaîne d’estimateur. Cela garantit que les estimateurs en aval seront entraînés par rapport aux données mises en cache. Il est utile d’avoir un point de contrôle de mise en cache avant les formateurs qui prennent plusieurs passes de données. |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
En fonction d’un estimateur, retournez un objet de création de package de restrictions qui appellera un délégué une fois Fit(IDataView) appelé. Il est souvent important pour un estimateur de retourner des informations sur ce qui était adapté, c’est pourquoi la Fit(IDataView) méthode retourne un objet spécifiquement typé, plutôt que simplement un général ITransformer. Toutefois, en même temps, IEstimator<TTransformer> sont souvent formés en pipelines avec de nombreux objets, nous devrons peut-être construire une chaîne d’estimateurs via EstimatorChain<TLastTransformer> laquelle l’estimateur pour lequel nous voulons obtenir le transformateur est enterré quelque part dans cette chaîne. Pour ce scénario, nous pouvons par le biais de cette méthode attacher un délégué qui sera appelé une fois l’ajustement appelé. |