我对Azure Web App Bot服务执行的问题(西班牙语)的回答与对QnAMaker实例的查询以及对该实例的特定QnAMaker服务直接执行的查询存在差异。
对于这个特定的案例,我在机器人的网络聊天和QnAMaker测试聊天中执行了相同的问题。在Bot的网络聊天检索到的几个响应中,我得到了默认消息(例如,如果问题与答案不匹配),而在QnAMaker测试聊天检索到的响应中,我得到了知识库中匹配的答案。
下面是两次聊天结果的截图:
Bot的网络聊天响应:Bot Chat Screenshot 01 Bot Chat Screenshot 02
QnAMaker测试聊天响应:QnAMaker Chat Screenshot 01 QnAMaker Chat Screenshot 01
检查了将QnAMaker服务与Bot集成的整个配置,看起来没有问题。甚至,用于在机器人的应用程序设置中执行查询的QnaThreshold被设置为0.04 (4%匹配),以确保结果不会被过滤。
我猜问题在于构建POST请求的Bot模块与QnAMaker服务之间的配置差异。
谁能帮我解决这个问题,确保机器人执行的请求与QnAMaker测试聊天执行的请求相同,并通过两次聊天获得相同的结果。
谢谢
发布于 2018-05-23 15:08:41
Alternate questions可以提高与用户查询匹配的可能性。您可以尝试将该短语作为备用问题添加到现有的QnA对中。
用于在机器人应用程序设置中执行查询的QnaThreshold设置为0.04
要解决此问题,您可以尝试将ScoreThreshold设置为0,然后覆盖RespondFromQnAMakerResultAsync并检查QnAMaker服务返回的实际QnAMakerResult。
发布于 2018-05-23 17:14:50
我看到你问的问题并不是完全一样的"donde comprar entradas“<> "donde compro entradas",这可以解释一些差异。
然后,我认为QnA Maker测试聊天使用了某种过渡环境,而Azure Bot聊天使用了知识库的最新发布版本。
您确定您已经发布了上次的更改吗?
发布于 2018-05-24 23:29:29
这个问题已经解决了。问题是由App Settings变量的数据类型生成的。这些值是以IBM852编码到process.env对象中的字符串,当Javascript将它们转换为浮点型或整型时,生成的值是不正确的。在使用app.js中的应用程序设置变量之前,应用相应的转换函数(如parseFloat()或parseInt() )将解决此问题。
感谢来自微软的Web App支持工程师Tyrel Roesler,他帮助我发现了这个问题。
https://stackoverflow.com/questions/50473908
复制相似问题