如何从Waterfall(Bot Framework v4)的TextPrompt中获得Luis最高得分意图

时间:2018-10-23 00:12:07

标签: botframework

我在瀑布对话框(Microsoft Bot Framework v4,node.js)中使用TextPrompt向用户提问。我在模拟器中看到Luis Trace返回包含一个得分最高的意图的RecognitorResult,但是我该如何访问它并对其采取行动?

示例步骤:

async askAQuestionStep(step) {
  return await step.prompt(MYQUESTION_PROMPT, {
    prompt: 'How are you feeling?'
  });
}
async getAnAnswerStep(step) {
  if (step.result) {
    if (topScoringIntent === 'Good') {
      await step.context.sendActivity("Good to hear.");
  } else {
    return await step.next();
  }
}  

需要弄清楚如何实际访问“ topScoringIntent”。 example显示了如何执行此操作,但出现此错误:

[onTurnError]: TypeError: Cannot read property 'recognize' of undefined

我不是从bot.js中调用它,而是从它自己的对话框/文件中调用它。

1 个答案:

答案 0 :(得分:0)

查看此答案:Getting the Luis "topIntent" from a child dialog inside another file (Node.js)

我必须在对话框文件中创建luisRecognizer,然后将botConfig,userSate和sessionState传递给对话框。