crfScore
Description
L'action crfScore du set d'actions conditionalRandomFields %SAS Documentation est le détective privé de vos données textuelles. Elle utilise un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). de Champs Aléatoires ConditionnelsModèle statistique (CRF) prédisant des séquences d'étiquettes en tenant compte du contexte global. Idéal en NLP pour l'extraction d'entités nommées ou la segmentation de texte structuré. (CRF) préalablement entraîné pour prédire des étiquettes sur des séquences de mots. C'est l'outil idéal pour des tâches comme la reconnaissance d'entités nomméesGemini said
Technique de NLP identifiant et classant les mots d'un texte dans des catégories prédéfinies (noms propres, lieux, dates, organisations) pour extraire des informations structurées. (NER) ou l'étiquetage morphosyntaxiqueAnalyse combinée de la structure des mots (morphologie) et de leur rôle dans la phrase (syntaxe). Essentiel en NLP pour l'étiquetage grammatical (POS tagging) et la compréhension du sens.. Une fois que votre modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). a appris la différence entre un 'Apple' (le fruit) et 'Apple' (la marque) grâce au contexte, crfScore applique cette logique à de nouvelles données pour un étiquetage précis et automatisé. C'est un peu comme donner des lunettes de lecture intelligentes à votre serveur CASMoteur analytique "in-memory" de SAS Viya. Il traite les données en parallèle (MPP) sur plusieurs nœuds pour offrir une puissance de calcul massive et une exécution ultra-rapide des actions..
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| casOut | Spécifie la table CAS de sortie qui contiendra les données textuelles étiquetées par le modèle. |
| model | Un dictionnaire complexe spécifiant les tables d'entrée du modèle CRF. Il doit inclure les tables : attr (attributs), attrfeature (mapping attributs-caractéristiques), feature (caractéristiques), label (étiquettes) et template (modèles de caractéristiques). |
| table | La table CAS d'entrée contenant les documents ou les séquences de tokens à analyser. |
| target | Définit le nom de la variable dans la table de sortie qui recevra les prédictions (les étiquettes cachées calculées). |
Préparation des données
Préparation des données pour le Scoring CRF
Pour utiliser crfScore, nous avons besoin d'une table de texte à étiqueter et d'un modèle déjà entraîné (généralement via crfTrain). Ici, nous simulons une structure simplifiée.
| 1 | DATA casuser.input_text; |
| 2 | LENGTH word $20; |
| 3 | INPUT doc_id sentence_id word $; |
| 4 | DATALINES; |
| 5 | 1 1 Le |
| 6 | 1 1 petit |
| 7 | 1 1 chat |
| 8 | 1 1 boit |
| 9 | 1 1 du |
| 10 | 1 1 lait |
| 11 | ; |
| 12 | RUN; |
| 13 | PROC CAS; |
| 14 | /* Note: Dans un scénario réel, les tables du modèle proviendraient de l'action crfTrain */ |
| 15 | TABLE.loadTable / path="model_labels.sashdat" caslib="Public" RESULT=r; |
| 16 | QUIT; |
Exemples d'utilisation
Scoring de base avec un modèle CRF
Applique un modèle CRF existant sur une table de tokens pour prédire les étiquettes de séquence.
| 1 | PROC CAS; |
| 2 | conditionalRandomFields.crfScore / |
| 3 | TABLE={name="input_text"}, |
| 4 | model={ |
| 5 | label={name="model_labels"}, |
| 6 | attr={name="model_attrs"}, |
| 7 | feature={name="model_features"}, |
| 8 | attrfeature={name="model_attrfeatures"}, |
| 9 | template={name="model_template"} |
| 10 | }, |
| 11 | target="predicted_label", |
| 12 | casOut={name="scored_output", replace=true}; |
| 13 | RUN; |
Résultat Attendu :
Scoring complet avec options de sortie
Cet exemple illustre l'appel exhaustif en spécifiant toutes les tables du modèle requises pour une opération de scoring réussie sur l'architecture distribuée de Viya.
| 1 | PROC CAS; |
| 2 | conditionalRandomFields.crfScore / |
| 3 | TABLE={caslib="casuser", name="input_text", where="doc_id=1"}, |
| 4 | model={ |
| 5 | label={caslib="Public", name="crf_labels"}, |
| 6 | attr={caslib="Public", name="crf_attrs"}, |
| 7 | feature={caslib="Public", name="crf_features"}, |
| 8 | attrfeature={caslib="Public", name="crf_attrfeatures"}, |
| 9 | template={caslib="Public", name="crf_template"} |
| 10 | }, |
| 11 | target="tag_predit", |
| 12 | casOut={caslib="casuser", name="final_tags", replace=true, promote=true}; |
| 13 | RUN; |
| 14 | TABLE.fetch / TABLE="final_tags"; |
| 15 | QUIT; |