Scénario de test & Cas d'usage
Puntuación de documentos de texto basada en reglas.
Descubrir todas las acciones de textRuleScoreSimula la creación de una tabla con 150,000 tickets de soporte y un modelo MCO para clasificarlos.
| 1 | DATA mycas.support_tickets (promote=yes); |
| 2 | LENGTH ticket_id $20 description $250; |
| 3 | DO i = 1 to 150000; |
| 4 | ticket_id = 'TICK-' || put(i, z8.); |
| 5 | select (mod(i, 4)); |
| 6 | when (0) description = 'El servidor no responde, error de conexión de red.'; |
| 7 | when (1) description = 'No puedo instalar el nuevo software, pide una licencia.'; |
| 8 | when (2) description = 'Mi monitor no enciende, parece un problema de hardware.'; |
| 9 | when (3) description = 'Recibí un cargo incorrecto en mi factura de este mes.'; |
| 10 | otherwise description = 'Otro problema general.'; |
| 11 | END; |
| 12 | OUTPUT; |
| 13 | END; |
| 14 | RUN; |
| 15 | |
| 16 | DATA mycas.ticket_model_mco; |
| 17 | LENGTH _term_ $32 _category_ $32; |
| 18 | INPUT _term_ $ _category_ $; |
| 19 | DATALINES; |
| 20 | servidor RED |
| 21 | red RED |
| 22 | conexión RED |
| 23 | software SOFTWARE |
| 24 | licencia SOFTWARE |
| 25 | instalar SOFTWARE |
| 26 | hardware HARDWARE |
| 27 | monitor HARDWARE |
| 28 | factura FACTURACION |
| 29 | cargo FACTURACION |
| 30 | ; |
| 31 | RUN; |
| 1 | PROC CAS; |
| 2 | textRuleScore.applyCategory / |
| 3 | TABLE={caslib='mycas', name='support_tickets'}, |
| 4 | model={caslib='mycas', name='ticket_model_mco'}, |
| 5 | docId='ticket_id', |
| 6 | text='description', |
| 7 | casOut={caslib='mycas', name='ticket_categories', replace=true}; |
| 8 | RUN; |
La acción debe procesar los 150,000 registros de manera eficiente y sin errores. Se debe crear la tabla `mycas.ticket_categories` con el `ticket_id` y la categoría correspondiente ('RED', 'SOFTWARE', 'HARDWARE', 'FACTURACION') para cada ticket. El escenario valida la escalabilidad y robustez de la acción bajo una carga de datos significativa.