Dialogflow es 延长后续上下文寿命?

Dialogflow es 延长后续上下文寿命?,dialogflow-es,Dialogflow Es,请随时指出我的意图是否被误导(没有双关语),但我试图处理一个对话流程,在该流程中,用户会被提示一个yes/now问题,作为类似搜索意图的后续 如果答案与他们所寻找的相符,他们会说是,如果答案不相符,他们会说否。如果没有,我将继续跟进(一段时间)其他选项 在上下文过期之前,会多次命中后续意图。我在想,每当我提出一个新建议时,我的寿命就会延长1岁,这对我来说是有意义的 这是一个好方法吗?如果是这样的话,有没有一个正确的方法来基本上只做一个context.lifespan++或者我需要查找现有的con

请随时指出我的意图是否被误导(没有双关语),但我试图处理一个对话流程,在该流程中,用户会被提示一个yes/now问题,作为类似搜索意图的后续

如果答案与他们所寻找的相符,他们会说是,如果答案不相符,他们会说否。如果没有,我将继续跟进(一段时间)其他选项

在上下文过期之前,会多次命中后续意图。我在想,每当我提出一个新建议时,我的寿命就会延长1岁,这对我来说是有意义的

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

谢谢

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

> 'Suggest food'  
< 'Potato'   (followup lifespan 1)
> 'No'       
< 'Taco'     (followup lifespan undefined)
> 'No'       
< 'Pizza'    (followup context gone)
> 'No'
>“推荐食物”
<‘马铃薯’(后续寿命1)
>“不”
<“塔可”(后续寿命未定义)
>“不”
<‘比萨饼’(后续上下文消失)
>“不”

最后一个否不会触发后续意图b/c上下文已过期。

无需延长上下文的生存期。在我开始使用这个之前,我已经为此挣扎了好几个小时:

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.'

我希望这是有意义的

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


conv.contexts.set('lookup-followup',1,未定义)

看看我的编辑,我想这更清楚地解释了我的情况。我打算反复点击后续意图(直到我决定停止提供更多提示),您只是在invalidInput意图中再次设置上下文吗?因此,如果我理解正确,您可能希望使用Dialogflow实现。基本上,您会保存用户的sessionId(这样您就可以跟踪您向用户询问的内容)。然后,您可以根据[typesOfFoodArray]的内容是否已显示,以编程方式设置输出上下文。如果这有意义,请让我知道如果没有!我让它这样做,但每次我说“不”,后续上下文的寿命就会减少1,直到在2个“不”后续响应之后,上下文就消失了。我在想,每次我达到“现在”的后续目标时,我都需要将寿命延长1,并提供一个新的建议。然后我会给它100年左右的寿命(不会被击中的东西),一旦你的条件得到满足,通过编程将寿命设为0。是的,这肯定会起作用。只是感觉不太对。不过,有时我并不反对走阻力较小的道路。