Custom Speech のトレーニングデータセットとテストデータセットをアップロードする
音声認識の正確性をテストする場合、またはカスタム モデルをトレーニングする場合は、オーディオまたはテキストのデータが必要です。 モデルのテストまたはトレーニングでサポートされるデータ型の詳細については、「データセットのトレーニングとテスト」を参照してください。
ヒント
オンライン文字起こしエディターを使用して、ラベル付けされたオーディオ データセットを作成および調整することもできます。
データセットをアップロードする
Speech Studio で独自のデータセットをアップロードするには、次の手順を実行します。
Speech Studio にサインインします。
[Custom Speech]> [プロジェクト名] >[音声データセット]>[データのアップロード] を選択します。
[トレーニング データ]または [テスト データ] タブを選択します。
データセットの種類を選択し、[次へ] を選択します。
データセットの場所を指定し、[次へ] を選択します。 ローカル ファイルを選択するか、Azure BLOB URL などのリモートの場所を入力できます。 リモートの場所を選択し、信頼された Azure サービスのセキュリティ メカニズムを使用しない場合、そのリモートの場所は単純な匿名 GET 要求で取得することができる URL である必要があります。 たとえば、SAS URL やパブリックにアクセス可能な URL などです。 追加の承認が必要な URL、またはユーザー操作が必要な URL はサポートされていません。
Note
Azure BLOB URL を使用する場合は、信頼された Azure サービスのセキュリティ メカニズムを使用することで、データセット ファイルの最高のセキュリティを確保できます。 データセット ファイルのバッチ文字起こしとプレーンストレージ アカウント URL の場合と同じ手法を使用します。 詳細については、こちらを参照してください。
データセットの名前と説明を入力し、[次へ] を選択します。
設定を確認し、[保存して閉じる] を選択します。
データセットがアップロードされたら、[カスタム モデルのトレーニング] ページに移動して、カスタム モデルをトレーニングします
Speech CLI と Speech-to-text REST API を使う場合、Speech Studio とは異なり、アップロード時にデータセットがテスト用かトレーニング用かを選ぶ必要はありません。 モデルのトレーニング、テストの実行のときにデータセットをどのように使うかを指定します。
テスト用かトレーニング用かを示す必要はありませんが、データセットの種類を指定する必要があります。 データセットの種類は、作成するデータセットの種類を決定するために使われます。 場合によっては、データセットの種類はテスト用またはトレーニング用にのみ使われることもありますが、それに依存しないようにしてください。 Speech CLI と REST API の kind
値は、次の表で説明するように Speech Studio のオプションに対応しています。
CLI と API の種類 | Speech Studio のオプション |
---|---|
音響 | トレーニング データ: 音声 + 人間がラベル付けしたトランスクリプト テスト データ: トランスクリプト (自動音声合成) テスト データ: 音声 + 人間がラベル付けしたトランスクリプト |
AudioFiles | テスト データ: 音声 |
Language | トレーニング データ: プレーン テキスト |
LanguageMarkdown | トレーニング データ: マークダウン形式の構造化テキスト |
発音 | トレーニング データ: 発音 |
OutputFormatting | トレーニング データ: 出力形式 |
重要
Speech CLI または REST API を使用してデータ ファイルを直接アップロードすることはありません。 まず、Speech CLI または REST API がアクセスできる URL にトレーニングまたはテスト データセット ファイルを保存します。 データ ファイルをアップロードしたら、Speech CLI または REST API を使用して、カスタム音声テストまたはトレーニング用のデータセットを作成できます。
データセットを作成し、既存のプロジェクトに接続するには、spx csr dataset create
コマンドを使います。 次の手順に従って要求パラメーターを作成します。
project
パラメーターを既存のプロジェクトの ID に設定します。 Speech Studio 内でデータセットを表示および管理することもできるため、このパラメーターは推奨されます。spx csr project list
コマンドを実行すると、使用できるプロジェクトを取得できます。必須の
kind
パラメーターを設定します。 トレーニング データセットの種類に使用できる値のセットは、Acoustic、AudioFiles、Language、LanguageMarkdown、Pronunciation です。必須の
contentUrl
パラメーターを設定します。 このパラメーターは、データセットの場所です。 信頼された Azure サービスのセキュリティ メカニズムを使用しない場合 (次の注を参照)、contentUrl
パラメーターは単純な匿名 GET 要求で取得できる URL である必要があります。 たとえば、SAS URL やパブリックにアクセス可能な URL などです。 追加の承認が必要な URL、またはユーザー操作が必要な URL はサポートされていません。Note
Azure BLOB URL を使用する場合は、信頼された Azure サービスのセキュリティ メカニズムを使用することで、データセット ファイルの最高のセキュリティを確保できます。 データセット ファイルのバッチ文字起こしとプレーンストレージ アカウント URL の場合と同じ手法を使用します。 詳細については、こちらを参照してください。
必須の
language
パラメーターを設定します。 データセットのロケールは、プロジェクトのロケールと一致する必要があります。 ロケールを後から変更することはできません。 Speech CLIlanguage
パラメーターは、JSON 要求と応答のlocale
プロパティに対応します。必須の
name
パラメーターを設定します。 このパラメーターは、Speech Studio に表示される名前です。 Speech CLIname
パラメーターは、JSON 要求と応答のdisplayName
プロパティに対応します。
データセットを作成し、既存のプロジェクトに接続する Speech CLI コマンドの例を次に示します。
spx csr dataset create --api-version v3.2 --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.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23",
"kind": "Acoustic",
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23/files"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"properties": {
"textNormalizationKind": "Default",
"acceptedLineCount": 2,
"rejectedLineCount": 0,
"duration": "PT59S"
},
"lastActionDateTime": "2024-07-14T17:36:30Z",
"status": "Succeeded",
"createdDateTime": "2024-07-14T17:36:14Z",
"locale": "en-US",
"displayName": "My Acoustic Dataset",
"description": "My Acoustic Dataset Description",
"customProperties": {
"PortalAPIVersion": "3"
}
}
応答本文の最上位の self
プロパティはデータセットの URI です。 この URI を使って、データセットのプロジェクトとファイルに関する詳細を取得します。 また、この URI は、データセットの更新または削除にも使います。
データセットに関する Speech CLI ヘルプを表示するには、次のコマンドを実行します。
spx help csr dataset
Speech CLI と Speech-to-text REST API を使う場合、Speech Studio とは異なり、アップロード時にデータセットがテスト用かトレーニング用かを選ぶ必要はありません。 モデルのトレーニング、テストの実行のときにデータセットをどのように使うかを指定します。
テスト用かトレーニング用かを示す必要はありませんが、データセットの種類を指定する必要があります。 データセットの種類は、作成するデータセットの種類を決定するために使われます。 場合によっては、データセットの種類はテスト用またはトレーニング用にのみ使われることもありますが、それに依存しないようにしてください。 Speech CLI と REST API の kind
値は、次の表で説明するように Speech Studio のオプションに対応しています。
CLI と API の種類 | Speech Studio のオプション |
---|---|
音響 | トレーニング データ: 音声 + 人間がラベル付けしたトランスクリプト テスト データ: トランスクリプト (自動音声合成) テスト データ: 音声 + 人間がラベル付けしたトランスクリプト |
AudioFiles | テスト データ: 音声 |
Language | トレーニング データ: プレーン テキスト |
LanguageMarkdown | トレーニング データ: マークダウン形式の構造化テキスト |
発音 | トレーニング データ: 発音 |
OutputFormatting | トレーニング データ: 出力形式 |
重要
Speech CLI または REST API を使用してデータ ファイルを直接アップロードすることはありません。 まず、Speech CLI または REST API がアクセスできる URL にトレーニングまたはテスト データセット ファイルを保存します。 データ ファイルをアップロードしたら、Speech CLI または REST API を使用して、カスタム音声テストまたはトレーニング用のデータセットを作成できます。
データセットを作成して既存のプロジェクトに接続するには、Speech to text REST API の Datasets_Create 操作を使います。 次の手順に従って要求本文を作成します。
project
プロパティを既存のプロジェクトの URI に設定します。 Speech Studio 内でデータセットを表示および管理することもできるため、このプロパティは推奨されます。 Projects_List 要求を行うと、使用できるプロジェクトを取得できます。必須の
kind
プロパティを設定します。 トレーニング データセットの種類に使用できる値のセットは、Acoustic、AudioFiles、Language、LanguageMarkdown、Pronunciation です。必須の
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.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"contentUrl": "https://contoso.com/mydatasetlocation",
"locale": "en-US",
}' "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/datasets"
次の形式で応答本文を受け取る必要があります。
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23",
"kind": "Acoustic",
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/23b6554d-21f9-4df1-89cb-f84510ac8d23/files"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
},
"properties": {
"textNormalizationKind": "Default",
"acceptedLineCount": 2,
"rejectedLineCount": 0,
"duration": "PT59S"
},
"lastActionDateTime": "2024-07-14T17:36:30Z",
"status": "Succeeded",
"createdDateTime": "2024-07-14T17:36:14Z",
"locale": "en-US",
"displayName": "My Acoustic Dataset",
"description": "My Acoustic Dataset Description",
"customProperties": {
"PortalAPIVersion": "3"
}
}
応答本文の最上位の self
プロパティはデータセットの URI です。 この URI を使って、データセットのプロジェクトとファイルに関する詳細を取得します。 また、データセットの更新または削除にもこの URI を使用します。
重要
REST API または Speech CLI を使用してカスタム モデルをトレーニングおよびテストするために、データセットを Custom Speech プロジェクトに接続する必要はありません。 ただし、データセットがどのプロジェクトにも接続されていない場合、Speech Studio でトレーニングまたはテスト用にデータセットを選ぶことはできません。