ldaTrain
Description
L'action ldaTrain permet d'entraîner un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). de thématiques basé sur l'Allocation de Dirichlet LatenteModèle probabiliste de topic modeling (LDA) qui identifie des thèmes cachés dans un corpus de textes en associant chaque document à un mélange de sujets et chaque sujet à une distribution de mots. (LDA). C'est un peu comme si vous demandiez à un robot de lire une montagne de documents et de regrouper les mots qui 'vont ensemble' pour découvrir les sujets principaux, sans que vous ayez besoin de lui dire quoi chercher. C'est l'outil idéal pour extraire de la sémantique de données textuelles massives quand votre cerveau refuse de traiter plus de trois lignes après 16h. Sources :
Paramètres Clés
Préparation des données
Création d'un jeu de données de test pour LDA
On génère quelques documents simples portant sur le support client et la qualité des produits pour tester la séparation thématique.
| 1 | DATA casuser.feedback; LENGTH text $200; INPUT id text $; DATALINES; 1|Le support client est excellent et très réactif. 2|Le produit est arrivé cassé et le support est trop lent. 3|Excellent rapport qualité prix, je recommande ce produit. 4|Livraison en retard mais le produit est conforme. 5|Le support technique m'a aidé à configurer mon appareil. 6|Qualité médiocre et service après-vente inexistant. ; RUN; |
Exemples d'utilisation
Entraînement de base avec 2 thématiques
Exécution minimale de l'action LDA sur notre table de feedback pour identifier deux sujets principaux.
| 1 | PROC CAS; ldaTopic.ldaTrain / TABLE={name="feedback"}, docId="id", text={"text"}, k=2, casOut={name="lda_model", replace=true}; RUN; |
Résultat Attendu :
Entraînement complet avec prétraitement linguistique
On utilise ici des hyperparamètres spécifiques, un nombre d'itérations plus élevé, et on active la racinisation (stemming) pour le français.
| 1 | PROC CAS; ldaTopic.ldaTrain / TABLE={name="feedback"}, docId="id", text={"text"}, k=3, alpha=0.2, beta=0.01, nIters=100, seed=12345, meanEstimate=true, tm={language="FRENCH", stemming=true}, casOut={name="lda_model_final", replace=true}, docDistOut={name="document_topics", replace=true}; RUN; |