在LUIS
中,我创建了一些检测到Intent
的话语,我为它设置了3个不同的Entities
,例如我正在尝试构建一个机器人来检测用户&# 39;与申请有关的问题。因此,当用户输入Unable to Open Android
时,我将意图设置为Find_Issue
,将Entities
设置为1。Product
2。Issue
3。Error
。但由于Unable to Open Android
不包含任何错误代码。我只收到2 entities
Product
& Issue
。现在我想得到Error
的值,如果没有错误它将被存储为无。
这是迄今为止的Task
代码
[LuisIntent("Find_Issue")]
public async Task getIssue(IDialogContext context, LuisResult result)
{
EntityRecommendation getProduct;
EntityRecommendation getIssue;
EntityRecommendation getError;
if(result.TryFindEntity("Product",out getProduct))
{
chatdetails.issuedetails.product = getProduct.Entity;
}
if (result.TryFindEntity("Issue", out getIssue))
{
chatdetails.issuedetails.issue = getIssue.Entity;
}
if (result.TryFindEntity("Error", out getError))
{
chatdetails.issuedetails.error = getError.Entity;
}
}
chatdetails.issuedetails
是为了存储Product
,Issue
,Error
的值而创建的类
我不知道如何继续前进。
答案 0 :(得分:0)
在LUIS中定义意图时,您还可以定义它的动作参数。操作参数包括参数名称,实体类型,提示以及是否需要。
然后,当使用最新版本的BotFramework Nuget软件包时,您的LuisDialog将自动检测到所需参数(如在具有Error实体的情况中)缺失,并将使用该消息自动触发参数提示在Action Parameter中定义。
有关动作参数的工作原理的技术细节,请查看this thread。