音声機能を構成する

この記事では、Customer Service 用オムニチャネルの Copilot Studio で利用可能な対話型音声応答機能について説明します。

コパイロット を音声サービスに対応させるには、音声対応の コパイロット を トピック チェッカー と統合するを参照してください。

音声サービスの概要については、コパイロットの対話型音声応答を使用するを参照してください。

音声 & DTMF モダリティ

音声対応コパイロットはチャットベースのコパイロットとは異なります。 音声対応コパイロットには、音声シナリオを処理するための特定の音声システム トピックが含まれています。 チャットベースのコパイロットは、テキスト モダリティを既定で使用します。 音声対応コパイロットは、音声と DTMF モダリティを使用します。 2 つのモダリティは互いに互換性がありません。

音声の最適化 により、さまざまなモダリティにわたって音声対応のコパイロットを作成でき、音声関連の機能が正しく作成されるようになります。

音声に合わせて最適化する

音声テンプレートを使用してコパイロットを起動しなかった場合、コパイロットの 設定音声用に最適化オプションを有効にする必要があります。

  1. コパイロットを開いた状態で、設定>音声 に移動します。

  2. 音声用に最適化するを選択します。 音声を主要な作成モードとして使用する オプションも既定で設定されています。

音声用に最適化 および 音声をプライマリ作成モードとして使用する オプションを有効にすると、コパイロットに次の更新が提供されます:

  • テキスト から 音声と DTMF に切り替えたときに音声機能を作成する機能。
  • 音声システム トピック 無音検出 音声認識不能 不明なダイヤルパッドの押下 は、音声関連のシナリオを処理するために自動的に追加されます。
  • コパイロット データによる精度の向上 (既定ではオン) では、 音声認識の精度が向上します。
  • マップされた DTMF トリガーを使用して会話を開始する メイン メニュー トピック など、既存のコパイロット フローに変更はありません。

重要

  • 音声の最適化 設定では、音声作成機能のみが変更され、チャンネル設定は変更されません。 音声対応のコパイロットを完全に使用するには、テレフォニー チャネルをオンにします。
  • さらに、音声機能用に元々構成されていなかったコパイロットに 音声用に最適化 を設定すると、コパイロットには メイン メニュー (プレビュー) トピック が表示されなくなります。 必要に応じて、トピック を再作成する必要があります。

音声の最適化を無効にする

テレフォニー チャネルを有効にしない場合は、コパイロット作成で 音声の最適化 を無効にすることができます。 音声の最適化を無効にすると、次の変更が行われます:

  • DTMF やバージインなどの音声機能のコパイロット作成はありません。
  • 既定では テキスト モダリティに設定されています。
  • 音声認識機能がないため、音声認識は改善されません。
  • 音声システムトピックまたはグローバル DTMF トピックはありません。

    注意Note

    無効化された DTMF トピック が他のトピックで参照されている場合、一部のトピックでは公開中にエラーが報告されることがあります。

  • 最適化を無効にしてもテレフォニー チャネルはオフにならないため、コパイロットのフローとチャネル設定は変更されません。
  • 音声を最適化する オプションを有効化または無効化すると、コパイロットを公開するまで有効になりません。 コパイロットが誤って有効または無効になってモダリティが切り替わった場合でも、修正する時間があります。

重要

テレフォニー チャンネルが有効になっている場合は、無効にすると 音声に最適化 すべての DTMF トリガーが自動的に無効になるため、コパイロットが機能しなくなる可能性があります。

音声を主な作成モードとして使用する

音声機能作成の各ノードに対して、音声と DTMF モダリティを選択する必要があります。 コパイロットの作成設定は、音声を主なオーサリングモードとして使用する と設定します。 この設定により、すべての入力フィールドに適切なモダリティが設定されます。 音声に最適化がすでに有効になっている場合、 音声を主なオーサリングモードとして使用する オプションは既定で有効になっています。

メッセージの可用性

テキストまたは音声モダリティを使用すると、チャネルにさまざまな影響を与える可能性があります。

