?> brTrain - WeAreCAS
boolRule

brTrain

Description

L'action `brTrain` est utilisée pour extraire des règles booléennes à partir de données textuelles. Elle fait partie de l'ensemble d'actions `boolRule` et est conçue pour identifier des combinaisons de termes qui sont prédictives de certaines catégories ou cibles dans un corpus de documents.

boolRule.brTrain { casOuts={...}, docId="variable-name", docInfo={...}, gNegative=double, gPositive=double, maxCandidates=integer, maxTriesIn=integer, maxTriesOut=integer, minSupports=integer, mNegative=integer, mPositive=integer, nThreads=integer, table={...}, termId="variable-name", termInfo={...}, useOldNames=TRUE | FALSE };
Paramètres
ParamètreDescription
casOutsSpécifie les tables de données qui contiennent les résultats générés par l'action.
docIdSpécifie la variable dans la table d'entrée qui contient l'ID du document.
docInfoSpécifie les informations sur la table de documents.
gNegativeSpécifie le score g minimum nécessaire pour qu'un terme négatif soit considéré pour l'extraction de règles.
gPositiveSpécifie le score g minimum nécessaire pour un terme positif.
maxCandidatesSpécifie le nombre de termes candidats à sélectionner pour chaque catégorie.
maxTriesInSpécifie la valeur k-in pour la recherche des k-meilleurs dans le processus d'ensemble de termes pour la création de règles.
maxTriesOutSpécifie la valeur k-out pour la recherche des k-meilleurs dans le processus d'ensemble de règles pour la création d'un jeu de règles.
minSupportsSpécifie le nombre minimum de documents dans lesquels un terme doit apparaître pour être utilisé dans la création d'une règle.
mNegativeSpécifie la valeur m pour le calcul de la précision estimée pour les termes négatifs.
mPositiveSpécifie la valeur m pour le calcul de la précision estimée pour les termes positifs.
nThreadsSpécifie le nombre de threads à utiliser par nœud.
tableSpécifie la table de données d'entrée pour l'extraction de règles.
termIdSpécifie la variable dans la table d'entrée qui contient l'ID du terme.
termInfoSpécifie les informations sur la table des termes.
useOldNamesSpécifie s'il faut utiliser les anciens noms de variables utilisés dans HPBOOLRULE.
Préparation des Données
Création des données de démonstration

Ce code crée deux tables CAS : `documents` qui contient les informations sur les documents et leurs catégories, et `terms_in_docs` qui mappe les termes aux documents. Ces tables sont nécessaires pour exécuter l'action `brTrain`.

1PROC CAS;
2 DATA casuser.documents;
3 INFILE DATALINES delimiter=',';
4 INPUT doc_id varchar(10) category varchar(20);
5 DATALINES;
6 doc1,cat1
7 doc2,cat1
8 doc3,cat2
9 doc4,cat2
10 doc5,cat1
11 ;
12 RUN;
13 
14 DATA casuser.terms_in_docs;
15 INFILE DATALINES delimiter=',';
16 INPUT doc_id varchar(10) term_id varchar(10);
17 DATALINES;
18 doc1,term1
19 doc1,term2
20 doc2,term1
21 doc2,term3
22 doc3,term2
23 doc3,term4
24 doc4,term4
25 doc4,term5
26 doc5,term1
27 doc5,term5
28 ;
29 RUN;
30QUIT;

Exemples

Cet exemple montre comment extraire des règles booléennes en utilisant les paramètres minimaux requis. Il utilise la table `terms_in_docs` comme entrée principale et la table `documents` pour obtenir les informations sur les cibles.

Code SAS® / CAS
Copié !
1PROC CAS;
2 ACTION boolRule.brTrain /
3 TABLE={name='terms_in_docs'},
4 docId='doc_id',
5 termId='term_id',
6 docInfo={
7 TABLE={name='documents'},
8 id='doc_id',
9 targets={'category'}
10 },
11 casOut={name='rules_output', replace=true};
12RUN;
13QUIT;
Résultat :
Une table CAS nommée `rules_output` est créée dans la caslib `casuser`. Elle contient les règles booléennes extraites, avec des informations telles que l'ID de la règle, la catégorie, la précision et le rappel.

Cet exemple plus détaillé ajuste plusieurs paramètres pour affiner le processus d'extraction de règles. Il définit des seuils pour les scores g (`gPositive`, `gNegative`), le support minimum des termes (`minSupports`), et contrôle le processus de recherche avec `maxCandidates`, `maxTriesIn` et `maxTriesOut`. Les résultats, incluant les règles, les termes des règles et les termes candidats, sont sauvegardés dans des tables de sortie distinctes.

Code SAS® / CAS
Copié !
1PROC CAS;
2 ACTION boolRule.brTrain /
3 TABLE={name='terms_in_docs'},
4 docId='doc_id',
5 termId='term_id',
6 docInfo={
7 TABLE={name='documents'},
8 id='doc_id',
9 targets={'category'},
10 targetType='MULTICLASS'
11 },
12 gPositive=5,
13 gNegative=5,
14 minSupports=1,
15 maxCandidates=100,
16 maxTriesIn=50,
17 maxTriesOut=20,
18 casOut={
19 rules={name='detailed_rules', replace=true},
20 ruleTerms={name='detailed_rule_terms', replace=true},
21 candidateTerms={name='candidate_terms', replace=true}
22 };
23RUN;
24QUIT;
Résultat :
Trois tables CAS sont créées : `detailed_rules` (contenant les règles générées), `detailed_rule_terms` (mappant les termes à chaque règle), et `candidate_terms` (listant les termes considérés pour l'extraction). Ces tables fournissent une vue complète du processus et des résultats de l'entraînement.

FAQ

À quoi sert l'action `brTrain` ?
Quels sont les paramètres requis pour l'action `brTrain` ?
Que spécifie le paramètre `docInfo` ?
Que spécifie le paramètre `termInfo` ?
Quelles sont les tables de sortie générées par l'action `brTrain` ?
Quel est le rôle du paramètre `gPositive` ?
Quel est le rôle du paramètre `gNegative` ?
Que fait le paramètre `maxCandidates` ?
À quoi servent les paramètres `maxTriesIn` et `maxTriesOut` ?
Que signifie le paramètre `minSupports` ?