27 de junho de 2024
Como você pode criar um assistente de voz para Google Home?
Na SEIDOR, não apenas escrevemos código ou projetamos para os usuários. Também estamos preparados para falar com eles. Nesse sentido, as interfaces de usuário com voz (VUI) revolucionaram as interações do público com os dispositivos. Mas, como se constrói um assistente de voz?
Criamos um conceito para o Google Home que reserva salas de reuniões de maneira simples. A seguir, mostramos um fluxo de trabalho real para conceituar e construir uma interface de usuário com voz através da tecnologia.
Na SEIDOR, criamos um conceito com o aplicativo Google Assistant para reservar uma sala de reuniões.
Processo
Antes de criar um aplicativo do Google Assistant, é imprescindível cumprir alguns requisitos técnicos:
- Uma conta do Google para acessar todos os serviços e ferramentas.
- Um Google Home ou telefone com o assistente/emulador do Google para testar o aplicativo (Você se divertirá muito mais com um Google Home ao realizar testes).
- Um servidor com NodeJS onde teremos a lógica de negócios.
Com esses elementos, começamos a construir o assistente de voz com o Google Home. Os passos que seguimos na SEIDOR Opentrends foram os seguintes:
- Conceituação do Assistente
- Design do tom de voz
- Design da árvore conversacional
- Configuração do ambiente
- Construção com Dialogflow
- Construção do servidor para gerenciar a lógica de negócios (NodeJs)
- Testes
- Implementação
Design
- Co-criação para escolher o objetivo do assistente de voz
Com a premissa de tornar o escritório mais inteligente, 5 stakeholders da SEIDOR Opentrends participaram de um exercício para encontrar a melhor solução em torno desse conceito. Finalmente, detectamos a necessidade de melhorar a gestão para a reserva das salas de reuniões.
- Definição do tom de voz do bot
Em primeiro lugar, definimos o tom de voz do bot. Através de uma análise rápida do mercado, criamos três possíveis personalidades às quais atribuímos características específicas de suas falas: palavras-chave e palavras de apoio, entonação e ritmo. Dessa forma, podíamos humanizar o bot e, ao mesmo tempo, dar consistência para futuros evolutivos.
- Design de árvore conversacional
Quais perguntas são essenciais? Qual fluxo de conversa é mais adequado para a usabilidade do serviço? Onde poderia haver dificuldades na hora de dar respostas adequadas? A árvore conversacional prevê todos os pontos de contato entre o usuário e o bot, bem como as respostas a perguntas mal formuladas ou até mesmo a insultos. Dessa forma, minimizamos ao máximo os possíveis erros durante o uso do assistente de voz.
Se você quer saber como definimos a personalidade e o tom de voz de um bot ou como construímos árvores conversacionais, neste artigo você encontrará todos os detalhes.
Tecnologia
No processo de analisar o fluxo de conversa entre o usuário e o Google Home para reservar uma sala de reuniões, decidimos criar 2 ações: os usuários podem reservar uma sala diretamente ou perguntar qual sala de reuniões está disponível. O fluxo começa quando o usuário desperta o aplicativo através da expressão "Ok Google, falar com reservar salas". Com isso, o Dialogflow detecta que é uma "welcome intent" e solicita ao servidor a resposta correta. Por sua vez, o assistente do Google é a parte que detecta a voz e transcreve a mensagem de voz para texto e vice-versa.
Quando projetamos chatbots ou VUIs, falamos de "intents" e de "entities". O "intent" é a intenção do usuário. Identificar o "intent" significa descobrir o que o usuário quer quando interage com um bot. Uma "entity" atua como uma variável que modifica um "intent".
Usamos DialogFlow para criar o aplicativo que receberá a mensagem e descobrir a intenção e, com isso, a melhor resposta para o usuário. O DialogFlow se comunicará com um servidor NodeJs, que é o que torna o aplicativo inteligente: o servidor devolverá a mensagem correta dependendo da hora, das mensagens anteriores e da disponibilidade das salas de reuniões.
O processo do DialogFlow é o seguinte:
- O DialogFlow recebe o texto e determina para qual agente enviá-lo.
- O agente do DialogFlow identifica a intenção do usuário e a encaminha para a intenção correta do DialogFlow.
- A intenção do DialogFlow utiliza entidades para armazenar valores de parâmetros.
- A intenção do DialogFlow encaminha a solicitação junto com as entidades para o Fulfilment.
- O Fulfilment utiliza webhook para chamar o servidor.
Criamos um servidor com NodeJS onde temos a lógica de negócios. O servidor recebe a mensagem do usuário, algumas palavras-chave e a ação (reservar ou pedir informações). Com essas informações e o contexto da conversa, ele se conecta ao banco de dados e extrai dados relevantes.
A parte final do projeto foi testar e treinar a IA dentro do DialogFlow. Para isso, pedimos a colaboração de diferentes colegas da SEIDOR Opentrends e os incluímos no programa de teste. Nossos colegas passaram um tempo conversando com o Google Home (dispositivo, telefone ou ambiente de teste). Da nossa parte, trabalhávamos no DialogFlow, que possui uma seção de treinamento onde podíamos ver o histórico das conversas. Foi muito positivo saber como as pessoas interagem com a interface, pois elas expressavam coisas que não podíamos imaginar ao definir o fluxo. Isso nos permitiu enriquecer e adicionar essas novas formas de perguntar ou reservar sala no aplicativo.
Share
Talvez você possa se interessar
O Android 14 blindará os usuários móveis contra o malware
Não há dúvida de que um sistema operacional móvel aberto, como é o caso do Android, tem suas vantagens, mas também apresenta importantes desafios de segurança, por isso, na hora de implementá-lo como ativo na organização, é preciso considerá-lo seriamente como uma superfície de ataque.
O Dilema da Plataforma de Análise para Clientes de SAP ERP
Como especialista em análise, estamos cada vez mais enfrentando clientes da SAP que buscam orientação sobre como modernizar sua plataforma de análise. Com a maioria dos clientes da SAP a caminho de fazer a transição para a nuvem com o SAP RISE, a modernização de sua plataforma de análise também se torna uma consideração importante.