?>
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.
| Paramètre | Description |
|---|---|
| casOut | Spécifie la table CAS de sortie qui contient les informations sur les correspondances de concepts. |
| docId | Spécifie le nom de la variable de la table CAS qui contient les identifiants de document. |
| dropConcepts | Spécifie une liste de concepts principaux à exclure des tables CAS de sortie. |
| factOut | Spécifie la table CAS de sortie qui contient les informations sur les correspondances de faits. |
| language | Spécifie la langue utilisée dans la table d'entrée. La valeur par défaut est "ENGLISH". |
| litiChunkSize | Spé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. |
| matchType | Spécifie le type de correspondance à utiliser. "ALL" (par défaut) renvoie toutes les correspondances, "BEST" la meilleure, et "LONGEST" la plus longue. |
| model | Spé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é. |
| parseTableIn | Spé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. |
| parseTableOut | Spé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`. |
| ruleMatchOut | Spé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`. |
| table | Spécifie une table CAS d'entrée qui contient les documents d'entrée à analyser. |
| text | Spécifie le nom de la variable de la table CAS qui contient le texte à traiter. |
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.
1 DATA casuser.reviews; 2 INFILE DATALINES delimiter='|'; 3 LENGTH text $500 id $10; 4 INPUT id$ text$; 5 DATALINES; 6 id1|Le service client était excellent, très réactif. 7 id2|Je suis déçu par la qualité du produit. Il s'est cassé après une semaine. 8 id3|Le produit est bon, mais le support technique est lent. 9 ; 10 RUN;
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'.
| 1 | PROC 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}; |
| 8 | RUN; |
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.
| 1 | PROC 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}; |
| 13 | RUN; |