lunes, noviembre 12, 2007

Administración de reclamos

Hace días que tengo en mi bandeja de entrada un correo con la referencia a un paper que no había tenido tiempo de leer.

De por sí, el título es sugerente: "Improving Customer Compliant Management by Automatic Email Classification Using Linguistic Style Features as Predictors".

La base de este paper es lo más interesante. Hasta ahora buscamos clasificar documentos de textos a partir de los términos que lo conforman; pero ellos hacen una clasificación simple: es o no es el correo un reclamo, a partir de una mezcla de la información del contenido sumado con la información que entrega el estilo lingüístico del correo.

Trabajo en una empresa que comercializa productos en acero, y les digo que el tema de la administración de los reclamos no es un tema para nada menor; y donde la administración oportuna de estos hace la diferencia entre los participantes de este mercado.

Ellos aseguran que al agregar el componente lingüístico al análisis de los correos, se mejora la predicción de si se trata o no de un reclamo, por lo que se puede dar un trato más apropiado a estos mensajes, disminuyendo el esfuerzo final de la empresa y aumentando la satisfacción del cliente. La mejora se puede notar en los tiempos, pero también en la efectividad de las respuestas al poder derivar las denuncias al personal apropiado sin necesidad de preparar al personal a quien corresponde responder consultas estar preparado en todos los ámbitos.

Entre las características que destacan, está que no usa la aproximación espacio-vector por el tamaño de la matriz resultante, sino Indexación Semántica Latente por medio de Descomposición Singular de Valores, esto es, la representación de los documentos por k conceptos representativos; donde la información del estilo lingüístico se introduce como un nuevo tipo de información textual.

Aproximación Espacio Vector

La idea de incorporar el estilo lingüístico no es lo único interesante de este paper. También se da una descripción de la aproximación espacio vector que es de lo más interesante.

Primero veremos qué es lo que propone y luego lo analizamos.

En esta representación, los documentos son convertidos en vectores de característica espacial basado en el peso de sus frecuencias a fin de seleccionar aquellos que entreguen más información a partir de su presencia en un diccionario.

Todo empieza con un preproceso, en el cual, se aplica una técnica de raw text cleaning. En esta, los caracteres especiales y la puntuación del texto se separa de las palabras.
En seguida, los errores ortográficos se corrigen comparando las palabras en el documento con el diccionario de referencia.

Luego viene el proceso de tokenización, en el que el documento se divide en tokens o palabras, donde los espacios sirven de separadores.
El resto del texto es dividido en palabras convertidas en minúsculas.
Las palabras son sumarizadas en informativas y no informativas. Las no informativas son los determinantes , conjunciones, auxiliares, preposiciones, pronombres, artículos, interjecciones, nombres propios, abreviaciones y números. Los informativos son los sustantivos , verbos, adjetivos y adverbios.

En seguida, viene el proceso de lematización, en el que las distintas variaciones de las palabras se llevan a una sola forma representativa llamada stem; lo que reduce el corpus del diccionario y aumenta la performance.
Todas las variaciones morfológicas se tratan de manera natural comparándolas con el diccionario de referencia. Si el término no es reconocido, el stemmer aplica alguna decisión estandar para entregar el stem correcto.

Lo siguiente es eplicar el term filtering, que sirve para reducir el número de términos irrelevantes: primero se sacan las palabras raras, del mismo modo que se sacan aquellas que aparecen menos de tres veces.
La misma regla se aplica en las palabras muy comunes como "a", "el", etc. Estas son conocidas como stopwords, y son palabras por su altea frecuencia no son discriminativas. Estas palabras están ligadas al idioma.

Al terminar el proceso, de todas formas se revisa el resultado manualmente.

Al final se consigue una matriz de grandes dimensiones de términos por documento, donde cada celda representa la frecuencia bruta de aparición del término en el documento.

Comentarios

Hay varias cosas que me llamaron la atención de la descripción del proceso.

Lo primero es la corrección de errores ortográficos. Si bien pareciera ser demasiado evidente que puede encontrarse este tipo de errores, hasta ahora no recuerdo haber leído de técnicas para la corrección de errores ortográficos. De hecho, si se piensa, puede ser bastante aventurado hacer este tipo de correcciones de manera automática tal y como lo propone el autor. Más aún, basado en un diccionario que no sabemos si es completo.
¿Me puse demasiado quisquilloso?. Veámoslo de la siguiente manera: si encuentro un reportaje donde habla de "wena Naty", existe la probabilidad que termine corregido "wena" por "vena" y "Naty" desechado por baja frecuencia o por ser un nombre propio.

De ahí surge mi segunda observación: dice que se excluyen los nombres propios. Me parece, de modo intuitivo y aún no tengo una comprobación experimental del hecho, que los nombres propios podrían entregar tanto o más información útil para la categorización de un texto que un sustantivo o un verbo.

La tercera observación va por el lado de la decisión estándar que tomaría el stemmer cuando no encuentra una palabra en el diccionario. Al respecto, creo que tomar una decisión no asistida puede ser contraproducente; aunque claro, no da ninguna pista de qué es una decisión estándar como para poder criticar con más fundamento.

Lo del term filtering y ese número de 3 como umbral para no considerar una palabra me parece que no corresponde. La experiencia indica que ese número no es arbitrario y es producto del tunning del procedimiento. Puede que ellos lo hayan conseguido así, pero no lo dicen.

Por último dice que el proceso se revisa manualmente, lo que me parece un acierto que no siempre hacemos. La importancia de esta revisión es fundamental, sobre todo en los primeros pasos del clasificador y mientras se consigue afinarlo adecuadamente.

Por ahora voy a dejar este post hasta aquí, y terminamos de analizar en el post siguiente.

No hay comentarios.: