[Dialogflow Restaurant Chatbot」チュートリアル：意図と応答

##目的##
この最初の部分は、意図と応答であるDialogflowの基本から始まります。

この部分が終わるまでに、あなたのボットは、ユーザーがいつ予約をして確認応答を送ろうとしているのかを理解することができるでしょう。

##会話型フロー図##
インテントを作成する前に、会話がどのようになるかを知る必要があります。このパートでは、専用にボットを頼む「テーブルを予約」と、私たちはから確認を受信ボット。
![0_9_OSoWwn4ELkyZrU.png](https://qiita-image-store.s3.amazonaws.com/0/344186/f8b9c2ef-5755-72e1-7ff0-651c49d19393.png)
##意図##
ごく短時間で、インテントは同じ意味を持つ文の集合であり、ボットはそれに答える方法を知っています。

言い換えれば、インテントとは、ボットに期待することに文をマッピングする方法です（例：ボットに「予約をする」と指示し、予約をして確認を受け取ることを期待します）。トレーニングフレーズとも呼ばれる文の集まりは、ボットにインテントをトリガーさせる方法です（「テーブルを予約する」/「予約をする」）。
それでも私の言う意味がわからない場合は、することが最善の方法です。それでは、最初のインテントを作成しましょう。

##予約の意図##
###ステップ1：新しいインテントを作成する###
インテント作成を押します。
![0_Ojt4Dw7G2TgwDAcz.png](https://qiita-image-store.s3.amazonaws.com/0/344186/740cebdb-aaf8-0d34-8d20-ea4b6e06d021.png)
インテント restaurant.booking.createに名前を付けて、Saveを押します。
![0_H6VMN0Dc7ExP97wN.png](https://qiita-image-store.s3.amazonaws.com/0/344186/07dae61e-3425-5fe8-24a7-92fbe5c75f7a.png)
あなたはあなたの意図に名前をつけることができますが、自分自身を整理しておくようにしてください。あなたは多くの異なる意図を管理しなければならず、命名があなたの有利に使われることができるから。あなたはその名前を見ることによってインテントが何をするのか理解する必要があります。

###ステップ2：トレーニングフレーズを追加する###
このインテントについて、ボットに理解させたい文を追加しています。Intentの目的はテーブルを予約することなので、それを示唆する文を追加する必要があります。

"席を予約する"
"予約する"
“テーブルを予約する”

それらを「トレーニングフレーズ」セクションに追加し、それぞれの後にEnterキーを押します。
![0_JyuSpXx64phD6w2p.png](https://qiita-image-store.s3.amazonaws.com/0/344186/1c282adf-009d-03fe-6d45-aa0709d4e19b.png)
あなたが提供する例が多いほど、ユーザーが質問をする方法やボットが理解できる方法が増えます。開発ボットには約20文、プロダクションボットには50文以上が適しています。心配しないで、最初から全部追加する必要はありません。いつでも追加できます。

###ステップ3：回答を追加する###
ボットがテーブルを予約するタイミングを理解できるようになったので、応答して確認することもできます。単純に応答セクションに行き、あなたが新しい予約がなされた時にあなたがボットに言って欲しいものを挿入しそしてエンターを押す。より多くの応答を追加することもでき、Dialogflowは無作為に1つ選択します。
![0_zw8JEuMsH_zKAMJx.png](https://qiita-image-store.s3.amazonaws.com/0/344186/79ac75d0-c733-2bd1-42a0-388b65eb567a.png)
他の人がするように、テキストを分離して代わりにさらにメッセージを送信することもできます。「応答の追加」を押してから、「テキスト応答」を押します。
![0_z3oDlYO0WJydKFi8.png](https://qiita-image-store.s3.amazonaws.com/0/344186/2500e1e9-0d65-89d8-77ea-37834f2fbfd3.png)
各Textレスポンスから送信されるメッセージは1つだけであり、順序は維持されます。

###ステップ4：保存###
インテントをテストする前、またはページを離れる場合は、必ず保存することを忘れないでください。そうでなければ、変更は有効になりません。
![0_4jugMoMHA4AAQ5rE.png](https://qiita-image-store.s3.amazonaws.com/0/344186/667c68b1-b52f-e465-9fe5-51a14adeb417.png)
![0_R3vyB9mnw6DzCwPG.png](https://qiita-image-store.s3.amazonaws.com/0/344186/237f86a5-0204-a9cb-4d27-0f9277b2ebbc.png)
また、Dialogflowのトレーニングが完全に完了するのを待つ必要がありますが、うまくいっていてもうまくいかない場合は、エージェントがトレーニングを開始および終了すると、2つのポップアップが画面の右下に表示されます。
![1_9ouSnNCrvM2sQs5Z-tFvyg.png](https://qiita-image-store.s3.amazonaws.com/0/344186/7d017a75-5e8b-c95d-cc29-56f63369c4bf.png)
##試してみる##
すべてが設定され、テストの準備が整いました。先ほど作成したトレーニング用フレーズの 1つを使って、テーブルを予約してみてください。たとえば、Dialogflow画面の右上隅に「テーブルを予約します」と入力するか、マイクを使用してEnterキーを押します。
![0_HZdT_w7gpSScSoTn.png](https://qiita-image-store.s3.amazonaws.com/0/344186/d6068633-87a9-87dc-2943-b7d06ef565db.png)
チュートリアルを適切に実行していれば、ボットの最初の応答を確認できるはずです。
![0_PqnKIMkAVbLBfq6h.png](https://qiita-image-store.s3.amazonaws.com/0/344186/d2f2d87c-7def-a937-7c84-a4fed57d7474.png)
##結論##
この部分では、Dialogflowを使って最初のエージェントを作成しました。また、インテントとは何か、そしてボットに反応させる方法についても説明しました。あなたはプレイしてもっとインテントを追加しようとする。次回、私はエージェントをメッセージングプラットフォーム（Facebook Messenger＆Telegram）に接続する方法を示しています。

あなたがこの記事を楽しんだならば、ライクをして、あなたがいるならば質問をしてください！