【问题标题】:Using multiple StrictFilters in QnA Maker在 QnA Maker 中使用多个 StrictFilter
【发布时间】:2018-07-05 00:13:33
【问题描述】:

我希望使用 Microsoft QnA Maker 的 StrictFilter 函数来传递多个严格过滤器,但将它们视为 filterA 或 filterB。似乎严格过滤器被视为过滤器A和过滤器B。有什么办法可以把它们改成“OR”?

https://docs.microsoft.com/sl-si/azure/cognitive-services/qnamaker/how-to/metadata-generateanswer-usage

看起来它最终是在查询 Azure 搜索,生成一个“filterA AND filterB” - 直接查询 Azure Search 而不是 GenerateAnswer 方法是否会成为其他人为此类事情采取的方法?

【问题讨论】:

  • 您使用 GA QnAMaker 服务吗?
  • 是的 - 使用 GA QnA Maker。
  • 我已经确认了你在说什么,我已经联系了 QnAmaker 团队,我会尽快回复你。
  • 感谢@MarkB。 QnA Maker 团队有什么消息吗?

标签: botframework qnamaker


【解决方案1】:

因此,在这种情况下,目前无法在同一个 API 调用中将过滤器与过滤器一起使用。但是,您可以通过使用不同的严格过滤器多次发布相同的查询然后将它们添加在一起来获得类似的效果。

Call1: "strictFilters": [ { "name": "filter1", "value": "value1" },{ "name": "filter2", "value": "value2" }]

Call2: "strictFilters": [ { "name": "filter1", "value": "value1" },{ "name": "filter2", "value": "value3" }]

这将返回 filter1 设置为 value1 且 filter2 设置为 value2 或 value3 的所有条目。如果不再需要此解决方法,documentation 可能会更新。

【讨论】:

  • 我对这种方法的担忧是,这样做时置信度分数将不准确。我的假设是,如果 QnA 对的范围在查询中可用,则其相对置信度的计算方式会有所不同;由于您在两个不同的查询中更改范围,因此可能会丢失相对置信度。
  • 目前不使用严格过滤器可能是一个更好的选择。正常进行 API 调用仍将返回所有匹配的问题及其定义的标签(用于事后过滤),并且任何两个答案的分数将保持一致。因此,即使他们由于更多匹配的答案而获得的份额较小,他们之间的排名仍然相同。
猜你喜欢
  • 2019-01-20
  • 2019-12-13
  • 1970-01-01
  • 2018-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-14
  • 1970-01-01
相关资源
最近更新 更多