33 votos

Clasificación estadística de textos

Soy un programador sin conocimientos de estadística, y actualmente estoy buscando diferentes métodos de clasificación para un gran número de documentos diferentes que quiero clasificar en categorías predefinidas. He estado leyendo sobre kNN, SVM y NN. Sin embargo, tengo algunos problemas para empezar. ¿Qué recursos me recomiendan? Conozco bastante bien el cálculo monovariable y multivariable, así que mis matemáticas deberían ser lo suficientemente fuertes. También tengo el libro de Bishop sobre redes neuronales, pero ha resultado ser un poco denso como introducción.

20voto

Dori Puntos 1325

Recomiendo estos libros - también están muy bien valorados en Amazon:

"Text Mining" de Weiss

"Programación de aplicaciones de minería de textos", por Konchady

En cuanto al software, recomiendo RapidMiner (con el plugin de texto), gratuito y de código abierto.

Este es mi "proceso de minería de textos":

  • recoger los documentos (normalmente un rastreo de la web)
    • [muestra si es demasiado grande]
    • marca de tiempo
    • quitar el margen de beneficio
  • tokenizar: dividir en caracteres, palabras, n-gramas o ventanas deslizantes
  • la derivación (también conocida como lematización)
    • [incluir sinónimos]
    • ver algoritmo porter o snowflake los pronombres y artículos suelen ser malos predictores
  • eliminar las palabras clave
  • vectorización de características
    • binario (aparece o no aparece)
    • recuento de palabras
    • frecuencia relativa: tf-idf
    • ganancia de información, chi cuadrado
    • [tienen un valor mínimo para su inclusión]
  • ponderación
    • ¿podría aumentar el peso de las palabras en la parte superior del documento?

A continuación, puede comenzar el trabajo de clasificación. kNN, SVM o Naive Bayes, según corresponda.

Puedes ver mi serie de vídeos de minería de textos aquí

11voto

alumb Puntos 2586

Un gran texto introductorio que cubre los temas que has mencionado es Introducción a la recuperación de información que está disponible en línea en texto completo de forma gratuita.

Introduction to Information Retrieval

5voto

La red neuronal puede ser demasiado lenta para un gran número de documentos (además, ahora está bastante obsoleta).
Y también puede comprobar Random Forest entre los clasificadores; es bastante rápido, escala bien y no necesita un ajuste complejo.

5voto

Omar Kooheji Puntos 384

Si viene del lado de la programación, una opción es utilizar el Kit de herramientas de lenguaje natural (NLTK) para Python. Hay un libro de O'Reilly, disponible libremente que puede ser una introducción menos densa y más práctica a la construcción de clasificadores de documentos, entre otras cosas.

Si está interesado en reforzar el aspecto estadístico, el libro en curso de Roger Levy, Modelos probabilísticos en el estudio del lenguaje no estaría mal que lo leyera. Está escrito para estudiantes de posgrado de ciencias cognitivas/competencias que se inician en las técnicas estadísticas de PNL.

4voto

Scott Cowan Puntos 156

En primer lugar, puedo recomendarle el libro Fundamentos del procesamiento estadístico del lenguaje natural por Manning y Schütze.

Los métodos que yo utilizaría son las distribuciones de frecuencia de palabras y los modelos lingüísticos ngram. El primero funciona muy bien cuando quieres clasificar por temas y tus temas son específicos y expertos (con palabras clave). Los modelos de ngramas son la mejor manera cuando quieres clasificar estilos de escritura, etc.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X