☔
DialogFlow CXで天気予報チャットボットをつくる: Intent編
🌟 はじめに
おぐまです。
勉強も兼ねてDialogFlow CXを使用した天気予報チャットボットを作ります!
1つにまとめるとかなりのボリュームになりそうなので、それぞれ設定項目を分割していきます。
-
Intent
の作成 -
Entity
の作成 -
Flow,Pages
の作成 -
???
※ここで作成したシンプルチャットボットを改造(応用)する
くらいで分割して進めていくのでお付き合いください💆
👷♂️ 事前準備
- Google Cloud Platform アカウント
- DialogFlow CX Agentを作っている状態
📖 ステップ
👉 Intentの理解
Intentはユーザーの入力意図を理解し、適切な応答を生成するためものです。
Intentを設定することでユーザーが何をしたいのか言いたいのかを特定して、それに応じてチャットボットが対応できるようになります。
まずはIntent画面の要素と作成画面でどのような項目があるかみてみます🌜
📺 Intents画面の機能
機能 | 説明 |
---|---|
Intents | 既存のIntentのリストを表示し、新しいIntentの追加や編集を行う |
Suggestions | DialogFlowが自動的に生成するIntentの提案を表示する |
Overlaps | 異なるIntent間で発話例が重複している場合に警告を表示する |
Import | 外部からIntentの定義をインポートする機能 |
Create | 新しいIntentを作成するためのボタン |
Default Intents | DialogFlowには、デフォルトで用意されている一般的なIntent |
📺 Intent作成画面の要素
要素 | 説明 |
---|---|
Display name | インテントに付けられる名前。ユニークである必要があります |
Labels | インテントを分類するためのタグやラベル管理や検索を容易にします |
Description | インテントの目的や機能を説明するテキスト |
Training Phrases | ユーザーがインテントをトリガーする可能性のある発話例 |
Skip auto annotation | トレーニングフレーズ内でDialogFlowによる自動Entity識別をスキップするかどうか |
👉 Intentの作成
次は実際にIntentを作ってみます。
-
Intent
のトップ画面でCreate
を選択 - *Display name:
WeatherForecast
と入力 -
Description:
ユーザーからの天気予報に関する質問に応答するインテント
と入力 -
Labels: インテントを分類するために、
weather
やforecast
などのラベルを付ける -
Training Phrases: 手動追加もできますがcsvにまとめてファイルアップロードして一括追加も可能なので今回はアップロードします。
アップロードボタン
>ファイル選択
>Select import mode
を選択 >Submit
を押してアップロード
それぞれの画面キャプチャ
1
2-5
Create
を押すと👇の画面になるのでアップロードしていく
Import as new training phrases
を選択してSubmit
Intent
が作成されて以下のような画面になる
今回アップロードしたcsvファイルの中身
今日の天気は?
明日の天気を教えて
週末の東京の天気予報を知りたい
来週の大阪の天気はどうですか?
💡 補足
-
Intentを細かく設定することで、ユーザーの質問に対してより正確に応答できるようになる
-
トレーニングフレーズは多様性を持たせることが大事
-
異なる言い回しや表現を含めることで、チャットボットの理解度を向上させる
-
Intent
のSuggestions
機能は、実際のユーザーの発言パターンから学習、分析して新しいインテントやトレーニングフレーズを提案してくれるもの
提案された内容を確認し有用だとおもったら、エージェントのトレーニングデータに適用することでエージェントのパフォーマンスをあげることができる🕺
🎉 まとめ
今回は、DialogFlow CXを使用して天気予報チャットボットを作成する際の Intent
の設定方法について詳しく解説しました。
次のステップでは、Entityを設計する方法について詳しく説明します。
💡 参考
Discussion
4.Labels: インテントを分類するために、weatherやforecastなどのラベルを付ける
こちらのカスタムラベルの追加はどのようにやりましたでしょうか?
ご質問ありがとうございます&説明足らずすみません!
Intent
編集画面のLabels
欄に直で入力👉Enterでラベル追加できます!👇(Enter)
回答になっているでしょうか?
ありがとうございます!
Dialog Flowに限らないかもしれませんが、追加ボタンがなかったら入力→Enterで行ける箇所が多々あるのでご注意ください(自分もよくつまりました🧍