在 Google Cloud 控制台建立自訂文件分類器

自訂分類器可以將文件分類。這項工具是運用您的文件和自訂類別,從零開始建構而成。

在 Google Cloud 控制台建立自訂分類器

您可以建立文件專屬的自訂分類器,並使用資料訓練及評估。這個處理器會根據使用者定義的類別集找出文件類別。完成訓練後,您可以使用該處理器分類其他文件。您通常會對不同類型的文件使用自訂分類器,識別完成後,將文件交由擷取處理器擷取實體。

建立及使用自訂分類器的一般工作流程如下:

  1. 在 Document AI 中建立自訂分類器。
  2. 使用空白的 Cloud Storage bucket 建立資料集。
  3. 匯入文件。
  4. 在 Document AI Workbench 或標籤工作中,手動為文件加上註解。
  5. 將文件指派給訓練集和測試集。
  6. 訓練處理器。
  7. 評估處理器。
  8. 部署處理器。
  9. 測試處理器。
  10. 使用處理器分類文件。

您可以根據自己的工作流程自訂設定。


如要直接在 Google Cloud 控制台按照逐步指南操作,請按一下「Guide me」(逐步引導)

逐步引導


事前準備

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Document AI, Cloud Storage APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Document AI, Cloud Storage APIs.

    Enable the APIs

建立處理器

1. 前往 Google Cloud 控制台,然後選取: 「Workbench」Workbench
  1. 針對「Custom Document Classifier」(自訂文件分類器),點選「Create processor」(建立處理器)

    custom-classifier-1

  2. 在「Create processor」(建立處理器) 選單中,輸入處理器名稱,例如 my-custom-document-classifier

    custom-classifier-2

  3. 請選取最近的區域。

  4. 選取「Create」(建立)。系統會隨即顯示「Processor Details」(處理器詳細資料) 分頁。

設定資料集

為了訓練這個新處理器,您必須建立具有訓練和測試資料的資料集,以協助處理器識別您要分割和分類的文件。

這個資料集需要新的位置。這可以是空白的 Cloud Storage bucket 或資料夾,也可以是內部代管位置。

顯示「Processor Details」(處理器詳細資料) 分頁後,您可以執行下列操作:

  • 如要使用 Cloud Storage,請選取「Google-managed storage」(Google 代管的儲存空間)
  • 如要使用自己的儲存空間,以便使用客戶自行管理的加密金鑰 (CMEK),請選取「I'll specify my own storage location」(自行指定儲存空間位置),然後依照後續程序操作。

custom-classifier-3

為資料集建立 Cloud Storage bucket

  1. 選擇處理器的「Train」(訓練) 分頁標籤。

  2. 選取 「Set dataset location」(設定資料集位置)。 系統會提示您選取或建立空白的 Cloud Storage bucket 或資料夾。

    custom-classifier-4

  3. 選取「Browse」(瀏覽),開啟「Select folder」(選取資料夾)

  4. 選取 「Create a new bucket」(建立新值區) 圖示,然後按照提示建立新的值區。 如要進一步瞭解如何建立 Cloud Storage bucket,請參閱 Cloud Storage bucket 的相關說明。

    注意:值區是頂層儲存空間實體,您可以在其中建立巢狀結構的資料夾。除了建立及選取值區以外,您也可在現有值區中建立並選取空資料夾。詳情請參閱「Cloud Storage 模擬資料夾」。

    建立 bucket 後,畫面上會顯示該 bucket 的「Select folder」(選取資料夾) 頁面。

  5. 在值區的「Select folder」(選取資料夾) 頁面中,按一下對話方塊底部的「Select」(選取) 按鈕。

    custom-classifier-5

  6. 確認在「destination path」(目的地路徑) 中填入您選取的值區名稱。選取「Create dataset」(建立資料集)。 資料集最多可能需要幾分鐘才能完成。

將文件匯入資料集

接下來,請將文件匯入資料集。

  1. 「Train」(訓練) 分頁中,點選「Import documents」(匯入文件)

    custom-classifier-6

  2. 就這個範例而言,請在「Source path」(來源路徑) 中輸入這個值區名稱,這樣就會直接連結至某份文件。

    cloud-samples-data/documentai/Custom/Patents/PDF/computer_vision_20.pdf
    
  3. 在「Data split」(資料分割)部分選取「Unassigned」(未指派) 。這個資料夾中的文件不會指派給測試集或訓練集。取消勾選「Import with auto-labeling」(使用自動加上標籤功能匯入)

  4. 選取「Import」(匯入)。Document AI 會將值區中的文件讀取到資料集,但不會修改匯入 bucket,也不會在匯入完成後從 bucket 讀取資料。

