Botframework 有没有办法指定QnA对中备选问题的顺序(QnA生成器)?

Botframework 有没有办法指定QnA对中备选问题的顺序(QnA生成器)?,botframework,qnamaker,Botframework,Qnamaker,我使用的是QnA Maker服务和主动学习功能,其工作方式如下:查询QnA Maker,查找模棱两可的问题/答案对,通过从每个QnA对(QnAMakerResult)中选择第一个问题创建英雄卡,并将其发送给用户 因为我使用了这个逻辑,所以我想在QnA对中找到最漂亮的第一个问题。但我发现,当我点击QnA Maker门户中的Save and Train时,它将覆盖我在QnA对中的备选问题顺序,这完全打破了积极的学习体验,因为QnA对中的一些问题不是那么友好,例如仅特定的关键字等 有没有办法为此标记一

我使用的是QnA Maker服务和主动学习功能,其工作方式如下:查询QnA Maker,查找模棱两可的问题/答案对,通过从每个QnA对(QnAMakerResult)中选择第一个问题创建英雄卡,并将其发送给用户

因为我使用了这个逻辑,所以我想在QnA对中找到最漂亮的第一个问题。但我发现,当我点击QnA Maker门户中的Save and Train时,它将覆盖我在QnA对中的备选问题顺序,这完全打破了积极的学习体验,因为QnA对中的一些问题不是那么友好,例如仅特定的关键字等


有没有办法为此标记一些备选问题(如标记最用户友好的问题)或在QnA Maker中禁用此自动排序?

由于您没有指定语言,我的答案是指C#SDK,但这些概念应该可以转移到其他SDK

我相信,您可能能够通过一种迂回的手动方式实现所需的功能:

  • 在要消除歧义的问题的QnA Maker门户中,它可能有键
    消除歧义问题
    ,值将是您要用于消除歧义的问题。给出了一个例子。e、 g.
    消歧问题
    我想用来消歧的问题
  • 保存、培训和发布您的知识库
  • 更新代码以筛选包含对象数组的类的属性。GetAnswersAsync
    方法是查询QnA Maker端点的方法,它将返回一个
    QueryResult`对象数组
  • 使用元数据对象中的来显示在卡中以消除歧义。有一个例子说明了如何做到这一点
  • 此外,还概述了QnA制造商答案排名系统的工作原理,目前其工作原理如下:

    | Step  | Purpose |
    | --- | --- |
    | 1 | The client application sends the user query to the GenerateAnswer API |
    | 2 | QnA Maker preprocesses the user query with language detection, spellers, and word breakers. |
    | 3 | This preprocessing is taken to alter the user query for the best search results. |
    | 4 | This altered query is sent to an Azure Cognitive Search Index, which receives the top number of results. If the correct answer isn't in these results, increase the value of top slightly. Generally, a value of 10 for top works in 90% of queries. |
    | 5 | QnA Maker uses syntactic and semantic based featurization to determine the similarity between the user query and the fetched QnA results. |
    | 6 | The machine-learned ranker model uses the different features, from step 5, to determine the confidence scores and the new ranking order. |
    | 7 | The new results are returned to the client application in ranked order. |
    
    Features used include but aren't limited to word-level semantics, term-level importance in a corpus, and deep learned semantic models to determine similarity and relevance between two text strings.
    

    我希望这会有所帮助。

    是的,这听起来很有帮助,谢谢你(排名系统链接和带有元数据标签的想法)。没问题@User5468622,你应该在这里发布你最终采用的解决方案,以及在此过程中做出的任何决定,作为答案,以防将来有人想这样做。:-)我将采用你建议的策略。我将创建特殊的元数据属性,类似于用户友好问题/消歧问题,它将包含qna对的用户友好问题,可用于主动学习。但是,由于我们的知识库现在有大约100个QnA对,而且有人可能忘记将此标记添加到新的QnA对中,如果缺少元数据属性用户友好问题,我将使用QnAMakerResult中的第一个问题作为默认问题。