La página web https://tecoholic.github.io/ner-annotator/ te da una interfaz amigable para taggear tus datos de entrenamiento. Dicha página exporta un archivo llamado "annotations.json". Para agregarlo al dataset simplemente hay que poner dicho archivo en esta carpeta y correr el siguiente programa:
python add_annotations_to_dataset.py
El script add_annotations_to_dataset.py se fijará si existe el archivo dataset.csv. En caso de que exista, agrega la información nueva al final, manteniendo la numeración existente. En caso de que no exista, crea el archivo.
Para entrenar el modelo simplemente hay que correr el siguiente programa:
python train.py dataset.csv nro_iteraciones
El script train.py crea el modelo, lo entrena con el dataset y número de iteraciones dado, y lo guarda en un nuevo directorio de nombre ner_n_iterations.
Una vez entrenado, si se quiere clasificar un texto simplemente se debe correr el siguiente programa:
python predict.py texto_entrada.txt
El script predict.py busca el modelo entrenado con mayor número de iteraciones, lo carga, e imprime todas las entidades presentes en el texto dado.