Preparar datos de entrenamiento de texto para la extracción de entidades

.

En esta página se describe cómo preparar datos de texto para usarlos en un conjunto de datos de Vertex AI con el fin de entrenar un modelo de extracción de entidades.

Los datos de entrenamiento de la extracción de entidades se componen de documentos anotados con las etiquetas que identifican los tipos de entidades que quieres que identifique tu modelo. Por ejemplo, puedes crear un modelo de extracción de entidades para identificar terminología especializada en documentos legales o patentes. Las anotaciones especifican las ubicaciones de las entidades que estás etiquetando y las etiquetas en sí.

Si anotas documentos estructurados o semiestructurados para un conjunto de datos que se usa para entrenar modelos de AutoML, como facturas o contratos, Vertex AI puede tener en cuenta la posición de una anotación en la página como factor que contribuye a que se le asigne la etiqueta correcta. Por ejemplo, un contrato inmobiliario tiene una fecha de aceptación y una fecha de cierre. Vertex AI puede aprender a distinguir entre las entidades en función de la posición espacial de la anotación.

Requisitos de datos

  • Debes proporcionar al menos 50 y no más de 100.000 documentos de entrenamiento.
  • Debe proporcionar al menos una etiqueta única y no más de 100 para anotar las entidades que quiera extraer.
  • Puedes usar una etiqueta para anotar entre 1 y 10 palabras.
  • Los nombres de las etiquetas pueden tener entre 2 y 30 caracteres.
  • Puedes incluir anotaciones en tus archivos JSON Lines o añadirlas más adelante mediante la Google Cloud consola después de subir los documentos.
  • Puedes incluir documentos insertados o hacer referencia a archivos TXT que estén en segmentos de Cloud Storage.

Prácticas recomendadas para los datos de texto utilizados para entrenar modelos de AutoML

Las siguientes recomendaciones se aplican a los conjuntos de datos que se usan para entrenar modelos de AutoML.

  • Usa cada etiqueta al menos 200 veces en tu conjunto de datos de entrenamiento.
  • Anota todas las apariciones de las entidades que quieras que identifique tu modelo.

Archivos de entrada

Los tipos de archivo de entrada para la extracción de entidades deben ser JSON Lines. El formato, los nombres de los campos y los tipos de valores de los archivos JSON Lines se determinan mediante un archivo de esquema, que es un archivo YAML de acceso público.

Puedes descargar el archivo de esquema para la extracción de entidades desde la siguiente ubicación de Cloud Storage:
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_extraction_io_format_1.0.0.yaml.

En el siguiente ejemplo se muestra cómo puedes usar el esquema para crear tu propio archivo JSON Lines. En el ejemplo se incluyen saltos de línea para facilitar la lectura. En tus archivos JSON, incluye saltos de línea solo después de cada documento. El campo dataItemResourceLabels especifica, por ejemplo, ml_use y es opcional.

{
    "textSegmentAnnotations": [
      {
        "startOffset":number,
        "endOffset":number,
        "displayName": "label"
      },
      ...
    ],
    "textContent": "inline_text",
    "dataItemResourceLabels": {
      "aiplatform.googleapis.com/ml_use": "training|test|validation"
    }
}
{
    "textSegmentAnnotations": [
      {
        "startOffset":number,
        "endOffset":number,
        "displayName": "label"
      },
      ...
    ],
    "textGcsUri": "gcs_uri_to_file",
    "dataItemResourceLabels": {
      "aiplatform.googleapis.com/ml_use": "training|test|validation"
    }
}

También puedes anotar documentos mediante la consola Google Cloud . Crea un archivo JSON Lines con el contenido únicamente (sin el campo textSegmentAnnotations). Los documentos se suben a Vertex AI sin anotaciones.