匯入文件時,可以選擇在匯入時就將文件指派至訓練集測試集,也可以等到之後再指派。

如要刪除已匯入的文件,請在「Train」(訓練) 分頁中選取這些文件,然後點選「Delete」(刪除)

如要進一步瞭解如何準備資料以進行匯入,請參閱「資料準備指南」。

定義處理器結構定義

您可以在將文件匯入資料集之前或之後建立處理器結構定義。結構定義提供用來為文件加上註解的標籤。

  1. 在「Train」(訓練) 分頁中,點選左下方的「Edit Schema」(編輯結構定義)。系統隨即會開啟「Manage labels」(管理標籤) 頁面。

  2. 點選「Create label」(建立標籤)

  3. 輸入標籤名稱。選取資料類型。選取「Create」(建立)。如需建立與編輯結構定義的詳細操作說明,請參閱「定義處理器結構定義」。

  1. 為處理器結構定義建立下列每個標籤。

    名稱 資料類型
    computer_vision 文件類型
    crypto 文件類型
    med_tech 文件類型
    other 文件類型
  2. 標籤完成後,請點選「Save」(儲存)

    custom-classifier-7

為文件加上標籤

在文件中選取文字及套用標籤的程序稱為「註解」。

  1. 回到「Train」(訓練) 分頁,然後點選某個文件,即可開啟「Label management」(標籤管理) 控制台。

  2. 「Document type」(文件類型) 下拉式選單中選取適用的文件標籤。

  3. 如果您使用的是我們提供的範例文件,請選取「computer_vision」。

    完成後,加上標籤的文件應如下所示:custom-classifier-8

  4. 完成文件註解後,請點選「Mark as Labeled」(標示為已加上標籤)

    在「Train」(訓練) 分頁中,左側面板上會顯示有 1 份文件已加上標籤。

將加註的文件指派給訓練集

現在,您已經為這份範例文件加上標籤,可以將其指派給訓練集。

  1. 「Train」(訓練) 分頁中,勾選「Select All」(全選) 核取方塊。

  2. 「Assign to Set」(指派給資料集) 清單中,選取「Training」(訓練)

左側面板中會顯示有 1 份文件已指派給訓練集。

將預先加上標籤的資料匯入訓練集和測試集

在這份指南中,系統會提供預先加上標籤的資料。

如果您是處理自有專案,則必須決定如何為資料加上標籤。詳情請參閱「標籤選項」。Document AI 自訂處理器在訓練集和測試集中至少需要各 10 份文件,以及每個集合中每個標籤至少 10 例。建議您每個集合至少建立 50 份文件,每個標籤至少有 50 個實例,以獲得最佳成效。一般來說,訓練資料越多,準確率就會越高。

  1. 點選「Import documents」(匯入文件)

  2. 「Source path」(來源路徑) 中輸入下列路徑。這個值區包含以 Document JSON 格式預先加上標籤的文件。

    cloud-samples-data/documentai/Custom/Patents/JSON/Classification-InventionType
    
  3. 在「Data split」(資料分割) 清單中,選取「Auto-split」(自動分割)。這樣系統就會自動將文件分割為 80% 給訓練集和 20% 給測試集。忽略「Apply labels」(套用標籤) 區塊。

  4. 選取「Import」(匯入)。匯入作業可能需要幾分鐘才能完成。

匯入完成後,文件就會顯示在「Train」(訓練)分頁。

選用:匯入時以批次處理的方式為文件加上標籤

結構定義設定完成後,您可以對匯入特定目錄的所有文件加上標籤,利用標籤節省時間。

custom-classifier-9

  1. 點選「Import documents」(匯入文件)

  2. 「Source path」(來源路徑) 中輸入下列路徑。這個 bucket 含有未加上標籤的文件 (PDF 格式)。

    cloud-samples-data/documentai/Custom/Patents/PDF-CDC-BatchLabel
    
  3. 在「Data split」(資料分割) 清單中,選取「Auto-split」(自動分割)。這樣系統就會自動將 80% 的文件分配給訓練集、20% 給測試集。

  4. 在「Apply labels」(套用標籤) 區段中,選取「Choose label」(選擇標籤)

  5. 針對這些範例文件,請選取「other」。

  6. 選取「Import」(匯入),然後等待作業完成。您可以先離開這個頁面,稍後再返回查看。 完成後,套用標籤的文件就會顯示在「Train」(訓練)分頁。

訓練處理器

