Scénario de test & Cas d'usage
Simulación de un corpus de contratos tokenizado con etiquetas BIO (Beginning, Inside, Outside).
| 1 | DATA mycas.contratos_legales; |
| 2 | LENGTH token $50 label $20; |
| 3 | INFILE DATALINES dlm='|'; |
| 4 | INPUT token $ label $; |
| 5 | DATALINES; |
| 6 | El|O |
| 7 | contrato|O |
| 8 | es|O |
| 9 | entre|O |
| 10 | TechCorp|B-ORG |
| 11 | S.A.|I-ORG |
| 12 | y|O |
| 13 | Juan|B-PER |
| 14 | Pérez|I-PER |
| 15 | firmado|O |
| 16 | el|O |
| 17 | 12|B-DATE |
| 18 | de|I-DATE |
| 19 | Marzo|I-DATE |
| 20 | por|O |
| 21 | 5000|B-MONEY |
| 22 | Dolares|I-MONEY |
| 23 | ; |
| 24 | RUN; |
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.tableInfo / TABLE='contratos_legales'; |
| 4 | RUN; |
| 5 |
| 1 | PROC CAS; |
| 2 | conditionalRandomFields.crfTrain / |
| 3 | TABLE={name='contratos_legales'}, |
| 4 | target='label', |
| 5 | template='U00:%w[0,0] |
| 6 | U01:%w[0,1] |
| 7 | B', |
| 8 | model={ |
| 9 | attr={name='legal_model_attr', replace=true}, |
| 10 | feature={name='legal_model_feat', replace=true}, |
| 11 | label={name='legal_model_label', replace=true} |
| 12 | }; |
| 13 | RUN; |
La acción debe ejecutarse sin errores, generando las tablas del modelo (legal_model_*) en la caslib. El modelo debe haber aprendido a asociar tokens como 'TechCorp' con la etiqueta 'B-ORG' basándose en la plantilla de características proporcionada.