准备用于实体提取的文本训练数据

本页介绍了如何准备文本数据,以便在 Vertex AI 数据集中使用来训练实体提取模型。

实体提取训练数据包含使用您希望模型识别的实体类型的标签进行注释的文档。例如,您可以创建一个实体提取模型,以识别法律文档或专利中的专用术语。注释指定了您要添加标签的实体的位置和标签本身。

如果您为用于训练 AutoML 模型的数据集(例如账单或合同)中的结构化或半结构化文档添加注解,Vertex AI 可以将注解在页面上的位置视为影响其正确标签的一个因素。例如,房地产合同同时设置了接受日期和关闭日期。Vertex AI 可以学习根据注解的空间位置来区分这些实体。

数据要求

  • 您必须提供至少 50 个训练文档,但最多不得超过 10 万个训练文档。
  • 您必须提供至少 1 个,但不超过 100 个独特标签,以便标记您想要提取的实体。
  • 您可以使用标签为 1 到 10 个字词添加注释。
  • 标签名称可以包含 2 到 30 个字符。
  • 您可以在 JSON 行文件中添加注解,也可以先上传文档,以后再使用 Google Cloud Console 添加注解。
  • 您可以添加内嵌或引用 Cloud Storage 存储分区中的 TXT 文件。

用于训练 AutoML 模型的文本数据的最佳做法

以下建议适用于训练 AutoML 模型的数据集。

  • 在训练数据集中至少使用每个标签 200 次。
  • 为您希望模型识别的每个实体都添加注释。

输入文件

实体提取类型的输入文件类型必须为 JSON 行。JSON 行文件的格式、字段名称、值类型由架构文件(可公开访问的 YAML 文件)决定。

您可以从以下 Cloud Storage 位置下载用于实体提取的架构文件:
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_extraction_io_format_1.0.0.yaml

以下示例展示了如何使用架构创建自己的 JSON 行文件。为了便于阅读,示例包括换行符。在 JSON 文件中,请仅在每个文档后面添加换行符。例如,dataItemResourceLabels 字段指定 ml_use 且是可选的。

{
    "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"
    }
}

您还可以使用 Google Cloud Console 为文档添加注释。创建一个仅包含内容(没有 textSegmentAnnotations 字段)的 JSON 行文件;文档会上传到 Vertex AI 并且没有任何注解。