【问题标题】:DialogFlow confuses time and numberDialogFlow 混淆时间和数字
【发布时间】:2018-01-11 07:45:17
【问题描述】:

我想定义一个意图PlaceReservation 来捕获餐厅预订。其参数为numOfPeopletime。这两个参数都是可选的,所以用户可以说:

  • 晚上 9 点订一张 5 人桌
  • 订一张 5 人桌
  • 晚上 9 点订位
  • 找张桌子
  • 找一张 5 人的桌子
  • 为 5 人订一张晚上 9 点的餐桌
  • 晚上 9 点订一张 5 人桌

我的问题是最后一个,get a table for 5 for 9pm 意图然后将 5 捕获为小时(上午 5 点)并忽略晚上 9 点。 time 被定义为@sys.time 系统实体。

有没有办法告诉它不接受简单的整数作为时间,因为我认为这是混淆它的原因?

我还缺少其他解决方案吗? 我当然理解它为什么会犯错,但我们作为人类理解如何解释它,我想帮助 DialogFlow 相应地解释它。

【问题讨论】:

  • 您能否添加您正在使用的 Intent 示例短语以及与之匹配的参数的屏幕截图?

标签: actions-on-google dialogflow-es


【解决方案1】:

我遇到过类似的问题,但还没有找到合适的解决方案。在您的情况下,您可以定义自己的时间实体,该实体由晚上 9 点或上午 10 点等条目组成,甚至可以使用复合实体扩展它,让用户说“早上 10 点”https://dialogflow.com/docs/entities#dev_composite

【讨论】:

    【解决方案2】:

    这对于机器人理解/解释哪个是时间和哪个是人数来说绝对是令人困惑的。即使为time 创建一个单独的实体(如9am/10am)也不起作用,因为这并不能保证用户将只输入9am/pm。他们也可能不会提前附加am/pm。您的问题的解决方案可以是创建单独的意图,首先询问用户时间然后询问人数。通过这种方式,您可以降低复杂性并可以以适当的方式训练机器人。此外,您可以将用户引导到某个方向,而不是让您的机器人对问题保持开放。

    【讨论】:

      猜你喜欢
      • 2022-11-14
      • 1970-01-01
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 2013-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多