Custom Speech のトレーニングデータセットとテストデータセットをアップロードする

音声認識の正確性をテストする場合、またはカスタム モデルをトレーニングする場合は、オーディオまたはテキストのデータが必要です。 モデルのテストまたはトレーニングでサポートされるデータ型の詳細については、「データセットのトレーニングとテスト」を参照してください。

ヒント

オンライン文字起こしエディターを使用して、ラベル付けされたオーディオ データセットを作成および調整することもできます。

データセットをアップロードする

Speech Studio で独自のデータセットをアップロードするには、次の手順を実行します。

  1. Speech Studio にサインインします。

  2. [Custom Speech]> [プロジェクト名] >[音声データセット]>[データのアップロード] を選択します。

  3. [トレーニング データ]または [テスト データ] タブを選択します。

  4. データセットの種類を選択し、[次へ] を選択します。

  5. データセットの場所を指定し、[次へ] を選択します。 ローカル ファイルを選択するか、Azure BLOB URL などのリモートの場所を入力できます。 リモートの場所を選択し、信頼された Azure サービスのセキュリティ メカニズムを使用しない場合、そのリモートの場所は単純な匿名 GET 要求で取得することができる URL である必要があります。 たとえば、SAS URL やパブリックにアクセス可能な URL などです。 追加の承認が必要な URL、またはユーザー操作が必要な URL はサポートされていません。

    Note

    Azure BLOB URL を使用する場合は、信頼された Azure サービスのセキュリティ メカニズムを使用することで、データセット ファイルの最高のセキュリティを確保できます。 データセット ファイルのバッチ文字起こしとプレーンストレージ アカウント URL の場合と同じ手法を使用します。 詳細については、こちらを参照してください。

  6. データセットの名前と説明を入力し、[次へ] を選択します。

  7. 設定を確認し、[保存して閉じる] を選択します。

データセットがアップロードされたら、[カスタム モデルのトレーニング] ページに移動して、カスタム モデルをトレーニングします

Speech CLISpeech-to-text REST API を使う場合、Speech Studio とは異なり、アップロード時にデータセットがテスト用かトレーニング用かを選ぶ必要はありません。 モデルのトレーニングテストの実行のときにデータセットをどのように使うかを指定します。

テスト用かトレーニング用かを示す必要はありませんが、データセットの種類を指定する必要があります。 データセットの種類は、作成するデータセットの種類を決定するために使われます。 場合によっては、データセットの種類はテスト用またはトレーニング用にのみ使われることもありますが、それに依存しないようにしてください。 Speech CLI と REST API の kind 値は、次の表で説明するように Speech Studio のオプションに対応しています。

CLI と API の種類 Speech Studio のオプション
音響 トレーニング データ: 音声 + 人間がラベル付けしたトランスクリプト
テスト データ: トランスクリプト (自動音声合成)
テスト データ: 音声 + 人間がラベル付けしたトランスクリプト
AudioFiles テスト データ: 音声
Language トレーニング データ: プレーン テキスト
LanguageMarkdown トレーニング データ: マークダウン形式の構造化テキスト
発音 トレーニング データ: 発音
OutputFormatting トレーニング データ: 出力形式

Note

マークダウン形式のトレーニング データセットの構造化テキストは、Speech to text REST API バージョン 3.0 ではサポートされていません。 Speech to text REST API v3.1 を使用する必要があります。 詳細については、コードの REST API の v3.0 から v3.1 への移行に関する説明を参照してください。

データセットを作成し、既存のプロジェクトに接続するには、spx csr dataset create コマンドを使います。 次の手順に従って要求パラメーターを作成します。

  • project パラメーターを既存のプロジェクトの ID に設定します。 Speech Studio 内でデータセットを表示および管理することもできるため、このパラメーターは推奨されます。 spx csr project list コマンドを実行すると、使用できるプロジェクトを取得できます。

  • 必須の kind パラメーターを設定します。 データセットの種類に使用できる値のセットは、Language、Acoustic、Pronunciation、AudioFiles です。

  • 必須の contentUrl パラメーターを設定します。 このパラメーターは、データセットの場所です。 信頼された Azure サービスのセキュリティ メカニズムを使用しない場合 (次の注を参照)、contentUrl パラメーターは単純な匿名 GET 要求で取得できる URL である必要があります。 たとえば、SAS URL やパブリックにアクセス可能な URL などです。 追加の承認が必要な URL、またはユーザー操作が必要な URL はサポートされていません。

    Note

    Azure BLOB URL を使用する場合は、信頼された Azure サービスのセキュリティ メカニズムを使用することで、データセット ファイルの最高のセキュリティを確保できます。 データセット ファイルのバッチ文字起こしとプレーンストレージ アカウント URL の場合と同じ手法を使用します。 詳細については、こちらを参照してください。

  • 必須の language パラメーターを設定します。 データセットのロケールは、プロジェクトのロケールと一致する必要があります。 ロケールを後から変更することはできません。 Speech CLI language パラメーターは、JSON 要求と応答の locale プロパティに対応します。

  • 必須の name パラメーターを設定します。 このパラメーターは、Speech Studio に表示される名前です。 Speech CLI name パラメーターは、JSON 要求と応答の displayName プロパティに対応します。

データセットを作成し、既存のプロジェクトに接続する Speech CLI コマンドの例を次に示します。

spx csr dataset create --api-version v3.1 --kind "Acoustic" --name "My Acoustic Dataset" --description "My Acoustic Dataset Description" --project YourProjectId --content YourContentUrl --language "en-US"

