tutorial stanford run outputformat online full corenlp nlp stanford-nlp opennlp gate uima

run - stanford nlp jar



PrecisiĆ³n: ANNIE vs Stanford NLP vs OpenNLP con UIMA (3)

Me gustaría añadir una nota más. UIMA y GATE son dos marcos para la creación de aplicaciones de procesamiento de lenguaje natural (NLP). Sin embargo, Name Entity Recognition (NER) es un componente básico de NLP y puede encontrar una implementación de NER, independiente de UIMA y GATE. La buena noticia es que, por lo general, puede encontrar una envoltura para un NER decente en UIMA y GATE. Para dejarlo claro veamos este ejemplo:

Es el mismo para el componente NER de Stanford.

Volviendo a su pregunta, este sitio web enumera los NER más modernos: http://www.aclweb.org/aclwiki/index.php?title=Named_Entity_Recognition_(State_of_the_art)

Por ejemplo, en la competencia MUC-7, el mejor participante llamado LTG obtuvo el resultado con una precisión de 93.39%.

http://www.aclweb.org/aclwiki/index.php?title=MUC-7_(State_of_the_art)

Tenga en cuenta que si desea utilizar dicho estado de implementación, es posible que tenga algún problema con su licencia.

Mi trabajo planea usar un clúster UIMA para ejecutar documentos a través de la extracción de entidades nombradas y qué no. Como lo entiendo, UIMA tiene muy pocos componentes de PNL empaquetados con él. He estado probando GATE por un tiempo y me siento bastante cómodo con él. Lo hace bien en el texto normal, pero cuando lo ejecutamos a través de algunos datos de prueba representativos, la precisión disminuye. Los datos de texto que tenemos internamente a veces son todos mayúsculas, a veces en minúsculas, o una combinación de los dos en el mismo documento. Incluso utilizando las reglas de mayúsculas de ANNIE, la precisión aún deja mucho que desear. Recientemente he oído hablar de Stanford NLP y OpenNLP, pero no he tenido tiempo de entrenarlos y probarlos ampliamente. ¿Cómo se comparan esos dos en términos de precisión con ANNIE? ¿Trabajan con UIMA como hace GATE?

Gracias por adelantado.


No es posible / razonable dar una estimación general del rendimiento de estos sistemas. Como dijiste, en tus datos de prueba la precisión disminuye. Eso es por varias razones, una es las características de idioma de sus documentos, otra es las características de las anotaciones que espera ver. Afaik para cada tarea NER hay pautas de anotación similares pero aún diferentes.

Dicho esto, en tus preguntas:

ANNIE es el único sistema NER basado en reglas de código abierto gratuito en Java que pude encontrar. Está escrito para artículos de noticias y creo que sintonizado para la tarea MUC 6. Es bueno para la prueba de conceptos, pero está un poco desactualizado. La principal ventaja es que puedes comenzar a mejorarlo sin ningún conocimiento en aprendizaje automático, nlp, bueno, quizás un poco de java. Solo estudia a JAPE y dale una oportunidad.

OpenNLP, Stanford NLP, etc. vienen por defecto con modelos para artículos de noticias y realizan (solo observando los resultados, nunca los probaron en un gran corpus) mejor que ANNIE. Me gustó más el analizador de Stanford que OpenNLP, de nuevo solo mirando documentos, en su mayoría artículos de noticias.

Sin saber cómo se ven tus documentos, realmente no puedo decir mucho más. Debería decidir si sus datos son adecuados para las reglas o si sigue el método de aprendizaje automático y utiliza OpenNLP o Stanford parser o Illinois tagger o cualquier otra cosa. El analizador de Stanford parece más apropiado solo para verter sus datos, entrenar y producir resultados, mientras que OpenNLP parece más apropiado para probar diferentes algoritmos, jugar con parámetros, etc.

Para su disputa de GATE sobre UIMA, probé ambas y encontré más comunidad viral y mejor documentación para GATE. Lo siento por dar opiniones personales :)


Solo para el registro que responde al ángulo UIMA: tanto para Stanford NLP como para OpenNLP, existe un excelente empaquetado como motores de análisis UIMA disponibles a través del proyecto DKPro Core .