Comportamentos do prompt

Você pode personalizar alguns comportamentos de agentes virtuaisFechado Um aplicativo de software que interage com os clientes no lugar de um agente humano ao vivo. baseados em voz em cada turno da conversa. Isso inclui coisas como ruído de conforto, invasão e limites de tempo.

Você pode personalizar o comportamento de todos os turnos em uma conversa ou apenas um turno:

  • All Conversation Turns: Criar um snippet Comportamentos padrão do próximo prompt para que o script use os comportamentos definidos como padrão para todos os turnos durante a conversa.
  • One Turn: Se você quiser especificar um conjunto diferente de comportamentos para um turno específico durante uma interação, crie um Próximos comportamentos de prompt snippet. Por exemplo, durante turnos normais de conversa, você pode não querer a coleta DTMF ativada. Mas se o agente virtual precisa de um prompt para pedir informações ao contato, você pode criar um snippet para este prompt que inclua regras de coleta DTMF.

Os comportamentos descritos nesta página só podem ser configurados em scripts do Studio que usam ações do Studio que têm a propriedade nextPromptBehaviors, como Voicebot Exchange ou Cloud Transcribe. A personalização desses comportamentos é feita por meio de ações Snippet com código personalizado. O código deve ser escrito em Snippet, uma linguagem de script interna usada em scripts Studio.

Para obter informações sobre como trabalhar com esses snippets, consulte a ajuda online do snippet Comportamentos do próximo prompt ou do snippet Comportamentos padrão do próximo prompt do prompt.

Os comportamentos descritos nesta página também se aplicam a aplicativos que não são agentes virtuais de Turn-by-Turn Transcription que usam a ação Cloud Transcribe.

Lidar com limite de tempo e silêncio

Você pode configurar opções para lidar com silêncios em ambos os lados da conversa entre um contatoFechado A pessoa que interage com um agente, RVI ou bot em seu centro de contato. e um agente virtualFechado Um aplicativo de software que interage com os clientes no lugar de um agente humano ao vivo.. Os agentes virtuais encontram silêncio quando o contato demora muito para responder ou se há pausas no meio de um enunciado. Os contatos podem ficar em silêncio se o agente virtual demorar muito para responder.

Limites de tempo de contato

Você pode configurar quanto tempo o agente virtual espera o contato responder nas seguintes situações:

  • Limite de tempo sem resposta: Você pode configurar quanto tempo o agente virtual espera para que o contato comece a falar em cada turno da conversa. O temporizador desse parâmetro começa assim que for a vez do contato na conversa. Use o parâmetro silenceRules.millisecondsToWaitForUserResponse para definir essa configuração.
  • Pausas no meio do enunciado: Você pode configurar quanto tempo o agente virtual espera que o contato continue falando se ele fizer uma pausa no meio de um enunciadoFechado O que um contato diz ou digita.. Use o parâmetro utteranceConfig.maxPostEnergySilenceMS para definir essa configuração.  Se o seu agente virtual estiver configurado comVoicebot Gateway, este parâmetro não será suportado. Sua funcionalidade é tratada pelo provedor de transcrição.
  • Ambientes ruidosos: Se o contato estiver em um local com muito ruído de fundo, o agente virtual pode ter dificuldade em determinar se o contato está falando ou se terminou. Isso é um problema particularmente quando a interrupção está habilitada. Você pode definir uma configuração de limite de tempo adicional para dar ao agente virtual mais tempo para determinar o que o contato está dizendo. Consulte a seção Como lidar com ruído de fundo para obter mais informações.

  • Pausas entre a inserção de dígitos DTMF: Se o script permitir que o contato insira tons DTMFFechado Tons de sinalização gerados quando um contato pressiona uma tecla no teclado do telefone., você poderá definir um limite de tempo para quanto tempo o script espera entre os dígitos. Use o parâmetro dtmfrules.interDigitTimeoutMilliseconds para definir essa configuração.

Atrasos do agente virtual

