【问题标题】:Microsoft Bot- Looping with same answer even input is different即使输入不同,Microsoft Bot-循环也具有相同的答案
【发布时间】:2017-06-15 11:55:42
【问题描述】:

我们正在使用 Microsoft 机器人框架开发一个库机器人。

我们有

Intent : BookSearch
Entiry : BookName, BookAuthor

当我搜索“我需要一本 java 书”时,它知道“java”是一个实体,并为 java 书提供了其他详细信息。

我的问题是,一旦我收到了 java book 的详细信息,我想发行这本书,所以再次,当我们问“Issue me book Java”时,这里会发生冲突,并且会再次显示 java book 的详细信息,就像它正在运行一样在循环中。

请在这种情况下帮助我们,我们如何确定问题中的不同上下文?

代码:

 [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 book”时 => 它应该进入 BookName 实体以提供书籍详细信息。 当我们问“Issue me java book”时 => 应该进入 BookIssue 实体处理发行手续。

提前致谢

【问题讨论】:

  • 一个代码示例可以帮助我们。
  • @Svekke,我已编辑问题以添加代码
  • @PareshBijarane 你能将代码发布到应该发行图书的 Intent 中吗?

标签: bots azure-language-understanding


【解决方案1】:

BookIssue 应该是它自己的意图和方法。在您的代码中,您似乎将BookIssue 视为一个实体。

按照您为 BookSearch 所做的工作,但使用您希望在您的 BookIssue 方法中拥有的话语和逻辑。

现在您“卡”在您的 BookSearch 意图中,因为您尚未定义另一个意图,而 LUIS 正在匹配这些话语以进行搜索。

顺便说一下,对于这个应用程序,您可能需要考虑使用FormFlow

【讨论】:

  • 谢谢 Anna Zietlow 如果我们使用 FormFlow,如果书籍数量超过 50 或 100,我们怎么能显示没有书籍。当我们从实时系统中获取数据时,可能有很多匹配供我们搜索的书籍。
  • 抱歉,我猜 FormFlow 可能更适合您的 BookIssue 意图。您的搜索听起来确实太复杂了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-13
  • 1970-01-01
  • 1970-01-01
  • 2011-07-28
  • 2019-02-22
  • 1970-01-01
相关资源
最近更新 更多