Algorithme NTM (Neural Topic Model)
L'algorithme NTM Amazon SageMaker est un algorithme d'apprentissage non supervisé qui permet d'organiser un corpus de documents en rubriques contenant des regroupements de mots en fonction de leur distribution statistique. Les documents contenant de fréquentes occurrences de mots telles que « vélo », « voiture », « former », « kilométrage » et « vitesse » sont susceptibles de partager une rubrique sur les « transports » par exemple. La modélisation de rubrique permet de classer ou de résumer les documents en fonction des rubriques détectées, ainsi que de récupérer les informations ou de recommander du contenu en fonction des similitudes de rubriques. Les rubriques des documents que le modèle NTM apprend sont caractérisées comme une représentation latente, car les rubriques sont déduites des distributions de mots observées dans le corpus. La sémantique des rubriques est généralement déduite en examinant les mots les mieux classés de chaque rubrique. Comme la méthode est sans surveillance, seul le nombre de rubriques, et non les rubriques elles-mêmes, est préspécifié. En outre, il n'y a pas de garantie que les rubriques s'alignent sur la façon dont un être humain pourrait naturellement classer les documents.
La modélisation des rubriques offre un moyen de visualiser le contenu d'un vaste corpus de documents en termes de rubriques acquises. Les documents propres à chaque rubrique peuvent être indexés ou recherchés en fonction des étiquettes de leurs rubriques. Les représentations latentes des documents peuvent également être utilisées pour trouver des documents similaires dans l'espace des rubriques. Vous pouvez également utiliser les représentations latentes de documents que le modèle de rubriques apprend comme entrées d'un autre algorithme supervisé, tel qu'un classificateur de documents. Comme les représentations latentes des documents sont censées capturer la sémantique des documents sous-jacents, les algorithmes basés en partie sur ces représentations sont censés obtenir de meilleurs résultats que ceux fondés sur les seules caractéristiques lexicales.
Même si vous pouvez utiliser à la fois les algorithmes Amazon SageMaker NTM et LDA pour la modélisation des rubriques, ils sont distincts et censés produire des résultats différents sur les mêmes données en entrée.
Pour plus d'informations sur les mathématiques sous-jacents au modèle MNT, consultez Neural Variational Inference for Text Processing
Rubriques
Interface d'entrée/sortie pour l'algorithme NTM
Le modèle NTM Amazon SageMaker prend en charge quatre canaux de données : entraînement (train), validation, test et auxiliaire (auxiliary). Les canaux de données validation, test et auxiliaire, sont facultatifs. Si vous spécifiez l'un de ces canaux facultatifs, définissez leur paramètre S3DataDistributionType
avec la valeur FullyReplicated
. Si vous fournissez les données de validation, la perte sur ces données est enregistrée à chaque date « epoch » et le modèle cesse la formation dès qu'il détecte que la perte de validation ne s'améliore pas. Si vous ne fournissez pas de données de validation, l'algorithme s'arrête dès les données de formation, mais cela peut être moins efficace. Si vous fournissez les données de test, l'algorithme reporte la perte de test depuis le modèle final.
Les canaux des données de formation, de validation et de test du modèle NTM prennent en charge les formats de fichier recordIO-wrapped-protobuf
(dense et clairsemé) et CSV
. Pour le format CSV
, chaque ligne doit être représentée densément avec un nombre égal à zéro pour les mots qui ne sont pas présents dans le document correspondant, et qui ont une dimension égale à : (nombre d'enregistrements) * (taille du vocabulaire). Vous pouvez utiliser le mode File (Fichier) ou le mode Pipe (Tube) pour entraîner les modèles sur les données obéissant au format recordIO-wrapped-protobuf
ou au format CSV
. Le canal auxiliaire permet de fournir un fichier texte contenant du vocabulaire. En fournissant le fichier de vocabulaire, les utilisateurs sont en mesure de voir les principaux mots de chacune des rubriques imprimées dans le journal au lieu de leur ID entier. Le fait d'avoir le fichier de vocabulaire permet aussi à NTM de calculer les scores WETC (Word Embedding Topic Coherence), nouvelle métrique affichée dans le journal qui capture efficacement les similarités entre les mots classés en premier dans chaque rubrique. Le ContentType
du canal auxiliaire est text/plain
, avec chaque ligne contenant un seul mot, dans l'ordre correspondant à l'ID entier fourni dans les données. Le fichier de vocabulaire doit être nommé vocab.txt
et actuellement seul l'encodage UTF-8 est pris en charge.
Pour l´inférence, les types de contenu text/csv
, application/json
, application/jsonlines
et application/x-recordio-protobuf
sont pris en charge. Les données fragmentées peuvent aussi être transmises pour application/json
et application/x-recordio-protobuf
. L'inférence du modèle NTM retourne les application/json
prédictionsapplication/x-recordio-protobuf
ou , qui comportent le vecteur topic_weights
de chaque observation.
Consultez le billet de blog
Pour plus d'informations sur les formats de fichier en entrée et en sortie, consultez Formats de la réponse NTM pour l'inférence, ainsi que la rubrique Exemples de blocs-notes NTM.
Recommandations relatives aux instances EC2 pour l'algorithme NTM
La formation NTM prend en charge les types d'instance GPU et UC. Nous vous recommandons les instances GPU, mais pour certaines charges de travail, les instances UC peuvent entraîner une réduction des coûts de formation. Les instances UC doivent suffire pour l'inférence. L'entraînement NTM prend en charge les familles d'instances de GPU P2, P3, G4dn et G5 pour l'entraînement et l'inférence.
Exemples de blocs-notes NTM
Afin d'obtenir un exemple de bloc-notes utilisant l'algorithme SageMaker NTM pour découvrir les rubriques des documents à partir d'une source de données synthétique où les distributions des rubriques sont connues, consultez la section Introduction to Basic Functionality of NTM