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