Ayuda sobre NER en NLTK

12

He estado trabajando en NLTK por un tiempo usando Python. El problema al que me enfrento es que no hay ayuda disponible para entrenar NER en NLTK con mis datos personalizados. Han usado MaxEnt y lo han entrenado en ACE corpus. He buscado mucho en la web pero no pude encontrar ninguna manera de entrenar el NER de NLTK.

Si alguien me puede proporcionar algún enlace / artículo / blog, etc., que me pueda dirigir al formato de conjuntos de datos de capacitación utilizado en el entrenamiento NER de NLTK para que pueda preparar mis conjuntos de datos en ese formato en particular. Y si me dirigen a algún enlace / artículo / blog, etc. que pueda ayudarme a ENTRENAR el NER de NLTK para mis propios datos.

Esta es una pregunta ampliamente buscada y menos respondida. Puede ser útil para alguien en el futuro que trabaje con NER.

Sarmad
fuente
Publicación cruzada
Franck Dernoncourt el

Respuestas:

4

La capacitación de un modelo, relacionado con la extracción de información , en general, y el reconocimiento / resolución de entidad nombrada (NER) , en particular, se describe en detalle en el Capítulo 7 del Libro NLTK , disponible en línea en esta URL: http: //www.nltk .org / book / ch07.html .

Además, creo que puede encontrar útil mi respuesta relacionada en el sitio de validación cruzada . Tiene muchas referencias a fuentes relevantes sobre NER y temas relacionados, así como a varias herramientas de software relacionadas .

Aleksandr Blekh
fuente
No mencionan cómo entrenar el modelo NER en datos personalizados, ¿puede decir cómo hacerlo?
Hima Varsha
1
@HimaVarsha No soy un experto en esta área. Sin embargo, ... Creo que el modelo NLTK NER viene pre-entrenado en el corpus conll2000 , por lo tanto, no hay información en el libro NLTK. Verifique los siguientes recursos: 1. nltk-trainer.readthedocs.io (muy probablemente lo que necesita; probablemente la sección Training IOB Chunkers ). 2. sujitpal.blogspot.com/2012/11/… (podría ser útil también). 3. nlp.stanford.edu/software/crf-faq.shtml#a (en caso de que utilice o decida utilizar el software NER de Stanford).
Aleksandr Blekh
Creo que la implementación de stanfordcrf toma datos personalizados, pero NTLK NER viene solo pre-entrenado. El Training IOB Chunkers está fragmentando, ¿verdad? ¿O incluso hace NER?
Hima Varsha
@HimaVarsha Presta más atención a los consejos que recibes. Si leyeras cuidadosamente la publicación a través del enlace n. ° 2 anterior, verías que el código allí forma parte del entrenamiento y la ejecución del modelo NER. No creo que pueda ayudarte más allá de los consejos anteriores.
Aleksandr Blekh
3

¿Es este artículo lo suficientemente bueno? http://www.succeed-project.eu/wiki/index.php/NLTK#Input_format_for_training

Hay una explicación sobre cómo debería verse el cuerpo.

Sus datos deben estar en formato IOB (etiqueta de palabra chunktag) para que funcionen.
Eric NNP B-PERSON
es VB O
el
CEO de AT B-NP NN I-NP
de IN O
Google NNP B-ORGANIZATION

MaticDiba
fuente
1
Sería ideal publicar un breve resumen del artículo en esta respuesta.
sheldonkreger
1

Encontré este tutorial bastante útil: guía completa para construir su propio Reconocimiento de entidad con nombre con Python . Utiliza el corpus del Banco de significado de Groninga (GMB) para entrenar su porción NER.

Después de eso, puede consultar este tutorial de la misma persona: Entrenando un sistema NER usando un gran conjunto de datos Donde usa scikit learn para mejorar el rendimiento de su sistema.

Finalmente, algunos tutoriales realmente útiles se pueden encontrar aquí: tutorial NLTK Este tipo tiene un canal de youtube con muchos tutoriales en muchas materias (ML, NLP, Python ...)

Espero eso ayude.

Iraklis Moutidis
fuente