Copilot Studioを利用すると、チャットボットを簡単に構築することができます。
チャットボットを多言語対応させたいケースもあるかと思いますが、Copilot Studioでは簡単に設定することができます。
本記事では、Copilot Studioで多言語対応のチャットボットを作成する方法をご紹介させていただきます。
今回作成するチャットボット
今回は、以下の言語に対応したチャットボットを作成します。
- プライマリ言語:日本語
- セカンダリ言語:英語(米国)
多言語対応のチャットボットを作成する
ここからは、多言語対応のチャットボットを作成する手順を紹介します。
エージェントを作成する
まず、チャットボットとして使用するエージェントを作成します。
Copilot Studioのエージェントを[高度な作成]から作成します。

[言語]が[日本語(日本)]となっていることを確認し、[確認と作成]をクリックします。ここで選択した言語がプライマリ言語となります。

エージェントが作成できました。エージェント名等を適宜変更します。

Microsoft公式ドキュメントのURLをナレッジとして追加します。今回は、Microsoft製品に関する質問を受け付けるチャットボットとして利用します。

先ほど追加したナレッジを参照するよう、エージェントの指示文に記載します。

エージェントにセカンダリ言語を追加する
次に、作成したエージェントにセカンダリ言語を追加します。
エージェントの[設定]から、[言語] - [セカンダリ言語] - [言語の追加]をクリックします。

追加したい言語にチェックを入れて、[追加]をクリックします。今回は、[英語(米国)(en-US)]にチェックを入れます。

セカンダリ言語が追加されるため、[アップロード]をクリックします。

ローカライズファイルをダウンロードします。JSONとResXでダウンロードする選択肢がありますが、今回はJSONでダウンロードします。

ダウンロードしたファイルをテキストエディタで開くと、トピック内で表示されるメッセージなどが、プライマリ言語で記載されている状態です。この部分を、セカンダリ言語で書き換える必要があります。

一つ一つ翻訳するのは大変ですので、今回はMicrosoft 365 Copilotを使用して日本語の文章を英語に翻訳しました。

修正後のファイルがこちらです。日本語の文章のみ英語に修正しました。

Copilot Studioに戻り、[閲覧]から先ほどのJSONファイルをアップロードします。アップロードが完了したら、[翻訳の更新をアップロードする]をクリックします。

[ローカライズを更新する]をクリックします。

[閉じる]をクリックします。

セカンダリ言語の表示が変更されていることを確認します。これで、セカンダリ言語の追加は完了です。

Copilot Studioのテスト画面から確認すると、プライマリ言語の日本語に加えて、セカンダリ言語の英語が追加されています。

日本語を選択した状態で質問をすると、日本語で回答が返却されます。

英語を選択した状態で質問をすると、英語で回答が返却されます。

ユーザーの入力に応じて言語を判断するように設定する
これまでの手順で、セカンダリ言語の追加が完了しました。ここからは、ユーザーがチャットボットに入力した言語を検知するトピックを作成し、回答に使用する言語を自動で判断させます。
[トピック] - [トピックの追加] - [最初から]をクリックします。

トピックのトリガーとして、[メッセージを受信した時]を選択します。

新しいノードを追加し、[ツールを追加する] - [新しいプロンプト]をクリックします。

以下のようなプロンプトを記載します。[Message]の入力でユーザーがチャットボットに入力した内容を受け取り、言語を特定します。

動作確認した結果は以下の通りです。
日本語が入力された場合:

英語が入力された場合:

その他の言語が入力された場合:

[保存]をクリックしてプロンプトを閉じます。

トピック内にプロンプトが追加されるため、入力に[Activity.Text]、出力に任意の変数名(今回はDetectedLanguage)を設定します。なお、入力に設定したActivity.Text変数には、ユーザーがチャットボットに入力したテキストが格納されます。

新しいノードを追加し、[条件を追加する]をクリックします。

[DetectedLanguage.structuredOutput.languages (プロンプトで特定した言語)]の値がJapanese、Englishの場合と、それ以外の条件を定義します。

各条件の下で新しいノードを追加し、[変数管理] - [変数値を設定する]をクリックします。

[設定する変数]に[User.Language]、[設定する値]から対象の言語を選択します。なお、User.Language変数に設定された言語に応じて、エージェントは使用する言語を判断します。

各条件で使用する言語を定義しました。ここまで来たらトピックを保存します。

チャットボットの動作確認
それでは、多言語に対応するチャットボットの準備ができたので、動作を確認します。
チャットボットに対して質問した結果は以下の通りです。ユーザーが入力した言語を特定して、適切な言語で回答が返却されます。
ユーザーが日本語で質問した場合:

ユーザーが英語で質問した場合:

ユーザーがその他の言語で質問した場合:

次に、トピック内で定義してあるメッセージが呼び出された場合の動作を確認します。

英語で質問した場合のみ、JSONファイルで定義した文章が出力されました。

おわりに
今回は、Copilot Studioで多言語対応のチャットボットを作成する方法をご紹介しました。
非常に簡単な方法で構築が出来ましたので、様々な方に利用いただけるチャットボットを、すぐに用意することが出来そうです。