Introdução
Analistas que pesquisam serviços de chatbot e assistente virtual prometem um crescimento de mercado de pelo menos 30% ao ano. Em termos absolutos, a partir de 2019, o mercado estava avaliado em mais de US $ 2 bilhões por ano. Praticamente todas as empresas líderes de TI do mundo lançaram assistentes de voz virtuais, e Apple, Google e Amazon já fizeram a maior parte de sua promoção.
O mercado russo também tem seus próprios líderes nesta área. Yandex se tornou o primeiro grande player a lançar seu próprio assistente de voz na Rússia. De acordo com os dados oficialmente publicados da empresa, Alice é utilizada por 45 milhões de usuários por mês, e o número de solicitações mensais ao assistente é superior a 1 bilhão. Segundo especialistas, 2020 pode ser um ponto de viragem para o mercado de assistentes de voz - a competição entre plataformas e marcas levará a um aumento no reconhecimento de assistentes ...
Em geral, não há dúvidas de que o mercado de assistentes de voz é um nicho interessante. E a primeira ideia que vem à mente é pegar qualquer um dos serviços ASR (Automatic Speech Recognition) e TTS (Text To Speech) disponíveis, vinculá-los a um construtor de bot que tenha suporte para NLU (Natural Language Understanding) e pronto! Além disso, tudo isso pode ser implementado com bastante facilidade e rapidez em plataformas de nuvem como Twilio e VoxImplant.
O único problema é que o resultado será muito medíocre. Qual é a razão para isto? Em primeiro lugar, vamos tentar entender porque um conjunto de tecnologias muito boas, juntas, dá um resultado tão medíocre. Isso é importante porque na vida real, o cliente sempre dará preferência ao serviço cujo serviço de voz seja mais conveniente, mais interessante, mais inteligente e rápido que os outros.
Como funciona um típico assistente de voz
Em primeiro lugar, notamos que nossa fala é uma sequência de sons. O som, por sua vez, é a superposição de vibrações sonoras (ondas) de diferentes frequências. Uma onda, como sabemos pela física, é caracterizada por dois atributos - amplitude e frequência. Algoritmo de trabalho do assistente de
sinal de fala
:
- , , – . , «», .. .
, , , - . ( ), «» . , , — , — . , , . , , , , .
, , , , . , ASR .
, – . , .
, . - O resultado do trabalho do assistente de voz, obtido na primeira etapa, é transmitido ao bot, com suporte da NLU para identificação de intenções, entidades, preenchimento de slots e formação do texto de resposta.
Como resultado, obtemos na saída uma apresentação de teste da frase de resposta, que é a reação de nosso assistente de voz à solicitação recebida. - A resposta do assistente de voz é transmitida ao serviço de síntese de fala, que posteriormente é dada voz à pessoa.
Problemas emergentes
Apesar da correção aparentemente óbvia da abordagem implementada, no caso de um assistente de voz, ela traz muitos problemas. Aqui estão os principais:
- Atrasos
- Atrasos
-
. , , 500 , .
, 1 . - « » : «!» « ?». , , , , -, .
, :
- . – « »: , , .
- .
- .
- .
!
- . , .. . . , , , .. .
- . , . , , – .
- – . . , .
:
— ?
— . , ? ?
– « » : « » « ». « » , « » « ». - -. .
:
— ---… ---…
— , , … --…
— , , --… , …
, .. , , . .. , . - , TTS-.
?
Em primeiro lugar, ao implementar um assistente de voz, é imperativo garantir que o interlocutor seja “ouvido”, incl. naqueles momentos em que o próprio assistente virtual expressa a mensagem de saída. A escolha de ouvir ou responder é uma implementação extremamente pobre e deve ser evitada na vida real.
Em segundo lugar, você deve otimizar a velocidade de todos os componentes do sistema. No entanto, em algum ponto no tempo, certamente iremos deparar com os limites de uma possível redução de latências e complicações de cenários de processamento de linguagem natural. Portanto, entendemos que é necessário mudar fundamentalmente a abordagem de implantação do serviço de voz.
A ideia principal subjacente à nova abordagem é dar um exemplo do processo implementado pelo cérebro humano. Você notou que uma pessoa, no decorrer de uma conversa, começa a analisar a mensagem que o interlocutor diz, não no momento em que foi totalmente finalizada, mas quase imediatamente, logo no início de seu som, esclarecendo a cada nova palavra? Por isso, muitas vezes estamos prontos para dar uma resposta antes mesmo que o interlocutor termine sua mensagem.
Se voltarmos ao algoritmo que o assistente virtual de voz deve implementar, ele pode ter a seguinte aparência (para ilustração, considere a pergunta: "Onde fica o caixa eletrônico mais próximo?"):
- ASR , . .
:
a) «»
b) «»
c) «»
d) «» - , ,
:
a) «»
b) « »
c) « »
d) « » - , NLU, .
:
a) : «». :
b) : « ». : « » 50%, « » 50%
c) : « ». : « » 50%, « » 50%, « » = « »
d) : « ». : « » 100%, « » = « »
- , 1 , , , , :
- ;
- ;
- , .. 3.
, , ( – = 0%).
, . , , , , , . - Assim que for revelado que o usuário concluiu sua mensagem (determinado pelo atraso no fluxo de entrada), despejamos a resposta correspondente à intenção detectada mais provável no buffer de saída. Melhor ainda, para otimizar a velocidade, mantenha no buffer de saída não a representação textual da resposta, mas imediatamente o fragmento de áudio recebido do TTS, acumulando assim a versão completa da mensagem de áudio de resposta.
- Anunciamos o conteúdo do buffer de saída para o usuário
Maneiras de melhorar a qualidade do trabalho do assistente
Vejamos quais métodos estão disponíveis para melhorar ainda mais a qualidade de nosso assistente virtual de voz:
-
. , . , (/ , ..) . - «»
«» , , . , «» .
, «» , , . -
, , . .. , , , . , , , . , .. -
, -. .
, , « ». – , . , , . -
, . , .. . -
, , . , , , . , .
. online.
-
Até agora, consideramos apenas as características técnicas da implementação de assistentes de voz virtuais. Mas devemos entender que o sucesso nem sempre depende apenas do aperfeiçoamento da implementação técnica. Vamos analisar o exemplo já considerado: "Onde fica o caixa eletrônico mais próximo?" e entender qual a peculiaridade para sua implementação na interface de voz.
Você sabe, existe uma regra válida para gerentes de vendas - "O que não pode ser vendido pelo telefone, não deve ser vendido pelo telefone". Por isso mesmo, a resposta do formulário “O ATM mais próximo fica em ...” não é informativo para uma pessoa. Se ele conhecesse bem a área onde está agora, ou seja, Se ele soubesse os nomes de todas as ruas e números de casas próximas, provavelmente saberia onde fica o caixa eletrônico mais próximo. Portanto, essa resposta provavelmente causará imediatamente a formação de outra pergunta: "Onde, então, o endereço acabou de ser nomeado?" Uma resposta muito mais informativa seria a opção: "O caixa eletrônico mais próximo está localizado a cerca de cem metros de você na direção sudeste", ou melhor, envie também a uma pessoa uma mensagem como localização no Yandex ou no Google Maps.
A regra geral aqui é que, se para uso posterior da informação for necessário transferi-la para outro canal de percepção, então esta opção é uma escolha infeliz para implementação direta dentro da estrutura da interface de voz. É necessário reformular a resposta em uma forma que seja conveniente para ouvir.
Para vários serviços, sua implementação dentro da estrutura de um assistente de voz é geralmente a solução mais bem-sucedida. Por exemplo, se uma pessoa está em uma situação estressante, geralmente é difícil para ela se concentrar e descrever rapidamente o problema em texto no bate-papo, e ela sempre preferirá expressar tudo por voz. Isso pode se tornar um critério importante na escolha de casos de negócios para implementação em um assistente de voz virtual.
A segunda escolha óbvia de casos para a implementação de "voz" é a necessidade de utilizá-los em situações em que existam restrições legais a esta pontuação (por exemplo, ao dirigir um carro, é proibido realizar correspondência de texto), ou é simplesmente inconveniente usar outros canais de comunicação (por exemplo, durante o trabalho ou praticar esportes quando as mãos de uma pessoa estão simplesmente ocupadas).
Não há limites para a perfeição
A voz é mais conveniente do que qualquer outra interface quando o usuário precisa de uma função muito específica para resolver uma tarefa muito específica. Por que é que? É muito simples - em tal situação, a necessidade de aguardar o carregamento do site, percorrer a página, pesquisar no menu do aplicativo, pressionar botões, etc. sempre mais inconveniente do que um comando de voz falado rapidamente. Os sites e aplicativos são multifuncionais. E esta é sua vantagem e desvantagem ao mesmo tempo. A habilidade de voz deve ser adaptada à função "aqui e agora".
É importante lembrar que você deve evitar situações em que os comandos de voz precisam ser acompanhados por algumas outras ações adicionais em outras interfaces. Caso contrário, torna o canal de voz inoperante. o princípio de olhos livres é violado, uma vez que é necessário ler, e mãos livres, se algo mais precisa ser preso.
Outra recomendação importante é que você não tente ensinar uma pessoa a falar. Ele pode fazer isso perfeitamente bem sem nós, porque a linguagem é uma interface já familiar e compreensível. Exemplo ilustrativo de estilo ruim: "Para ouvir esta mensagem novamente, diga: Ouça novamente." Você e eu não falamos assim na vida comum. Não é assim? Melhor apenas perguntar: "Você ouvirá a mensagem novamente ou passará para a próxima?"
É uma boa prática implementar um assistente virtual ativado por voz para evitar perguntas abertas. É aconselhável direcionar o interlocutor para ações específicas. É especialmente valioso quando o assistente atua como um navegador ou sistema de recomendação. Um assistente de voz não deve exigir muitas informações detalhadas de uma pessoa. Verifique à medida que a conversa avança.
E, por fim, gostaria de observar que a personalização é talvez a principal coisa que falta nas interfaces de diálogo de voz existentes. Sem isso, é impossível conduzir um diálogo mais ou menos longo. O assistente deve coletar dados sobre o interlocutor, estruturar e verificar as informações recebidas. É importante não perder o fio do diálogo, preservar e levar em consideração o contexto da conversa. É importante. Caso contrário, o assistente será capaz de implementar apenas consultas curtas e bastante simples e, como resultado, isso não permitirá que você entre em um diálogo verdadeiramente ao vivo quando o assistente de voz se comunicar com o usuário.