テキスト モダリティ 音声モダリティ Copilot のテキストと音声チャネル
利用可能なメッセージ 空のメッセージ 利用可能なメッセージ
空のメッセージ 利用可能なメッセージ 利用できないメッセージ

カスタマイズされた自動音声認識

医療や金融など特定の分野の音声対応コパイロットは、ユーザーが金融用語や医療専門用語を使用するのを目にする可能性があります。 用語や専門用語の中には、音声対応コパイロットが音声からテキストに変換するのが難しいものもあります。

音声入力を正確に認識するには、音声認識を改善することができます:

  1. コパイロットを開いた状態で、設定>音声 を選択します。

  2. コパイロットの既定でカスタマイズされた自動音声認識設定を有効にするには、コパイロット データによる精度の向上 を選択します。

  3. 保存を選択して変更をコミットします。

  4. 新しい変更を確認するには、コパイロットを公開します。

Copilot レベルの音声オプション リファレンス

Copilot の詳細 設定ページでは、さまざまな音声関連機能のタイムアウトを設定できます。 このページで適用された設定は、コパイロットで作成されたトピックの既定となります。

コパイロット レベルのタイムアウト オプションを変更する方法:

  1. コパイロットを開いた状態で、設定>音声 を選択します。

    音声対応コパイロットの音声設定のスクリーンショット。

  2. 必要な設定を選択し、コパイロットの既定の設定を調整します。

  3. 保存を選択して変更をコミットします。

Copilot レベルの設定

次の表に、各オプションと、それがノード レベルの設定とどのように関連しているかを示します。

音声対応副コパイロット レベル セクション 設定 プロパティ 規定値 ノードレベルの上書き
DTMF 桁間のタイムアウト 次の DTMF キー入力を待つ間に許容される最大時間 (ミリ秒) です。 ユーザーが最大入力長を満たしていない場合にのみ、複数桁の DTMF 入力を適用します。 3000 ミリ秒 複数桁の DTMF 入力用音声プロパティ付き質問ノード
DTMF 終了タイムアウト DTMF 終了キーを待機する最大期間 (ミリ秒)。 ユーザーが最大入力長に達し、終了キーを押さなかった場合に制限が適用されます。 複数桁の DTMF 入力にのみ適用されます。

制限時間が経過しても終了 DTMF キーが到着しない場合、コパイロットは認識を終了し、その時点までの結果を返します。

「待たずに続行」に設定されている場合、コパイロットは終了キーを待ちません。 ユーザーが最大長を入力すると、Copilot はすぐに戻ります。
2000 ミリ秒 複数桁の DTMF 入力用音声プロパティ付き質問ノード
無音検出 無音検出タイムアウト ユーザー入力待ち時間の最大沈黙時間 (ミリ秒)。 コパイロットがユーザー入力を検出しない場合、制限が適用されます。 既定は「無音タイムアウトなし」です。Copilot はユーザーの入力を無期限に待機します。

音声の無音検出は、音声が話し終わった後の期間を計測します。
無音タイムアウトなし 複数桁の DTMF 入力用音声プロパティ付き質問ノード

無音検出とタイムアウトを構成する ためのシステム トピック (無音検出トリガープロパティ)
音声の収集 発話終了タイムアウト ユーザーが発話中または発話後に一時停止した場合、制限が適用されます。 一時停止がタイムアウト制限よりも長い場合、コパイロットはユーザーが話し終えたと想定します。

