?>
L'action `brScore` du jeu d'actions `boolRule` est utilisée pour évaluer des données textuelles en appliquant un ensemble de règles booléennes pré-définies. Elle identifie quels documents satisfont quelles règles, ce qui est fondamental pour la catégorisation de documents, le filtrage de contenu ou l'application de logiques métier sur des corpus de texte.
| Paramètre | Description |
|---|---|
| table | Spécifie la table d'entrée contenant les données textuelles à évaluer (scorer). |
| ruleTerms | Spécifie la table d'entrée qui contient les termes de chaque règle, généralement générée par l'action `brTrain`. |
| casOut | Spécifie la table de sortie CAS pour stocker les résultats de la correspondance des règles (indiquant si un document satisfait une règle). |
| docId | Spécifie la variable dans la table d'entrée (spécifiée dans `table`) qui contient l'identifiant unique du document. La valeur par défaut est '_document_'. |
| termId | Spécifie la variable dans la table d'entrée (spécifiée dans `table`) qui contient l'identifiant du terme. La valeur par défaut est '_termnum_'. |
| nThreads | Spécifie le nombre de threads à utiliser par nœud pour le traitement. La valeur par défaut est 0, ce qui signifie que SAS Viya déterminera le nombre optimal de threads. |
| useOldNames | Spécifie s'il faut utiliser les anciens noms de variables de la procédure HPBOOLRULE pour la compatibilité ascendante. |
Nous créons deux tables CAS. La première, `mycas.documents_to_score`, contient les données textuelles à évaluer, avec un identifiant de document (`docId`) et un identifiant de terme (`termId`). La seconde, `mycas.rules_to_apply`, définit les règles booléennes à appliquer, avec un identifiant de règle (`_ruleid_`) et les termes (`_term_`) qui la composent.
1 DATA mycas.documents_to_score; 2 INFILE DATALINES delimiter=','; 3 INPUT docId termId $; 4 DATALINES; 5 1,term1 6 1,term2 7 2,term2 8 2,term3 9 3,term1 10 3,term3 11 ; 12 RUN; 13 14 DATA mycas.rules_to_apply; 15 INFILE DATALINES delimiter=','; 16 INPUT _ruleid_ $ _term_ $; 17 DATALINES; 18 rule1,term1 19 rule1,term2 20 rule2,term3 21 ; 22 RUN;
Cet exemple simple exécute l'action `brScore` sur la table `documents_to_score` en utilisant les règles de `rules_to_apply`. Les résultats, indiquant quel document correspond à quelle règle, sont stockés dans la table `scored_documents`.
| 1 | PROC CAS; |
| 2 | ACTION boolRule.brScore / |
| 3 | TABLE={name='documents_to_score'}, |
| 4 | ruleTerms={name='rules_to_apply'}, |
| 5 | docId='docId', |
| 6 | termId='termId', |
| 7 | casOut={name='scored_documents', replace=true}; |
| 8 | RUN; |
| 9 | QUIT; |
Cet exemple plus détaillé montre comment utiliser des noms de variables personnalisés pour les identifiants de document et de terme. Il utilise également l'option `useOldNames=true` pour que les colonnes de la table de sortie utilisent les noms de variables hérités de procédures plus anciennes, comme `_docid_` au lieu de `docId`.
| 1 | PROC CAS; |
| 2 | ACTION boolRule.brScore / |
| 3 | TABLE={name='documents_to_score'}, |
| 4 | ruleTerms={name='rules_to_apply'}, |
| 5 | docId='docId', |
| 6 | termId='termId', |
| 7 | casOut={name='scored_documents_legacy', replace=true}, |
| 8 | useOldNames=true; |
| 9 | RUN; |
| 10 | QUIT; |