La clasificación de texto sirve para asignar un tópico o categoría de forma automática a cualquier extracto de texto. Lo podríamos utilizar, por ejemplo para:
- clasificar un email como "spam" o "no spam"
- identificar al autor de un texto
- identificar el sexo o edad del autor de un texto
- identificar el lenguaje en el cual está escrito un texto
- realizar trabajo de análisis de sentimientos (sentiment analysis en ingles, algo que veremos más adelante)
Definiciones:
Entradas:
- un documento d
- un conjunto prefijado de clases C={c1, c2, c3,...,cj}
Salidas:
- un clase c perteneciente al conjunto C
Métodos de Clasificación de Textos
Reglas escritas a manos:
Para la detección del spam, por ejemplo, podría tener una serie de reglas escritas por una persona que conozca sobre ese tópico:
REGLA: sí dirección-email-remitente (campo "from") está en una lista-negra OR el asunto (subject) contiene la palabra: "viagra" => SPAM
Pros: la precisión puede ser muy alta.
Contras: construir y mantener las reglas puede ser costoso.
Aprendizaje automático supervisado:
En este caso tendremos como entrada, ademas de lo previamente dicho, un conjunto de documentos clasificados de forma manual, es decir un conjunto m tal que m={(d1,c1),...,(dn,cj)}
Y la salida será un clasificador entrenado, el cual recibirá un documento d y devolverá una clase c. Notar que para el clasificador las entradas y salidas sí serán las mencionadas anteriormente.
Entradas:
- un documento d
- un conjunto prefijado de clases C={c1, c2, c3,...,cj}
- un conjunto m de documentos clasificados m={(d1,c1),...,(dn,cj)}
Salidas:
- un clasificador entrenado y: d-->c
Tipos de clasificadores
Hay varios tipos de clasificadores que se pueden entrenar para realizar esta tarea:
- Naïve Bayes (Bayes ingenuo)
- Logistic Regression (Regresión logística)
- Support-Vector Machines (Maquinas de Soporte de vectores)
- K-Nearest Neighbors (K-vecinos más cercanos)
No hay comentarios:
Publicar un comentario