Às vezes, o agente virtual pode demorar mais para responder do que o esperado. Os contatos podem presumir que a chamada foi desconectada se a linha ficar silenciosa por muito tempo. Você pode configurar o ruído de conforto para tocar nessas situações. O ruído de conforto ajuda a assegurar ao contato que a chamada ainda está ativa. Você pode usar qualquer arquivo de áudio WAV para fornecer ruído de conforto.

As seguintes propriedades permitem gerenciar atrasos do agente virtual:

  • Ativar ruído de conforto: O parâmetro silenceRules.engageComfortSequence permite ativar o ruído de conforto.
  • Definir gatilho de ruído de conforto: Use o parâmetro silenceRules.botResponseDelayTolerance para especificar quanto tempo em milissegundos você quer que o script aguarde antes de iniciar a sequência de ruído de conforto.
  • Fornecer o arquivo de áudio de conforto: Você pode usar um arquivo de áudio existente ou criar um novo arquivo usando uma ação Studio compatível com o Prompt Manager, como Play. Você também pode usar um aplicativo de terceiros para criar um arquivo e carregá-lo. Os arquivos devem estar no formato WAV. Crie a sequênciaFechado Um segmento de um prompt de áudio reproduzido para o contato. de prompts de conforto com o parâmetro silenceRules.comfortPromptSequence.prompts[1].audioFilePath.

Como lidar com o silêncio

As seguintes propriedades permitem gerenciar aspectos de silêncio nas interações do agente virtual:

  • Ruído de conforto: Conforme descrito na seção Atrasos do agente virtual, o ruído de conforto permite reproduzir um arquivo de áudio quando o agente virtual demora mais para responder do que o esperado. O ruído de conforto permite que o contato saiba que a chamada ainda está ativa.
  • Remover silêncio: Você pode remover o silêncio no início de cada elocução antes que o áudio seja enviado ao agente virtual. Isso reduz o tamanho do áudio, o que ajuda a prevenir ou reduzir a latência no processamento de cada resposta do agente virtual. Use o parâmetro silenceRules.trimSilence para ativar esse recurso. Ele é desativado por padrão.

Como lidar com ruído de fundo

Quando um contatoFechado A pessoa que interage com um agente, RVI ou bot em seu centro de contato. está falando durante uma conversa agente virtualFechado Um aplicativo de software que interage com os clientes no lugar de um agente humano ao vivo., CXone Mpower espera ouvir o silêncio antes de enviar o enunciadoFechado O que um contato diz ou digita. ao agente virtual. Se o contato estiver em um ambiente ruidoso, o agente virtual pode ter dificuldade em saber se o contato está falando ou se terminou. Isso pode ser um problema particularmente quando a interrupção está habilitada.

O Voicebot Gateway altera a forma como Virtual Agent Hub lida com eventos como barcaças quando há ruído de fundo. As informações nesta seção são aplicáveis somente a agentes virtuais que não estão configurados usando Voicebot Gateway. Consulte a seção nesta página sobre barcaça para saber como Voicebot Gateway lida com esse evento.

O ruído de fundo pode causar o acionamento do parâmetro millisecondsToWaitForUserResponse. Se o ruído de fundo continuar por tempo suficiente até que o limite de tempo de millisecondsToWaitForUserResponse seja atingido, o script usa o ramal userInputTimeout.

Para impedir que o agente virtual trate situações como essa como se o contato não respondesse, você pode configurar o parâmetro utteranceConfig.maxUtteranceMilliseconds nos trechos de Comportamentos do Prompt. O benefício dessa configuração é que se o tempo limite for atingido, o script envia o áudio capturado para o agente virtual. O agente virtual interpreta o áudio da melhor forma possível e usa o ramal mais apropriado.

