準備訓練資料

瞭解如何在 Google Cloud Speech 控制台中準備音訊和文字資料,以便微調自訂語音轉文字模型。訓練資料的品質會影響所建模型的成效。您需要編寫多樣化的資料集,其中包含代表性音訊和文字內容,這些內容與模型在實際工作環境中推論時會回應的內容直接相關,包括雜訊和不尋常的字彙。

如要有效訓練自訂 Speech-to-Text 模型,您需要:

  • 至少 100 小時的音訊訓練資料,可以是純音訊,也可以是搭配對應文字轉錄稿的真值。這類資料對於初始訓練階段至關重要,可讓模型學習語音模式和字彙的細微差異。詳情請參閱「建立真實值資料集」一文。
  • 至少 10 小時的音訊驗證資料,以及對應的文字轉錄稿做為基準真相的獨立資料集。

事前準備

請確認您已註冊 Google Cloud 帳戶、建立 Google Cloud 專案,並啟用 Speech-to-Text API:

  1. 前往 Cloud Storage。
  2. 如果還沒有值區,請先建立一個。

建立資料集

如要建立資料集,您必須在所選的 Cloud Storage 值區中建立兩個子目錄。遵循簡單的命名慣例:

  1. 建立 training_dataset 子目錄,用於儲存所有訓練檔案。
  2. 建立 validation_dataset 子目錄,用於儲存所有訓練檔案。
  3. 請按照真值標註指南,在目錄中上傳音訊和文字檔案。

資料集指南

  • 在訓練和驗證時,支援的檔案格式為 .wav (LINEAR16 編碼的音訊檔案) 和 .txt (文字檔案,如有)。避免在檔案名稱中使用非 ASCII 字元。
  • 同一個目錄中的音訊檔案應以個別的 TXT 檔案提供,每個檔案的名稱都必須與對應的 WAV 檔案相同,例如 my_file_1.wav、my_file_1.txt。每個音訊檔案只能有一個語音轉錄檔案。

訓練資料

  • 訓練的所有檔案必須位於同一個目錄中,且不得有任何巢狀資料夾。
  • 選用:如果有的話,請提供音訊檔案的轉錄稿。不需要時間戳記。
  • 音訊檔案的累積音訊長度必須超過 100 小時。否則訓練工作將會失敗。

以下是檔案上傳為訓練資料集後,目錄結構應有的樣子:

├── training_dataset
│   ├── example_1.wav
│   ├── example_1.txt
│   ├── example_2.wav
│   ├── example_2.txt
│   ├── example_3.wav (Note: Audio only instance, without corresponding text)
│   └── example_4.wav (Note: Audio only instance, without corresponding text)

驗證資料

  • 所有驗證檔案都會提供在同一個名為 validation_dataset 的目錄中,且不含任何巢狀資料夾。
  • 驗證音訊長度不得超過 30 秒。
  • 請在同一個目錄中,為每個音訊檔案提供真值轉錄稿,並儲存在個別的 TXT 檔案中。

以下是檔案上傳為驗證資料集後,目錄結構應有的樣貌:

├── validation_dataset
│   ├── example_1.wav
│   ├── example_1.txt
│   ├── example_2.wav
│   └── example_2.txt

真值標註指南

請參閱以下格式設定說明。

Numbers

基數和序數應只以數字轉錄。

  • 音訊:「一副撲克牌有五十二張牌,四種花色各有十三張牌,分別是紅心、方塊、梅花和黑桃」
  • 真值文字:「一副撲克牌有 52 張牌,四種花色 (方塊、紅心、梅花和黑桃) 各有 13 張牌」

貨幣和單位

在轉錄貨幣時,請採用轉錄地區的常見貨幣書寫形式。數值後方的所有單位都必須使用縮寫。如果從上下文就能清楚推測出某個數字或數列代表貨幣或時間,請依照推測結果設定格式。

日期與時間

在轉錄日期與時間時,請採用轉錄語言常用的日期和時間格式。盡可能以 hh:mm 格式轉錄時間。

地址

轉錄時請使用地點、道路和州的全名,例如在說話者明確說出縮寫時,在轉錄實體和地點時,請在兩者之間加上逗號。

專有名詞和重音

請使用正式的拼法和標點符號進行轉錄。如果某個人名可能有好幾種拼法,但上下文無法協助您選出適當的拼法,請使用最常見的拼法。

品牌、產品名稱和媒體標題

轉錄時,請採用官方格式和最常見的拼寫方式。

感嘆詞

笑聲或其他非語音發語詞,最多可轉錄三個音節。系統應完全忽略語音中的笑聲。範例:

  • 音訊:「ha ha ha ha ha」
  • 真實文字:「hahaha」

多名說話者

請勿使用講者標記將其分開,因為系統通常不支援 diarization。

後續步驟

請參閱下列資源,瞭解如何在應用程式中使用自訂語音模型: