Bots Microsoft机器人-即使输入不同,也使用相同的答案循环
我们正在使用Microsoft bot框架开发一个库bot 我们有Bots Microsoft机器人-即使输入不同,也使用相同的答案循环,bots,azure-language-understanding,Bots,Azure Language Understanding,我们正在使用Microsoft bot框架开发一个库bot 我们有 Intent : BookSearch Entiry : BookName, BookAuthor 当我搜索“我需要一本java书”时,它理解“java”是一个实体,并向java书提供其他详细信息 我的问题是,一旦我收到java书籍的详细信息,我就想发行这本书,所以再次,当我们问“issue me book java”时,它会冲突,并且会再次显示java书籍的详细信息,就像它在循环中一样 请在此场景中帮助我们,我们如何确定问题
Intent : BookSearch
Entiry : BookName, BookAuthor
当我搜索“我需要一本java书”时,它理解“java”是一个实体,并向java书提供其他详细信息
我的问题是,一旦我收到java书籍的详细信息,我就想发行这本书,所以再次,当我们问“issue me book java”时,它会冲突,并且会再次显示java书籍的详细信息,就像它在循环中一样
请在此场景中帮助我们,我们如何确定问题中的不同上下文
代码:
[LuisIntent("BookSearch")]
public async Task BookSearch(IDialogContext context, LuisResult result)
{
if (result.Entities.Any())
{
DBConnect dbConnect = new DBConnect();
string combindedString = string.Empty;
string mysqlQuery = string.Empty;
foreach (var item in result.Entities)
{
switch (item.Type.ToString())
{
case "BookAuthor":
break;
case "BookName":
break;
case "BookIssue":
break;
default:
break;
}
}
}
else
{
await context.PostAsync("Which book are you searching.");
context.Wait(MessageReceived);
}
}
此处BookName和BookIssue是实体,
因此,当我们询问“我需要java书籍”=>时,它应该进入BookName实体以提供书籍详细信息。
当我们询问“Issue me java book”=>时,它应该进入BookIssue实体来处理发行手续
提前感谢
图书发行
应该是它自己的意图和方法。在代码中,您似乎将图书发行
视为一个实体
做你为BookSearch
所做的事,但是要用你想在BookSearch
方法中使用的话语和逻辑
现在你“卡在”你的BookSearch
意图中,因为你还没有定义另一个,LUIS正在匹配这些话语进行搜索
顺便说一下,对于这个应用程序,您可能需要考虑使用. 一个代码示例可能对我们有所帮助。@Svekke,我已经编辑了要添加的问题code@PareshBijarane你能将代码发布到图书发行的目的地吗?谢谢Anna Zietlow如果我们使用FormFlow,如果图书数量超过50或100,我们如何显示图书数量。当我们从实时系统获取数据时,可能会有太多匹配的书籍供我们搜索。对不起,我猜FormFlow可能更适合您的图书发行意图。你的搜索引擎听起来太复杂了