在Bot Framework中使用LUIS生成的Dialog数据

时间:2017-02-20 10:46:58

标签: c# bots botframework luis

我已在LUIS注册了一个应用程序,创建了我的意图/实体,并训练我的申请以确定出发/到达和日期。

当我测试它时,这很好用。根据我的意图,我还添加了参数和对话框提示。

enter image description here

例如,当使用搜索词Book a flight to Boston时,我从LUIS获得以下Json数据:

"dialog": {
    "prompt": "From where?",
    "parameterName": "Departure",
    "parameterType": "Location::FromLocation",
    "contextId": "75747794-f724-4b93-9406-6231237a3d78",
    "status": "Question"
}

在我的机器人中,我有以下LuisIntent

    [LuisIntent("BookFlight")]
    public async Task BookFlight(IDialogContext context, LuisResult result)
    {
        EntityRecommendation fromLocation;
        EntityRecommendation toLocation;
        EntityRecommendation travelDate;

        if (result.TryFindEntity("Location::FromLocation", out fromLocation) && result.TryFindEntity("Location::ToLocation", out toLocation) && result.TryFindEntity("builtin.datetime.date", out travelDate))
        {
            await context.PostAsync($"You want to travel from {fromLocation.Entity} to {toLocation.Entity} {travelDate.Entity}");
        }
        else
        {
            //Add code to retrieve the weather
            await context.PostAsync($"Could not parse your request");
        }

        context.Wait(MessageReceived);
    }

这很好用,但我知道我不会使用LUIS为我提供的生成的对话框数据。如何根据Luis返回的对话框数据动态生成对话框?

0 个答案:

没有答案