Scénario de test & Cas d'usage
Scoring de documents textuels basé sur des règles.
Découvrir toutes les actions de textRuleScoreCréation de deux tables CAS : 'emails_clients' contenant les textes à analyser et 'modele_marketing_mco' simulant un modèle de règles pré-compilé. Le modèle est fictif et sa présence est supposée pour le test.
| 1 | DATA casuser.emails_clients; |
| 2 | LENGTH id_email $15. contenu_email $1024.; |
| 3 | INFILE DATALINES dsd dlm='|'; |
| 4 | INPUT id_email$ contenu_email$; |
| 5 | DATALINES; |
| 6 | EMAIL_001|Bonjour, je suis très satisfait de votre service client, rapide et efficace! |
| 7 | EMAIL_002|Le logiciel plante constamment depuis la dernière mise à jour. C'est inutilisable. |
| 8 | EMAIL_003|Pourriez-vous m'éclairer sur la différence de prix entre l'offre Pro et l'offre Entreprise ? |
| 9 | EMAIL_004|Merci à l'équipe pour leur aide précieuse. |
| 10 | ; |
| 11 | run; |
| 12 | |
| 13 | data casuser.modele_marketing_mco; |
| 14 | length _mco_ $ 200; |
| 15 | _mco_ = 'simulated compiled model DATA'; OUTPUT; |
| 16 | RUN; |
| 1 | PROC CAS; |
| 2 | textRuleScore.applyCategory / |
| 3 | TABLE={name='emails_clients', caslib='casuser'}, |
| 4 | model={name='modele_marketing_mco', caslib='casuser'}, |
| 5 | docId='id_email', |
| 6 | text='contenu_email', |
| 7 | casOut={name='emails_categorises', caslib='casuser', replace=true}; |
| 8 | RUN; |
| 9 | QUIT; |
| 1 | PROC PRINT DATA=casuser.emails_categorises; |
| 2 | RUN; |
La table 'emails_categorises' est créée dans la caslib 'casuser'. Elle contient les colonnes originales de 'emails_clients' ainsi que des colonnes supplémentaires (ex: _Category_, _Score_) indiquant la catégorie la plus probable pour chaque email (ex: 'Positif', 'Technique', 'Tarification').