【问题标题】:dialogflow context vs. intent - Design Choice对话流上下文与意图 - 设计选择
【发布时间】:2019-03-12 11:10:39
【问题描述】:

几周前我开始使用 Dialogflow。很高兴学习意图和(输入/输出)上下文的概念,谷歌通过这些概念以自然语言建模和定义日常对话流。我了解意图和上下文在当前设置下的工作方式。但对我来说,上下文的功能只能通过使用意图来实现。您可能会争论“意图”这个词是否适合这种用法,但这是另一个讨论。因此,只需执行输入和输出意图,而不是输入和输出上下文。在实现中确保当前会话的参数和信息被携带到以下意图。并且下面的意图再次具有它的输出意图并且谈话继续。

如果我错了,谁能纠正我?

【问题讨论】:

    标签: dialogflow-es


    【解决方案1】:

    意图表示用户操作,通常是用户所说的内容,包括来自该特定话语的参数。

    上下文有两个目的:

    • 保留 Intent 中的参数或已通过 Fulfillment 设置的参数一段时间。
    • 用作输入上下文时,限制可以触发的 Intent。

    虽然您当然可以将参数从一个 Intent 发送到另一个 Intent,但这是一种非常线性的思维方式,在复杂的对话中会迅速崩溃。正如第一个项目符号所暗示的那样,使用上下文来存储参数和其他信息会使这变得容易得多,因此您的用户可以在对话中四处走动,而您仍然保持整体状态。

    至于第二个项目符号,它用于改变我们根据对话的其他部分理解用户所说内容的方式。 (这符合人类处理对话的方式。)

    所以我的回答说“是”意味着不同的东西,具体取决于我是要求删除消息还是发送消息 - 上下文帮助我们管理它。

    【讨论】:

    • 我的想法完全正确!
    • 这里要多写一点:我正在研究一些意图以及其他人建立的输入/输出上下文。一些上下文名称与意图的名称相同,起初我认为这些输出上下文栏是用意图名称填充的。当我后来发现它们只是上下文时,我提出了这个问题。对我来说,它可以以一种没有上下文术语/概念的方式设计。只需将所有这些上下文功能集成到 Intent 中即可,例如持有参数,将信息传递给下一个等等。你有什么复杂对话的例子可以让我更理解吗?
    猜你喜欢
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2011-03-25
    • 1970-01-01
    相关资源
    最近更新 更多