Проблема с чат-ботом Microsoft, дающим двойные ответы на вопрос вместо 1 раза, который я дал ему указание сделать

#azure #microsoft-cognitive #speech #microsoft-speech-api #microsoft-speech-platform

#azure #microsoft-когнитивный #речь #microsoft-speech-api #microsoft-speech-platform

Вопрос:

В настоящее время я использую speech studio от micro soft для создания простого чат-бота. Для всех моих вопросов мне нужно добавить правило подтверждения, чтобы спросить, нужна ли им дополнительная помощь, чтобы добраться до места, которое они ищут. Однако после того, как он переходит к последней части речевой команды, он продолжает произносить речь 2 раза, а не только один раз. Например, для этого вопроса о том, где находится камера b, например, он произнесет речевой ответ дважды, а не только один раз, который он использовал для вывода всего 2 дня назад.

страница примеров предложений

это моя команда подтверждения в студии речи, чтобы спросить, нужна ли им помощь, чтобы добраться до местоположения
это моя успешная команда, предполагающая, что пользователь говорит «да» на этапе подтверждения

Однако проблема возникла только вчера, когда я тестировал чат-бота. Я получил этот вывод во время тестирования: «Конечно, пожалуйста, следуйте за мной сейчас» дважды, а не только один раз, что мне было нужно. это то, что возникло на этапе тестирования. Как вы можете видеть, он сказал, что, пожалуйста, следуйте за мной сейчас 2 раза, а не только 1 раз, который мне был нужен

Ответ №1:

Спасибо, что обратились.

Конфигурация на скриншотах выглядит нормально.

Я создал пример подтверждения для проверки поведения, и я не смог воспроизвести это с помощью клиента 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",
      "completionStrategy": "OnRequiredParameters",
      "parameters": [
        {
          "name": "MyNumber",
          "type": {
            "name": "Number"
          },
          "elicitResponse": {
            "type": "Template",
            "templateName": "# TestCommand-MyNumber"
          }
        }
      ],
      "rules": [
        {
          "name": "Confirm command",
          "conditions": [
            {
              "type": "AllRequiredParameters"
            }
          ],
          "actions": [
            {
              "type": "SpeechResponse",
              "response": {
                "type": "Template",
                "templateName": "# TestCommand-4ea19f40040311ebb2dccf4459b3ff8b"
              }
            }
          ],
          "nextTurnExpectations": [
            {
              "type": "Confirmation"
            }
          ],
          "postExecutionState": "WaitForInput"
        },
        {
          "name": "Confirmation succeeded",
          "conditions": [
            {
              "type": "SuccessfulConfirmation"
            }
          ],
          "actions": [
            {
              "type": "SpeechResponse",
              "response": {
                "type": "Template",
                "templateName": "# TestCommand-27dfe650040311ebb2dccf4459b3ff8b"
              }
            }
          ],
          "nextTurnExpectations": [],
          "postExecutionState": "ReadyForCompletion"
        },
        {
          "name": "Confirmation denied",
          "conditions": [
            {
              "type": "DeniedConfirmation"
            }
          ],
          "actions": [
            {
              "type": "SpeechResponse",
              "response": {
                "type": "Template",
                "templateName": "# TestCommand-3228f4d0040311ebb2dccf4459b3ff8b"
              }
            }
          ],
          "nextTurnExpectations": [],
          "postExecutionState": "CompleteCommand"
        }
      ],
      "completionRules": [
        {
          "name": "Done",
          "conditions": [
            {
              "type": "True"
            }
          ],
          "actions": [],
          "nextTurnExpectations": [],
          "postExecutionState": "CompleteCommand"
        }
      ],
      "triggeringExamples": [
        "number {MyNumber}",
        "my number is {MyNumber}"
      ]
    }
  ]
}  

И вот пример вывода с помощью клиента Windows.

Пример вывода

Надеюсь, это поможет! o.w. Если бы вы могли клонировать свое приложение и предоставить урезанную версию с ошибкой, и мы будем рады помочь вам в дальнейшем устранении неполадок.