L'action `compileCategory` est utilisée pour construire un modèle de catégories (fichier MCO) à partir de règles de catégorisation définies par l'utilisateur. Ce modèle peut ensuite être utilisé pour classer des documents texte. L'action prend en entrée une table contenant les règles de catégorisation et produit en sortie une table CAS contenant le modèle binaire compilé.
| Paramètre | Description |
|---|---|
| casOut | Spécifie la table CAS de sortie qui contiendra le modèle de catégories compilé (MCO). |
| concept | Spécifie une table CAS d'entrée optionnelle contenant un binaire de modèle de concepts (LI) à utiliser lors de la compilation. |
| config | Spécifie le nom de la variable dans la table d'entrée qui contient les règles de catégorie. |
| language | Spécifie la langue des binaires linguistiques à utiliser. La valeur par défaut est 'en' (anglais). |
| ruleId | Spécifie le nom de la variable dans la table d'entrée qui contient les identifiants des règles. |
| table | Spécifie la table CAS d'entrée contenant la configuration des règles de catégorie. |
| tokenizer | Spécifie le tokeniseur à utiliser. 'STANDARD' (défaut) utilise un tokeniseur spécifique à la langue. 'BASIC' utilise un tokeniseur simple basé sur les espaces et la ponctuation, disponible pour le chinois, le japonais et le coréen. |
Ce code crée une table CAS nommée 'data_rules' avec une seule colonne 'config'. Chaque ligne de cette colonne contient une règle de catégorisation. Ces règles seront utilisées pour compiler le modèle de catégories.
| 1 | DATA casuser.data_rules; |
| 2 | LENGTH config $32767; |
| 3 | INFILE DATALINES delimiter='|'; |
| 4 | INPUT config $; |
| 5 | DATALINES; |
| 6 | categories: |
| 7 | - name: category_1 |
| 8 | rules: |
| 9 | - (SENT, "I like this a lot") |
| 10 | - name: category_2 |
| 11 | rules: |
| 12 | - (SENT, "I do not like this") |
| 13 | ; |
| 14 | RUN; |
Cet exemple de base compile un modèle de catégories à partir des règles définies dans la table `data_rules` et enregistre le modèle binaire dans la table `category_model_mco`.
| 1 | |
| 2 | PROC CAS; |
| 3 | textRuleDevelop.compileCategory / TABLE={name='data_rules', caslib='casuser'} config='config' casOut={name='category_model_mco', caslib='casuser', replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 |
Cet exemple plus complexe compile un modèle de catégories en utilisant un modèle de concepts pré-existant (table `concept_model_li`) pour enrichir la logique de catégorisation. Il spécifie également l'utilisation du tokeniseur 'BASIC', ce qui est pertinent pour certaines langues asiatiques.
| 1 | |
| 2 | PROC CAS; |
| 3 | textRuleDevelop.compileCategory / TABLE={name='data_rules', caslib='casuser'} config='config' concept={name='concept_model_li', caslib='casuser'} language='ja' tokenizer='BASIC' casOut={name='category_model_mco_advanced', caslib='casuser', replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 |