?> applyConcept - WeAreCAS
textRuleScore

applyConcept

Description

L'action `applyConcept` effectue une extraction de concepts en utilisant un modèle d'extraction de concepts (fichier LI). Elle permet d'identifier et d'extraire des informations structurées à partir de données textuelles non structurées en se basant sur des règles linguistiques prédéfinies.

textRuleScore.applyConcept { casOut={...}, docId="string", dropConcepts={"string-1", ...}, factOut={...}, language="string", litiChunkSize="string", matchType="ALL"|"BEST"|"LONGEST", model={...}, parseTableIn={...}, parseTableOut={...}, ruleMatchOut={...}, table={...}, text="string" };
Paramètres
ParamètreDescription
casOutSpécifie la table CAS de sortie qui contient les informations sur les correspondances de concepts.
docIdSpécifie le nom de la variable de la table CAS qui contient les identifiants de document.
dropConceptsSpécifie une liste de concepts principaux à exclure des tables CAS de sortie.
factOutSpécifie la table CAS de sortie qui contient les informations sur les correspondances de faits.
languageSpécifie la langue utilisée dans la table d'entrée. La valeur par défaut est "ENGLISH".
litiChunkSizeSpécifie la taille des blocs de données (chunks) utilisés lors du traitement d'un document. La valeur par défaut est "32K". "ALL" traite le document entier en une seule fois.
matchTypeSpécifie le type de correspondance à utiliser. "ALL" (par défaut) renvoie toutes les correspondances, "BEST" la meilleure, et "LONGEST" la plus longue.
modelSpécifie une table CAS d'entrée qui contient le modèle LITI défini par l'utilisateur. Si non spécifié, le modèle de base est utilisé.
parseTableInSpécifie le nom de la table CAS contenant des documents pré-analysés, créée avec le paramètre `parseTableOut` lors d'un appel précédent.
parseTableOutSpécifie une table CAS de sortie pour contenir les documents pré-analysés, afin d'améliorer les performances lors d'utilisations futures avec `parseTableIn`.
ruleMatchOutSpécifie la table CAS de sortie qui contient les informations sur les correspondances de règles. Peut être utilisée comme entrée pour l'action `ruleGen`.
tableSpécifie une table CAS d'entrée qui contient les documents d'entrée à analyser.
textSpécifie le nom de la variable de la table CAS qui contient le texte à traiter.
Préparation des Données
Création des Données d'Exemple

Ce code crée une table CAS nommée 'reviews' contenant des commentaires de clients. Cette table sera utilisée pour illustrer l'extraction de concepts.

1DATA casuser.reviews;
2 INFILE DATALINES delimiter='|';
3 LENGTH text $500 id $10;
4 INPUT id$ text$;
5 DATALINES;
6id1|Le service client était excellent, très réactif.
7id2|Je suis déçu par la qualité du produit. Il s'est cassé après une semaine.
8id3|Le produit est bon, mais le support technique est lent.
9;
10RUN;

Exemples

Cet exemple simple applique un modèle de concepts (préalablement chargé dans 'mycas.concept_model') sur la colonne 'text' de la table 'reviews' et stocke les correspondances dans 'concept_matches'.

Code SAS® / CAS
Copié !
1PROC CAS;
2 textRuleScore.applyConcept /
3 TABLE={caslib="casuser", name="reviews"},
4 docId="id",
5 text="text",
6 model={caslib="casuser", name="concept_model"},
7 casOut={caslib="casuser", name="concept_matches", replace=true};
8RUN;

Cet exemple détaillé applique un modèle de concepts, spécifie la langue française, et génère trois tables de sortie : `concept_matches` pour les concepts, `fact_matches` pour les faits, et `rule_matches` pour les détails des règles. Il utilise également `matchType='LONGEST'` pour ne garder que la correspondance la plus longue et `dropConcepts` pour exclure le concept 'product' des résultats.

Code SAS® / CAS
Copié !
1PROC CAS;
2 textRuleScore.applyConcept /
3 TABLE={caslib="casuser", name="reviews"},
4 docId="id",
5 text="text",
6 model={caslib="casuser", name="concept_model"},
7 language="french",
8 matchType="LONGEST",
9 dropConcepts={"product"},
10 casOut={caslib="casuser", name="concept_matches", replace=true},
11 factOut={caslib="casuser", name="fact_matches", replace=true},
12 ruleMatchOut={caslib="casuser", name="rule_matches", replace=true};
13RUN;

FAQ

À quoi sert l'action 'textRuleScore.applyConcept' ?
Comment spécifier le modèle de concepts à utiliser ?
Quels paramètres sont nécessaires pour définir les données d'entrée à analyser ?
Quelle est l'utilité du paramètre 'casOut' ?
Est-il possible d'exclure certains concepts des résultats ?
Comment le paramètre 'matchType' influence-t-il les résultats ?
À quoi servent les tables 'factOut' et 'ruleMatchOut' ?
Comment peut-on optimiser les performances lors du traitement de grands documents ou de l'utilisation de l'opérateur CLAUS_n ?