java - official - weka para linux
Java Open Source Text Mining Frameworks (7)
Quiero saber cuál es el mejor marco de código abierto basado en Java para Text Mining, para usar botg Machine Learning y Dictionary Methods.
Estoy usando Mallet pero no hay mucha documentación y no sé si se ajustará a todos mis requisitos.
Aunque no es un marco de minería de textos especializado, Weka tiene una serie de clasificadores generalmente empleados en tareas de minería de textos tales como: SVM, kNN, NaiveBayes multinomial, entre otros.
También tiene algunos filtros para procesar con datos textuales como el filtro StringToWordVector
que puede realizar la transformación TF / IDF.
Consulte el sitio web Weka wiki para obtener más información.
Creé un reconocedor de entidad nombrado de entropía máxima para datos CoNLL utilizando OpenNLP MaxEnt http://sourceforge.net/projects/maxent/ para un curso una vez.
Sin embargo, una gran cantidad de preprocesamiento de datos con scripts personalizados de Perl obtiene todas las características extraídas en buenos vectores numéricos.
Es posible que ya sepa sobre GATE: http://gate.ac.uk/
... pero eso es lo que hemos utilizado (en mi trabajo diario) para muchos problemas diferentes de minería de textos. Es bastante flexible y abierto.
Sinceramente, creo que las diversas respuestas que aquí se presentan son muy buenas. Sin embargo, para cumplir con mis requisitos, he elegido usar Apache UIMA con ClearTK . Es compatible con varios métodos de ML y no tengo ningún problema de licencias. Además, puedo hacer envoltorios para otras metodologías ML y aprovecho el marco UIMA, que está muy bien organizado y es rápido.
Gracias a todos por sus interesantes respuestas.
Saludos cordiales, ukrania
Tal vez eche un vistazo a las herramientas Java Open Source NLP y Text Mining .
Usamos lucene para procesar transmisiones en vivo desde internet. Tiene una API nativa de Java.
http://lucene.apache.org/java/docs/
A continuación, puede utilizar mahout, que es un conjunto de algoritmos de aprendizaje machien que operan sobre lucene.
Utilicé LingPipe , un conjunto de bibliotecas de Java para el análisis lingüístico del lenguaje humano , para tareas de minería de textos (y otras relacionadas).
Es un paquete de software muy bien documentado, y el sitio contiene varios tutoriales que explican detalladamente cómo hacer una determinada tarea con LingPipe, como el reconocimiento de entidad nombrada . También hay un grupo de noticias, en el que puede publicar cualquier pregunta que tenga sobre el software (o tareas relacionadas con NLP), y tener una pronta respuesta por parte de los autores del paquete; y por supuesto, un blog .
El código fuente también es muy fácil de seguir y está bien documentado, lo que para mí siempre es una gran ventaja.
En cuanto a los algoritmos de Machine Learning, hay muchos, desde Naïve Bayes hasta Conditional Random Field . Por otro lado, para los algoritmos de comparación de diccionarios, tienen un ExactDicitonaryChunker , que es una implementación del algoritmo Aho-Corasich (un algoritmo muy, muy, rápido para esta tarea).
En resumen, creo que es uno de los mejores paquetes de software NLP para Java (no he usado todos los paquetes que hay, así que no puedo decir que sea el mejor), y definitivamente lo recomiendo para la tarea que tienes a mano.