Dialogflow 上下文类似于自然语言上下文。如果有人告诉您“they are orange”,您需要通过上下文才能理解“they”指的是什么。同样,为了让 Dialogflow 处理类似的最终用户表述,您需要为其提供上下文以正确地与意图匹配。
您可以使用上下文来控制对话流。您可以为意图配置上下文,方法是设置由字符串名称标识的输入和输出上下文。匹配了某个意图时,为该意图配置的所有输出上下文都将变为活跃状态。当所有上下文处于活跃状态时,Dialogflow 更可能匹配配置了输入上下文,且该上下文与当前活跃上下文匹配的意图。
下图是一个将上下文用于银行代理的示例。
- 最终用户询问其支票账户的相关信息。
-
Dialogflow 将此最终用户表述与
CheckingInfo
意图匹配。此意图具有checking
输出上下文,因此上下文变为活跃状态。 - 代理询问最终用户他们希望了解支票账户的哪类信息。
- 最终用户回复“my balance”。
-
Dialogflow 将此最终用户表述与
CheckingBalance
意图匹配。此意图具有checking
输入上下文,该上下文需要处于活跃状态才能匹配此意图。当savings
上下文处于活跃状态时,也可能存在类似的SavingsBalance
意图来匹配该最终用户表述。 - 系统执行必要的数据库查询后,代理会回复该支票账户的余额。