【问题标题】:Handling incorrect responses to chatbot questions处理对聊天机器人问题的错误回答
【发布时间】:2018-10-06 22:48:42
【问题描述】:

我正在使用 Microsoft Bot Framework 开发聊天机器人,我的问题是如何处理来自用户的错误响应。 假设机器人询问用户的姓名,他或她回答“不知道”。 我在 bot 框架的样板代码中看到它处理最小长度验证,但我该如何处理这种逻辑检查。 提前致谢。

【问题讨论】:

  • 你可以禁止空格,首先。将他们的名字、中间名和姓氏答复分开。然而,这并不能阻止他们回答“不要”为他们的名字和“知道”为他们的姓氏......没有简单的方法来禁止它而不不允许在此过程中使用实际姓名。
  • 感谢 Zubin..这些都是很好的指示。另外,如果我与 Skype 或 facebook 频道集成,我想我可以使用用户名,但这只是名称,可能还有很多其他场景。
  • 如果有专门的 Intent 来处理用户的错误输入呢?

标签: botframework azure-language-understanding azure-bot-service


【解决方案1】:

我假设您使用的是 v4 C# SDK,如果这不正确,请告诉我,我可以为您更新 node 或 v3 的答案。

This Sample 完全符合您的要求。它有一个验证器,用于检查用户输入的长度,如果长度太短会重新提示。你可以在this method看到这个

通常,名称验证相当困难,因为名称可能非常多样化,并且包含“-”、“'”等特殊字符。使用带有自定义验证器的提示应该让您有机会至少添加一些验证,例如长度和数字字符检查。

【讨论】:

    【解决方案2】:

    预期的答案通常具有已知格式。如果机器人询问一个名字,那么这个名字不会有数字和特殊字符。你可以快速检查用户返回的单词是否是标准英语单词的一部分(有很多库都有这个单词列表)。您甚至可以将返回的句子传递给 LUIS,看看您是否得到了已知的意图,然后您可以取消答案的资格。

    【讨论】:

      猜你喜欢
      • 2020-02-09
      • 2012-07-01
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      • 2022-06-15
      • 2018-06-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多