O futuro está aqui: como os robôs de voz funcionam e o que eles podem fazer

imagem

A robotização de operações de rotina, quando os robôs são usados ​​para resolver tarefas simples e ao mesmo tempo trabalhosas, em vez de pessoas, é uma tendência muito ativa. Muitas coisas estão sendo automatizadas, incluindo conversas telefônicas com os clientes. A empresa Neuro.net está envolvida na criação de tecnologias que oferecem uma oportunidade para melhorar as capacidades dos robôs.

Neste artigo, os desenvolvedores falam sobre as tecnologias e nuances do reconhecimento do gênero do interlocutor por voz e trabalhando em elementos importantes do diálogo.

Primeiro um caso e depois um colapso da tecnologia


imagem

Um dos casos mais interessantes é a substituição dos funcionários de call center de uma empresa parceira por um robô de voz. Os recursos deste último foram usados ​​não para situações regulares, como esclarecer o endereço de entrega, mas para descobrir por que alguns clientes se tornaram menos propensos a visitar o site da empresa.

A tecnologia foi baseada no uso de uma rede neural completa, em vez de scripts individuais. Foi a rede neural que nos permitiu resolver os problemas que geralmente confundem os robôs. Antes de tudo, estamos falando das respostas do interlocutor como "bem, ainda não sei, talvez sim, embora não" ou até "sim não". Palavras comuns aos seres humanos se tornam um obstáculo intransponível para um robô.

imagem

Durante o treinamento, o robô começou a entender qual o significado definido em uma frase específica e qual deveria ser a resposta. O robô teve vários votos - masculino e feminino. A principal tarefa era "humanizar" o robô para que o interlocutor humano não testasse as capacidades da máquina, mas liderasse um diálogo de acordo com o cenário-alvo.

Abaixo está um exemplo do que aconteceu.


O robô ouve o interlocutor, dando uma resposta, dependendo do significado do que o cliente disse. O número total de ramificações de script que podem ser usadas para conversação é superior a mil.
O principal objetivo desse robô era entender o motivo da diminuição da atividade do cliente da empresa no site e fazer uma oferta interessante para todos. Essa foi uma das primeiras tentativas da empresa de automatizar o trabalho dos call centers.

Novos robôs são mais perfeitos. Aqui estão mais alguns exemplos de como os robôs se comunicam com os seres humanos: primeiro , segundo e terceiro exemplos.

Agora sobre tecnologia


Existem três recursos tecnológicos importantes que permitem que o robô funcione:

  • reconhecimento do sexo do interlocutor por voz,
  • reconhecimento de idade
  • construindo um diálogo com um interlocutor humano.

imagem

Reconhecendo o sexo do interlocutor por voz


Por que isso é necessário? Inicialmente, essa função foi criada para realizar pesquisas usando robôs. Anteriormente, o trabalho de pesquisa era realizado por pessoas que preencheram vários pontos. Por exemplo, o piso do interlocutor. É claro que uma pessoa não precisa perguntar com quem fala - um homem ou uma mulher, para determinar esse parâmetro. Em 99%, tudo está claro. Os robôs são outra questão, para que eles aprendam mais ou menos com precisão a reconhecer vozes, tive que realizar um trabalho em larga escala. E não foi em vão, agora a tecnologia é usada para personalizar ofertas e solicitações de voz, dependendo do sexo.

Um ponto importante - a voz feminina é universal e aplicável ao trabalho com a mais ampla gama de produtos, e é especialmente importante para produtos para mulheres. De acordo com vários estudos,uma voz feminina é percebida positivamente por qualquer público, respectivamente, neste caso, a conversão é maior. Uma exceção - ao promover produtos "masculinos", uma voz masculina é preferível.

Como funciona? Primeiro, o processamento de dados primários é realizado, com base no processamento de gravações de voz e fragmentos com duração de 20 ms. Todos os fragmentos de voz coletados são pré-processados ​​no componente VAD (Voice Activity Detection). Isso é necessário para separar os "grãos do joio", isto é, fala do ruído. Todo o lixo é removido, o que aumenta a precisão dos modelos.

Para reconhecimento, é utilizado o chamado espaço dos coeficientes cepstrais, a primeira e a segunda diferenças. A base é o método GMM - Gauss Mixture Models.

Assim, no intervalo de 10 a 20 ms, é calculado o espectro de potência atual, após o qual a transformada inversa de Fourier do logaritmo do espectro é aplicada, com a busca dos coeficientes necessários.

Nossos modelos GMM são configurados separadamente para o ensino de mods de voz masculinos e femininos, e os modelos também são usados ​​para determinar as vozes de adultos e crianças. Obviamente, você não pode treinar o sistema a partir do zero, precisa de gravações de voz marcadas.

Para aumentar a eficiência do sistema, são aplicados os coeficientes dos modelos de voz timbre:

  • Nitidez timbral.
  • Calor timbral.
  • Brilho timbral.
  • Profundidade timbral.
  • Dureza timbral.
  • Crescimento timbral.
  • Desnível timbral.
  • Reverb de timbre.

Modelos de timbre são necessários para identificar corretamente as vozes das crianças - quaisquer outros modelos aceitam a voz da criança como feminina. Além disso, você precisa distinguir entre vozes femininas grossas (por exemplo, uma mulher idosa fumando), vozes masculinas altas, etc. A propósito, se uma pessoa dissesse “olá” e tossisse - todos os modelos anteriores que não usavam filtros de timbre definiriam a voz como masculina.



A parte principal do sistema é o módulo de classificação de dados baseado no perceptron multicamada, MLP. Ele transmite dados de modelos de vozes masculinas e femininas, dados de modelos timbrais. Na entrada do sistema, obtemos uma matriz de valores classificados e, na saída, o resultado da determinação do sexo.

