可以随意指出我的意图是否被误导(无双关语),但是我试图在对话流程上进行工作,在该对话流程中,用户将被提示是/现在的问题,作为对类似搜索的跟踪意向。
如果响应与他们所要的匹配,他们说是,否则,否。如果没有,我将继续(一段时间)其他选择。
在上下文过期之前,已达到两次跟踪意图。我当时想,每次提出新建议时,寿命都会延长1。
这是一个好方法吗?如果是这样,有没有一种正确的方法来基本上做一个context.lifespan ++还是我需要查找现有的上下文并覆盖它?
谢谢!
想象一下这样的流程。第一个输入触发父级意图。 是/否答案应该符合后续意图。
> 'Suggest food'
< 'Potato' (followup lifespan 1)
> 'No'
< 'Taco' (followup lifespan undefined)
> 'No'
< 'Pizza' (followup context gone)
> 'No'
最后一个否不会在上下文已过期的情况下触发后续意图。
答案 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);