Descripción del modelo NER
¿Qué es el modelo NER?
El modelo NER (Named Entity Recognition) es un modelo desarrollado en función del reconocimiento de entidades (nombres, roles, organizaciones, ubicaciones y fechas) dentro de documentos de texto específicos. Su entrenamiento se hizo a partir de las entrevistas transcritas y etiquetadas (de manera manual) por la Comisión de la Verdad en su ejercicio de escucha; en este sentido, el modelo ha sido entrenado con un corpus de datos robusto enfocado en el conflicto armado colombiano, y esto se instaura como su valor agregado.
Para entrenar un modelo de manera eficiente se requieren muchos datos, y la Comisión tiene un trabajo de transcripción y etiquetado muy vasto.
El modelo detecta las entidades con base en el entrenamiento que se le dio con las etiquetas que se transcribieron manualmente; después lo que se hace es generar otros archivos: donde salen las etiquetas de personas o las etiquetas de fechas se reemplazan por otros parámetros...
El modelo ha servido como punto de partida para automatizar procesos de anonimización, con el fin de apoyar la publicación de un número mayor de información sobre el conflicto armado colombiano; y, adicionalmente, es un modelo que permite etiquetar diferentes documentos en función de ubicaciones y franjas temporales, lo cual posibilita una mayor precisión y profundidad en las búsquedas.
¿Cuál es su alcance?
El modelo para el reconocimiento de entidades, busca identificar nombres, roles, organizaciones, ubicaciones y temporalidades dentro de documentos en español, en función de automatizar procesos de anonimización y actualizar los archivos almacenados en bases de datos adicionando etiquetas de temporalidades y ubicaciones. Por ejemplo. Si se sube una entrevista el modelo arroja automáticamente una serie de entidades con las cuales se puede determinar de qué se habla, en dónde y en qué temporalidades.
Si tú tienes en el buscador una base de datos con todos los documentos transcritos, que es la idea del buscador, luego esos documentos tú los puedes etiquetar usando este modelo. Entonces, se vuelve súper útil cuando se empieza a mezclar con los filtros del buscador: puedes filtrar por cierto fondo, y te filtra 2 mil documentos que están en ese fondo; y si los documentos están etiquetados, puedes ver a qué zonas del país se está refiriendo el documento (que es diferente a saber en qué lugar se creó el documento)...
Ahora bien, el alcance del modelo se limita al reconocimiento de entidades, que son palabras únicas que pueden ser reemplazadas. El proceso de etiquetado en sentido amplio, si bien es posible hacerse de manera automática, no está contemplado en este modelo, ya que requiere de unas metodologías de entrenamiento diferentes que le permitan al modelo detectar sentimientos y emociones; en últimas, mientras una entidad se circunscribe a una palabra, una etiqueta puede estar contenida en un párrafo.
El modelo ya existe para español y ha sido entrenado a partir de muchos datos de grandes compañías; no obstante, el español colombiano tiene sus particularidades dialécticas y, por ello, el modelo se sobreentrenó usando los datos acopiados por la Comisión de la Verdad, con el fin de adaptarlo a dicho dialecto:
Yo partí de este modelo en español. Lo ideal de estos modelos es que los entrenan grandes compañías que tienen acceso a muchos datos, por decir noticias en español; y los entrenan justo para eso: sirven de bases para casos más específicos como el nuestro. Por eso partí de ese grande... Si te das cuenta, cuando lo probamos, detectaba bien algunas entidades, y lo que hicimos fue mejorarlo; y se mejora con el entrenamiento, usando las entrevistas orales transcritas, que son completamente diferentes al corpus sobre el cual se entrenan estos modelos...
De acuerdo con este alcance, el modelo es muy útil para entornos universitarios como grupos de investigación y semilleros, al ofrecer la automatización de ciertos procesos documentales que permiten, eventualmente, avances significativos dentro de investigaciones sociales. Adicionalmente, el modelo puede apoyar procesos de la Jurisdicción Especial para la Paz (JEP), en tanto es una entidad que tiene un corpus de entrevistas transcritas, y pueden ser etiquetadas usando los alcances del modelo, con el fin de que se puedan generar filtros específicos de acuerdo con ubicaciones y franjas temporales.
¿Cómo es su interacción?
El objetivo principal del modelo NER es actualizar los metadatos de los documentos almacenados en bases de datos en función de ubicaciones y franjas temporales, con el fin de mejorar los procesos de búsqueda; adicionalmente, y al identificar nombres, roles u organizaciones, es un modelo que permite automatizar procesos de anonimización. En este sentido, la interacción con los datos se da a través de un scritp (NER_procesadoAnonimizacion.py
) que recibe el id de un documento y/o entrevista, activa el modelo y devuelve las entidades identificadas; si son entidades referentes a personas u organizaciones, es posible reemplazarlas con otros parámetros para anonimizar, si son entidades como ubicaciones y/o fechas, es posible actualizar los metadatos de los diferentes archivos dentro de una base de datos, con el fin de realizar búsquedas más precisas por ubicación o por franjas temporales.
Si tú subes cualquier texto, puede ser entrevista o cualquier texto... pero quedémonos en las entrevistas. Si subes una entrevista, él automáticamente te saca esas entidades; y de esa entrevista puedes decir: acá mencionaron o hablaron de eventos en Antioquia durante las siguientes franjas temporales...
✔️ Script NER_procesadoAnonimizacion.py
: recibe un archivo de Excel con los identificadores de los documentos, se conecta a la base de datos y devuelve el documento original y el documento anonimizado.
✔️ Script NER_procesadoAnonimizacion_anytext.py
: recibe un archivo de Word y lo anonimiza. No necesita conectarse a la base de datos.
✔️ Script NERtoMongo.py
: permite actualizar la base de datos en función de ubicaciones y franjas temporales.
Los script se encuentran en el siguiente repositorio:
Flujos
El flujo que realiza el script para activar el modelo y actualizar la base de datos es el siguiente:
Última actualización