API.AI 开发者复合实体定义和 Json 结果

API.AI developer composite entity definition and Json results

我正在尝试解决用户陈述他们想要什么的用例 buy/rent,即: 我想买车,我想租车,我想买房,我想租房。 我创建了名为 "action"(购买、出租)的实体和名为 "subject"(汽车、房屋)的实体。 然后我像这样创建一个动作主题的复合实体(与教程中的相同 - 我认为)-

@action:action action @subject:subject subject 
@subject:subject subject
@action:action action

当我尝试根据用户输入定义意图时,例如:"I want to buy a car",我得到了 "action" 和 "subject" 的 2 个实体,而不是 [=28= 的实体]. 即使我手动标记 "buy a car" 并将其变成 "action-subject" 的实体,当我测试并检查 JSON 时,我发现我正确地获取了 "action" 数据,但缺少 "subject" 数据 - 请参阅相关 Json...

"parameters": {
"action-subject": {
"action": "buy"
}

其实我想得到的是:

"parameters": {
"action-subject": {
"action": "buy",
"subject": "car"
}

我做错了什么?或者我可能错误地处理了它,我不应该使用基于 2 个开发人员实体的复合实体,而是 1 个开发人员实体和 1 个@sys 实体?

你应该做的是创建两个 entities

  • Actionbuyrent
  • Subjectcarhouse

然后创建意向如下:

您可以看到api.ai如何根据需要捕获参数。

参数 JSON 如下所示:

"parameters": {
      "action": "rent",
      "Subject": "car"
    }