conditionalRandomFields crfTrain

Análisis de Sentimiento en Redes Sociales con Datos Sucios

Scénario de test & Cas d'usage

Contexto empresarial

Una agencia de marketing analiza comentarios en redes sociales. Los datos están 'sucios': contienen emojis, caracteres especiales, y algunos tokens perdieron su etiqueta durante la ingestión (valores nulos). Se busca probar cómo reacciona el algoritmo ante entradas inconsistentes y optimizadores alternativos.
Preparación de datos

Datos con ruido: emojis, caracteres nulos y secuencias rotas.

¡Copiado!
1DATA mycas.social_noise;
2 LENGTH token $50 label $20;
3 INFILE DATALINES dlm='|';
4 INPUT token $ label $;
5 DATALINES;
6Me|O
7encanta|B-POS
8este|O
9producto|O
10👍|B-POS
11.|O
12Odio|B-NEG
13.||
14Error|B-ERR
15#@!|I-ERR
16;
17RUN;

Étapes de réalisation

1
Intento de entrenamiento utilizando el algoritmo 'SGD' (Stochastic Gradient Descent) en lugar del predeterminado, sobre datos que contienen valores faltantes en la columna objetivo (target).
¡Copiado!
1PROC 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 };
11RUN;

Resultado esperado


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.