発話終了タイムアウトの最大値は 3000 ミリ秒です。 3000 ミリ秒を超えるものは 3000 ミリ秒に短縮されます。
1500 ミリ秒 音声プロパティを持つ質問ノード
音声の収集 音声認識のタイムアウト ユーザーが話し始めてからコパイロットがユーザーの入力を許可する時間を決定します。 既定値は 12000 ミリ秒 (約 12 秒) です。 認識タイムアウトがない場合、時間は無制限です。 Copilot が再度質問を促します。 応答がない場合は、音声認識のタイムアウトを超えています。 12,000 ミリ秒 音声プロパティを持つ質問ノード
待機時間メッセージング 遅延メッセージを送信する バックグラウンド操作要求が開始された後、コパイロットが遅延メッセージを配信するまでに待機する時間を決定します。 タイミングはミリ秒単位で設定されます。 500 ミリ秒 長時間実行操作用アクションノードのプロパティ
待機時間メッセージング 最短再生時間 メッセージの再生中にバックグラウンド操作が完了した場合でも、遅延メッセージは最小限の時間だけ再生されます。 タイミングはミリ秒単位で設定されます。 5000 ミリ秒 長時間実行操作用アクション モードのプロパティ
スピーチ感度 秘密度 音声と背景ノイズの検出のバランスを制御します。 騒がしい環境、公共の場、ハンズフリー操作の場合は感度を下げてください。 静かな環境、声が小さいユーザー、または音声コマンドの検出の場合は、感度を上げます。 既定の設定は 0.5 です。 0.5 このコントロールにはノード レベルのオーバーライドはありません。

バージインを有効にする

バージインを有効にすると、コパイロットのユーザーがコパイロットに割り込むことができます。 この機能は、コパイロット ユーザーにメッセージ全体を聞かせる必要がない場合に便利です。 たとえば、発信者は過去に聞いたことがあるため、メニュー オプションをすでに知っている可能性があります。 バージインを使用すると、コパイロットがすべてのオプションのリストを終了していなくても、コパイロット ユーザーは必要なオプションを入力できます。

バージイン無効化シナリオ

  • 最近コパイロットメッセージを更新した場合、またはコンプライアンス メッセージが中断されないようにする場合は、バージインを無効にします。
  • コパイロット ユーザーが新しい情報や重要な情報を認識できるように、最初のコパイロット メッセージに対する割り込みを無効にします。

仕様

  • バージインは、コパイロット ユーザーからの DTMF ベースおよび音声ベースの割り込みをサポートします。

  • バージインはメッセージごとに一括して制御できます。 barge-in-disabled ノードは、バージインが許可されている各ノードの前に順番に配置します。 それ以外の場合、バージイン無効はバージイン有効メッセージとして扱われます。

    メッセージ ノードのバージインとバージイン無効の配置のスクリーンショット。

    1 つのバッチ キューが終了すると、次のバッチのためにバージイン自動設定はリセットされ、後続の各メッセージのバージイン フラグによって制御されます。 シーケンスが再開するときに、バージインが無効なノードを配置できます。

チップ

連続したメッセージ ノードがあり、その後に質問ノードがある場合、これらのノードの音声メッセージは 1 つのバッチとして定義されます。 1 つのバッチはメッセージ ノードから始まり、ユーザーの入力を待機している質問ノードで停止します。

特にコパイロット ユーザーがコパイロットと頻繁にやり取りすることが予想される場合は、長いメッセージに対してバージインを無効にしないでください。 コパイロットのユーザーがすでにメニュー オプションを知っている場合は、ユーザーが行きたい場所にセルフサービスで移動できるようにします。

バージインを設定する

  1. メッセージ または 質問 ノードを選択した状態で、目的のモダリティを 音声と DTMFに設定します。

  2. 質問 ノードのその他アイコン () を選択し、プロパティ を選択します。

    1. メッセージ ノードの場合、送信アクティビティのプロパティ パネルが作成キャンバスの横に開きます。

      バージインを許可するを選択します。

    2. 質問 ノードの場合は、質問のプロパティ パネルが開き、音声を選択します。

      音声 プロパティから、バージインを許可するを選択します。

  3. トピックを保存して変更をコミットします。

無音検出とタイムアウトを設定する

無音検出では、コパイロットがユーザー入力を待機する時間や、入力を受信しなかった場合の動作を構成できます。 無音検出は、ノード レベルでの質問への応答時や、コパイロットが新しい トピック を開始するためのトリガー フレーズを待機しているときに最も役立ちます。

トピックの既定のタイムアウトを設定できます。

ノードの既定を上書きする方法:

  1. 質問 ノードのその他アイコン () を選択し、プロパティ を選択します。

    質問プロパティ パネルが開きます。

  2. 音声 を選択し、次の設定を調整します:

    無音検出タイムアウト オプション プロパティ
    コパイロットを設定する ノードは、無音検出に グローバル設定 を使用します。
    このノードを無効化する コパイロットは応答を無期限に待機します。
    ミリ秒単位でカスタマイズする コパイロットは指定された時間待機してから質問を繰り返します。

