从瀑布对话框中的用户响应获取 Intent

Get Intent from user response in a waterfall dialog

我正在使用 LuisDialog。对于特定的意图,我有一个瀑布对话框来从用户那里获取信息。在这个过程中,我想用 LUIS 解析用户的 sentence/response。

luisDialog.on('orderItem', [
  function (session, args) {
    builder.Prompts.text(session, "Please enter your item ID:");
  },
  function (session, results) {
    // parse user's response with LUIS
    // User can text: "1245" or "my item ID is 1245"
    // Need to get "1245" as item_number which is an entity in LUIS train model
  }
]);

有什么方法可以达到这个目的吗?

不知道有没有办法直接用node.js做。但是,LUIS 有一个 REST 接口。这将使您能够调用该服务并手动处理返回的 JSON 以获得您需要的数据。

所以你可以打电话给

https://api.projectoxford.ai/luis/v1/application?id=applicationid&subscription-key=subscriptionkey&q=my item ID is 1245

使用您选择的 REST 客户端。您将收到一个 JSON 响应,您可以处理该响应以提取您需要的数据。 applicationid 和 subscriptionkey 应替换为适合您的 Luis 模型的值

你可以这样做。

bot.dialog("/schedule", [
    (session, args, next)=>{
        builder.Prompts.text(session,"When do you prefer new appoitment");
     },
    (session,results,next)=>{
        session.sendTyping();
        builder.LuisRecognizer.recognize(results.response,model, (err,intents,entities)=>{
                if(err){
                    console.log("Some error occurred in calling LUIS");
                }
                console.log(intents);
                console.log("==================");
                console.log(entities);
        });

    }
]);