Dialogflow ESを試してみる
Dialogflowとは
Geminiの回答です。
Dialogflowは、自然言語処理と機械学習技術を用いて、人間と自然な会話ができるようにするプラットフォームです。 具体的には、ユーザーの発話を理解し、適切な応答を返すように設計されています。
Dialogflowは、以下のような様々な用途に使用できます。
- チャットボット: ユーザーからの質問に自動的に回答したり、サポートを提供したりするチャットボットを構築できます。
- 音声アシスタント: スマートスピーカーやスマートホームデバイスなどの音声アシスタントを開発できます。
- 対話型インターフェース: ウェブサイトやモバイルアプリなどの対話型インターフェースを構築できます。
Dialogflowは、以下の機能を提供します。
- 自然言語理解: ユーザーの発話を理解し、意図を認識します。
- エンティティ認識: 発話から固有名詞や属性情報などを抽出します。
- ダイアログ管理: 会話の文脈を理解し、適切な応答を生成します。
- 統合: 他のシステムやサービスと簡単に統合できます。
Dialogflowは、無料で利用できるプランと、より多くの機能が利用できる有料プランがあります。
Dialogflowの詳細については、以下のリソースを参照してください。
- Dialogflow公式サイト: https://cloud.google.com/dialogflow/
- Dialogflowドキュメント: https://cloud.google.com/dialogflow/docs/
- Dialogflowチュートリアル: https://cloud.google.com/dialogflow/docs/tutorials
DialogflowにはESとCXの2つのエディションがあり、今回は無料で使えるらしいES(Essentials)Edtionを使ってみます。
こちらからDialogflow ESの管理コンソールに入ります。
とりあえず触ってみる
エージェントを作ってみます。
![](https://www.danishi.net/wp-content/uploads/2024/03/348d01c31ca5ec71a23a708a9d4b3378-1024x314.png)
エージェントを作成するとこんな画面になります。
![](https://www.danishi.net/wp-content/uploads/2024/03/image-5-1024x325.png)
デフォルトでインテント(ユーザーの入力とエージェントの応答を関連づけるもの)が2つ用意されています。
1つはマッチするインテントがなかった時にフォールバックするためのインテント。
![](https://www.danishi.net/wp-content/uploads/2024/03/image-6.jpg)
もう一つはあらかじめ用意されている挨拶のインテント。
入力として受け付けるフレーズと。
![](https://www.danishi.net/wp-content/uploads/2024/03/image-6.png)
返事のパターン。
![](https://www.danishi.net/wp-content/uploads/2024/03/image-7.jpg)
こんな設定になっているのでよって。
![](https://www.danishi.net/wp-content/uploads/2024/03/image-7.png)
こういう入力をすると。
![](https://www.danishi.net/wp-content/uploads/2024/03/image-8.png)
こう返事が来て、想定していない入力なら。
![](https://www.danishi.net/wp-content/uploads/2024/03/image-9.png)
フォールバックしてこういう返事になります。
インテントを追加してみる
これだけじゃつまらないので、独自のインテントを追加してみようと思います。
エンティティという言葉の定義を追加できる機能があるのでこれも使ってみます。
![](https://www.danishi.net/wp-content/uploads/2024/03/image-10.png)
これを利用してインテントを作成。
シミュレーターで試してみます。
![](https://www.danishi.net/wp-content/uploads/2024/03/image-12-1024x604.png)
シノニムで定義したものが引っかかって応答が返されています。
値としては一つに丸められていますね。
その他
Fulfillmentでエージェントが受け取った情報を元にWebhookを呼んだり、Cloud Functionsを呼んだりできるみたいです。
単なるお喋りチャットボットではなく、ユーザーの発言をもとに何かシステム的なアクションを起こしたい時はここと組み合わせていく必要がありそうです。
所感
昔やったAlexaアプリの作り方にちょっと似ていました。