我应该如何使用 dialogflow 指定特定意图
What should I do to specify certain intent with dialogflow
我创建了 3 个意图。
Intent:lost.password.weblogin
Intent:lost.password.2step
Intent:lost.password.credit
eg)
user says: I forgot login password
->Intent:lost.password.weblogin
user says: I forgot 2 step password
->Intent:lost.password.2step
user says: I forgot Credit card PIN
->Intent:lost.password.credit
如果用户说“我忘记了密码”,
我应该怎么做才能指定特定意图?
用户说:我忘记了密码。
=>???
我认为解决该问题的最佳方法是重新考虑您使用 Intents 的方式。你的方法是开始思考问题的好方法,但是当你 运行 遇到像你这样的问题时,可能需要重新思考。
首先 - 请记住,Intent 代表用户所说的内容,而不是您处理他们所说内容的方式。它代表了用户打算做什么。
从这里,我们可以看出所有四个短语实际上都在尝试做同样的事情 - 表明他们忘记了他们的登录信息。他们如何尝试做到这一点是一个额外的细节。
因此,您可能希望通过仅创建一个带有参数的 Intent 来解决此问题,该参数采用他们想要的登录方式。您甚至可以将此参数设为强制性,因此如果他们不提供,Dialogflow 将提示它特别。这将是一个 Intent,而不是您建议的三个。
为此,您可能需要创建一个如下所示的实体:
Select 左侧实体旁边的加号。确保为实体类型命名(我在这里将其设置为 "passwordMethod"),然后输入对您有意义的三个实体。完成后点击保存按钮。
完成此操作后,您可以使用一些使用这些实体的示例短语来创建您的 Intent。然后您会看到 Dialogflow 会为您挑选参数 - 确保您将其标记为必需。确保您已打开 webhook fulfillment 并保存您的 Intent。
您的 webhook 将使用 "lost.password" Intent 调用,并且 passwordMethod
参数设置为实体值之一:"login"、“2fa”或 "pin".
您现在可以根据参数的值做出相应的响应。在您拥有的一个 Intent Handler 中,您将查看参数设置的内容,然后调用 webhook 中的正常函数来处理它。这是目前非常标准的编程 - 您不需要多个 Intent 或 Intent Handlers,只需要不同的函数来完成工作并发回响应。
我创建了 3 个意图。
Intent:lost.password.weblogin
Intent:lost.password.2step
Intent:lost.password.credit
eg)
user says: I forgot login password
->Intent:lost.password.weblogin
user says: I forgot 2 step password
->Intent:lost.password.2step
user says: I forgot Credit card PIN
->Intent:lost.password.credit
如果用户说“我忘记了密码”, 我应该怎么做才能指定特定意图?
用户说:我忘记了密码。 =>???
我认为解决该问题的最佳方法是重新考虑您使用 Intents 的方式。你的方法是开始思考问题的好方法,但是当你 运行 遇到像你这样的问题时,可能需要重新思考。
首先 - 请记住,Intent 代表用户所说的内容,而不是您处理他们所说内容的方式。它代表了用户打算做什么。
从这里,我们可以看出所有四个短语实际上都在尝试做同样的事情 - 表明他们忘记了他们的登录信息。他们如何尝试做到这一点是一个额外的细节。
因此,您可能希望通过仅创建一个带有参数的 Intent 来解决此问题,该参数采用他们想要的登录方式。您甚至可以将此参数设为强制性,因此如果他们不提供,Dialogflow 将提示它特别。这将是一个 Intent,而不是您建议的三个。
为此,您可能需要创建一个如下所示的实体:
Select 左侧实体旁边的加号。确保为实体类型命名(我在这里将其设置为 "passwordMethod"),然后输入对您有意义的三个实体。完成后点击保存按钮。
完成此操作后,您可以使用一些使用这些实体的示例短语来创建您的 Intent。然后您会看到 Dialogflow 会为您挑选参数 - 确保您将其标记为必需。确保您已打开 webhook fulfillment 并保存您的 Intent。
您的 webhook 将使用 "lost.password" Intent 调用,并且 passwordMethod
参数设置为实体值之一:"login"、“2fa”或 "pin".
您现在可以根据参数的值做出相应的响应。在您拥有的一个 Intent Handler 中,您将查看参数设置的内容,然后调用 webhook 中的正常函数来处理它。这是目前非常标准的编程 - 您不需要多个 Intent 或 Intent Handlers,只需要不同的函数来完成工作并发回响应。