Actions on google DialogFlow混淆了时间和数字

Actions on google DialogFlow混淆了时间和数字,actions-on-google,dialogflow-es,Actions On Google,Dialogflow Es,我想定义一个intentPlaceReservation,它将捕获餐厅预订。其参数为numfopeople和time。这两个参数都是可选的,因此用户可以说: 找一张晚上9点5个人的桌子 找一张5个人的桌子 订一张晚上9点的桌子 找张桌子 找一张5人的桌子 找一张晚上9点5个人的桌子 订一张晚上9点5个人的桌子 我的问题是最后一个问题,获取一张晚上9点5人的表格然后意图捕获5人作为小时(上午5点),忽略晚上9点。 time定义为@sys.time系统实体 有没有办法告诉它不要接受简单的整数作为

我想定义一个intent
PlaceReservation
,它将捕获餐厅预订。其参数为
numfopeople
time
。这两个参数都是可选的,因此用户可以说:

  • 找一张晚上9点5个人的桌子
  • 找一张5个人的桌子
  • 订一张晚上9点的桌子
  • 找张桌子
  • 找一张5人的桌子
  • 找一张晚上9点5个人的桌子
  • 订一张晚上9点5个人的桌子
我的问题是最后一个问题,
获取一张晚上9点5人的表格
然后意图捕获5人作为小时(上午5点),忽略晚上9点。
time
定义为
@sys.time
系统实体

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

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

我也遇到过类似的问题,还没有找到合适的解决方案。在您的情况下,您可以定义自己的时间实体,该实体由诸如9pm或10am之类的条目组成,甚至可以使用复合实体将其扩展,以便用户也可以说“上午10点”

对于机器人来说,要理解/解释哪一个是时间,哪一个是人的数量,这无疑是令人困惑的。即使为
时间
创建一个单独的实体,如
9am/10am
也不起作用,因为这不能保证用户只输入
9am/pm
。他们也不能提前附加
am/pm
。解决问题的方法可以是创建单独的意图,首先询问用户时间,然后询问人数。这样可以降低复杂性,并以适当的方式培训机器人。此外,您可以将用户引导到某个方向,而不是让您的机器人随时接受提问

你能添加你正在使用的意图的示例短语的屏幕截图以及与之匹配的参数吗?