Preparación de datos y definición de un esquema para NER personalizado

Para crear un modelo NER personalizado, necesitará datos de calidad para entrenarlo. En este artículo se explica cómo seleccionar y preparar los datos, además de definir un esquema. La definición del esquema es el primer paso en el ciclo de vida del desarrollo del proyecto, y define los tipos/categorías de entidades que necesita que su modelo extraiga del texto en tiempo de ejecución.

Diseño de esquema

El esquema define los tipos o categorías de entidad que necesita que el modelo extraiga del texto en runtime.

  • Revise los documentos de su conjunto de datos para familiarizarse con su formato y estructura.

  • Identifique las entidades que desea extraer de los datos.

    Por ejemplo, si se extraen entidades de los correos electrónicos de asistencia, es posible que haya que extraer "Nombre del cliente", "Nombre del producto", "Fecha de solicitud" e "Información de contacto".

  • Evite la ambigüedad de los tipos de entidad.

    La ambigüedad se produce cuando los tipos de entidades que se seleccionan son similares entre sí. Cuanto más ambiguo sea el esquema, más datos etiquetados necesitará para diferenciar los distintos tipos de entidad.

    Por ejemplo, si va a extraer datos de un contrato legal, para extraer "Nombre de la primera entidad" y "Nombre de la segunda entidad", deberá agregar más ejemplos para superar la ambigüedad, ya que los nombres de ambas partes tienen un aspecto similar. Evite la ambigüedad, ya que ahorra tiempo y esfuerzo y produce mejores resultados.

  • Evite entidades complejas. Las entidades complejas pueden ser difíciles de seleccionar con precisión del texto; considere la posibilidad de dividirla en varias entidades.

    Por ejemplo, extraer "Dirección" sería un reto si no se desglosa en entidades más pequeñas. Hay tantas variaciones en la forma en que aparecen las direcciones que se tardaría un gran número de entidades etiquetadas en enseñar al modelo a extraer una dirección, en su conjunto, sin desglosarla. Sin embargo, si reemplaza "Dirección" por "Nombre de la calle", "Apartado postal", "Ciudad", "Estado" y "Código postal", el modelo requerirá menos etiquetas por entidad.

Selección de datos

La calidad de los datos con los que entrena el modelo afecta enormemente al rendimiento del modelo.

  • Use datos de la vida real que reflejen el espacio de problemas del dominio para entrenar de forma eficaz el modelo. Puede usar datos sintéticos para acelerar el proceso de entrenamiento del modelo inicial, pero probablemente serán diferentes de los datos reales y harán que el modelo sea menos eficaz cuando se use.

  • Equilibra la distribución de datos tanto como sea posible sin desviarse de la distribución en la vida real. Por ejemplo, si está entrenando el modelo para extraer entidades de documentos legales que pueden llegar en muchos formatos e idiomas diferentes, debe proporcionar ejemplos que ejemplifiquen la diversidad como se esperaría ver en la vida real.

  • Use datos diversos siempre que sea posible para evitar el sobreajuste del modelo. Una menor diversidad en los datos de entrenamiento puede dar lugar a correlaciones falsas del aprendizaje del modelo que pueden no existir en los datos de la vida real.

  • Evite los documentos duplicados en los datos. Los datos duplicados tienen un efecto negativo en el proceso de entrenamiento, las métricas del modelo y el rendimiento del modelo.

  • Considere de dónde proceden los datos. Si va a recopilar datos de una persona, departamento o parte de su escenario, es probable que falte la diversidad que puede ser importante para que su modelo conozca.

Nota:

En caso de que los documentos estén en varios idiomas, seleccione la opción de habilitar el multilingüismo durante la creación del proyecto y establezca la opción de idioma en el idioma de la mayoría de sus documentos.

Preparación de datos

Como requisito previo para crear un proyecto, los datos de entrenamiento deben cargarse en un contenedor de blobs de la cuenta de almacenamiento. Puede crear y cargar documentos de entrenamiento desde Azure directamente o mediante la herramienta Explorador de Azure Storage. La herramienta Explorador de Azure Storage permite cargar más datos rápidamente.

Solo se puede usar documentos .txt. Si los datos están en otro formato, puede usar el comando de análisis CLUtils para cambiar el formato del documento.

Puede cargar un conjunto de datos anotado o cargar uno sin anotar y etiquetar los datos en Language Studio.

Conjunto de pruebas

Al definir el conjunto de pruebas, asegúrese de incluir documentos de ejemplo que no estén presentes en el conjunto de entrenamiento. La definición del conjunto de pruebas es un paso importante para calcular el rendimiento del modelo. Además, asegúrese de que el conjunto de pruebas incluya documentos que representen todas las entidades usadas en el proyecto.

Pasos siguientes

Si aún no lo ha hecho, cree un proyecto NER personalizado. Si es la primera vez que usa NER personalizado, considere la posibilidad de seguir el inicio rápido para crear un proyecto de ejemplo. También puede ver el tutorial para obtener más detalles sobre lo que necesita para crear un proyecto.