次の形式で応答本文を受け取る必要があります。

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/e0ea620b-e8c3-4a26-acb2-95fd0cbc625c",
  "kind": "Acoustic",
  "contentUrl": "https://contoso.com/mydatasetlocation",
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/e0ea620b-e8c3-4a26-acb2-95fd0cbc625c/files"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/70ccbffc-cafb-4301-aa9f-ef658559d96e"
  },
  "properties": {
    "acceptedLineCount": 0,
    "rejectedLineCount": 0
  },
  "lastActionDateTime": "2022-05-20T14:07:11Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-20T14:07:11Z",
  "locale": "en-US",
  "displayName": "My Acoustic Dataset",
  "description": "My Acoustic Dataset Description"
}

応答本文の最上位の self プロパティはデータセットの URI です。 この URI を使って、データセットのプロジェクトとファイルに関する詳細を取得します。 また、この URI は、データセットの更新または削除にも使います。

データセットに関する Speech CLI ヘルプを表示するには、次のコマンドを実行します。

spx help csr dataset

Speech CLISpeech-to-text REST API を使う場合、Speech Studio とは異なり、アップロード時にデータセットがテスト用かトレーニング用かを選ぶ必要はありません。 モデルのトレーニングテストの実行のときにデータセットをどのように使うかを指定します。

テスト用かトレーニング用かを示す必要はありませんが、データセットの種類を指定する必要があります。 データセットの種類は、作成するデータセットの種類を決定するために使われます。 場合によっては、データセットの種類はテスト用またはトレーニング用にのみ使われることもありますが、それに依存しないようにしてください。 Speech CLI と REST API の kind 値は、次の表で説明するように Speech Studio のオプションに対応しています。

CLI と API の種類 Speech Studio のオプション
音響 トレーニング データ: 音声 + 人間がラベル付けしたトランスクリプト
テスト データ: トランスクリプト (自動音声合成)
テスト データ: 音声 + 人間がラベル付けしたトランスクリプト
AudioFiles テスト データ: 音声
Language トレーニング データ: プレーン テキスト
LanguageMarkdown トレーニング データ: マークダウン形式の構造化テキスト
発音 トレーニング データ: 発音
OutputFormatting トレーニング データ: 出力形式

Note

マークダウン形式のトレーニング データセットの構造化テキストは、Speech to text REST API バージョン 3.0 ではサポートされていません。 Speech to text REST API v3.1 を使用する必要があります。 詳細については、コードの REST API の v3.0 から v3.1 への移行に関する説明を参照してください。

データセットを作成して既存のプロジェクトに接続するには、Speech to text REST APIDatasets_Create 操作を使います。 次の手順に従って要求本文を作成します。

  • project プロパティを既存のプロジェクトの URI に設定します。 Speech Studio 内でデータセットを表示および管理することもできるため、このプロパティは推奨されます。 Projects_List 要求を行うと、使用できるプロジェクトを取得できます。

  • 必須の kind プロパティを設定します。 データセットの種類に使用できる値のセットは、Language、Acoustic、Pronunciation、AudioFiles です。

  • 必須の contentUrl プロパティを設定します。 このプロパティは、データセットの場所です。 信頼された Azure サービスのセキュリティ メカニズムを使用しない場合 (次の注を参照)、contentUrl パラメーターは単純な匿名 GET 要求で取得できる URL である必要があります。 たとえば、SAS URL やパブリックにアクセス可能な URL などです。 追加の承認が必要な URL、またはユーザー操作が必要な URL はサポートされていません。

    Note

    Azure BLOB URL を使用する場合は、信頼された Azure サービスのセキュリティ メカニズムを使用することで、データセット ファイルの最高のセキュリティを確保できます。 データセット ファイルのバッチ文字起こしとプレーンストレージ アカウント URL の場合と同じ手法を使用します。 詳細については、こちらを参照してください。

  • 必須の locale プロパティを設定します。 データセットのロケールは、プロジェクトのロケールと一致する必要があります。 ロケールを後から変更することはできません。

  • 必須の displayName プロパティを設定します。 このプロパティは、Speech Studio に表示される名前です。

HTTP POST 要求は、次の例に示すように URI を使用して行います。 YourSubscriptionKey は実際の Speech リソース キーに、YourServiceRegion は実際の Speech リソース リージョンに置き換えたうえで、前述のように要求本文のプロパティを設定してください。

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "kind": "Acoustic",
  "displayName": "My Acoustic Dataset",
  "description": "My Acoustic Dataset Description",
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/70ccbffc-cafb-4301-aa9f-ef658559d96e"
  },
  "contentUrl": "https://contoso.com/mydatasetlocation",
  "locale": "en-US",
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/datasets"

次の形式で応答本文を受け取る必要があります。

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/e0ea620b-e8c3-4a26-acb2-95fd0cbc625c",
  "kind": "Acoustic",
  "contentUrl": "https://contoso.com/mydatasetlocation",
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/datasets/e0ea620b-e8c3-4a26-acb2-95fd0cbc625c/files"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/70ccbffc-cafb-4301-aa9f-ef658559d96e"
  },
  "properties": {
    "acceptedLineCount": 0,
    "rejectedLineCount": 0
  },
  "lastActionDateTime": "2022-05-20T14:07:11Z",
  "status": "NotStarted",
  "createdDateTime": "2022-05-20T14:07:11Z",
  "locale": "en-US",
  "displayName": "My Acoustic Dataset",
  "description": "My Acoustic Dataset Description"
}

応答本文の最上位の self プロパティはデータセットの URI です。 この URI を使って、データセットのプロジェクトとファイルに関する詳細を取得します。 また、データセットの更新または削除にもこの URI を使用します。

重要

REST API または Speech CLI を使用してカスタム モデルをトレーニングおよびテストするために、データセットを Custom Speech プロジェクトに接続する必要はありません。 ただし、データセットがどのプロジェクトにも接続されていない場合、Speech Studio でトレーニングまたはテスト用にデータセットを選ぶことはできません。

次の手順