O temporizador para maxUtteranceMilliseconds começa assim que o agente virtual detectar o áudio, seja o contato falando ou ruído de fundo. O parâmetro maxUtteranceMilliseconds cancela o temporizador de millisecondsToWaitForUserResponse. Isso essencialmente estende o limite de tempo pela duração da pausa ou pela quantidade de tempo entre millisecondsToWaitForUserResponse e maxUtteranceMilliseconds. Quando o limite maxUtteranceMilliseconds é atingido, o agente virtual tenta determinar a intençãoFechado O significado ou propósito por trás do que um contato diz/digita; o que o contato quer comunicar ou alcançar. do contato pelo áudio capturado. O script usa um dos seguintes ramais, com base no que o agente virtual determina:

  • Intenção encontrada: Se o agente virtual determina uma intenção, o script usa o ramal PromptAndCollectNextResponse.

  • Nenhuma intenção encontrada: Se o agente virtual não conseguir determinar uma intenção, o script usa o ramal UserInputNotUnderstood ou UserInputTimeout. Ele usa o ramal mais apropriado com base na situação.

Configuração padrão

Não há padrão definido para maxUtteranceMilliseconds. O tempo apropriado varia dependendo da situação. Se uma resposta curta, como sim ou não for esperada do contato, definir maxUtteranceMilliseconds como 10 segundos é razoável. Outras respostas, como números de contas ou endereços, podem exigir mais tempo.

Coleta de DTMF

