Scénario de test & Cas d'usage
Datos con ruido: emojis, caracteres nulos y secuencias rotas.
| 1 | DATA mycas.social_noise; |
| 2 | LENGTH token $50 label $20; |
| 3 | INFILE DATALINES dlm='|'; |
| 4 | INPUT token $ label $; |
| 5 | DATALINES; |
| 6 | Me|O |
| 7 | encanta|B-POS |
| 8 | este|O |
| 9 | producto|O |
| 10 | 👍|B-POS |
| 11 | .|O |
| 12 | Odio|B-NEG |
| 13 | .|| |
| 14 | Error|B-ERR |
| 15 | #@!|I-ERR |
| 16 | ; |
| 17 | RUN; |
| 1 | PROC CAS; |
| 2 | conditionalRandomFields.crfTrain / |
| 3 | TABLE={name='social_noise'}, |
| 4 | target='label', |
| 5 | template='U00:%w[0,0]', |
| 6 | model={name='social_model', replace=true}, |
| 7 | nloOpts={ |
| 8 | algorithm='SGD', |
| 9 | optmlOpt={maxIters=20} |
| 10 | }; |
| 11 | RUN; |
Se espera validar la robustez del algoritmo SGD ante datos escasos. La acción debería ignorar las filas con etiquetas nulas (como la fila 7 en data_prep) o emitir una advertencia en el log, pero finalizar exitosamente la creación de las tablas del modelo sin abortar el proceso completo.