上下文

Dialogflow 上下文类似于自然语言上下文。如果有人告诉您“they are orange”,您需要通过上下文才能理解“they”指的是什么。同样,为了让 Dialogflow 处理类似的最终用户表述,您需要为其提供上下文以正确地与意图匹配。

您可以使用上下文来控制对话流。您可以为意图配置上下文,方法是设置由字符串名称标识的输入和输出上下文。匹配了某个意图时,为该意图配置的所有输出上下文都将变为活跃状态。当所有上下文处于活跃状态时,Dialogflow 更可能匹配配置了输入上下文,且该上下文与当前活跃上下文匹配的意图。

下图是一个将上下文用于银行代理的示例。

用户与意图和上下文的互动图。
  1. 最终用户询问其支票账户的相关信息。
  2. Dialogflow 将此最终用户表述与 CheckingInfo 意图匹配。此意图具有 checking 输出上下文,因此上下文变为活跃状态。
  3. 代理询问最终用户他们希望了解支票账户的哪类信息。
  4. 最终用户回复“my balance”。
  5. Dialogflow 将此最终用户表述与 CheckingBalance 意图匹配。此意图具有 checking 输入上下文,该上下文需要处于活跃状态才能匹配此意图。当 savings 上下文处于活跃状态时,也可能存在类似的 SavingsBalance 意图来匹配该最终用户表述。
  6. 系统执行必要的数据库查询后,代理会回复该支票账户的余额。