textRuleScore

applyCategory

Description

L'action `applyCategory` permet de catégoriser du texte en utilisant un modèle de catégorie préalablement compilé (fichier MCO). Elle applique les règles linguistiques définies dans le modèle pour assigner une ou plusieurs catégories aux documents textuels fournis en entrée.

textRuleScore.applyCategory { casOut={...}, docId="string", docType="TEXT"|"XML", groupedMatchOut={...}, matchDelimiter="string", matchOut={...}, model={...}, modelOut={...}, scoringAlgorithm="FREQUENCY"|"WEIGHTED", table={...}, text="string" };
Paramètres
ParamètreDescription
casOutSpécifie la table de sortie CAS pour les résultats de la catégorisation.
docIdSpécifie le nom de la variable d'identifiant unique dans la table d'entrée pour référencer chaque document.
docTypeSpécifie le type de document. 'TEXT' pour du texte brut, 'XML' pour des documents au format XML.
groupedMatchOutSpécifie la table de sortie pour les correspondances groupées par catégorie pour chaque document.
matchDelimiterSpécifie le délimiteur à utiliser pour les instances de texte correspondant dans la table de sortie 'groupedMatchOut'.
matchOutSpécifie la table de sortie pour les termes correspondants des catégories.
modelSpécifie la table CAS d'entrée qui contient le modèle de catégorisation (fichier MCO).
modelOutSpécifie la table de sortie pour le modèle de catégories.
scoringAlgorithmSpécifie l'algorithme de scoring à utiliser. 'FREQUENCY' (par défaut) ou 'WEIGHTED'.
tableSpécifie la table de données d'entrée contenant le texte à catégoriser.
textSpécifie le nom de la variable de texte dans la table d'entrée sur laquelle le modèle est appliqué.
Préparation des Données Voir la fiche de ce code dataprep
Création des données de démonstration

Ce bloc de code crée une table CAS nommée 'reviews' contenant des commentaires de clients. Cette table sera utilisée pour appliquer le modèle de catégorisation.

Copié !
1DATA casuser.reviews;
2 INFILE DATALINES delimiter='|';
3 LENGTH text $500. id $10.;
4 INPUT text$ id$;
5 DATALINES;
6I love my new SAS software! It's amazing.|1
7This is the best software I have ever used.|2
8I am not a fan of this product. It is difficult to use.|3
9SAS is a great company with great products.|4
10;
11RUN;

Exemples

Cet exemple montre comment appliquer un modèle de catégorie (stocké dans 'category_model_table') à la colonne 'text' de la table 'reviews' et stocker les résultats dans la table 'reviews_categorized'.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 textRuleScore.applyCategory /
3 TABLE={name='reviews'},
4 model={name='category_model_table'},
5 docId='id',
6 text='text',
7 casOut={name='reviews_categorized', replace=true};
8RUN;

Cet exemple complet applique un modèle de catégorie, génère une table de sortie principale ('reviews_categorized'), une table des correspondances détaillées ('reviews_matches') et une table des correspondances groupées ('reviews_grouped_matches'). L'algorithme de scoring 'WEIGHTED' est utilisé.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 textRuleScore.applyCategory /
3 TABLE={name='reviews', caslib='casuser'},
4 model={name='category_model_table', caslib='casuser'},
5 docId='id',
6 text='text',
7 scoringAlgorithm='WEIGHTED',
8 casOut={name='reviews_categorized', caslib='casuser', replace=true},
9 matchOut={name='reviews_matches', caslib='casuser', replace=true},
10 groupedMatchOut={name='reviews_grouped_matches', caslib='casuser', replace=true},
11 matchDelimiter='|';
12RUN;

FAQ

À quoi sert l'action `applyCategory` ?
Quels sont les types de documents pris en charge par le paramètre `docType` ?
Quel paramètre est obligatoire pour spécifier le modèle de catégorisation ?
Comment peut-on spécifier la table de données d'entrée pour la catégorisation ?
Quelle est la différence entre les tables de sortie `matchOut` et `groupedMatchOut` ?
Quels sont les algorithmes de scoring disponibles avec le paramètre `scoringAlgorithm` ?
À quoi sert le paramètre `docId` ?

Scénarios associés

Cas d'usage
Analyse de sentiments dans les retours clients par email

Une équipe marketing souhaite classifier automatiquement les emails entrants des clients pour identifier rapidement les retours positifs, les problèmes techniques et les questio...

Cas d'usage
Catégorisation volumétrique d'avis produits avec sorties détaillées

Une plateforme e-commerce doit analyser des milliers d'avis produits chaque jour pour détecter les tendances (ex: 'Problème de livraison', 'Qualité excellente', 'Autonomie batte...

Cas d'usage
Test de robustesse sur des tickets de support avec données invalides

Un centre de support technique automatise la classification des tickets d'incident. La qualité des données est hétérogène : certains tickets n'ont pas de description, les identi...