フレーズ リストは、認識機能を高めるために、事前に提供される、単語またはフレーズの一覧です。 フレーズ リストにフレーズを追加すると、その重要性が増加するため、認識される可能性が高くなります。 フレーズ リストは、リアルタイムの文字起こしと高速文字起こしで追加できます。
フレーズの例を、以下に示します。
- 名前
- 地理的な場所
- 同音異義語
- 業界または組織に固有の単語または略語
フレーズ リストはシンプルで軽量です。
- Just-In-Time: 音声認識を開始する直前にフレーズ リストが提供されるため、カスタム モデルをトレーニングする必要がなくなります。
- 軽量: 大きなデータ セットは必要ありません。 認識を向上させる単語またはフレーズを指定します。
サポートされるフレーズ リスト ロケールについては、Speech サービスの言語と音声のサポートに関する記事を参照してください。
Speech Studio、Speech SDK、または Speech コマンド ライン インターフェイス (CLI) でフレーズ リストを使用できます。 リアルタイム文字起こしと高速 文字起こしAPI でサポートされています。 バッチ文字起こし API はフレーズ リストをサポートしていません。
フレーズ リストは、標準とカスタム音声の両方で使用できます。 状況によっては、フレーズを含むカスタム モデルをトレーニングすることが、精度を高める最善の方法と考えられます。 たとえば、以下の場合では Custom Speech を使用することになります。
- 多数のフレーズの一覧を使用する必要がある場合。 フレーズ リストに含めることができるフレーズの数は 500 以下です。
- 現在サポートされていない言語のフレーズ リストが必要な場合。
フレーズ リストの重み
リアルタイム文字起こしで Speech SDK を使用する場合は、既定の辞書に対するフレーズ リスト フレーズの重みを制御できます。 この設定は、フレーズ リストが音声テキスト変換の結果に与える影響を決定します。
フレーズ リストの重みは、0.0から2.0までの範囲内で設定できます。
- 0.0: フレーズ リストを無効にします
- 1.0: 既定の重み (標準の影響)
- 2.0: 最大重量 (影響が最も大きい)
重みを大きくすると、リストの語句が既定の辞書の代替語句よりも認識される可能性が高くなります。 この設定は、完全な一覧に適用されます。
Speech Studio でテストする
Speech Studio を使用して、フレーズ リストの支援によってオーディオの認識を向上させる方法をテストできます。 運用環境のアプリケーションにフレーズ リストを実装するには、Speech SDK または Speech CLI を使用します。
たとえば、音声サービスに次の文を認識させたいとしましょう: "Hi Rehaan, I'm Jessie from Contoso bank."
フレーズが次のように誤認識される場合があります: "Hi everyone, I'm Jesse from can't do so bank."
上のシナリオでは、"Rehaan"、"Jessie"、"Contoso" をフレーズ リストに追加する必要があるでしょう。 これで、名前が正しく認識されるはずです。
次に、Speech Studio を使用して、フレーズ リストで認識精度がどのように向上するかを確認します。
注意
Azure サブスクリプションと Speech リソースを選択し、リージョンの課金を確認するように求められます。
- Speech Studio のリアルタイム音声テキスト変換に移動します。
- 音声認識をテストするには、オーディオ ファイルをアップロードするか、マイクでオーディオを録音します。 たとえば、[マイクでオーディオを録音する] を選択してから、"Hi Rehaan, I'm Jessie from Contoso bank." と話します。 " と話してから、赤いボタンを選択して録音を停止します。
- 文字起こしの結果が [テスト結果] テキスト ボックスに表示されます。 "Rehaan"、"Jessie"、または "Contoso" が誤って認識された場合は、次の手順で語句をフレーズ リストに追加できます。
- [詳細オプションの表示] を選択し、[フレーズ リスト] をオンにします。
- フレーズ リストのテキスト ボックスに「Contoso;Jessie;Rehaan」と入力します。 複数のフレーズは、セミコロンで区切る必要があります。
- マイクを使用して認識を再度テストします。 それ以外の場合は、オーディオ ファイルの横にある再試行矢印を選択して、オーディオを再実行できます。 "Rehaan"、"Jessie"、または "Contoso" という用語を認識する必要があります。
リアルタイム文字起こしでフレーズ リストを実装する
Speech SDK を使用すると、フレーズを個別に追加してから、音声認識を実行できます。
var phraseList = PhraseListGrammar.FromRecognizer(recognizer);
phraseList.AddPhrase("Contoso");
phraseList.AddPhrase("Jessie");
phraseList.AddPhrase("Rehaan");
phraselist.SetWeight(weight);
Speech SDK を使用すると、フレーズを個別に追加してから、音声認識を実行できます。
auto phraseListGrammar = PhraseListGrammar::FromRecognizer(recognizer);
phraseListGrammar->AddPhrase("Contoso");
phraseListGrammar->AddPhrase("Jessie");
phraseListGrammar->AddPhrase("Rehaan");
phraselist->SetWeight(weight);
Speech SDK を使用すると、フレーズを個別に追加してから、音声認識を実行できます。
PhraseListGrammar phraseList = PhraseListGrammar.fromRecognizer(recognizer);
phraseList.addPhrase("Contoso");
phraseList.addPhrase("Jessie");
phraseList.addPhrase("Rehaan");
phraseList.setWeight(weight);
Speech SDK を使用すると、フレーズを個別に追加してから、音声認識を実行できます。
const phraseList = sdk.PhraseListGrammar.fromRecognizer(recognizer);
phraseList.addPhrase("Contoso");
phraseList.addPhrase("Jessie");
phraseList.addPhrase("Rehaan");
phraseList.setWeight(weight);
Speech SDK を使用すると、フレーズを個別に追加してから、音声認識を実行できます。
phrase_list_grammar = speechsdk.PhraseListGrammar.from_recognizer(reco)
phrase_list_grammar.addPhrase("Contoso")
phrase_list_grammar.addPhrase("Jessie")
phrase_list_grammar.addPhrase("Rehaan")
phraseList.setWeight(weight)
Speech CLI を使用すると、フレーズ リストをインラインで含めるか、recognize コマンドとテキスト ファイルを使用して含めることができます。
マイクまたはオーディオ ファイルから認識を実行してみてください。
spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;"
spx recognize --file "your\path\to\audio.wav" --phrases "Contoso;Jessie;Rehaan;"
また、1 行に 1 つのフレーズを含むテキスト ファイルを使用してフレーズ リストを追加することもできます。
spx recognize --microphone --phrases @phrases.txt
spx recognize --file "your\path\to\audio.wav" --phrases @phrases.txt
使用できる文字には、ロケール固有の文字と数字、空白文字、特殊文字 (+、-、$、:、(、)、{、}、_、.、?、@、\、'、&、#、%、^、*、`、<、>、;、/ など) が含まれます。 その他の特殊文字は、フレーズから内部的に削除されます。
高速文字起こしでフレーズ リストを実装する
音声テキスト変換 REST API を使用して、高速文字起こしでフレーズの一覧を追加できます
curl --___location 'https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/transcriptions:transcribe?api-version=2025-10-15' \
--header 'Ocp-Apim-Subscription-Key: YourSpeechResourceKey' \
--form 'audio=@"YourAudioFile"' \
--form 'definition={
"locales": ["en-US"],
"phraseList": {
"phrases": ["Contoso", "Jessie", "Rehaan"]
}
}'
次の手順
認識精度を向上させるためのオプションの詳細について説明します。