Dialogflowのチュートリアルでチャットボットを作ってみる Part.2

Part.1ではDialogflowへのSign Upを行いました。

den-noh.hatenablog.com

今回から実際に天気を教えてくれるチャットボットのエージェントを作成していきます。

今回のブログの内容は、Dialogflowの
Building Your First Agent
に書かれているものです。

1.Agentを作成する。

・「Create Agent」をクリックします

・Agent nameに「my_weather」を記入、DEFAULT LANGUAGE で「English-en」*1、DEFAULT TIME ZONEで「Asia/Tokyo」を選択します[画面2]

・選択したらCREATEボタンを押します。

f:id:den_noh:20180503002430j:plain
[画面1]
f:id:den_noh:20180503005115j:plain
画面2

2.Intentを追加する。

次にIntentを作成します。

・左側の「Intents」をクリックし、「CREATE INTENT」をクリックまたは、Intentsの横のプラスボタンをクリックします。[画面3]

・作成したら、「Intent name」に任意の名前を入力し(今回はweather)、ADD TRAINING PHRASESをクリックします。 [画面4]

・Training Phrasesに以下の文章を追加します。[画面5]
「What is the weather like」
「What is the weather supposed to be」
Weather forecast
「What is the weather today」
「Weather for tomorrow」
Weather forecast in San Francisco tomorrow」
最後の3つの例では、”today”,”tomorrow”が同じ色で強調されていることが分かります。
また、”San Francisco”が別の色で強調されていることがわかります。

・追加したらSAVEボタンを押します。

f:id:den_noh:20180504004718j:plain
[画面3]
f:id:den_noh:20180504005430j:plain
[画面4]
f:id:den_noh:20180504010513j:plain
[画面5]

3.Try it nowに入力して返答を確かめる。

ここまでで一度、会話ができるか試してみます。

・右上にあるTry it nowに”How’s the weather in Denver tomorrow”と入力しEnterキーを押します。[画面6]

・会話の応答は得られないですが、以下の情報がそれぞれの欄に返ってきていることを確認します。[画面7]
Response・・・エージェントにはまだ応答が設定されていないため”Not Available”が返されます。
Intent・・・weatherのインテントが要求に対してヒットした?(和訳がよくわからなかったです)
date and geo-city・・・質問文から読み取られた日付と地方都市の値がここに表示されています。今回の場合(日付は明日の日付、地方都市の名前はDenverとなっているはず)

f:id:den_noh:20180506014123j:plain
[画面6]
f:id:den_noh:20180506015347j:plain
[画面7]

4.Responsesの追加

次にResponsesに応答を追加し、エージェントが”Not Available”のような沈黙に陥らないようにします。

・ページを移動している場合は「Intents」から「weather」を選択し編集のページに移動し、「Response」の「ADD RESPONSE」をクリックします。[画面8]

・「Training Phrases」に入力したのと同じ方法で、以下の文章を「Response」の”Enter a text response”に追加します。[画面9]
「Sorry I don’t know the weather」
「I’m not sure about the weather on $date」
「I don’t know the weather for $date in $geo-city but I hope it’s nice!」
$dateはリクエストの日付、$geo-cityは都市を挿入します。
エージェントが応答すると、収集されたパラメータ値が考慮され、収集された値を含む応答が使用されます。
たとえば、要求に日付のみが含まれている場合、2番目の応答を使用します。

・完了したら「SAVE」ボタンをクリックします。

f:id:den_noh:20180506204130j:plain
[画面8]
f:id:den_noh:20180506205815j:plain
[画面9]

5.もう一度Try it nowに入力して返答を確かめる。

Responsesに応答を追加した段階で、もう一度会話ができるか試してみます。

・再び右上にあるTry it nowに”How’s the weather in Denver tomorrow”と入力しEnterキーを押します。[画面10]
Response・・・Responseに入力されたものから適切な応答を示します。
Intent・・・weatherのインテントが要求に対してヒットした?(和訳がよくわからなかったです)
date and geo-city・・・今回も質問文から読み取られた日付と地方都市の値がここに表示されています。今回の場合(日付は明日の日付、地方都市の名前はDenverとなっているはず)

・今回は先ほどResponsesで設定した回答が返ってくることが確認できます。

f:id:den_noh:20180506210732j:plain
[画面10]

以上で、Dialogflowでの簡単なエージェントを作成は終了です。
しかしまだまだ、自分で決めた応答しか返ってきません。

Part.3以降では、例えば「今日の東京の天気は?」と聞かれたら、
今日の東京の実際の天気を応答として返すようになることを目標として手を加えていきます。

*1:日本語も選択できますが、今回チュートリアルにあわせて作ってみたので英語を選択しています。

コメント

タイトルとURLをコピーしました