Algorithme d'allocation de Dirichlet latent () LDA - Amazon SageMaker AI

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.

Algorithme d'allocation de Dirichlet latent () LDA

L'algorithme Amazon SageMaker AI Latent Dirichlet Allocation (LDA) est un algorithme d'apprentissage non supervisé qui tente de décrire un ensemble d'observations comme un mélange de catégories distinctes. LDAest le plus souvent utilisé pour découvrir un nombre défini par l'utilisateur de sujets partagés par des documents au sein d'un corpus de texte. Ici, chaque observation est un document, les fonctions sont la présence (ou nombre d'occurrences) de chaque mot, et les catégories sont les rubriques. Étant donné que la méthode n'est pas supervisée, les rubriques ne sont pas spécifiées à l'avance et leur alignement avec la façon dont les humains peuvent naturellement classer les documents n'est pas garanti. Les rubriques sont apprises sous la forme d'une distribution de probabilité sur les mots rencontrés dans chaque document. Chaque document est à son tour décrit comme un mélange de rubriques.

Les contenus exacts de deux documents aux combinaisons de rubriques similaires ne seront pas identiques. Mais surtout, vous pouvez supposer que ces documents utilisent plus fréquemment un sous-ensemble partagé de mots qu'un document issu d'une combinaison de rubriques différentes. Cela permet LDA de découvrir ces groupes de mots et de les utiliser pour former des sujets. À titre d'exemple extrêmement simple, un ensemble de documents contenant les seuls mots « manger », « dormir », « jouer », « miauler » et « aboyer » LDA peut donner lieu à des sujets tels que les suivants :

Rubrique

manger dormir jouer miauler aboyer
Rubrique 1 0.1 0.3 0.2 0.4 0.0
Rubrique 2 0.2 0.1 0.4 0.0 0.3

Vous pouvez en déduire que les documents les plus susceptibles d'appartenir à la Rubrique 1 concernent les chats (qui sont les plus susceptibles de miauler et de dormir), et que les documents qui appartiennent à la Rubrique 2 concernent les chiens (qui préfèrent jouer et aboyer). Ces rubriques peuvent être retrouvées même si les mots chien et chat n'apparaissent jamais dans les textes.

Choisir entre l'allocation latente de Dirichlet (LDA) et le modèle de sujet neuronal () NTM

Les modèles de rubrique sont couramment utilisés pour produire des rubriques à partir de corpus qui (1) encapsulent de façon cohérente la signification sémantique et (2) décrivent bien les documents. Par conséquent, les modèles de rubrique visent à réduire la perplexité et à optimiser la cohérence des rubriques.

La perplexité est une métrique d'évaluation de modélisation du langage intrinsèque qui mesure l'inverse de la probabilité de moyenne géométrique par mot dans vos données de test. Un score de perplexité inférieur indique de meilleures performances de généralisation. Des recherches ont montré que la probabilité calculée par mot correspond rarement au jugement humain et peut être entièrement non corrélée, c'est pourquoi la cohérence des rubriques a été introduite. Chaque rubrique déduite de votre modèle se compose de mots, et la cohérence de la rubrique est calculée à partir des N mots principaux de cette rubrique spécifique de votre modèle. Il est souvent défini comme la moyenne ou la médiane des scores de similitude de mots par paire des mots de ce sujet, par exemple, Pointwise Mutual Information (). PMI Les modèles prometteurs génèrent des rubriques cohérentes ou des rubriques avec des scores élevés de cohérence des rubriques.

Bien que l'objectif soit de créer un modèle thématique qui minimise la perplexité et maximise la cohérence des sujets, il y a souvent un compromis entre les deux. LDA NTM Des recherches récentes menées par Amazon, Dinget et al., 2018 ont montré que NTM c'est prometteur pour atteindre une cohérence thématique élevée, mais que l'LDAentraînement avec un échantillonnage réduit de Gibbs permet d'obtenir une meilleure perplexité. Il y a un compromis entre la perplexité et la cohérence des rubriques. Du point de vue pratique en termes de matériel et de puissance de calcul, le SageMaker NTM matériel est plus flexible LDA et peut mieux évoluer car il NTM peut fonctionner CPU GPU et être parallélisé sur plusieurs GPU instances, alors qu'il LDA ne prend en charge que la formation en instance unique. CPU

Interface d'entrée/sortie pour l'algorithme LDA

LDAs'attend à ce que des données soient fournies sur le canal du train et prend éventuellement en charge un canal de test, qui est noté par le modèle final. LDAsupporte à la fois les formats recordIO-wrapped-protobuf (denses et clairsemés) et les formats de CSV fichiers. En CSV effet, les données doivent être denses et avoir une dimension égale au nombre d'enregistrements x à la taille du vocabulaire. LDApeut être entraîné en mode File ou Pipe lors de l'utilisation de protobuf encapsulé dans Recordio, mais uniquement en mode File pour le format. CSV

Pour l´inférence, les types de contenu text/csv, application/json et application/x-recordio-protobuf sont pris en charge. Des données éparses peuvent également être transmises pour application/json etapplication/x-recordio-protobuf. LDAdes résultats d'inférence application/json ou application/x-recordio-protobuf des prédictions, qui incluent le topic_mixture vecteur pour chaque observation.

Pour plus d'informations sur les détails des formats de formation et d'inférence, consultez les Exemples de blocs-notes LDA.

EC2Recommandation d'instance pour l'LDAalgorithme

LDAne prend actuellement en charge que la CPU formation en instance unique. CPUles instances sont recommandées pour l'hébergement/l'inférence.

Exemples de blocs-notes LDA

Pour un exemple de bloc-notes expliquant comment entraîner l'algorithme d'allocation latente Dirichlet par l' SageMaker IA sur un ensemble de données, puis comment déployer le modèle entraîné pour effectuer des inférences sur les mélanges de sujets dans les documents d'entrée, consultez la section Une introduction à l'IA. SageMaker LDA Pour savoir comment créer et accéder à des instances de bloc-notes Jupyter que vous pouvez utiliser pour exécuter l'exemple dans SageMaker AI, consultez. Instances Amazon SageMaker Notebook Une fois que vous avez créé une instance de bloc-notes et que vous l'avez ouverte, sélectionnez l'onglet Exemples d'SageMaker IA pour voir la liste de tous les exemples d' SageMaker IA. La rubrique consacrée à la modélisation d'exemples de blocs-notes à l'aide NTM des algorithmes se trouve dans la section Introduction aux algorithmes d'Amazon. Pour ouvrir un bloc-notes, cliquez sur son onglet Use (Utiliser) et sélectionnez Create copy (Créer une copie).