延长随访情境的寿命?

时间:2019-06-11 14:25:45

标签: dialogflow

可以随意指出我的意图是否被误导(无双关语),但是我试图在对话流程上进行工作,在该对话流程中,用户将被提示是/现在的问题,作为对类似搜索的跟踪意向。

如果响应与他们所要的匹配,他们说是,否则,否。如果没有,我将继续(一段时间)其他选择。

在上下文过期之前,已达到两次跟踪意图。我当时想,每次提出新建议时,寿命都会延长1。

这是一个好方法吗?如果是这样,有没有一种正确的方法来基本上做一个context.lifespan ++还是我需要查找现有的上下文并覆盖它?

谢谢!

想象一下这样的流程。第一个输入触发父级意图。 是/否答案应该符合后续意图。

> 'Suggest food'  
< 'Potato'   (followup lifespan 1)
> 'No'       
< 'Taco'     (followup lifespan undefined)
> 'No'       
< 'Pizza'    (followup context gone)
> 'No'

最后一个否不会在上下文已过期的情况下触发后续意图。

2 个答案:

答案 0 :(得分:1)

无需延长上下文的生存期。在开始使用此功能之前,我也已经为此奋斗了几个小时:

Intent: question
Trainings phrase: 'May I enter?'
Output context: 'await_olderThan21'
Response: 'Are you older than 21?'

Intent: question.yes
Training phrase: 'yes'
Input context: 'await_olderThan21'
Output context: ''
Response: 'Yes, you may enter'

Intent: question.no
Training phrase: 'no'
Input context: 'await_olderThan21'
Output context: ''
Response: 'No, you may not.'

Intent: question.invalidInput
Training phrase: @sys.any
Input context: 'await_olderThan21'
Output context: 'await_olderThan21'
Response: 'Invalid answer. Please reply with yes or no.'

我希望这有道理!

答案 1 :(得分:0)

我最终只是在“ no”意图处理代码中设置了上下文。

conv.contexts.set('lookup-followup',1,undefined);