首页 > 解决方案 > 当连续询问两个具有多提示答案的问题并且 rankerType 为“questionOnly”时,QnAMaker 不返回任何答案

问题描述

我正在创建一个简单的聊天机器人,其中我的代码基于Bot Framework 示例存储库中的 C# 示例“QnABotAllFeatures”项目。我有一个简单的 QnA 知识库并使用 Bot Framework Emulator v4 进行测试。

当我将 RankerType 设置为仅按问题排名时,见下文,如果我在另一个带有多圈提示的问题之后提出带有多圈提示的问题,我在第二个问题上没有得到 QnAMaker 的答案。

new QnAMakerOptions
{
    ScoreThreshold = DefaultThreshold,
    Top = DefaultTopN,
    QnAId = 0,
    RankerType = "QuestionOnly",
    IsTest = false
};

我的知识库看起来像这样

如果我连续问两个问题,包括“大型动物”然后是“大型平台”,我会得到“未找到 QnAMaker 答案”。关于最后一个问题。

连续没有两个多轮问题的组合效果很好,例如:“大型植物”然后“你好吗”。或者“你好吗”然后是“大型动物”。

如果我不设置 RankerType,或者将其设置为“默认”,那么一切正常。

我在俯视什么?我还尝试将 ScoreThreshold 降低到 0.01f。

通过运行 C# 示例“QnABotAllFeatures”项目表单https://github.com/microsoft/BotBuilder-Samples并在 QnAMakerBaseDialog.GetQnAMakerOptionsAsync 方法中将 RankerType 更改为“QuestionOnly”,这是可重复的

标签: c#botframework

解决方案


推荐阅读