開発エンジニアのTOSHIKI.Kです。
近年、AIを活用したチャットボットの需要が急速に高まっています。特に、カスタマーサポートやFAQ対応の自動化において、自然言語処理技術の活用が重要視されています。Googleが提供するDialogflowは、そのようなチャットボットをノーコードで開発・運用できるサービスです。
本記事では、Dialogflowの基本概念から、使用例などについて紹介します。
1. Dialogflowとは
「Dialogflow」とは、ノーコードでチャットボットを構築できるプラットフォームで、LINEやChat、Slackなど様々なサービスにチャットボットを構築することができます。
活用事例としては、以下のようなものが挙げられます。
- お問い合わせ窓口
- 予約管理サイト
- 勤怠・スケジュール管理
- 顧客データ収集とビジネスへの応用
また、Dialogflowには、小規模なエージェント向けのDialogflow ES、より高度な機能や複雑な処理を提供するDialogflow CXといった2種類のエディションがあります。
今回はDialogflow CXを使った開発を行いました。
1. Dialogflow ESの特徴
Dialogflow ESでは、ユーザーの特定の入力に対して、どのような応答を返すかを定義する「インテント」を設定し、複数のインテントを組み合わせることで会話を制御します。
インテントは以下の設定項目からなります。
項 目 |
説 明 |
トレーニングフレーズ |
ユーザーの入力に該当する。 |
レスポンス |
ユーザーの入力に対する応答メッセージ。 |
コンテキスト ※1 |
直近のやり取りの文脈を汲み取るための機能。 |
イベント |
イベント名を定義する。 |
フルフィルメント |
webhookを利用した動的なレスポンスを生成することができる。 |
アクションとパラメータ |
ユーザーの発言からパラメータを抽出できる。 |
※1:コンテキストを利用することで、直近の会話の値を保持して、今何について会話しているかを判断して回答をすることができます。
出力コンテキストと入力コンテキストを用いて文脈を判断する。
・出力コンテキスト:ユーザーが今何について話しているかを設定する(アクティブ化)
・入力コンテキスト:以前の会話でアクティブになっている話題を受け取り、インテントを決定する
<コンテキストを使ったインテントの設定例>
インテント名 |
トレーニングフレーズ |
レスポンス |
入力 |
出力 |
魚受付 |
魚について教えて |
何が知りたいですか? |
|
魚 |
肉受付 |
肉について教えて |
何が知りたいですか? |
|
肉 |
おすすめ魚料理 |
オススメの料理は? |
アジフライです |
魚 |
|
おすすめ肉料理 |
オススメの料理は? |
ハンバーグです |
肉 |
|
上記の設定の場合、
いきなり「オススメの料理は?」と聞いても、入力コンテキストには、「魚」や「肉」が入っていないため、インテントにマッチしません。
直近で「魚」について話していることで、入力コンテキストに「魚」が渡されて、
インテント「おすすめ魚料理」がマッチします。
2. Dialogflow CXの特徴
Dialogflow ESだと、一問一答の独立したインテントを複数用意して構成するため、複雑な会話フローの管理が難しいという課題がありました。
一方、Dialogflow CXでは、複雑な会話のフローを視覚的に設計することが可能です。
参考:Dialogflow CX を使って Slack チャットボットを作る
また、Vertex AIの生成AIと組み合わせることが可能で、インテントやフローを設計せずに、生成AIによる柔軟な回答を行うチャットボットを構築することが可能になります。
・Vertex AIを使ったチャットボットの開発事例
Dialogflow CXとVertex AIの連携は、「Vertex AI Agent Builder」を利用することで実現できます。
Cloud Storage上にチャットボットの回答の元となるドキュメントを配置し、Vertex AI Agent Builderを介して、データの探索、回答の生成を行います。
実際には弊社のツールである「Provii!!」のサポート用チャットボットを作ってみました。
Cloud Storage上にProvii!!のPDFマニュアルを格納して、格納フォルダのデータストアとして指定する形でVertex AI Agent Builderを構築します。
構築したVertex AI Agent BuilderとDialogflow CXを連携することでProvii!!のサポート用チャットボットを作ることが可能になります。
以下は実際のチャットボットの画面です。
質問に対して、マニュアルを元に回答を生成し、また、回答の元となった記載箇所のリンクも表示してくれます。
※Dialogflow CXで想定質問や回答などの設定は不要です。
2. ESとCXどっちを使う?
前述の内容ではES、CXそれぞれの特徴について解説しました。では、実際に利用する際、どちらを採用するのが良いでしょうか。選ぶ際のポイントについて紹介します。
単純なFAQスタイルのボットを素早く構築したい ⇒ Dialogflow ES
例)
・一問一答形式のサポートサイト
・飲食店の予約システム
複数ターンにわたる複雑なやり取りが必要
マニュアルや社内ナレッジに基づいたチャットボットを作りたい ⇒ Dialogflow CX
例)
・詳細のプランニングが求められる旅行代理店の予約システム
・ユーザーの好みに基づいたショッピングアシスタント
・ツールの利用方法についてのサポートシステム
まとめ
本記事では、Dialogflowの基本概念から、使用例などについて解説しました。
Dialogflowを使うことで様々な用途に役立つチャットボットをノーコードで開発することができるということがわかりました。
また、Dialogflow CXとVertex AIを組み合わせることで、設定や構築の手間をほとんどかけることなく、チャットボットを開発することができました。
今後、AI技術の進化とともにチャットボットの役割も広がっていくことが予想されます。もしチャットボットを検討していたり、気になったことがありましたら、ぜひお気軽にお問い合わせください。
上記の記事に関してご質問ございましたら、お問い合わせください。