Dialogflow 参数和实体
Dialogflow parameter and entities
我想知道对话流是否可以在不为其设置实体的情况下存储参数值。例如机器人问用户你叫什么名字?并且用户用 Jack 响应。因此 dialogflow 将在参数中存储值“John”。谢谢。
Dialogflow Web UI
因此,在使用 Dialogflow Web UI 时,与实现相比,您的选择会更加有限,并且您不会真正绕过使用实体。在 Web UI 中,从用户输入中提取值的最佳方法是使用实体和 parameters。通过 Web UI 使用“原始”输入的唯一方法是使用 @sys.any
实体,但你应该小心这一点。
@sys.any
实体从用户那里获取完整的输入并将其提供给您,但它不提供任何关于哪个实体的输入可能被关闭的信息。例如,如果你问用户“你叫什么名字?”用户可能会回复“John”,但他们也可能会回复“Oh.. uhh. My name is John”,如果你使用 @sys.any
你会得到整个字符串,你必须检测什么是名字并自己从输入中提取它。实体和参数为您做这件事。
您可以通过在响应中使用 $parameterName 来在响应中使用用户的输入
Dialogflow Fulfillment
使用代码时,原始输入的问题保持不变,您将获得整个用户输入,但必须进行识别或正则表达式以自己检索值。
使用 fulfillment 的一个好处是您始终可以访问原始输入,您可以调用 agent.query
来检索原始输入,因此您不需要使用 @sys.any
实体在您的参数设置中。
结论
因此,正如我在上面提到的,有几种方法可以检索用户的原始输入,但在这两种情况下,当您这样做时,您将失去实体和参数提供的自动检测。虽然一开始使用实体和参数似乎很麻烦,但如果您打算将用户输入用于任何事情,例如保存名称或做出决定,我真的建议坚持使用实体方法,因为它会自动检测输入从字符串中,您不必担心用户如何回答您的问题,这是开发机器人的重要组成部分。
在很长一段时间 运行.
中,很少有使用原始输入让我的开发变得更容易的情况
我想知道对话流是否可以在不为其设置实体的情况下存储参数值。例如机器人问用户你叫什么名字?并且用户用 Jack 响应。因此 dialogflow 将在参数中存储值“John”。谢谢。
Dialogflow Web UI
因此,在使用 Dialogflow Web UI 时,与实现相比,您的选择会更加有限,并且您不会真正绕过使用实体。在 Web UI 中,从用户输入中提取值的最佳方法是使用实体和 parameters。通过 Web UI 使用“原始”输入的唯一方法是使用 @sys.any
实体,但你应该小心这一点。
@sys.any
实体从用户那里获取完整的输入并将其提供给您,但它不提供任何关于哪个实体的输入可能被关闭的信息。例如,如果你问用户“你叫什么名字?”用户可能会回复“John”,但他们也可能会回复“Oh.. uhh. My name is John”,如果你使用 @sys.any
你会得到整个字符串,你必须检测什么是名字并自己从输入中提取它。实体和参数为您做这件事。
您可以通过在响应中使用 $parameterName 来在响应中使用用户的输入
Dialogflow Fulfillment
使用代码时,原始输入的问题保持不变,您将获得整个用户输入,但必须进行识别或正则表达式以自己检索值。
使用 fulfillment 的一个好处是您始终可以访问原始输入,您可以调用 agent.query
来检索原始输入,因此您不需要使用 @sys.any
实体在您的参数设置中。
结论
因此,正如我在上面提到的,有几种方法可以检索用户的原始输入,但在这两种情况下,当您这样做时,您将失去实体和参数提供的自动检测。虽然一开始使用实体和参数似乎很麻烦,但如果您打算将用户输入用于任何事情,例如保存名称或做出决定,我真的建议坚持使用实体方法,因为它会自动检测输入从字符串中,您不必担心用户如何回答您的问题,这是开发机器人的重要组成部分。
在很长一段时间 运行.
中,很少有使用原始输入让我的开发变得更容易的情况