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.
Respuestas
¿Demasiados anuncios?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í
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.
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.
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.
- Ver respuestas anteriores
- Ver más respuestas