LUIS:无法传递操作参数(使用对话框执行)

时间:2017-02-16 12:04:23

标签: dialog parameter-passing microsoft-cognitive luis

使用LUIS及其"Dialog Execution" under Action Binding,我希望能够提供必需参数(动作)。 (这样可以触发Action,或者可以继续对话。)

据我了解,一旦要求提供参数,我们应该在后续查询调用中提供它。例如:

首先查询:

  

https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/...?subscription-key=...&q=what are the available items

然后,它问我" 在什么类别下?" (希望我提供所需的参数),例如:

enter image description here

然后我在后续查询中提供了它:

  

https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/...?subscription-key=...&q=electronics&contextId=d754ce3...

但是,似乎我仍然没有接受该值,因此它仍然显示为null。像这样:

enter image description here

因此参数未被捕获。因此,可以触发Action。 (或者我无法达到下一个参数,如果有的话)

我做错了什么,或者看起来好像是什么问题?

(下面是那个含有"动作参数&#34的意图的截图;)

enter image description here

1 个答案:

答案 0 :(得分:1)

我以前经历过这个。 (事实上​​它仍然发生)。即使在Microsoft's Official LUIS API Example DEMOS仍然会发生

例如,在 Weather Bot 中,只需尝试以下内容:

:明天天气怎么样?
Bot :你想在哪里看天气? :新加坡 Bot

{
  "name": "location",
  "required": true,
  "value": null
}

然后再试一次,如:

:明天天气怎么样?
Bot :你想在哪里看天气? :在新加坡 Bot

{
  "name": "location",
  "required": true,
  "value": [
    {
      "entity": "singapore",
      "type": "builtin.geography.country"
    }
  ]
}

结论

<强>介词! (in,at,on,by,under,...)LUIS在没有提供适当的介词的情况下仍然不理解实体输入,有时候,在某些情况下。

我很确定这就是你的理由。用介词再试一次。

(这个问题花了我一两个星期才意识到。希望微软可以在所有这些方面更好地改进LUIS。)