Você pode configurar seu script para coletar tons DTMFFechado Tons de sinalização gerados quando um contato pressiona uma tecla no teclado do telefone.do contatoFechado A pessoa que interage com um agente, RVI ou bot em seu centro de contato.. Use os seguintes parâmetros para configurar a coleta de DTMF:

  • Ativar a detecção de DTMF: Defina o parâmetro audioCollectionRules.dtmfRules.detectDtmf como true e adicione os parâmetros para os comportamentos de coleta de DTMF desejados.
  • Limpar o buffer de tons DTMF: Se você só quiser coletar os tons inseridos depois que o script iniciar a ação que pergunta ao contato, defina audioCollectionRules.dtmfRules.clearDigits como true. Isso limpa o buffer armazena em cache os tons DTMF quando o contato pressiona teclas no teclado do telefone.

    Seu agente virtual deve ser configurado para manipular entradas DTMF no console de gerenciamento do provedor. Mesmo que você tenha clearDigits definido como true, seu agente virtual deve ser capaz de lidar com erros devido a dígitos DTMF extras ou atrasos entre as entradas. A ação VOICEBOT EXCHANGE passa a entrada que coleta do contato para o agente virtual.

  • Exigir um caractere de terminação: Se você quiser que os contatos insiram um caractere que indique que eles terminaram de inserir dígitos, inclua o parâmetro audioCollectionRules.dtmfRules.terminationCharacter e defina o valor como o caractere que você quer que os contatos digitem. Por exemplo, o sinal de jogo da velha (#) é comumente usado como caractere de terminação.
  • Tirar caractere de terminação: Se você precisar de um caractere de terminação, faça com que o script remova o valor do caractere de terminação dos tons DTMF capturados. Quando removido, o caractere de terminação não é processado pelo script. Inclua o audioCollectionRules.dtmfRules.stripTerminator e defina-o como true para tirar o caractere de terminação.
  • Configurar um limite de tempo entre os dígitos: Você pode configurar um tempo limite para permitir que o script lide com situações em que o contato demora muito para inserir o próximo dígito. Inclua o caractere audioCollectionRules.dtmfRules.interDigitTimeoutMilliseconds e defina-o como o número de milésimos de segundo que você quer que o script espere pelo próximo dígito.
  • Definir o número máximo de dígitos aceitos: Você pode configurar o script para aceitar um número máximo de dígitos. Se você precisar de um caractere de terminação, inclua-o no número usado para essa propriedade. Por exemplo, se o prompt instruir o contato a inserir um número de conta de oito dígitos mais um caractere de terminação, defina audioCollectionRules.dtmfRules.maxDigits como 9.

Interrupções e Barcaças

Os agentes virtuais devem ser capazes de lidar com interrupções. Isso inclui quando o contato interrompe o agente virtual e quando o agente virtual deve interromper o contato, como quando eles falam por muito tempo. Você pode definir parâmetros nos snippets de Comportamentos de prompt no seu script para controlar esses comportamentos. Outro aspecto das interrupções que você pode configurar é quanto tempo o agente virtual espera depois de detectar que o contatoFechado A pessoa que interage com um agente, RVI ou bot em seu centro de contato. terminou de falar antes de responder.

Permitir que o Agente virtual interrompa os contatos que divagam

Às vezes, os contatos respondem ao agente virtual com muitos detalhes ou começam a divagar. Você pode configurar seu script para lidar com essas situações definindo o continuousTranscriptionUtteranceConfig.maxUtteranceMilliseconds parâmetro no snippet Comportamentos padrão do próximo prompt. Este parâmetro define a quantidade máxima de tempo em milissegundos que o contato pode falar.

Se o contato ainda estiver falando após o tempo configurado, o agente virtual interromperá. Você deve ter uma intençãoFechado O significado ou propósito por trás do que um contato diz/digita; o que o contato quer comunicar ou alcançar. definida nas configurações do agente virtual no console de gerenciamento do provedor para lidar com a interrupção do contato.

Essa propriedade só pode ser definida no snippet Comportamentos padrão do próximo prompt. Isso ocorre porque parâmetros de script que afetam a transcrição não podem ser modificados após Continuous Stream Transcription iniciado.

Permitir que os contatos interrompam o Agente virtual (interromper)

A interrupção permite que os contatos falem pelo áudio do agente virtualFechado Um aplicativo de software que interage com os clientes no lugar de um agente humano ao vivo. que o script está reproduzindo. A forma como você habilita esse recurso depende se o seu agente virtual usa Voicebot Gateway, conforme descrito nas seções a seguir.

Habilite a barcaça com Voicebot Gateway

Os parâmetros que habilitam a interrupção devem ser configurados no snippet Comportamentos de prompt padrão. O snippet deve estar localizado antes da ação CONTINUOUS TRANSCRIPTIONno script. Configure os seguintes parâmetros:

  • Defina o parâmetro audioCollectionRules.bargeConfiguration.enableSpeakerBarge como true.
  • Defina audioCollectionRules.bargeConfiguration.useContinuousTranscription como 1.
  • Defina audioCollectionRules.utteranceConfiguration.bargeOnUtteranceBeginRatherThanEnd como 1.
  • Defina audioCollectionRules.continuousTranscriptionUtteranceConfig.numberOfWordsToTriggerUtteranceBegin como um número entre 1 e 10. Isso representa o número de palavras que o contato deve falar antes que o agente virtual se permita ser interrompido. O padrão é 3. Esse parâmetro será ignorado se bargeOnUtteranceBeginRatherThanEnd estiver definido como 0.
  • Não inclua maxPostEnergySilenceMS, utteranceConfig.maxUtteranceMilliseconds ou millisecondsToWaitForUserResponse em seus snippets de Comportamentos de prompt.

Habilite a barcaça sem Voicebot Gateway

No snippet Comportamentos de prompt, defina o parâmetro audioCollectionRules.bargeConfiguration.enableSpeakerBarge como true.

Quando você habilita o barge no uso de enableSpeakerBarge, o agente virtual é especialmente sensível ao ruído de fundo. Isso pode fazer com que o agente virtual tenha dificuldades para saber se o contato está falando ou se terminou de falar. Para evitar que o agente virtual trate situações como essa como se o contato não tivesse respondido, você pode configurar o parâmetro utteranceConfig.maxUtteranceMilliseconds emComportamentos de prompt snippets.

Espaçamento entre turnos

Você pode configurar quanto tempo o agente virtual aguarda depois que o contato termina um enunciado antes de responder. Normalmente, essa é uma pausa muito breve. Ele permite que você configure um espaçamento entre os enunciados que pareça mais humano. Se o agente virtual começar a falar assim que o contato terminar um enunciado, o contato pode se sentir apressado ou como se o agente virtual estivesse falando por cima dele.

Para configurar essa pausa, adicione continuousTranscriptionUtteranceConfig.maxPostSilenceMS ao snippet Comportamentos padrão do próximo prompt. O intervalo dessa propriedade é de 100 a 1000 milissegundos. O padrão é 100.

Essa propriedade só pode ser definida no snippet Comportamentos padrão do próximo prompt. Isso ocorre porque parâmetros de script que afetam a transcrição não podem ser modificados após Continuous Stream Transcription iniciado.