音声機能を構成する
この記事では、Copilot Studio Dynamics 365 Customer Service の対話型音声応答で利用できる機能について説明します。
エージェントを音声サービスに対応させるには、音声対応エージェントを Dynamics 365 Customer Service と統合するを参照してください。
音声サービスの概要については、エージェントで対話型音声応答を使用するを参照してください。
音声 & DTMF モダリティ
音声対応エージェントはチャット ベースのエージェントとは異なります。 音声対応エージェントには、音声シナリオを処理するための特定の音声システム トピックが含まれています。 チャットベースのエージェントは、テキスト モダリティを既定として使用します。 音声対応エージェントは、音声および DTMF モダリティを使用します。 2 つのモダリティは互いに互換性がありません。
音声用に最適化 により、さまざまなモダリティにわたって音声対応エージェントを作成し、音声関連機能が正しく作成されるようになります。
音声に合わせて最適化する
エージェントを 音声テンプレートを使用して起動しなかった場合は、エージェントの設定で音声用に最適化オプションを有効にする必要があります。
エージェントを開いた状態で、設定>音声 に移動します。
音声用に最適化するを選択します。 音声を主要な作成モードとして使用する オプションも既定で設定されています。
音声用に最適化 および 音声を主要な作成モードとして使用する オプションを有効にすると、エージェントは次の更新を受け取ります。
- テキスト から 音声と DTMF に切り替えたときに音声機能を作成する機能。
- 音声システム トピック 無音検出 、 音声認識不能 、 不明なダイヤルパッドの押下 は、音声関連のシナリオを処理するために自動的に追加されます。
- エージェント データを使用して精度を向上 (既定でオン) すると、音声認識の精度が向上します。
- マップされた DTMF トリガーで会話を開始するためのメイン メニュー トピックなど、既存のエージェント フローに変更はありません。
重要
- 音声の最適化 設定では、音声作成機能のみが変更され、チャンネル設定は変更されません。 完全に音声対応のエージェントの場合は、テレフォニー チャネルをオンにします。
- さらに、もともと音声機能用に設定されていなかったエージェントに 音声の最適化 を設定すると、エージェントには メイン メニュー (プレビュー) トピックが表示されなくなります。 必要に応じて、トピック を再作成する必要があります。
音声の最適化を無効にする
テレフォニー チャネルを有効にしない場合は、エージェント作成で 音声の最適化 を無効にすることができます。 音声の最適化を無効にすると、次の変更が行われます:
- DTMF やバージインなどの音声機能に対するエージェント作成はありません。
- 既定では テキスト モダリティに設定されています。
- 音声認識機能がないため、音声認識は改善されません。
- 音声システムトピックまたはグローバル DTMF トピックはありません。
注意Note
無効化された 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 ベースおよび音声ベースの割り込みをサポートします。
バージインはメッセージごとに一括して制御できます。
barge-in-disabled
ノードは、バージインが許可されている各ノードの前に順番に配置します。 それ以外の場合、バージイン無効はバージイン有効メッセージとして扱われます。1 つのバッチ キューが終了すると、次のバッチのためにバージイン自動設定はリセットされ、後続の各メッセージのバージイン フラグによって制御されます。 シーケンスが再開するときに、バージインが無効なノードを配置できます。
チップ
連続したメッセージ ノードがあり、その後に質問ノードがある場合、これらのノードの音声メッセージは 1 つのバッチとして定義されます。 1 つのバッチはメッセージ ノードから始まり、ユーザーの入力を待機している質問ノードで停止します。
特にエージェント ユーザーがエージェントと頻繁にやり取りすることが予想される場合は、長いメッセージに対して割り込みを無効にしないでください。 エージェント ユーザーがメニュー オプションをすでに知っている場合は、ユーザーが希望する場所に自分で移動できるようにします。
バージインを設定する
メッセージ または 質問 ノードを選択した状態で、目的のモダリティを 音声と DTMFに設定します。
質問 ノードのその他アイコン (…) を選択し、プロパティ を選択します。
メッセージ ノードの場合、送信アクティビティのプロパティ パネルが作成キャンバスの横に開きます。
バージインを許可するを選択します。
質問 ノードの場合は、質問のプロパティ パネルが開き、音声を選択します。
音声 プロパティから、バージインを許可するを選択します。
トピックを保存して変更をコミットします。
無音検出とタイムアウトを設定する
無音検出を使用すると、エージェントがユーザー入力を待機する時間と、入力がない場合に実行するアクションを設定できます。 無音検出は、ノード レベルでの質問への応答時や、エージェントが新しいトピックを開始するためのトリガー フレーズを待機しているときに最も役立ちます。
トピックの既定のタイムアウトを設定できます。
ノードの既定を上書きする方法:
質問 ノードのその他アイコン (…) を選択し、プロパティ を選択します。
質問プロパティ パネルが開きます。
音声 を選択し、次の設定を調整します:
無音検出タイムアウト オプション プロパティ エージェント設定を使用する ノードは、無音検出に グローバル設定 を使用します。 このノードを無効化する エージェントは応答を無期限に待機します。 ミリ秒単位でカスタマイズする エージェントは、質問を繰り返す前に指定された時間待機します。
フォールバック アクション
いくつかの動作をフォールバック アクションとして設定できます:
- エージェントは質問を何回繰り返すべきか
- 再プロンプト メッセージの内容
- 指定された回数繰り返した後にエージェントが行うべきこと
音声入力
音声入力の場合は以下を指定できます:
- 発話終了タイムアウト: ユーザーが話し終えた後にエージェントが待機する時間
- 音声認識タイムアウト: ユーザーが応答を開始してからエージェントがユーザーに与える反応時間
エージェントがトリガー フレーズを待機するときの無音検出動作を構成するには、無音時 システム トピックの設定を調整します。
長時間のオペレーションに対する待機時間メッセージの追加
バックエンド操作が長い場合、エージェントはユーザーにメッセージを送信して、通常より長いプロセスを通知できます。 メッセージング チャネル上のエージェントも遅延メッセージを送信できます。
待機時間メッセージの音声再生 | チャットでの待機時間メッセージ |
---|---|
操作が完了するまでループを続けます。 | 指定された遅延に達したときに 1 度だけ送信されます。 |
Copilot Studioでは、エージェントは Power Automate フローをトリガーした後にメッセージを繰り返すことができます:
質問 ノードのその他アイコン (…) を選択し、プロパティ を選択します。 アクション プロパティ パネルが開きます。
メッセージの送信 を選択します。
メッセージ セクションに、エージェントに話して欲しいことを入力してください。 SSML を使用してメッセージのサウンドを変更できます。 エージェントはフローが完了するまでメッセージを繰り返します。
遅延セクションで、エージェントがメッセージを繰り返すまでの待機時間を調整できます。 フローが完了した場合でも、待機する最小時間を設定できます。
通話終了の構成
エージェントが通話を終了して電話を切るように設定するには、新しいノード (+) を追加し、トピック管理>会話の終了を選択します。
SSMLで音声合成をフォーマットする
音声合成マークアップ言語 (SSML) を使用して、エージェントがメッセージを読み上げる際の音声を変更できます。 たとえば、話される単語のピッチや周波数、速度、音量を変更できます。
SSML は HTML と同様に、変更するテキストをタグで囲みます。 Copilot Studio では以下のタグを使用できます:
SSML タグ | プロパティ | 音声サービス ドキュメントへのリンク |
---|---|---|
<audio src="_URL to an audio file_"/> |
タグ内にオーディオ ファイルへの URL を追加します。 ファイルはエージェント ユーザーがアクセスできる必要があります。 | 録音した音声を追加する |
<break /> |
単語の間に一時停止またはブレークを挿入します。 タグ内にブレーク オプションを挿入します。 | ブレイクの追加 |
<emphasis>
変更するテキスト</emphasis> |
単語やフレーズにストレスのレベルを追加します。 開始タグに強調オプションを追加します。 変更したいテキストの後に終了タグを追加します。 | 強調オプションを調整する |
<prosody>
変更するテキスト</prosody> |
ピッチ、輪郭、範囲、速度、音量の変更を指定します。 オープニングタグに抑揚オプションを追加します。 変更したいテキストの後に終了タグを追加します。 | 抑揚オプションを調整する |
<lang xml:lang="xx-XX">
変更するテキスト</lang> |
多言語ニューラル音声を使用する場合、同じメッセージ内で話す言語を調整します。 | 話す言語を調整する |
タグを見つけて使用する
SSML は HTML と同様に、変更するテキストをタグで囲みます。
Copilot Studio では以下のタグを使用できます:
メッセージ または 質問 ノードを選択した状態で、モードを 音声と DTMFに変更します。
SSML タグ メニューを選択し、タグを選択します。
メッセージボックスにタグが入力されます。 メッセージ ボックスに既にテキストがある場合は、タグのコードがメッセージの末尾に追加されます。
変更するテキストを開始タグと終了タグで囲みます。 複数のタグを組み合わせたり、メッセージの個々の部分を個別のタグでカスタマイズしたりできます。
チップ
ヘルパー メニューに表示されない SSML タグを手動で入力することもできます。 使用できる他のタグの詳細については、音声合成マークアップ言語を使用して合成を改善するを参照してください。
担当者または外部電話番号に通話を転送する
エージェントから外部の電話番号に電話を転送させることができます。 Copilot Studio は、PSTN 電話番号と直接ルーティング番号へのブラインド転送をサポートしています。
外線電話番号に転送する方法:
変更したい トピック に新しいノード (+) を追加します。 ノード メニューで、トピック管理、会話の転送 の順に選択します。
転送タイプで 外部電話番号転送 を選択し、転送番号を入力します。
(オプション) 電話 に SIP UUI ヘッダーを追加します。
このヘッダーは、外部システムが読み取るために表示される、スペースや特殊文字を含まない
key=value
ペアの文字列です。質問 ノードのその他アイコン (…) を選択し、プロパティ を選択します。 転送会話プロパティ パネルが開きます。
SIP UUI ヘッダー の下に、通話転送で送信する情報を入力します。 外部の電話番号に転送する場合、変数はサポートされません。
注意
文字列の最初の 128 文字のみが送信されます。
ヘッダーでは、数字、文字、等号 (
=
)、セミコロン (;
) のみが受け入れられます。 スペース、中括弧、角括弧、数式など、その他の文字はすべてサポートされていないため、転送が失敗する可能性があります。
チップ
電話番号には、対応する国番号の +
を含めてください。
ターゲット電話番号の SIP UUI を持つ転送エグレスは、ダイレクト ルーティングを使用する必要があります。 公衆交換電話網 (PSTN) 電話番号は SIP UUI ヘッダー転送をサポートしていません。
担当者に転送するには、明示的なトリガーを参照してください。
音声変数の使用
Copilot Studio は変数の母集団をサポートします。 定義済みの変数を使用することも、カスタム変数を作成することもできます。
注意
- Copilot Studio での変数の使い方や作成方法の詳細については、変数を使った作業を参照してください。
- 音声対応エージェントで使用できる追加のアクティビティおよび会話変数の詳細については、音声対応エージェントの変数を参照してください。
Copilot Studio の音声対応エージェントはコンテキスト変数をサポートします。 これらの変数は、通話を転送するときにエージェントの会話を Dynamics 365 Customer Service と統合する際に役立ちます。
Dynamics 365 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 が専用の自然言語理解モデルを適用する前の音声認識結果 (生テキストとして) |
ヒント
- トリガー フレーズとエンティティ サイズが大きいエージェントは、公開に時間がかかります。
- 複数のユーザーが同時に同じエージェントを公開すると、公開アクションがブロックされます。 他のユーザーが既存のエージェントの編集を完了した後、エージェントを再公開する必要があります。
公開の基礎についての詳細情報については、主要な概念 - エージェントの公開と展開を参照してください。