Scénario de test & Cas d'usage
Puntuación de documentos de texto basada en reglas.
Descubrir todas las acciones de textRuleScoreCrea una tabla de transacciones con casos límite: texto nulo, texto vacío, texto muy largo. También crea un modelo MCO con pesos para probar el algoritmo 'WEIGHTED'.
| 1 | DATA mycas.transactions; |
| 2 | INFILE DATALINES delimiter='|'; |
| 3 | LENGTH trans_id $10 description $1000; |
| 4 | INPUT trans_id $ description $; |
| 5 | DATALINES; |
| 6 | TXN01|Transferencia urgente a cuenta externa para pago proveedor. |
| 7 | TXN02|Retiro en efectivo de alto valor en cajero automático. |
| 8 | TXN03|. |
| 9 | TXN04| |
| 10 | TXN05|Pago regular de nómina para empleados del mes de abril, procesado según el acuerdo estándar y sin ninguna modificación con respecto al mes anterior. |
| 11 | TXN06|URGENTE: pago en efectivo para liquidar deuda pendiente. |
| 12 | ; |
| 13 | RUN; |
| 14 | |
| 15 | DATA mycas.compliance_model_mco; |
| 16 | LENGTH _term_ $32 _category_ $32 _weight_ 8.; |
| 17 | INPUT _term_ $ _category_ $ _weight_; |
| 18 | DATALINES; |
| 19 | urgente SOSPECHOSO 1.5 |
| 20 | efectivo SOSPECHOSO 2.0 |
| 21 | externa SOSPECHOSO 1.0 |
| 22 | pago NORMAL 0.5 |
| 23 | nómina NORMAL 0.5 |
| 24 | ; |
| 25 | RUN; |
| 1 | PROC CAS; |
| 2 | textRuleScore.applyCategory / |
| 3 | TABLE={caslib='mycas', name='transactions'}, |
| 4 | model={caslib='mycas', name='compliance_model_mco'}, |
| 5 | docId='trans_id', |
| 6 | text='description', |
| 7 | scoringAlgorithm='FREQUENCY', |
| 8 | casOut={caslib='mycas', name='compliance_freq_results', replace=true}; |
| 9 | RUN; |
| 1 | PROC CAS; |
| 2 | textRuleScore.applyCategory / |
| 3 | TABLE={caslib='mycas', name='transactions'}, |
| 4 | model={caslib='mycas', name='compliance_model_mco'}, |
| 5 | docId='trans_id', |
| 6 | text='description', |
| 7 | scoringAlgorithm='WEIGHTED', |
| 8 | casOut={caslib='mycas', name='compliance_weighted_results', replace=true}; |
| 9 | RUN; |
La acción debe ejecutarse sin errores para ambas etapas. Las transacciones con descripción nula (TXN03) o vacía (TXN04) no deben ser categorizadas. Se crearán dos tablas de resultados: `compliance_freq_results` y `compliance_weighted_results`. La comparación de estas tablas permitirá evaluar cómo los diferentes algoritmos de puntuación afectan la clasificación, especialmente para TXN06, que debería tener una puntuación de 'SOSPECHOSO' más alta con el algoritmo 'WEIGHTED' debido a la combinación de 'urgente' y 'efectivo'.