現在您已經匯入訓練和測試資料,接著可以訓練處理器。由於訓練可能需要數小時,因此在開始訓練前,請務必先確認您已使用適當的資料和標籤完成處理器設定。

  1. 點選「Train New Version」(訓練新版本)

  2. 「Version name」(版本名稱) 欄位中輸入這個處理器版本的名稱,例如 my-cdc-version-1

  3. (選用) 點選「View Label Stats」(查看標籤統計資料) 即可看到文件標籤的相關資訊。這有助於您確定涵蓋範圍。接著點選「Close」(關閉) ,返回訓練設定頁面。

  4. 點選「Start training」(開始訓練) 您可以在右側面板中確認狀態。

部署處理器版本

  1. 訓練完成後,請前往「Manage Versions」(管理版本) 分頁。您可以查看剛才訓練的版本詳細資料。

  2. 找到您要部署的版本,點選右側的三個垂直圓點,然後選取「Deploy version」(部署版本)

  3. 在彈出式視窗中選取「Deploy」(部署)

    部署需要幾分鐘才會完成。

評估及測試處理器

  1. 部署作業完成後,請前往「Evaluate & Test」(評估與測試) 分頁。

    在這個頁面中,您可以查看整份文件和個別標籤的評估指標,包括 F1 分數、精確度和喚回度。如要進一步瞭解評估和統計資料,請參閱「評估處理器」。

  2. 下載先前在訓練或測試中未涉及的文件,以便用於評估處理器版本。如果您是使用自己的資料,可以針對這個用途保留文件。

    下載 PDF

  3. 點選「Upload Test Document」(上傳測試文件),然後選取剛才下載的文件。

    系統會開啟「Custom Document Classifier analysis」(自訂文件分類器分析) 頁面。輸出內容會顯示文件分類的精細程度。

    您也可以針對其他測試集或處理器版本重新執行評估作業。

選用:自動為新匯入的文件加上標籤

部署經過訓練的處理器版本後,您可以在匯入新文件時使用自動加上標籤功能,節省標籤時間。

  1. 在「Train」(訓練) 頁面上,按一下「Import documents」(匯入文件)

  2. 複製及貼上下列 Cloud Storage 路徑。這個目錄包含 5 個未加上標籤的專利 PDF。在「Data split」(資料分割) 下拉式選單中選取「Training」(訓練)

    cloud-samples-data/documentai/Custom/Patents/PDF-CDC-AutoLabel
    
  3. 在「Apply labels」(套用標籤) 區段中,選取「Auto-labeling」(自動加上標籤)

  4. 選取現有的處理器版本來為文件加上標籤。

    • 例如:2af620b2fd4d1fcf
  5. 選取「Import」(匯入),然後等待作業完成。您可以先離開這個頁面,稍後再返回查看。 完成後,文件就會出現在「Train」(訓練) 頁面的「Auto-labeled」(已自動加上標籤) 部分。

  6. 您不得將自動加上標籤的文件用於訓練或測試,除非您將其標示為已加上標籤。如要查看已自動加上標籤的文件,請前往「Auto-labeled」(已自動加上標籤) 區段。

  7. 選取第一份文件即可進入標籤控制台。

  8. 確認標籤正確無誤。如果不正確,請進行調整。

  9. 完成後,請選取「Mark as Labeled」(標示為已加上標籤)

  10. 為每個自動加上標籤的文件重複執行標籤驗證,然後返回「Train」(訓練) 頁面來使用這些資料進行訓練。

使用處理器

您已成功建立及訓練自訂文件分類器處理器。

您可以管理自訂訓練的處理器版本,就像其他處理器版本一樣。詳情請參閱「管理處理器版本」。

您可以傳送處理要求至自訂處理器,然後比照其他分類器處理器以同樣的方式處理回應

清除所用資源

如要避免系統向您的 Google Cloud 帳戶收取本頁所用資源的費用,請按照下列步驟操作。

請透過Google Cloud console 刪除不需要的處理器和專案,以免產生不必要的 Google Cloud 費用。

如果您建立新專案的目的在於瞭解如何使用 Document AI,且現在已不再需要該項專案,請刪除專案

如果您使用現有的 Google Cloud 專案,請刪除稍早建立的資源,以免系統向您的帳戶收費:

  1. 在 Google Cloud 控制台導覽選單中,依序選取「Document AI」和「My Processors」(我的處理器)

  2. 找到要刪除的處理器,然後點選該列中的「More actions」(更多動作)

  3. 選取「Delete processor」(刪除處理器),輸入處理器名稱,然後再次選取「Delete」(刪除) 來確認操作。

後續步驟