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; |
Une chaîne hôtelière souhaite analyser des milliers d'avis clients pour identifier rapidement les points forts et les points faibles mentionnés. L'objectif est de catégoriser le...
Un institut de recherche médicale doit analyser des millions de comptes-rendus médicaux pour des études épidémiologiques. Le processus est long et coûteux. L'objectif est d'accé...
Un site de e-commerce veut extraire automatiquement des attributs (marque, produit, couleur) à partir de descriptions textuelles fournies par différents vendeurs. Les données so...