この記事では、Copilot Studio でDynamics 365 Contact Centerを使用した対話型音声応答に使用できる機能について説明します。
エージェントを音声サービスの準備をするには、「音声対応エージェントをDynamics 365 Contact Centerで統合する」を参照してください。
音声サービスの概要については、エージェントで対話型音声応答を使用するを参照してください。
音声と DTMF のモダリティ
音声対応エージェントはチャット ベースのエージェントとは異なります。 音声対応エージェントには、音声シナリオを処理するための特定の音声システム トピックが含まれています。 チャットベースのエージェントは、テキスト モダリティを既定として使用します。 音声対応エージェントは、Speech および DTMF モダリティを使用します。 2 つのモダリティは互いに互換性がありません。
音声用に最適化 により、さまざまなモダリティにわたって音声対応エージェントを作成し、音声関連機能が正しく作成されるようになります。
音声に合わせて最適化する
音声テンプレートを使用してエージェントを起動しなかった場合は、エージェントの [設定] で [音声の最適化] オプションを有効にする必要があります。
エージェントを開いた状態で、設定音声 に移動します。
音声用に最適化するを選択します。 音声を主要な作成モードとして使用する オプションも既定で設定されています。
音声用に最適化 および 音声を主要な作成モードとして使用する オプションを有効にすると、エージェントは次の更新を受け取ります。
- テキスト から 音声と DTMF に切り替えたときに音声機能を作成する機能。
- 音声システムトピック「 サイレンス検出」「 音声認識なし」「不明ダイ ヤルパッドの押し 込み」が自動的に追加され、音声関連のシナリオに対応します。
- エージェント データを使用して精度を向上 (既定でオン) すると、音声認識の精度が向上します。
- マップされた DTMF トリガーで会話を開始するたメイン メニュー トピックなど、既存のエージェント フローに変更はありません。
重要
- 音声の最適化 設定では、音声作成機能のみが変更され、チャンネル設定は変更されません。 完全に音声対応のエージェントの場合は、テレフォニー チャネルをオンにします。
- さらに、もともと音声機能用に設定されていなかったエージェントに 音声の最適化 を設定すると、エージェントには メイン メニュー (プレビュー) トピックが表示されなくなります。 必要に応じて、トピック を再作成する必要があります。
- 音声用に最適化をオンにできない場合、エージェントをホストしている Power Platform 環境を確認し、その環境で 新機能を早期に入手 がオフになっていることを確認してください。 詳細は、音声最適化をオンにできない をご覧ください。
音声の最適化を無効にする
テレフォニー チャネル を 使用しない場合は、エージェントの作成で音声の最適化をオフにします。 音声の最適化をオフにすると、次の変更が表示されます。
- DTMFやバージインなどの声機能のためのエージェント作成は行われていません。
- 既定のテキストモダリティとして設定されています。
- 音声認識機能がないため、音声認識は改善されません。
- 音声システムトピックまたはグローバル DTMF トピックはありません。
注意
一部のトピックは、DTMF トピック (現在はオフになっている) をまだ参照している場合、公開中にエラーを報告することがあります。
- 最適化をオフにしてもテレフォニー チャネルは削除されないため、エージェント フローとチャネルの設定に変更はありません。
- 音声の最適化 を有効または無効にしても、エージェントを公開するまで有効になりません。 誤ってオンまたはオフにし、エージェントがモダリティを切り替える場合は、修正する時間があります。
重要
テレフォニーチャネルが有効になっている場合、「音声の最適化」を無効にすると、すべての DTMF トリガーが自動的に無効になり、その結果、エージェントが機能しなくなる可能性があります。
音声を主な作成モードとして使用する
音声機能オーサリングの各ノードの音声および DTMF モダリティを選択します。 プライマリオーサリングモードとして音声を使用するエージェント作成設定を選択します。 この設定により、すべての入力フィールドに適切なモダリティが設定されます。 音声に最適化がすでに有効になっている場合、 音声を主なオーサリングモードとして使用する オプションは既定で有効になっています。
メッセージの可用性
テキストまたは音声モダリティを使用すると、チャネルにさまざまな影響を与える可能性があります。
| テキスト モダリティ | 音声モダリティ | エージェントのテキストと音声チャネル |
|---|---|---|
| 利用可能なメッセージ | 空のメッセージ | 利用可能なメッセージ |
| 空のメッセージ | 利用可能なメッセージ | メッセージがありません |
カスタマイズされた自動音声認識
医療や金融などの特定のドメインの音声対応エージェントでは、財務用語や医療専門用語を使用するユーザーが発生する可能性があります。 一部の用語や専門用語は、音声対応エージェントにとって音声からテキストに変換するのが困難です。
音声入力が正確に認識されるようにするには、音声認識を改善します。
エージェントで [設定] の [音声] を選択します。
エージェントの既定のカスタマイズされた自動音声認識設定を有効にするには、エージェント データを使用して精度を高める を選択します。
保存を選択して変更をコミットします。
新しい変更を確認するには、エージェントを公開してください。
エージェントレベルの音声オプションに関する参照
音声設定を使って、さまざまな音声関連機能のタイムアウトを設定してください。 このページで適用した設定は、エージェントで作成するトピックの既定値になります。
エージェント レベルのタイムアウト オプションを変更する方法:
エージェント の設定ページに 行き、「 音声」を選択してください。
必要な設定を選択し、エージェントのデフォルト設定を調整します。
保存を選択して変更をコミットします。
エージェント レベルの設定
次の表に、各オプションと、それがノード レベルの設定とどのように関連しているかを示します。
| 音声機能対応のエージェントレベルセクション | 設定 | 説明 | 規定値 | ノードレベルの上書き |
|---|---|---|---|---|
| DTMF | 桁間のタイムアウト | 次の DTMF キー入力の待機中に許容される最大時間 (ミリ秒単位)。 ユーザーが最大入力長を満たしていない場合にのみ、複数桁の DTMF 入力を適用します。 | 3000 ミリ秒 | 複数桁の DTMF 入力用音声プロパティ付き質問ノード |
| DTMF | 終了タイムアウト | DTMF 終了キーを待機する最大時間 (ミリ秒単位)。 ユーザーが最大入力長に達し、終了キーを押さなかった場合に制限が適用されます。 複数桁の DTMF 入力にのみ適用されます。 制限時間が経過しても終了 DTMF キーが到着しない場合、エージェントは認識を終了し、その時点までの結果を返します。 「待機せずに続行する」に設定すると、エージェントは終了キーを待機しません。 ユーザーが最大長を入力すると、エージェントはすぐに戻ります。 |
2000 ミリ秒 | 複数桁の DTMF 入力用音声プロパティ付き質問ノード |
| 無音検出 | 無音検出タイムアウト設定 | ユーザー入力の待機中に許容される最大無音時間 (ミリ秒単位)。 エージェントがユーザー入力を検出しない場合、制限が適用されます。 既定は「無音タイムアウトなし」です。エージェントはユーザーの入力を無期限に待機します。 音声の無音検出は、音声が話し終わった後の期間を検出します。 |
無音タイムアウトなし | 複数桁の DTMF 入力用音声プロパティ付き質問ノード 無音検出とタイムアウトを構成する システム トピック (無音検出トリガープロパティ) |
| 音声の収集 | 発話終了タイムアウト | ユーザーが発話中または発話後に一時停止した場合、制限が適用されます。 一時停止がタイムアウト制限よりも長い場合、エージェントはユーザーが話し終えたと想定します。 発話終了タイムアウトの最大値は 3000 ミリ秒です。 3000 ミリ秒を超えると 3000 ミリ秒に減少します。 |
1500 ミリ秒 | 音声プロパティを持つ質問ノード |
| 音声の収集 | 音声認識のタイムアウト | ユーザーが話し始めてからエージェントがユーザーの入力を許可する時間を決定します。 既定値は 12000 ミリ秒 (約 12 秒) です。 認識タイムアウトがない場合、時間は無制限です。 エージェントは質問を再度促します。 応答がない場合は、音声認識のタイムアウトを超えています。 | 12,000 ミリ秒 | 音声プロパティを持つ質問ノード |
| レイテンシーメッセージング | メッセージ送信の遅延 | バックグラウンド操作要求の開始後、エージェントが遅延メッセージを配信するまで待機する時間を決定します。 タイミングはミリ秒単位で設定されます。 | 500 ミリ秒 | 長時間実行操作用アクションノードのプロパティ |
| レイテンシーメッセージング | 最短再生時間 | メッセージの再生中にバックグラウンド操作が完了した場合でも、遅延メッセージは最小限の時間だけ再生されます。 タイミングはミリ秒単位で設定されます。 | 5000 ミリ秒 | 長時間実行操作用アクション モードのプロパティ |
| スピーチ感度 | 感度 | 音声と背景ノイズの検出のバランスを制御します。 騒がしい環境、公共の場、ハンズフリー操作の場合は感度を下げてください。 静かな環境、声が小さいユーザー、または音声コマンドの検出の場合は、感度を上げます。 既定の設定は 0.5 です。 | 0.5 | このコントロールにはノード レベルのオーバーライドはありません。 |
バージインを有効にする
割り込みを有効にすると、エージェントユーザーがエージェントを直接停止できます。 この機能は、エージェント ユーザーがメッセージ全体を読み上げる必要がない場合に便利です。 たとえば、発信者は過去に聞いたことがあるため、メニュー オプションをすでに知っている可能性があります。 バージインを使用すると、エージェントがすべてのオプションの一覧を完了していない場合でも、エージェント ユーザーは必要なオプションを入力できます。
バージインを無効にするタイミング
- エージェント メッセージを最近更新した場合や、コンプライアンス メッセージが中断されないようにする場合は、割り込みを無効にします。
- エージェントユーザーが新しい情報や重要な情報を認識できるように、エージェントの最初のメッセージへの割り込みを無効にします。
仕様
バージイン機能は、エージェント ユーザーからの DTMF ベースおよび音声ベースの割り込みをサポートします。
各メッセージにおいて、1 つのバッチ内で「割り込み」機能を制御できます。 ノードは、バージインが許可されている各ノードの前に順番に配置します。 それ以外の場合、システムは を割り込み許可メッセージとして扱います。
メッセージ ノードのバージインとバージイン無効の配置のスクリーンショット。
1 つのバッチ キューが完了すると、次のバッチの割り込み自動設定がリセットされます。 後続の各メッセージは、割り込みフラグによって制御されます。 シーケンスが再開するときに、バージインが無効なノードを配置できます。
チップ
連続 するメッセージ ノードの後に 質問 ノードが続く場合、これらのノードの音声メッセージは 1 つのバッチとして定義されます。 1 つのバッチはメッセージ ノードから始まり、ユーザーの入力を待機する質問ノードで停止します。
特にエージェント ユーザーがエージェントと頻繁にやり取りすることが予想される場合は、長いメッセージに対してバーグインを無効にしないでください。 エージェント ユーザーがメニュー オプションをすでに知っている場合は、ユーザーが希望する場所に自分で移動できるようにします。
バージイン機能を設定する
[メッセージ] ノードまたは [質問] ノードを選択し、目的のモダリティを Speech および DTMF に設定します。
ノードの 3 つのドット (...) を選択し、[ プロパティ] を選択します。
メッセージ ノードの場合、送信アクティビティのプロパティ パネルが作成キャンバスの横に開きます。
バージインを許可するを選択します。
質問 ノードの場合は、質問のプロパティ パネルが開き、音声を選択します。
音声プロパティから、「バージインを許可」を選択します。
トピックを保存します。
無音検出とタイムアウトを設定する
無音検出を使用すると、エージェントがユーザー入力を待機する時間と、エージェントが入力を受け取っていない場合に実行されるアクションを構成できます。 無音検出は、ノード レベルでの質問への応答時や、エージェントが新しいトピックを開始するためのトリガー フレーズを待機しているときに最も役立ちます。
トピックの既定のタイムアウトを設定できます。
ノードの既定を上書きする方法:
ノードの 3 つのドット (...) を選択し、[ プロパティ] を選択します。
質問プロパティ パネルが開きます。
音声 を選択し、次の設定を調整します:
無音検出タイムアウト オプション 説明 エージェント設定を使用する ノードは、無音検出に グローバル設定 を使用します。 このノードを無効化する エージェントは応答を無期限に待機します。 ミリ秒単位でカスタマイズする エージェントは、質問を繰り返す前に指定された時間待機します。
フォールバック アクション
いくつかの動作をフォールバック アクションとして設定できます:
- エージェントは質問を何回繰り返すべきか
- 再プロンプト メッセージは何と言うべきか
- 指定された回数繰り返した後にエージェントが行うべきこと
音声入力
音声入力の場合は、次の設定の値を指定します。
- 発話の終了タイムアウト: ユーザーが話し終わった後にエージェントが待機する時間。
- 音声認識のタイムアウト: エージェントが応答を開始したユーザーに与える時間。
エージェントがトリガー フレーズを待機するときの無音検出動作を構成するには、無音時 システム トピックの設定を調整します。
長時間のオペレーションに対する待機時間メッセージの追加
バックエンド操作が長い場合、エージェントはユーザーにメッセージを送信して、通常より長いプロセスを通知できます。 メッセージング チャネル上のエージェントも遅延メッセージを送信できます。
| 待機時間メッセージの音声再生 | チャットでの待機時間メッセージ |
|---|---|
| 操作が完了するまでループを続けます。 | 指定された遅延に達したときに 1 度だけ送信されます。 |
Copilot Studio では、エージェントは、Power Automate フローをトリガーした後にメッセージを繰り返すことができます。
フローをトリガーする アクション ノードを追加します。
ノードの3つの点(...)を選択し、その後 プロパティを選択します。 アクション プロパティ パネルが開きます。
メッセージの送信 を選択します。
メッセージ セクションに、エージェントに話して欲しいことを入力してください。 SSML を使用してメッセージのサウンドを変更します。 エージェントはフローが完了するまでメッセージを繰り返します。
遅延セクションで、エージェントがメッセージを繰り返すまでの待機時間を調整できます。 フローが完了した場合でも、待機する最小時間を設定します。
通話終了設定
通話を終了して切断するようにエージェントを構成するには、新しいノード (+) を追加し、 トピック管理会話の終了を選択します。
トピック 管理と会話の終了が強調表示された新しいノード メニューのスクリーンショット。
応答マシンを検出する
応答マシンを検出し、エージェント ユーザーのメッセージが完了した後にエージェント ユーザーにメッセージを残すようにエージェントを構成できます。 「応答マシン検出システム」トピックでは、エージェントがユーザーのボイス メールを検出した場合のシナリオ用のカスタム メッセージを作成できます。 [メッセージ] ノードで、エージェントが応答マシンを検出したときに残されるメッセージを定義します。
[Answering Machine Detected]\(応答マシンが検出されました\) トピックのスクリーンショット。メッセージ ノードが強調表示されています。
SSMLで音声合成をフォーマットする
音声合成マークアップ言語 (SSML) を使用して、エージェントがメッセージを大声で読み上げたときのサウンドを変更します。 たとえば、話される単語のピッチや周波数、速度、音量を変更できます。
SSML は HTML と同様に、変更するテキストをタグで囲みます。 Copilot Studio で次のタグを使用します。
| SSML タグ | 説明 | 音声サービス ドキュメントへのリンク |
|---|---|---|
<audio src="_URL to an audio file_"/> |
タグ内にオーディオ ファイルへの URL を追加します。 ファイルはエージェント ユーザーがアクセスできる必要があります。 | 録音した音声を追加する |
<break /> |
単語の間に一時停止またはブレークを挿入します。 タグ内にブレーク オプションを挿入します。 | ブレイクの追加 |
| 変更するテキスト | 単語やフレーズにストレスのレベルを追加します。 開始タグに強調オプションを追加します。 変更したいテキストの後に終了タグを追加します。 | 強調オプションを調整する |
| 変更するテキスト | ピッチ、輪郭、範囲、速度、音量の変更を指定します。 オープニングタグに抑揚オプションを追加します。 変更したいテキストの後に終了タグを追加します。 | 抑揚設定を調整する |
| 変更するテキスト | 多言語ニューラル音声を使用する場合、同じメッセージ内で話す言語を調整します。 | 話す言語を調整する |
注意
タグを使用する場合、URL を変数に格納する場合は、URL をエンコードしてから、メッセージ内のオーディオ src SSML タグに挿入します。 EncodeHTML Power Fx 関数を使用して、割り当てアクションの変数に URL を割り当てるときに URL をエンコードします。
SSML タグが追加された音声メッセージのスクリーンショット。
タグを見つけて使用する
SSML は HTML と同様に、変更するテキストをタグで囲みます。
Copilot Studio で次のタグを使用します。
[メッセージ] または [質問] ノードを選択します。 モードを Speech および DTMF に変更します。
SSML タグ メニューを選択し、タグを選択します。
メッセージボックスにタグが入力されます。 メッセージ ボックスに既にテキストがある場合は、タグのコードがメッセージの末尾に追加されます。
変更するテキストを開始タグと終了タグで囲みます。 複数のタグを組み合わせたり、メッセージの個々の部分を個別のタグでカスタマイズしたりできます。
チップ
ヘルパー メニューに表示されない SSML タグを手動で入力することもできます。 使用できる他のタグの詳細については、音声合成マークアップ言語を使用して合成を改善するを参照してください。
担当者または外部電話番号に通話を転送する
エージェントから外部の電話番号に電話を転送させることができます。 Copilot Studio では、PSTN 電話番号とダイレクト ルーティング番号へのブラインド転送がサポートされています。
注意
通話転送は、SIP X ヘッダーを使用して処理することもできます。 詳細については、「 音声対応エージェントのためのSIP Xヘッダーの設定」をご覧ください。
外線電話番号に転送する方法:
変更したい トピック に新しいノード (+) を追加します。 ノード メニューで、トピック管理、会話の転送 の順に選択します。
転送タイプで 外部電話番号転送 を選択し、転送番号を入力します。
(オプション) 電話 に SIP UUI ヘッダーを追加します。
このヘッダーは、外部システムが読み取るために表示される、スペースや特殊文字を含まない ペアの文字列です。
ノードの3つの点(...)を選択し、その後 プロパティを選択します。 転送会話プロパティ パネルが開きます。
SIP UUI ヘッダー の下に、通話転送で送信する情報を入力します。 外部の電話番号に転送する場合、変数はサポートされません。
注意
文字列の最初の256文字のみが送信されます。 ヘッダーでは、数字、文字、等号 ()、セミコロン () のみが受け入れられます。 スペース、中括弧、角括弧、数式など、その他の文字はすべてサポートされていないため、転送が失敗する可能性があります。
チップ
電話番号には、対応する国番号を含めてください。
ターゲット電話番号の SIP UUI を持つ転送エグレスは、ダイレクト ルーティングを使用する必要があります。 公衆交換電話網 (PSTN) 電話番号は SIP UUI ヘッダー転送をサポートしていません。
担当者に転送するには、明示的なトリガーを参照してください。
音声変数の使用
Copilot Studio では、変数の作成がサポートされています。 定義済みの変数を使用することも、カスタム変数を作成することもできます。
注意
- Copilot Studio で変数を使用して作成する方法の詳細については、「Work with variables」を参照してください。
- 音声対応エージェントで使用できる追加のアクティビティと会話変数の詳細については、音声対応エージェントの変数を参照してください。
Copilot Studio の音声対応エージェントは、コンテキスト変数をサポートしています。 これらの変数は、通話の転送時にエージェントの会話をDynamics 365 Contact Centerに統合するのに役立ちます。
Dynamics 365 Contact Centerのコンテキスト変数の詳細については、「Copilot Studio ボットのContext 変数を参照してください。
この統合は、転送時に以下の変数でこれらのシナリオをサポートします:
| 変数 | タイプ | 説明 |
|---|---|---|
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 が専用の 自然言語理解モデルを適用する前の生のテキストとしての音声認識結果 |
注意
- トリガーフレーズやエンティティのサイズが大きいエージェントは、公開するのに時間がかかります。
- 複数のユーザーが同時に同じエージェントを公開すると、公開アクションがブロックされます。 他のユーザーが既存のエージェントの編集を完了した後、エージェントを再公開する必要があります。
公開の基礎についての詳細情報については、主要な概念 - エージェントの公開と展開を参照してください。