API.AI - 是否可以在发送 API.AI 请求之前设置目标意图?

API.AI - Is it possible to set the target intent before sending API.AI request?

我正在构建一个移动应用程序来填写表格。基本上,该应用程序由许多屏幕组成,每个屏幕都可以使用 API.AI SDK 通过语音填写。因此,由于所有屏幕可能都有相似的 attributes/fields 类型,例如工资、金额、姓名、YES/NO 问题、每月费用、租金金额,因此 API 响应非常不准确;它有时会混合一个本应用于不同屏幕的意图 - 它会混合这些意图。

所以我的问题是.. 我可以 set/configure 一个带有目标意图的屏幕请求吗?示例:

财务意图 - 财务屏幕 1000 - 工资(API.AI 只期望值) 200 - 额外收入(API.AI 只期望值)

支出意向 - 支出意向 200 - 租金(API.AI 只需要价值) 400 - 帐单(API.AI 只需要值)

那么,我可以从我的代码中设置目标意图,例如财务意图或类似的东西,这样代理就不会因为相似的数据类型而感到困惑吗?

感谢您的宝贵时间和乐于助人的意愿。

一个解决方案是使用上下文。

API.AI 上下文允许您指定在何种情况下(上下文)可以触发 Intent。

表格如下:

  • What is your name ?

  • What is your salary ?

  • What are your expenses ?

您可以通过为每个 Intent 设置上下文输入和上下文输出来引导用户:

  • 名称含义:
    • 上下文在:askedname
    • 上下文输出:asquessalary
  • 薪资意向:
    • 上下文:asquessalary
    • 上下文输出:askedExpenses
  • 开支意向:
    • 上下文:askedExpenses
    • 上下文输出:...

这样,您可以确保只有 askedname 上下文才会触发 Name Intent,只有 askedsalary 上下文才会触发 Salary Intent,等等

您可以在这里找到更多解释:https://api.ai/docs/dialogs#non-linear_dialogs