2024年7月2日

Google Cloudで簡易分岐付きチャットボット作成


Content

概要

こんにちは。Google Cloud研究開発チームです。

本記事ではVertex AI Agent Builder (旧:Vertex AI Conversation)を用いて簡易的な分岐のできるチャットボットを作成する方法をご紹介します。

 

今回用意したチャットボットの会話のシナリオは下記となっています。

 

①ユーザー:あいさつ

 

AI分岐の生じる質問

   (ディ●ニーランドとシーどちらが好き?

   ↓

ユーザー:回答

   (ランド/シーどちらかを回答

    ↓

AI:③の回答に沿った質問

   (ランド/シーでは何のアトラクションが好き?

     

⑤ユーザー:回答

   (好きなアトラクションを入力

      ↓

AI:回答に沿った反応

   (○○いいですよね!など

 

※Vertex AI Agent Builder の初期構築手順は以下の記事を参照ください。

https://sight-r.sts-inc.co.jp/google_cloud_article/generative_ai_chatbots_starter/

分岐付きチャットボットの作成手順

0.主な単語

手順の中で出てくる主な単語の概要です。

  • Page
    特定の目的(質問)をもち、それに対するユーザの返答内容に応じて、適切な応答を設定します。
  • Intent
    Pageの中の一つの設定項目です。
    ユーザの返答内容の想定解と適切な応答内容を設定します。
    Intentを複数作成することでユーザからの返答内容によって応答内容を変更する条件分岐を設定できます。
  • Entity
    ユーザの返答内容から抽出したい情報を制御できます。
    今回はユーザの返答内容の中にあるワードの類義語にも応答できるよう設定していきます。
    Intentで設定したユーザの返答内容に対する想定解だけでなく、
    Entityで設定したワードにも応答できるようになります。

 

1.準備

①~③を押下すると右側に詳細ページが出てきます。で下記内容を設定しSave」を押下します。

Transition:+ new Page

Page name:Dis●ey

 

 

2.質問文の作成

①~③を押下すると右側に詳細ページが出てきます。④で下記内容を設定し、⑤「Save」を押下します。

Agent Says:ディ●ニーはランドとシーどちらが好きですか?

 

3.条件分岐の作成 まずはシーを選択した場合のフローを作成!

3-1.Intent”sea”の作成

Routesの「+」を押下し、Intent項目から「+ new Intent」を選択します。

 

下記内容を設定します。

Training phrasesには”ディ●ニーシー関連のワードを複数登録します。

Display name:sea

Training phrases:”ディニーシー”  “しー”  “sea”  “シー”

 

Agent saysにシーに関するコメントを入力します。

 

3-2.Page”sea attraction”の作成

さらにランドに関する質問フローを作成します。

下記内容を設定し「Save」を押下します。

Transition:+ new Page

Page name:sea attraction

①~③を押下し、下記内容を設定し④Save」を押下します。

Agent Says:シーでは何のアトラクションが好きですか?

 

3-3.Intent”sea attractions”作成

Routesの「+」を押下し、Intent項目から「+ new Intent」を選択し、下記内容を設定します。

今回はタワーオブー●ラー関連のワードを複数登録します。

Display name:sea attractions

Training phrases:”タワーオブー●ラー  “タワ●ラ

Agent saysにコメントを入力します。

 

今回はここでフローを終了するため、Transition項目で“End Flow”を選択し、「Save」を押下します。

 

4.条件分岐の作成 ランドを選択した場合のフローを作成!

シーの分岐を作成した手順(手順3)と同様にランドの分岐も作成してきます。

手順4については上記手順3と同様になりますので設定値のみ記載します。

 

4-1.Intent”landの作成

を押下し、Intent項目から「+ new Intent」を選択します。③で下記内容を設定し「Save」を押下します。

Display name:land

Training phrases:”ディ●ニーランド”  “land”  “らんど”  “ランド”

Agent says:(ランドに関する任意の文)

 

4-2.Page”land attraction“の作成

Page name:land attraction

Agent responses:“ランドでは何のアトラクションが好きですか?

Save」を押下

 

4-3.Intent”land attractions”作成

Display name:land attractions

Training phrases:”ビック●ンダーマウンテン”  “ビック●ンダー”  “ビック●ンダーが好きです”

Agent says:(アトラクションに関する任意の文)

Transition:End Flow

Save」を押下

 

5.Entityの登録

類義語に対応するための設定をします。
今回は手順3-3で作成した「Training phrases:“タワーオブー●ラー”  “タワ●ラ“」について他の呼び方で返ってきても反応できるようにしてきます。

①~を押下します。

 

下記内容で設定します。

Display name:sea-attaraction-entities

Entity:タワーオブ●ラー 

Synonyms“TOT”“TT”タワー・オブ・●ラータワー●ラータワ●ララー“ 

Advanced settingsを開き、Fuzzy matchingにチェックを入れます。

6.作成したEntity「sea-attaraction-entities」とIntentsea attraction」を接続する

①~を押下します。

 

Training phrasesの色づいている箇所を右クリックし、作成したEntity「sea-attaraction-entities」を選択します。

Training phrasesに登録しているものすべてに同じことを行います。

全てのTraining PhrasesがEntity「sea-attaraction-entities」に紐づいたら完了です。

 

7.動作確認

右上のTest Agentを押下し、チャットで確認してみます。

ランドが好きと答えたらランドに関する質問が返ってきました!

シーが好きと答えたらシーに関する質問が返ってきました!
Entityで登録した単語”TOT”でも返答が返ってきています。

 

最後に

今回ご紹介したDaialogFlowの分岐処理は11つ回答を手動で設定する必要がありましたが、データストアを活用することで入力の手間を省くこともできます。

 

チャットボットを導入することで事務的なQAをシステム化できることのほかに、想定外の質問や例外的な顧客の問題をデータとして蓄積し、可視化できるというメリットがあります。

 

昨今需要が高まるAI技術ですが、導入するまでのコストが高いことで敬遠されがちなジャンルでもあると思います。

今回ご紹介した記事の内容は手軽にAI技術に触れることができますので、AIに触れ合うきっかけとなれば幸いです。

 

なお、システムサポートでは、企業向けに生成AIチャットボットの導入支援サービスを提供しております。

生成AIチャットボットを活用した業務改善やユーザー体験向上にご興味のある方はお気軽にご相談ください!

https://sight-r.sts-inc.co.jp/google_cloud/generative-ai-introduction-support-package/

2024年7月2日 Google Cloudで簡易分岐付きチャットボット作成

Category Google Cloud

ご意見・ご相談・料金のお見積もりなど、
お気軽にお問い合わせください。

お問い合わせはこちら