【问题标题】:Dialogflow(Api.Ai) Doesn't recognize custom entityDialogflow(Api.Ai)不识别自定义实体
【发布时间】:2018-12-06 22:16:43
【问题描述】:

我最近一直在使用 Dialogflow 来制作聊天机器人来完成一些简单的任务。例如,使用 webhook 和 youtube api,用户要求向他展示视频,然后机器人只用 youtube 视频 url 回答。

例如 用户说 给我看尼尔年轻的丰收之月

经纪人说 给你:https://www.youtube.com/watch?v=n2MtEsrcTTs

我通过使用一个名为“YoutubeQuery”的自定义实体来做到这一点

在我的 Intent 中,我只是做了几个这样的训练短语:

一切正常。

现在我的问题在于我称为 Orders 的新代理

我只想从 firestore 数据库中获取订单 ID,但在到达那里之前我遇到了一个大问题

我定义了订单的 ID 实体,就像使用 youtubeQuery 一样。我添加了一些示例订单 ID,我希望它们都以 OD 开头并在示例之后有 4 位(DX0001、DX0009、DX9999)

后来我做了这个意图

现在,除非我给出训练短语中的确切订单 ID 或我在实体中定义的 ID 示例,否则它总是会给我一个带有空参数 OrderID 的响应 我从说“我的订单”开始我的意图,然后我收到提示“你的 ID 是什么?

因此,当我提供一个未在 Intent 的训练短语中使用的 ID 时,我会在参数中得到一个空值,如下所示:

但是当我给出一个在训练短语中使用过的 ID 时,例如第一个 DX0808,它确实有效...

如何在不在训练短语或实体中添加从 DX0001 到 DX9999 的所有可能订单 I​​D 的情况下完成这项工作。 我的意思是它确实适用于我的 youtube 查询,我可以将任何它“捕获”值的东西放在那里。有什么帮助吗?

【问题讨论】:

  • 嗨!你可以试试this 看看是否适合你!
  • 我试过了,但只有当我把参数设置为不需要的时候它才有效,一旦我把它按要求它就不起作用了:/
  • 我尝试使用@sys.any,它似乎可以工作,但我不知道为什么它不适用于自定义实体。
  • @sai.raj 有什么想法吗?

标签: dialogflow-es actions-on-google chatbot


【解决方案1】:

看起来需要的参数是这里的问题,我的建议是:

  1. 创建意图在一个句子中获取订单 ID 而无需再次提示(订单 ID 需要关闭)并且 ID 始终存在,例如:“我的 ID 是 DX0402”。包括仅提供 ID 的培训响应,例如“DL3932”,例如。下面:

  1. 当客户想要提供 id 但缺少 id 时,为场景设置其他意图,例如。客户说:“我的 id”并让您的机器人询问该 id 作为响应。 “好的,给我你的身份证”

如果你这样做,如果用户没有提供 id,intent 2 将被触发,在提供 id 后你将触发 intent 1。

希望这是有道理的。

【讨论】:

    猜你喜欢
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    相关资源
    最近更新 更多