2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Dialogflowでチャットボット -会話の分岐

Posted at

1ならばa
2ならばb
と、会話を分岐させましょう。

contextで会話の分岐

―――――――――――――――――――
bot『いいことがあったの?』

必要な要素がない場合、次の会話で聞くということをさせてみましょう。
ex.
「今日の天気は?」→「場所はどこですか?」→「ニューヨーク」
「ロンドンの天気は?」→「いつですか?」→「明日」
contextを使って、この構文を作ります。
contextでは、前の会話情報を保持したまま、次の会話を読み込むことができます。

「Intent」→「天気」のページへ移り、
「Action」の必須要素にチェックを入れます。
場所の要素と日付の要素を必須にするため、2つのREQUIREDにチェックを入れました。
スクリーンショット 2017-08-14 9.02.10.png

同じAction欄の右に「PROMPTS」があります。
必須情報がなかった場合の回答を入れます。

―――――――――――――――――――
PROMPTS:場所はどこですか?
―――――――――――――――――――

スクリーンショット 2017-08-14 9.04.17.png
Closeで閉じて大丈夫です。

一番上に戻り、
「Context」を押すと、二つの入力欄が出現します。
下の方の output context に「location」と入れてください。

―――――――――――――――――――
Add output context:location
―――――――――――――――――――

自然と5という数字がくっつくと思います。
これは5回まで、情報を保持したまま次の会話に移るという意味を指します。回数は変更できます。
スクリーンショット 2017-08-14 9.08.44.png

終わったら、必ず「SAVE」してください。

では、インプット側の会話を追加しましょう。
「CREATE INTENT」から新しい会話を作ります。

―――――――――――――――――――
・Intent name:日付context
・Context(Add input context):location
・User says:明日/来週月曜は?/昨日です。…など
・Response:(空欄)
・Fulfillment:✔︎Use webhook
―――――――――――――――――――

同じページの「Action」へ移ります。

―――――――――――――――――――
・PARAMETER NAME:geo-city
・VALUE:#location.geo-city
―――――――――――――――――――

を追加してください。
スクリーンショット 2017-08-14 9.46.50.png

これで、場所情報は前の会話の中から引っ張って来ることができます。
「SAVE」して確かめてみましょう。

質問を二段階に分けます。

―――――――――――――――――――
Try it now:ニューヨークの天気は?
―――――――――――――――――――

スクリーンショット 2017-08-14 9.52.16.png

場所の情報は保持されたままなので、「いつですか?」に対する答えを書きましょう。

―――――――――――――――――――
Try it now:昨日は?
―――――――――――――――――――

スクリーンショット 2017-08-14 9.53.49.png
昨日の日付でニューヨークの天気情報が表示されました。成功です!

おわりに

次→
DialogflowをSlackに連携させる

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?