viernes, 21 de diciembre de 2012

Clasificación de texto

¿Qué es la clasificación de texto y para qué sirve?

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