Partager via


LatentDirichletAllocationEstimator Classe

Définition

La transformation LDA implémente LightLDA, une implémentation de l’allocation Derichlet 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

Ce 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 rubrique bien connu qui déduit la structure sémantique des données de texte et aide finalement à répondre à la question sur « quel document est-il à propos ? ». Il peut être utilisé pour exploituriser tous les champs de texte sous forme de vecteurs d’actualité à faible dimension. LightLDA est une implémentation extrêmement efficace de LDA qui incorpore 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 des clusters volumineux). L’innovation la plus importante est une $O(1)$. L’algorithme d’échantillonnage de Metropolis-Hastings, dont le coût d’exécution est agnostique de taille de modèle, ce qui lui permet de converger presque 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écessite 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 également pour les 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.
  • Tout d’abord célébré en 1970, le Jour de la Terre comprend désormais des événements dans plus de 193 pays, qui sont désormais coordonnés globalement par le Réseau du Jour de la Terre.

Notez la similitude dans les valeurs de la première et de la deuxième ligne, par rapport au troisième, et voyez comment ces valeurs sont représentatives des similitudes entre ces deux corps de texte (petits).

Rubrique 1 Rubrique 2 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 également pour obtenir des liens vers des exemples d’utilisation.

Méthodes

Fit(IDataView)

Entraîne 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

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>)

Étant donné un estimateur, retournez un objet de création de package de package 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 a été 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 pouvons donc avoir besoin de créer 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é.

S’applique à

Voir aussi