見出し画像

アドベントカレンダー2023 #12 : Dialogflow イベントの概念

Dialogflowのカスタムイベント

今日は、カスタムイベントについて説明をします。インテントから別のインテントを呼び出す操作です。
Dialogflowのカスタムイベントは、特定の状況やユーザーの行動に応じてインテントを動的に呼び出すために使用されます。これにより、ユーザーの特定のニーズや条件に合わせて柔軟な対話を実現することができます。
カスタムイベントはフルフィルメントを通じて呼び出され、フレーズに依存しないインテント実行を可能にします。この機能は、会話の流れをより自然にし、ユーザーエクスペリエンスを向上させるために重要です。

カスタムイベントの発動例

例えば、二つのインテント「service-report」と「area-report」を用意します。service-reportはサービス別の売上分析に対応し、area-reportはエリア別の売上分析に対応します。

サービス別インテントが会話中

現在のコンテキストがSERVICEREPORTの場合、ユーザーからの入力は優先的にservice-reportインテントに渡されます。しかし、ユーザーが「エリア別では?」と入力すると、サービス別インテントの担当外要求(=エリア別インテントの要求)を受けつけてしまいます。

この場合、service-reportインテントが「エリア別では?」というユーザーのフレーズを受け取った際に、処理をarea-reportインテントに渡すことができます。これを実現するために、コンテキストをAREAREPORTに変更し、カスタムイベントを発生させてarea-reportを呼び出します。

サービス別インテントが、エリア別インテントへ担当変更をおこなう

このように、カスタムイベントを利用することで、ユーザーの要望に応じてインテント間の切り替えをスムーズに行うことができます。

ユーザに違和感を持たせずに、スムーズに担当が変更される

これは、特に会話の流れが変わる場合に非常に有効で、より自然な会話を実現し、ユーザーエクスペリエンスを向上させます。

まとめ

今日はイベントの概念の理解を進めました。カスタムイベントの発動例のシナリオを通じて、Dialogflowのカスタムイベント機能の有用性が明らかになりました。ユーザーニーズに即応することは、AIチャットボットの重要な機能の一つです。カスタムイベントを活用することで、自然な会話が成立し、ユーザ満足度が高いチャットを実装できると思います。

この記事が気に入ったらサポートをしてみませんか?