A tecnologia descrita aqui é usada para trabalhar on-line (de acordo com a primeira frase do cliente) e o modo de classificação off-line (após uma conversa). A precisão do reconhecimento de gênero é de cerca de 95%. Um ponto importante é que o atraso no trabalho on-line não excede 120-150 ms, o que é extremamente importante para a humanização do robô. Geralmente, as pausas na comunicação entre um robô e uma pessoa não são milissegundos, mas segundos, o que, é claro, parece estranho para um interlocutor humano, e fica imediatamente claro que o sistema digital se comunica.

Os planos incluem adicionar trabalho com texto, mais precisamente - finais. Se o interlocutor diz "eu poderia" - definitivamente, esta é uma mulher. Num futuro próximo, esta tecnologia será finalizada e implementada no sistema de reconhecimento.

Determinando a idade do interlocutor


Por que isso é necessário? Antes de tudo, para não oferecer vários produtos e serviços a menores. Além disso, a identificação da idade é útil para personalizar ofertas por categorias de idade.

Como funciona? As mesmas tecnologias são usadas exatamente como no caso anterior. A precisão do sistema é de cerca de 90%.

imagem

Construindo caixas de diálogo


E agora passamos ao mais interessante - o princípio de construir diálogos.

Por que isso é necessário? Para substituir competentemente uma pessoa, um robô deve ser capaz de trabalhar em cenários de diálogo lineares e não lineares. No primeiro caso, pode ser um questionário, no segundo - trabalho com assinantes do call center, linhas de suporte técnico da empresa, etc.

Como funciona? Utilizamos o NLU Engine, cuja base é a análise semântica do texto recebido dos sistemas ASR. Além disso, objetos de reconhecimento, como entidades (intenções) e intenções (intenções), que são usados ​​na lógica da construção de fluxo conversacional, são distinguidos dele.

Aqui está um exemplo de como a tecnologia funciona.

Texto recebido de um sistema de reconhecimento de fala (ASR):
"Em geral, estou interessado em sua proposta, mas gostaria que fosse mais barata. E agora estou um pouco ocupado, você pode me ligar de volta às seis horas amanhã. "

Objetos preenchidos com o mecanismo NLU: Objetivos

:
confirmação =
objeção verdadeira =
pergunta cara =
retorno de chamada nulo =
horário errado verdadeiro = true

Entidades:
data = 01/02/2019 (suponha que a data da chamada seja 01/01/2019)
hora =
18:00 quantidade = 6

Princípio de preenchimento Os objetos neste exemplo são:

Intenções (intenções):

  • O texto "Estou interessado em sua proposta" foi traduzido em "confirmação" intencional com o valor "verdadeiro".
  • O texto "eu gostaria que fosse mais barato" foi traduzido em "objeção" com o valor "caro".
  • O texto "Estou um pouco ocupado agora" foi traduzido para a intenção "horário errado" com um valor de "verdadeiro".
  • « » intent «call_back» «true».
  • , intent «question» null

Entities ():

  • «» entity «date» «02.01.2019», current_date + 1 (, 01.01.2019).
  • « » entity «time» «18:00»,
  • «» entity «amount» «6», , entities .

Para toda a lista de intenções e entidades, determinados valores são atribuídos, que são usados ​​para construir o fluxo de conversação.

Agora, vamos falar sobre os algoritmos de trabalho que são suportados pelo sistema NLU Engine. Inclui dois níveis.

O primeiro nível - funciona em uma amostra de dados relativamente pequena, com cerca de 600 a 1000 registros. Os algoritmos de ML são usados ​​aqui. Precisão do reconhecimento: 90-95%.

O segundo nível - a transição para ele é realizada após o lançamento do projeto e o acúmulo de uma grande amostra de dados, incluindo mais de 1 milhão de registros. Os algoritmos de DL já são usados ​​aqui. Precisão do reconhecimento: 95-98%.

A solução funciona com dois subsistemas:

  • subsistema de categorização e classificação dos dados de texto,
  • subsistema de formação de diálogo.

Ambos os subsistemas funcionam em paralelo. Na entrada do sistema de categorização e classificação, o texto do assinante reconhecido a partir da frase de voz é transmitido; na saída, a decisão fornece os parâmetros preenchidos Entidade e Valor para formar a resposta.

O subsistema de formação de diálogo para a construção de cenários não lineares é construído em uma rede neural. Na entrada do sistema, o texto do assinante reconhecido a partir da frase de voz é transmitido; na saída, é tomada a decisão sobre o que deve ser perdido no momento seguinte.

Um cenário não linear é adequado para a primeira linha de suporte - o robô não sabe quem está ligando, sobre qual produto específico e com que perguntas. Aqui, a construção adicional do diálogo depende da resposta do cliente.

Mas para chamadas feitas, a melhor solução seria um cenário linear. Seu exemplo foi dado no começo do artigo. Outra variante do cenário linear é realizar uma pesquisa quando não interessa o que o cliente responde; isso será analisado posteriormente por especialistas. Mas é importante orientar o cliente em todas as perguntas que estão na lista.

Como resultado, quero enfatizar que os robôs de voz não substituirão as pessoas. Agora eles estão fazendo um excelente trabalho com o trabalho de rotina - ligando para as pessoas, para fazer algumas perguntas e ouvir / gravar / analisar as respostas. Assim, os operadores de call center e de suporte técnico ficam isentos da necessidade de executar os mesmos procedimentos de rotina. Em vez disso, eles podem se concentrar em perguntas e desafios realmente interessantes.

All Articles