上下文

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

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

下图显示了为银行代理使用上下文的示例。

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