Bewertet Dokumente anhand eines CRF-Modells (Conditional Random Fields). Diese Aktion verwendet ein trainiertes CRF-Modell, um Sequenzen von Tokens in Eingabedokumenten zu kennzeichnen und die wahrscheinlichste Sequenz von Labels für jede Sequenz von Tokens vorherzusagen.
| Parameter | Beschreibung |
|---|---|
| casOut | Gibt die CAS-Tabelle an, die die getaggten Ausgabedaten enthalten soll. |
| model | Gibt die Eingabemodellierungstabellen an, die das trainierte CRF-Modell definieren. |
| table | Gibt den Namen der CAS-Tabelle an, die die zu bewertenden Eingabedaten enthält. |
| target | Gibt den Namen der vorhergesagten/versteckten Variable in der Ausgabetabelle an. |
Dieses Beispiel zeigt, wie eine Eingabetabelle für das Scoring erstellt wird. Die Tabelle 'score_data' enthält eine ID und den Text, der bewertet werden soll. Diese Tabelle wird dann in die Caslib 'casuser' geladen.
| 1 | DATA casuser.score_data; |
| 2 | LENGTH text $200; |
| 3 | INFILE DATALINES delimiter='|'; |
| 4 | INPUT id text$; |
| 5 | DATALINES; |
| 6 | 1|SAS is a company based in Cary, NC. |
| 7 | 2|John works at SAS. |
| 8 | ; |
| 9 | RUN; |
Dieses Beispiel zeigt, wie die Aktion `crfScore` verwendet wird, um eine Eingabetabelle mit einem vorhandenen CRF-Modell zu bewerten. Das Modell wird aus den Tabellen 'crf_model_attr', 'crf_model_label', 'crf_model_feature', 'crf_model_template' und 'crf_model_attr_feature' geladen. Die bewerteten Ergebnisse werden in der Tabelle 'crf_scored' gespeichert.
| 1 | PROC CAS; |
| 2 | conditionalRandomFields.crfScore |
| 3 | TABLE={name='score_data'}, |
| 4 | model={name='crf_model'}, |
| 5 | casOut={name='crf_scored', replace=true}, |
| 6 | target='predicted_label'; |
| 7 | RUN; |
| 8 | QUIT; |
Dieses Beispiel zeigt einen detaillierteren Aufruf der Aktion `crfScore`, bei dem jede Komponente des CRF-Modells explizit über separate Tabellen ('labels', 'attrs', 'features', 'attr_features', 'templates') angegeben wird. Die Eingabedaten stammen aus der Tabelle 'test_data', und die Ausgabe wird in die Tabelle 'scored_output' in der Caslib 'casuser' geschrieben, wobei alle vorhandenen Tabellen mit demselben Namen ersetzt werden.
| 1 | PROC CAS; |
| 2 | conditionalRandomFields.crfScore |
| 3 | TABLE={name='test_data' caslib='casuser'}, |
| 4 | model={ |
| 5 | label={name='labels'}, |
| 6 | attr={name='attrs'}, |
| 7 | feature={name='features'}, |
| 8 | attrfeature={name='attr_features'}, |
| 9 | template={name='templates'} |
| 10 | }, |
| 11 | casOut={name='scored_output', caslib='casuser', replace=true}, |
| 12 | target='predicted_entity'; |
| 13 | RUN; |
| 14 | QUIT; |