Microsoft聊天机器人的问题给出了对问题的双重回答,而不是我指示它做的1次

问题描述

我目前正在使用Micro Soft的语音工作室创建一个简单的聊天机器人。对于我所有的问题,我需要添加一条确认规则,以询问他们是否需要进一步的帮助才能到达所需的位置。但是,到达语音命令的最后部分后,它会继续说两次语音,而不是一次。例如,对于这个问题,例如关于房间b的问题,它将说语音响应两次,而不是一次只返回2天就输出一次。

the example sentences page

this is my confirmation command in the speech studio to ask whether they need assistance getting to the location this is my successful command assuming the user says yes during the confirmation stage

但是这个问题是在昨天我测试聊天机器人时发生的。我在测试过程中得到了以下输出:“确定,请立即关注我”两次,而不是我需要的一次。 this is what came up during the testing phase. As you can see it said sure please follow me now 2 times instead of just that 1 time that I needed

解决方法

感谢您伸出手。

屏幕截图中的配置看起来不错。

我创建了一个确认示例来验证行为,但是我无法使用Windows客户端(与您在屏幕截图中使用的相同)来重现此问题。

这是您可以导入以试用的示例应用程序。

{
  "entityResolver": {
    "searchConfiguration": {
      "maxEdits": 0
    },"type": "internal","isGenerated": true
  },"minIntentConfidence": 0.4,"highIntentConfidence": 0.8,"lgTemplates": [
    "# FallbackResponse","- Add your fallback message here","# TestCommand-MyNumber","- what number?","# TestCommand-27dfe650040311ebb2dccf4459b3ff8b","- confirmed.","# TestCommand-3228f4d0040311ebb2dccf4459b3ff8b","- denied.","# TestCommand-4ea19f40040311ebb2dccf4459b3ff8b","- sure?"
  ],"type": "BaseLanguage","recognizer": {
    "application": "","isStaging": false,"versionId": "0.1","type": "luis"
  },"speechOutput": {
    "font": "Microsoft Server Speech Text to Speech Voice (en-US,Aria24kRUS)","locale": "en-US"
  },"webEndpoints": [],"globalParameters": [],"commands": [
    {
      "name": "FallbackCommand","completionStrategy": "OnRequiredParameters","parameters": [],"rules": [],"completionRules": [
        {
          "name": "DefaultResponse","conditions": [
            {
              "type": "True"
            }
          ],"actions": [
            {
              "type": "SpeechResponse","response": {
                "type": "Template","templateName": "# FallbackResponse"
              }
            }
          ],"postExecutionState": "None"
        }
      ],"triggeringExamples": [
        "> - You can start sentences with '>' to add comments.","> - You can also use parameters by adding the name of the parameter within curly braces,i.e.",">     Set an alarm to {YourDateParameterName}",">   Where YourDateParameterName is the name of a parameter defined in the 'Parameters' section.","Help","Help me","What can you do?","How can I start?","Hello","Hi"
      ],"multiTurnExamples": []
    },{
      "name": "TestCommand","parameters": [
        {
          "name": "MyNumber","type": {
            "name": "Number"
          },"elicitResponse": {
            "type": "Template","templateName": "# TestCommand-MyNumber"
          }
        }
      ],"rules": [
        {
          "name": "Confirm command","conditions": [
            {
              "type": "AllRequiredParameters"
            }
          ],"templateName": "# TestCommand-4ea19f40040311ebb2dccf4459b3ff8b"
              }
            }
          ],"nextTurnExpectations": [
            {
              "type": "Confirmation"
            }
          ],"postExecutionState": "WaitForInput"
        },{
          "name": "Confirmation succeeded","conditions": [
            {
              "type": "SuccessfulConfirmation"
            }
          ],"templateName": "# TestCommand-27dfe650040311ebb2dccf4459b3ff8b"
              }
            }
          ],"nextTurnExpectations": [],"postExecutionState": "ReadyForCompletion"
        },{
          "name": "Confirmation denied","conditions": [
            {
              "type": "DeniedConfirmation"
            }
          ],"templateName": "# TestCommand-3228f4d0040311ebb2dccf4459b3ff8b"
              }
            }
          ],"postExecutionState": "CompleteCommand"
        }
      ],"completionRules": [
        {
          "name": "Done","actions": [],"triggeringExamples": [
        "number {MyNumber}","my number is {MyNumber}"
      ]
    }
  ]
}

这是Windows客户端的示例输出。

Sample output

希望获得帮助!哦如果您可以克隆您的应用程序并提供失败的精简版本,我们将很乐意帮助您进行进一步的故障排除。