DialogFlow CXで天気予報チャットボットをつくる: Intent編

2024/03/13に公開4

🌟 はじめに

おぐまです。

勉強も兼ねてDialogFlow CXを使用した天気予報チャットボットを作ります!

1つにまとめるとかなりのボリュームになりそうなので、それぞれ設定項目を分割していきます。

  1. Intentの作成
  2. Entityの作成
  3. Flow,Pagesの作成
  4. ??? ※ここで作成したシンプルチャットボットを改造(応用)する

くらいで分割して進めていくのでお付き合いください💆

👷‍♂️ 事前準備

  • Google Cloud Platform アカウント
  • DialogFlow CX Agentを作っている状態

https://zenn.dev/ap_com/articles/dialogflowcx-basic-guide

📖 ステップ

👉 Intentの理解

Intentはユーザーの入力意図を理解し、適切な応答を生成するためものです。

Intentを設定することでユーザーが何をしたいのか言いたいのかを特定して、それに応じてチャットボットが対応できるようになります。

まずはIntent画面の要素と作成画面でどのような項目があるかみてみます🌜

📺 Intents画面の機能

Intent_Top

機能 説明
Intents 既存のIntentのリストを表示し、新しいIntentの追加や編集を行う
Suggestions DialogFlowが自動的に生成するIntentの提案を表示する
Overlaps 異なるIntent間で発話例が重複している場合に警告を表示する
Import 外部からIntentの定義をインポートする機能
Create 新しいIntentを作成するためのボタン
Default Intents DialogFlowには、デフォルトで用意されている一般的なIntent

📺 Intent作成画面の要素

Intent_Create_Top

要素 説明
Display name インテントに付けられる名前。ユニークである必要があります
Labels インテントを分類するためのタグやラベル管理や検索を容易にします
Description インテントの目的や機能を説明するテキスト
Training Phrases ユーザーがインテントをトリガーする可能性のある発話例
Skip auto annotation トレーニングフレーズ内でDialogFlowによる自動Entity識別をスキップするかどうか

👉 Intentの作成

次は実際にIntentを作ってみます。

  1. Intentのトップ画面でCreateを選択
  2. *Display name: WeatherForecastと入力
  3. Description: ユーザーからの天気予報に関する質問に応答するインテントと入力
  4. Labels: インテントを分類するために、weatherforecastなどのラベルを付ける
  5. Training Phrases: 手動追加もできますがcsvにまとめてファイルアップロードして一括追加も可能なので今回はアップロードします。アップロードボタン > ファイル選択 > Select import modeを選択 > Submit を押してアップロード
それぞれの画面キャプチャ

1
Intent_Create

2-5
Createを押すと👇の画面になるのでアップロードしていく

Intent_Create_Upload

Import as new training phrasesを選択してSubmit

Intent_Create_Upload_02

Intentが作成されて以下のような画面になる

Intent_Create_Upload

今回アップロードしたcsvファイルの中身
今日の天気は?
明日の天気を教えて
週末の東京の天気予報を知りたい
来週の大阪の天気はどうですか?

💡 補足

  • Intentを細かく設定することで、ユーザーの質問に対してより正確に応答できるようになる

  • トレーニングフレーズは多様性を持たせることが大事

  • 異なる言い回しや表現を含めることで、チャットボットの理解度を向上させる

  • IntentSuggestions 機能は、実際のユーザーの発言パターンから学習、分析して新しいインテントやトレーニングフレーズを提案してくれるもの
    提案された内容を確認し有用だとおもったら、エージェントのトレーニングデータに適用することでエージェントのパフォーマンスをあげることができる🕺

🎉 まとめ

今回は、DialogFlow CXを使用して天気予報チャットボットを作成する際の Intent の設定方法について詳しく解説しました。
次のステップでは、Entityを設計する方法について詳しく説明します。

💡 参考

https://cloud.google.com/dialogflow/cx/docs/concept/intent

GitHubで編集を提案
株式会社エーピーコミュニケーションズ

Discussion

流しのITエンジニア流しのITエンジニア

4.Labels: インテントを分類するために、weatherやforecastなどのラベルを付ける
こちらのカスタムラベルの追加はどのようにやりましたでしょうか?

9mak9mak

ご質問ありがとうございます&説明足らずすみません!
Intent編集画面のLabels欄に直で入力👉Enterでラベル追加できます!

👇(Enter)

回答になっているでしょうか?

流しのITエンジニア流しのITエンジニア

ありがとうございます!

9mak9mak

Dialog Flowに限らないかもしれませんが、追加ボタンがなかったら入力→Enterで行ける箇所が多々あるのでご注意ください(自分もよくつまりました🧍