Custom Speech プロジェクトを作成する

Custom Speech プロジェクトには、モデル、トレーニングとテストのデータセット、デプロイ エンドポイントが含まれています。 各プロジェクトはロケール別になっています。 たとえば、米国の英語用のプロジェクトを作成することが考えられます。

プロジェクトの作成

Custom Speech プロジェクトを作成するには、これらの手順に従います。

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

  2. 使用するサブスクリプションと Speech リソースを選択します。

    重要

    オーディオ データを使用してカスタム モデルをトレーニングする場合は、オーディオ データのトレーニングに使用する専用ハードウェアがある Speech リソース リージョンを選択します。 詳細については、リージョン テーブルの脚注を参照してください。

  3. [Custom Speech]>[新しいプロジェクトを作成する] を選択します。

  4. ウィザードの手順に従ってプロジェクトを作成します。

新しいプロジェクトの名前を選択するか、[プロジェクトに移動] を選択します。 左側のパネルに、[音声データセット][カスタム モデルをトレーニングする][モデルをテストする][モデルをデプロイする] というメニュー項目が表示されます。

プロジェクトを作成するには、spx csr project create コマンドを使用します。 次の手順に従って要求パラメーターを作成します。

  • 必須の language パラメーターを設定します。 プロジェクトのロケールと含まれているデータセットのロケールは同じであることが必要です。 ロケールを後から変更することはできません。 Speech CLI language パラメーターは、JSON 要求と応答の locale プロパティに対応します。
  • 必須の name パラメーターを設定します。 これは、Speech Studio に表示される名前です。 Speech CLI name パラメーターは、JSON 要求と応答の displayName プロパティに対応します。

プロジェクトを作成する Speech CLI コマンドの例を次に示します。

spx csr project create --api-version v3.1 --name "My Project" --description "My Project Description" --language "en-US"

応答本文は次の形式で返されます。

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed",
  "links": {
    "evaluations": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/evaluations",
    "datasets": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/datasets",
    "models": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/models",
    "endpoints": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/endpoints",
    "transcriptions": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/transcriptions"       
  },
  "properties": {
    "datasetCount": 0,
    "evaluationCount": 0,
    "modelCount": 0,
    "transcriptionCount": 0,
    "endpointCount": 0
  },
  "createdDateTime": "2022-05-17T22:15:18Z",
  "locale": "en-US",
  "displayName": "My Project",
  "description": "My Project Description"
}

応答本文の最上位の self プロパティはプロジェクトの URI です。 プロジェクトの評価、データセット、モデル、エンドポイント、文字起こしについての詳しい情報は、この URI を使用して取得します。 また、プロジェクトの更新と削除にもこの URI を使用します。

プロジェクトに関する Speech CLI ヘルプを表示するには、次のコマンドを実行します。

spx help csr project

プロジェクトを作成するには、Speech to text REST APIProjects_Create 操作を使用します。 次の手順に従って要求本文を作成します。

  • 必須の locale プロパティを設定します。 これは、含まれているデータセットのロケールにする必要があります。 ロケールを後から変更することはできません。
  • 必須の displayName プロパティを設定します。 これは、Speech Studio に表示されるプロジェクト名です。

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

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "displayName": "My Project",
  "description": "My Project Description",
  "locale": "en-US"
} '  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/projects"

応答本文は次の形式で返されます。

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed",
  "links": {
    "evaluations": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/evaluations",
    "datasets": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/datasets",
    "models": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/models",
    "endpoints": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/endpoints",
    "transcriptions": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/transcriptions"       
  },
  "properties": {
    "datasetCount": 0,
    "evaluationCount": 0,
    "modelCount": 0,
    "transcriptionCount": 0,
    "endpointCount": 0
  },
  "createdDateTime": "2022-05-17T22:15:18Z",
  "locale": "en-US",
  "displayName": "My Project",
  "description": "My Project Description"
}

応答本文の最上位の self プロパティはプロジェクトの URI です。 プロジェクトの評価、データセット、モデル、エンドポイント、文字起こしについての詳しい情報は、この URI を使用して取得します。 また、プロジェクトの更新削除にもこの URI を使用します。

モデルを選択する

Custom Speech モデルを使用するには、次のようにいくつかの方法があります。

  • 基本モデルには、さまざまなシナリオですぐに利用できる正確な音声認識があります。 基本モデルは、精度と品質を向上させるために定期的に更新されます。 基本モデルを使用する場合は、最新の既定の基本モデルを使用することをお勧めします。 必要なカスタマイズ機能が古いモデルでしか使用できない場合は、古い基本モデルを選択できます。
  • カスタム モデルは基本モデルを拡張して、カスタム ドメインのすべての領域で共有されるドメイン固有のボキャブラリを含みます。
  • カスタム ドメインに複数の領域があり、それぞれが特定のボキャブラリを持つ場合は、複数のカスタム モデルを使用できます。

基本モデルで十分かどうかを確認するお勧めの方法の 1 つは、基本モデルから生成された文字起こしを分析し、同じ音声で人間が生成した文字起こしと比較することです。 文字起こしを比較して、単語誤り率 (WER) スコアを取得できます。 WER スコアが高い場合は、誤って識別された単語を認識するようにカスタム モデルをトレーニングすることをお勧めします。

ボキャブラリがドメイン領域によって異なる場合は、複数のモデルを使用することをお勧めします。 たとえば、オリンピックの解説者がレポートする各種競技は、それぞれが独自の用語に関連付けられています。 オリンピック競技の各ボキャブラリは他の競技と大きく異なるため、競技に固有のカスタム モデルを作成すると、その特定の競技に関連する発話データを制限することで精度が向上します。 その結果、モデルでは、照合するために関連性のないデータをふるいにかける必要がありません。 それでも、トレーニングには十分な種類のトレーニング データが必要です。 アクセント、性別、年齢などが異なるさまざまな解説者の音声を含めます。

モデルの安定性とライフサイクル

Custom Speech を使用してエンドポイントにデプロイされた基本モデルまたはカスタム モデルは、更新を決定するまで固定されます。 新しい基本モデルがリリースされても、音声認識の正確性と品質は一貫したままです。 これにより、新しいモデルを使用することを決定するまで、特定のモデルの動作を固定できます。

独自のモデルをトレーニングするか、基本モデルのスナップショットを使用するかにかかわらず、期間限定でモデルを使用できます。 詳細については、「モデルとエンドポイントのライフサイクル」を参照してください。

次のステップ