準備實體擷取的文字訓練資料

本頁面說明如何準備文字資料,以便在 Vertex AI 資料集中使用,進而訓練實體擷取模型。

實體擷取訓練資料包含文件,這些文件會加上標籤,用於識別您希望模型識別的實體類型。舉例來說,您可以建立實體擷取模型,用於識別法律文件或專利中的專門術語。註解可指定您要標示的實體位置,以及標籤本身。

如果您要為用於訓練 AutoML 模型的資料集 (例如帳單或合約) 加上註解,Vertex AI 會將註解在頁面上的位置視為判斷正確標籤的因素。例如,房地產合約有接受日期和成交日期。Vertex AI 可學習如何根據註解的空間位置區分實體。

資料條件

  • 您必須提供至少 50 份但不超過 100,000 份的訓練文件。
  • 您必須提供至少 1 個但不超過 100 個不重複的標籤,才能為要擷取的實體加上註解。
  • 您可以使用標籤為 1 到 10 個字詞加上註解。
  • 標籤名稱長度介於 2 到 30 個半形字元之間。
  • 您可以在 JSON 資料列檔案中加入註解,也可以在上傳文件後,使用 Google Cloud 控制台新增註解。
  • 您可以內嵌文件或參考 Cloud Storage 值區中的 TXT 檔案。

訓練 AutoML 模型的文字資料最佳做法

以下建議適用於用於訓練 AutoML 模型的資料集。

  • 在訓練資料集中至少使用每個標籤 200 次。
  • 為模型要辨識的每個實體出現位置加上註解。

輸入檔案

實體擷取的輸入檔案類型必須為 JSON Lines。JSON Lines 檔案的格式、欄位名稱和值類型,是由結構定義檔案決定,這些檔案是可公開存取的 YAML 檔案。

您可以從以下 Cloud Storage 位置下載實體擷取作業的結構定義檔案:
gs://google-cloud-aiplatform/schema/dataset/ioformat/text_extraction_io_format_1.0.0.yaml

以下範例說明如何使用結構定義建立自己的 JSON Lines 檔案。為了方便閱讀,範例中加入了換行符號。在 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 控制台為文件加上註解。建立僅含內容的 JSON 列檔案 (不含 textSegmentAnnotations 欄位);文件會上傳至 Vertex AI,但不會附加任何註解。