在QnA Maker中检索与搜索关键字匹配的多个问题

时间:2018-05-14 08:48:30

标签: botframework qnamaker

我有一个使用LUIS和QnA Maker的机器人。

现在,我可以根据搜索关键字发送查询并在我的机器人中获取响应。但是,如果我的搜索关键字用于多个问题,QnA Maker只会检索第一个匹配的QnA对。

考虑下面的QnA对:

What is flexible working?   Flexibility to work from home
How to avail flexible working?  Get in touch with manager

如果用户键入确切的问题并按下输入,则响应将是与问题匹配的答案。但是,如果用户在这种情况下键入flexible working,则响应将只是第一个QnA答案。因此,在这种情况下,我想检索这两个问题并将其作为可供选择的问题选择回到用户。

我尝试覆盖RespondFromQnAMakerResultAsync并检查了QnA制作人APIs。不幸的是,我没有找到任何办法。

对此有任何帮助吗?如果我能对此进行更新或澄清,请告诉我。

1 个答案:

答案 0 :(得分:1)

  

如果我的搜索关键字用于多个问题,QnA制造商只需检索第一个匹配的QnA对

您可以尝试为QnAMakerAttribute指定顶部参数,该参数控制要返回的答案数。

QnAMakerAttribute的定义:

public QnAMakerAttribute(string subscriptionKey, string knowledgebaseId, string defaultMessage = null, double scoreThreshold = 0.3, int top = 1);

在QnaDialog中,您可以这样指定:

public QnaDialog() : base(new QnAMakerService(new QnAMakerAttribute("{subscriptionKey_here}", "{knowledgebaseId_here}", "Sorry, I couldn't find an answer for that", 0.5, 5)))
{
}

修改

上述方法对我有用,它可以提出问题并显示所选问题的答案。

enter image description here