フォールバック アクション

いくつかの動作をフォールバック アクションとして設定できます:

  • コパイロットが質問を何回繰り返すべきか
  • 再プロンプト メッセージの内容
  • 指定された回数の繰り返し後にコパイロットが行うべきこと

音声入力

音声入力の場合は以下を指定できます:

  • 発話終了タイムアウト: ユーザーが話し終えた後にコパイロットが待機する時間
  • 音声認識タイムアウト: ユーザーが応答を開始してからコパイロットが与える時間

コパイロットがトリガー フレーズを待機しているときの無音検出動作を構成するには、無音時 システム トピック の設定を調整します。

長時間のオペレーションに対する待機時間メッセージの追加

バックエンド操作が長い場合、コパイロットはユーザーにメッセージを送信して、長いプロセスを通知できます。 メッセージング チャネル上のコパイロットも待機時間メッセージを送信できます。

待機時間メッセージの音声再生 チャットでの待機時間メッセージ
操作が完了するまでループを続けます。 指定された遅延に達したときに 1 度だけ送信されます。

Copilot Studio では、コパイロットは Power Automate フローをトリガーした後にメッセージを繰り返すことができます:

  1. フローをトリガーするアクション ノードの追加

  2. 質問 ノードのその他アイコン () を選択し、プロパティ を選択します。 アクション プロパティ パネルが開きます。

  3. メッセージの送信 を選択します。

  4. メッセージ セクションでは、コパイロットが話す言葉を入力します。 SSML を使用してメッセージのサウンドを変更できます。 コパイロットはフローが完了するまでメッセージを繰り返します。

コパイロットがメッセージを繰り返すまでの待機時間は、延期期間セクションで調整できます。 フローが完了した場合でも、待機する最小時間を設定できます。

通話終了の構成

コパイロットが通話を終了して電話を切るように構成するには、新しいノード (+) を追加し、トピック管理>会話の終了を選択します。

トピック 管理と会話の終了が強調表示された新しいノード メニューのスクリーンショット。

SSMLで音声合成をフォーマットする

音声合成マークアップ言語 (SSML) を使用して、コパイロットがメッセージを読み上げるときの音声を変更できます。 たとえば、話される単語のピッチや周波数、速度、音量を変更できます。

SSML は HTML と同様に、変更するテキストをタグで囲みます。 Power Virtual Agents では以下のタグを使用できます:

SSML タグ プロパティ 音声サービス ドキュメントへのリンク
<audio src="_URL to an audio file_"/> タグ内にオーディオ ファイルへの URL を追加します。 ファイルはコパイロット ユーザーがアクセスできる必要があります。 録音した音声を追加する
<break /> 単語の間に一時停止またはブレークを挿入します。 タグ内にブレーク オプションを挿入します。 ブレイクの追加
<emphasis> 変更するテキスト</emphasis> 単語やフレーズにストレスのレベルを追加します。 開始タグに強調オプションを追加します。 変更したいテキストの後に終了タグを追加します。 強調オプションを調整する
<prosody> 変更するテキスト</prosody> ピッチ、輪郭、範囲、速度、音量の変更を指定します。 オープニングタグに抑揚オプションを追加します。 変更したいテキストの後に終了タグを追加します。 抑揚オプションを調整する

SSML タグが追加された音声メッセージのスクリーンショット。

タグを見つけて使用する

SSML は HTML と同様に、変更するテキストをタグで囲みます。

Copilot Studio では以下のタグを使用できます:

  1. メッセージ または 質問 ノードを選択した状態で、モードを 音声と DTMFに変更します。

  2. SSML タグ メニューを選択し、タグを選択します。

    メッセージボックスにタグが入力されます。 メッセージ ボックスに既にテキストがある場合は、タグのコードがメッセージの末尾に追加されます。

  3. 変更するテキストを開始タグと終了タグで囲みます。 複数のタグを組み合わせたり、メッセージの個々の部分を個別のタグでカスタマイズしたりできます。

