spanish nlp text-mining opennlp pos-tagger

spanish - opennlp python



¿Es posible añadir palabras a un corpus/modelo de POS OpenNLP existente? (2)

Lamentablemente, no puede simplemente aumentar los modelos OpenNLP con instancias de capacitación adicionales. Tendría que volver a entrenar todo el modelo con los datos de entrenamiento originales más sus nuevos datos para obtener el modelo que desea. Debería utilizar un corpus etiquetado con POS (grande) existente más sus nuevos ejemplos para capacitar a un nuevo modelo de etiquetador de POS.

Si solo desea identificar ciertos tipos de sustantivos propios, podría considerar entrenar un OpenNLP NameFinder (u otro extractor de entidad con nombre) con sus datos, ya que ese tipo de anotador es más adecuado para identificar tipos particulares de nombres propios. Solo da algunos ejemplos más arriba, pero creo que un etiquetador POS tendrá problemas para distinguir los NNP normales de sus nuevos DNNP porque aparecen en el mismo contexto que los NNP y tienen la misma forma (frases nominales en mayúsculas). Un reconocedor de entidad nombrado es una mejor herramienta para dicha tarea.

¿Hay alguna forma de entrenar el modelo existente de Apache OpenNLP POS Tagger? Necesito agregar algunos nombres propios más al modelo que son específicos de mi aplicación. Cuando trato de usar el siguiente comando:

opennlp POSTaggerTrainer -type maxent -model en-pos-maxent.bin / -lang en -data en-pos.train -encoding UTF-8

todo el modelo es reciclado. Solo me gustaría agregar algunas oraciones nuevas a en-pos-maxent.bin

Así es como se ve mi archivo de entrenamiento:

Where_WRB is_VBZ the_DT Seven_DNNP Dwarfs_DNNP Mine_DNNP Train_DNNP ?_? Where_WRB is_VBZ the_DT Astro_DNNP Orbiter_DNNP ?_? Where_WRB is_VBZ the_DT Barnstormer_DNNP ?_? Where_WRB is_VBZ the_DT Big_DNNP Thunder_DNNP Mountain_DNNP Railroad_DNNP ?_? Where_WRB is_VBZ the_DT Buzz_DNNP Lightyears_DNNP Space_DNNP Ranger_DNNP Spin_DNNP ?_? Where_WRB is_VBZ the_DT Casey_DNNP Jr_DNNP Splash_DNNP N_DNNP Soak_DNNP Station_DNNP ?_? Where_WRB is_VBZ the_DT Cinderella_DNNP Castle_DNNP ?_? Where_WRB is_VBZ the_DT Country_DNNP Bear_DNNP Jamboree_DNNP ?_? Where_WRB is_VBZ the_DT Dumbo_DNNP the_DNNP Flying_DNNP Elephant_DNNP ?_? Where_WRB is_VBZ the_DT Enchanted_DNNP Tales_DNNP with_DNNP Belle_DNNP ?_? Where_WRB is_VBZ the_DT Frontierland_DNNP Shootin_DNNP Arcade_DNNP ?_?

Después de entrenar el modelo, todas las palabras excepto las del archivo de capacitación están etiquetadas como DNNP . Por ejemplo, si solicito que se etiquete la palabra "Dónde" (presente en el archivo de capacitación), la respuesta es WRB , pero si solicito que se etiquete la palabra "hola" (no está presente en el archivo de capacitación), está etiquetado como DNNP . Entonces quiero agregar algunas palabras. ¿Cómo puedo hacer eso?