Fonctionnement de l'algorithme LDA - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Fonctionnement de l'algorithme LDA

L'allocation de Dirichlet latente (LDA) d'Amazon SageMaker est un algorithme d'apprentissage non supervisé qui tente de décrire un mélange de catégories différentes. Ces catégories sont elles-mêmes une distribution de probabilité sur les fonctions. Le modèle LDA est un modèle de probabilité génératif, ce qui signifie qu'il tente de fournir un modèle pour la distribution de sorties et d'entrées en fonction des variables latentes. Il s'oppose aux modèles discriminatifs, qui tentent de savoir comment les entrées sont mappées aux sorties.

Vous pouvez utiliser le modèle LDA pour une grande variété de tâches, allant du clustering des clients en fonction de leurs achats à l'analyse harmonique automatique dans la musique. Toutefois, il est plus couramment associé à la modélisation des rubriques dans les corpus de texte. Les observations sont appelées documents. L'ensemble des fonctions est appelé vocabulaire. Une fonction est appelée un mot. Enfin, les catégories résultantes sont appelées rubriques.

Note

La lemmatisation augmente considérablement les performances et la précision de l'algorithme. Nous vous conseillons d'effectuer un pré-traitement des données de texte d'entrée. Pour plus d'informations, consultez Racinisation et lemmatisation.

Un modèle LDA est défini par deux paramètres :

  • α - Une estimation préalable sur la probabilité d'une rubrique (en d'autres termes, la fréquence moyenne de chaque rubrique dans un document donné).

  • β - Un ensemble de rubriques k où chaque rubrique se voit affecter une distribution de probabilité sur le vocabulaire utilisé dans un corpus de document, également appelé « distribution rubrique-mot ».

Le modèle LDA est un modèle de type « sac des mots », ce qui signifie que l'ordre des mots n'a pas d'importance. Il s'agit d'un modèle génératif où chaque document est généré mot par mot en choisissant un mélange de rubriques θ ∼ Dirichlet(α).

Pour chaque mot du document :

  • Choisissez une rubrique z ∼ Multinomial(θ)

  • Choisissez la distribution rubrique-mot β_z correspondante.

  • Dessinez un mot w ∼ Multinomial (β_z).

Lorsque l'on forme le modèle, l'objectif est de trouver des paramètres α et β, qui maximisent la probabilité que le corpus de texte soit généré par le modèle.

Les méthodes plus populaires pour estimer le modèle LDA utilisent les techniques d'échantillonnage Gibbs ou d'espérance-maximisation (EM). Le modèle LDA d'Amazon SageMaker utilise la décomposition spectrale tensorielle. Cette méthode offre plusieurs avantages :

  • Garanties théoriques sur les résultats. La méthode EM standard converge uniquement vers les optima locaux, qui sont souvent de mauvaise qualité.

  • Très facilement parallélisable. Le travail peut être facilement réparti sur les documents d'entrée dans la formation et l'inférence. Les approches de la méthode EM et de l'échantillonnage Gibbs peuvent être traitées en parallèle, mais pas aussi facilement.

  • Rapide. Bien que la méthode EM présente un faible coût d'itération, elle est susceptible de diminuer les taux de convergence. L'échantillonnage Gibbs est également susceptible de diminuer les taux de convergence et nécessite également un grand nombre d'échantillons.

À un haut niveau, l'algorithme de décomposition tensorielle suit le processus ci-après :

  1. L'objectif est de calculer la décomposition spectrale d'un tenseur V x V x V, qui résume les moments des documents de notre corpus. V représente la taille du vocabulaire (en d'autres termes, le nombre de mots distincts dans tous les documents). Les composants spectraux de ce tenseur sont les paramètres LDA α et β, qui maximisent la probabilité globale du corpus de document. Cependant, étant donné que la taille du vocabulaire a tendance à être importante, ce tenseur V x V x V est trop volumineux pour être stocké en mémoire.

  2. Il utilise donc une matrice d'inertie V x V, qui est l'analogue en 2D du tenseur de l'étape 1, pour trouver une matrice de blanchiment de dimension V x k. Cette matrice peut être utilisée pour convertir la matrice des moments V x V en une matrice identité k x k. k désigne le nombre de rubriques du modèle.

  3. Cette même matrice de blanchiment peut ensuite être utilisée pour trouver un tenseur k x k x k plus petit. Lorsqu'il est décomposé spectralement, ce tenseur possède des composants ayant une relation simple avec les composants du tenseur V x V x V.

  4. La méthode des moindres carrés alternés est utilisée pour décomposer le plus petit tenseur k x k x k. Cela permet d'améliorer considérablement la consommation de mémoire et la vitesse. Les paramètres α et β peuvent être obtenus en « déblanchissant » ces sorties dans la décomposition spectrale.

Une fois que les paramètres du modèle LDA ont été trouvés, vous pouvez trouver les mélanges de rubriques de chaque document. Vous utilisez la descente de gradient stochastique pour optimiser la probabilité d'observer un mélange de rubriques donné correspondant à ces données.

Il est possible d'améliorer la qualité de la rubrique en augmentant le nombre de rubriques à rechercher dans la formation, puis en filtrant celles de mauvaise qualité. Ceci est fait automatiquement dans le modèle LDA de SageMaker : 25 % de rubriques supplémentaires sont traitées et seules celles avec les plus grands antécédents de Dirichlet associés sont renvoyées. Pour effectuer davantage de filtrage de rubrique et d'analyse, vous pouvez augmenter le nombre de rubriques et modifier le modèle LDA obtenu comme suit :

> import mxnet as mx > alpha, beta = mx.ndarray.load(‘model.tar.gz’) > # modify alpha and beta > mx.nd.save(‘new_model.tar.gz’, [new_alpha, new_beta]) > # upload to S3 and create new SageMaker model using the console

Pour plus d'informations sur les algorithmes associés au modèle LDA et sur l'implémentation de SageMaker, consultez les documents suivants :

  • Animashree Anandkumar, Rong Ge, Daniel Hsu, Sham M Kakade and Matus Telgarsky. Tensor Decompositions for Learning Latent Variable Models, Journal of Machine Learning Research, 15:2773–2832, 2014.

  • David M Blei, Andrew Y Ng, and Michael I Jordan. Allocation de Dirichlet latente (LDA) Journal of Machine Learning Research, 3(Jan):993–1022, 2003.

  • Thomas L Griffiths and Mark Steyvers. Finding Scientific Topics. Proceedings of the National Academy of Sciences, 101(suppl 1):5228–5235, 2004.

  • Tamara G Kolda and Brett W Bader. Tensor Decompositions and Applications. SIAM Review, 51(3):455–500, 2009.