チップ

ヘルパー メニューに表示されない SSML タグを手動で入力することもできます。 使用できる他のタグの詳細については、音声合成マークアップ言語を使用して合成を改善するを参照してください。

エージェントまたは外部電話番号への転送

コパイロットに外部の電話番号に電話を転送させることができます。 Copilot Studio では、PSTN 電話番号と直接ルーティング番号へのブラインド転送をサポートしています。

外線電話番号に転送する方法:

  1. 変更したい トピック に新しいノード (+) を追加します。 ノード メニューで、トピック管理会話の転送 の順に選択します。

  2. 転送タイプ外部電話番号転送 を選択し、転送番号を入力します。

  3. (オプション) 電話 に SIP UUI ヘッダーを追加します。

    このヘッダーは、外部システムが読み取るために表示される、スペースや特殊文字を含まない key=value ペアの文字列です。

    1. 質問 ノードのその他アイコン () を選択し、プロパティ を選択します。 転送会話プロパティ パネルが開きます。

    2. SIP UUI ヘッダー の下に、通話転送で送信する情報を入力します。 外部の電話番号に転送する場合、変数はサポートされません。

    注意

    文字列の最初の 128 文字のみが送信されます。

    ヘッダーでは、数字、文字、等号 (=)、セミコロン (;) のみが受け入れられます。 スペース、中括弧、角括弧、数式など、その他の文字はすべてサポートされていないため、転送が失敗する可能性があります。

チップ

電話番号には、対応する国番号の + を含めてください。

ターゲット電話番号の SIP UUI を持つ転送エグレスは、ダイレクト ルーティングを使用する必要があります。 公衆交換電話網 (PSTN) 電話番号は SIP UUI ヘッダー転送をサポートしていません。

エージェントに転送するには、明示的なトリガーを参照してください。

音声変数の使用

Copilot Studio は変数の母集団をサポートします。 定義済みの変数を使用することも、カスタム変数を作成することもできます。

注意

  • Copilot Studio での変数の使い方や作成方法の詳細については、変数を使った作業を参照してください。
  • 音声対応コパイロットに使用できる追加のアクティビティおよび会話変数の詳細については、音声対応コパイロット用の変数を参照してください。

Copilot Studio の音声対応コパイロットはコンテキスト変数に対応します。 これらの変数は、通話を転送する際に、コパイロットの会話を 顧客サービス のオムニチャネルと統合するのに役立ちます。

Customer Service 用オムニチャネルのコンテキスト変数の詳細については、Copilot Studio ボット用コンテキスト変数を参照してください。

この統合は、転送時に以下の変数でこれらのシナリオをサポートします:

変数 タイプ プロパティ
System.Activity.From.Name String コパイロット ユーザーの発信者 ID
System.Activity.Recipient.Name String コパイロットに電話をかけたり接続したりするために使用する番号
System.Conversation.SipUuiHeaderValue String ダイレクト ルーティング電話番号経由で転送する場合の SIP ヘッダー値
System.Activity.UserInputType String コパイロット ユーザーが会話で DTMF を使用したか、音声を使用したかどうか
System.Activity.InputDTMFKey String コパイロット ユーザーの生の DTMF 入力
System.Conversation.OnlyAllowDTMF ブール型 true に設定すると音声入力が無視されます
System.Activity.SpeechRecognition.Confidence 回数 最後の音声認識イベントからの信頼度値 (0~1)
System.Activity.SpeechRecognition.MinimalFormattedText String Copilot Studio が専用の自然言語理解モデルを適用する前の音声認識結果 (生テキストとして)

注意

  • トリガー フレーズとエンティティ サイズが大きいコパイロットは、公開に時間がかかります。
  • 複数のユーザーが同時に同じコパイロットを公開すると、公開アクションがブロックされます。 他のユーザーが既存のコパイロットの編集を完了した後は、コパイロットを再公開する必要があります。

公開の基本に関する詳細については、主要な概念 - コパイロットを公開して展開するを参照してください。