Etiquetado de los datos

Completado

El etiquetado correcto de los datos es una parte importante del proceso para crear un modelo de extracción de entidades personalizado. Las etiquetas identifican ejemplos de entidades específicas en texto que se usan para entrenar el modelo. Se debe centrar en tres aspectos:

  • Coherencia: etiquete los datos de la misma manera en todos los archivos para el entrenamiento. La coherencia permite que el modelo aprenda sin entradas en conflicto.
  • Precisión: etiquete las entidades de forma coherente, sin palabras adicionales innecesarias. La precisión garantiza que en la entidad extraída solo se incluyen los datos correctos.
  • Integridad: etiquete todos los datos y no pierda ninguna entidad. La integridad ayuda al modelo a reconocer siempre las entidades presentes.

Screenshot of labeling an entity in Language Studio.

Procedimientos para etiquetar datos

Language Studio es el método más sencillo para etiquetar los datos. Language Studio permite ver el archivo, seleccionar el principio y el final de la entidad, y especificar de qué entidad se trata.

Cada etiqueta que identifique se guarda en un archivo que reside en la cuenta de almacenamiento con el conjunto de datos, en un archivo JSON generado de forma automática. Después, el modelo usa este archivo para aprender a extraer entidades personalizadas. Es posible proporcionar este archivo al crear el proyecto (si va a importar las mismas etiquetas de otro proyecto, por ejemplo), pero debe estar en los formatos de datos NER personalizados aceptados. Por ejemplo:


{
  "projectFileVersion": "{DATE}",
  "stringIndexType": "Utf16CodeUnit",
  "metadata": {
    "projectKind": "CustomEntityRecognition",
    "storageInputContainerName": "{CONTAINER-NAME}",
    "projectName": "{PROJECT-NAME}",
    "multilingual": false,
    "description": "Project-description",
    "language": "en-us",
    "settings": {}
  },
  "assets": {
    "projectKind": "CustomEntityRecognition",
    "entities": [
      {
        "category": "Entity1"
      },
      {
        "category": "Entity2"
      }
    ],
    "documents": [
      {
        "location": "{DOCUMENT-NAME}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "entities": [
          {
            "regionOffset": 0,
            "regionLength": 500,
            "labels": [
              {
                "category": "Entity1",
                "offset": 25,
                "length": 10
              },
              {
                "category": "Entity2",
                "offset": 120,
                "length": 8
              }
            ]
          }
        ]
      },
      {
        "location": "{DOCUMENT-NAME}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "entities": [
          {
            "regionOffset": 0,
            "regionLength": 100,
            "labels": [
              {
                "category": "Entity2",
                "offset": 20,
                "length": 5
              }
            ]
          }
        ]
      }
    ]
  }
}

Campo Descripción
documents Matriz de documentos etiquetados
location Ruta al archivo dentro del contenedor conectado al proyecto
language Lenguaje del archivo
entities Matriz de entidades presentes en el documento actual
regionOffset Posición de carácter inclusivo para el inicio del texto
regionLength Longitud en caracteres de los datos usados en el entrenamiento
category Nombre de la entidad que se va a extraer
labels Matriz de entidades etiquetadas en los archivos
offset Posición de carácter inclusivo para el inicio de la entidad
length Longitud de la entidad en caracteres
dataset Conjunto de datos al que se asigna el archivo