fbpx

Introdução a Computação por Voz e Alexa Skills

Voiced by Amazon Polly

Para falamos do avanço da Computação por Voz, Sundar Pichai, CEO da Alphabet (Google), traz uma visão muito interessante sobre suas previsões:

Olhando para o futuro, o próximo grande passo é para o conceito de “dispositivo” deixar de existir.

Em sua fala, Sundar diz que, com o avanço das tecnologias e tudo sendo conectado, deixaremos de precisar de smartphones e controles, uma vez que poderemos interagir diretamente com os objetivos, utilizando a voz.

A Evolução da Computação por Voz

Como vemos na imagem abaixo, estamos vivendo a chamada 4a Revolução Industrial, com a Internet das Coisas (IoT) e a Computação em Nuvem permitindo a automação da atividades complexas. Isso acontece porque, com a nuvem, é possível que dispositivos pequenos, como celulares, usufruam de um grande poder computacional, viabilizando a distribuição de diversas tecnologias, como Inteligência Artificial, por exemplo.


Imagem retirada do blog da Oracle.

Além disso, uma grande mudança vem ocorrendo na forma como interagimos com as tecnologias. Em 1867, com a invenção da máquina de escrever, que mais tarde evoluiu para o teclado de computador, nós apertamos nossos dedos em botões com letras, números e símbolos, muitas vezes utilizando códigos e combinações pré-definidos (CTRL+C e CTRL+V, por exemplo) para realizar ações. Já em 1968, passamos a utilizar o mouse, onde arrastamos e clicamos em um pequeno dispositivo, pouco ergonômico, para abrir menus e selecionar opções. Já a partir de 2007, com o lançamento do iPhone e o início da adoção dos smartphones, passamos a tocar, arrastar e pinçar para interagir com a tecnologia. Em todos os cenários acima, ficamos parados e sentados, focados na interação com uma pequena tela.

Com a Computação por Voz, pela primeira vez, a gente passa a interagir com a tecnologia de uma forma natural para a gente: a fala. Não é mais necessário aprender comandos e atalhos, pois a fala é algo que aprendemos de forma natural, e o conceito de “interface” com a tecnologia é praticamente imperceptível.

Imagem retirada da OpenSense Labs.

Existe uma linha do tempo muito mais complexa e detalhada de assistentes de voz, com vários outros projetos, voltando a séculos atrás quando o ser humano tentava emular a voz em objetos de maneira mecânica. Olhando para o passado recente, a Siri, assistente de voz da Apple, foi o grande marco para as pessoas passarem a interagir com esse tipo de tecnologia em larga escala. Depois disso, cada vez mais as pessoas se acostumaram e aderiram a esse tipo de tecnologia. Para se ter uma referência, demorou em torno de 74 dias para a Apple vender o primeiro 1 milhão de iPhones, causando uma grande disrupção no mercado de celulares. Já o primeiro Amazon Echo, dispositivo que carrega a Alexa, levou em torno de 2 semanas.

É claro que a diferença do preço entre os dispositivos tem um grande impacto na velocidades das vendas. Mas podemos notar na imagem a baixo o crescimento de dispositivos conectados, principalmente depois da criação do conceito de IoT:


Imagem retirada do Twitter do Jim Harris

Enquanto no início dos anos 2000 tínhamos em torno de meio bilhão de dispositivos conectados, hoje estamos falando de mais de 50 bilhões. Ou seja, um crescimento de 10.000,00% em menos de 20 anos.

Desafios no processamento da voz

Com tudo isso, muitas pessoas se perguntam: por que essa tecnologia demorou tanto a ser utilizada em larga escala? A grande responsável por essa transformação, como mencionado anteriormente, é a Computação em Nuvem, com a criação do conceito em 2006, no lançamento dos primeiros serviços pela AWS. Com essa tecnologia, é possível que dispositivos carregando poucos recursos de tecnologia utilizem o processamento de enormes datacenters por trás. Como vemos na próxima imagem, o processamento de voz, para o entendimento e resposta é uma ação complexa que requer grande poder computacional:

Primeiro, é necessário converter as ondas sonoras, que são um sinal analógico, em um sinal digital para ser interpretado por um computador. Em seguida, deve-se utilizar o Reconhecimento de Fala Automatizado (ASR, no inglês Automated Speak Recognition) para entender quais são as palavras que estão sendo faladas. Note que existem várias palavras escritas diferentes, mas sons parecidos, e também vários idiomas e sotaques. Cada uma dessas palavras teria um sinal diferente. É impossível tentar criar uma lógica de forma manual para interpretar todas as possíveis variações. Por isso, é necessário utilizar tecnologias de IA nessa etapa.

Em seguida, após termos as palavras, temos que entender o que elas significam. Esse processo se chama Processamento de Linguagem Natural (NLP, do inglês Natural Language Processing). Pense como foi que você aprendeu a falar e você não irá lembrar. Você começou a repetir movimentos com a boca feitos por adultos, sair sons, formar palavras e, bem depois, passou a entender o significado das mesmas ao relacionar os sons com os objetos. O procedimento nos computadores é relativamente semelhante e ainda mais complexo, para extrair esse sentido de um grupo de palavras. Mais uma vez, podem existir várias diferentes interpretações e um desafio ainda maior é interpretar ironia, por exemplo.

Com o entendimento do que foi falado, é preciso finalmente definir qual resposta deve ser dada. Mais uma vez, é impossível já pensar e pré-programar todas as respostas possíveis para uma dada ação, e precisamos utilizar IA para as máquinas montarem as respostas. Por fim, sintetiza-se a fala e retorna para o usuário.

Como podemos perceber, o processo é extremamente complexo e exige um grande poder computacional para todas as etapas do processamento de maneira rápida, bem como uma grande bases de dados para o treinamento dos modelos de IA.

A Personalidade das Assistentes

“Quando escutamos uma voz, automaticamente, como seres humanos, automaticamente fazemos julgamentos e suposições.” – Ryan Germick, Principal Conversation Designer @ Google

Como dia o Ryan, um ponto interessante de avaliarmos também é como cada assistente se posiciona. A Siti, Cortana e Alexa, na sua concepção, se posicionaram como “She”, ou “Ela”, trazendo a posição de ser uma mulher. Já a Google posicinou o Assistant como “It”, não trazendo a humanização e deixando evidente o posicionamento como robô e em gênero. Isso é um grande desafio, pois as pessoas tentam manter conversas com os dispositivos como se fosse amigos e familiares.

Outra questão de atenção é como as pessoas interagem com as assistentes. De 5 a 10% das interações são de flerte ou alguma insinuação. E muitas pessoas, em tom de brincadeira, podem pedir uma assistente de voz em casamento. Pode não parecer nada de mais, mas você já viu alguém pedir uma geladeira em casamento? Isso reforça o quanto nós estamos mudando a forma que interagimos com objetos, por conta da voz, e passando a vê-los mais próximos de pessoas.

Por fim, essa parte da personalidade e de como as pessoas interagem traz um assunto muito crítico à tona: como se posicionar em assuntos polêmicos. As assistentes devem se omitir e dizer que não comentam sobre esses assuntos? Ou as empresas têm uma obrigação de se posicionar? Ao longo dos anos, esse posicionamento tem mudado e cada vez mais as assistentes tem se posicionado de maneira crítica em relação a assuntos complexos, de acordo com o posicionamento da empresa.

Busca por informações

Há décadas atrás, para buscar uma informação, era necessário ir até uma biblioteca, pegar uma enciclopédia, e pesquisar sobre o assunto. Com o início da Internet, passamos a ter as informações mais acessíveis e, em seguida, com as engines de busca, como o Google, conseguimos procurar pela informação e receber uma lista de possibilidades. Já no início dos anos 2000, com o uso dos smartphones, passamos a ter acesso às informações na palma da mão e até buscar de forma mais imediata: raramente olhamos depois dos primeiros 3 links recomendados.

Com a computação por voz, nós não precisamos mais ir atrás de uma informação. Pedimos a informação e ela vem até a gente. Além disso, muda o formato de como fazemos a busca. Por exemplo, se quiséssemos saber qual a data de nascimento do Chico Buarque, para pesquisar online faríamos uma busca como “aniversário chico buarque”, e receberíamos uma série de informações sobre ele, dentre elas a data de nascimento. Já com assistentes de voz, faríamos uma busca mais natural como “Alexa, qual a data de nascimento do Chico Buarque”, e esperaríamos uma resposta como “A data de nascimendo do Chico Buarque é 19 de Junho de 1944”.

Com tudo isso em mente, podemos perceber algumas coisas bem importantes:

  • As assistentes de voz trazem eficiência na busca por informações, mas reduzem a autonomia e controle do usuário
  • Com as assistentes de voz e a inteligência artificial, é possível tornar a tecnologia menos artificial e mais humana

Amazon Alexa

Um fato curioso, que poucas pessoas sabem, é que o nome da assistente de voz da Amazon vem de “Biblioteca de Alexandria”, que foi onde se concentrou grande parte do conhecimento da humanidade durante séculos.

No dia a dia, a Alexa é utilizada para várias atividades como tocar músicas, ouvir notícias e controlar dispositivos em uma smart home. Já tem até carros, como os da BMW, que já possuem uma Alexa embutida:

Os “aplicativos” na Alexa são chamados de Skills e em vez do conceito de serem “baixados” como nos celulares, eles são ativados no dispositivo, uma vez que o processamento é feito na nuvem. No dispositivo em si, existe tecnologia para detectar a “Wake up word”, que é a palavra que ativa o dispositivo, capturar o áudio, enviar para o processamento na nuvem, receber a resposta da nuvem e retornar para o usuário. Como podemos notar, o processamento em si é feito de forma intensa na nuvem, utilizando muitos recursos computacionais.

Criação de Alexa Skills

Para a criação uma estrutura de interação de voz e, consequentemente, uma Skill, existem alguns conceitos importantes que precisam ser entendidos.

Session

A sessão é iniciada quando um usuário invoca uma Skill e dura até alguns segundos após o microfone desligar. Seria o equivalente a abrir um aplicativo no celular e depois fechar o app.

Invocation

Se refere ao nome da Skill e como a assistente sabe com que Skill o usuário quer interagir. Existem algumas regras, como precisar contar pelo menos duas palavras, não ter expressões imperativas como “faça”, “leia” e está sujeito a aprovação de marcas. Um invocation name poderia ser “Exemplo Solvimm”.

Intent

O intent é uma ação que satisfaz uma solicitação verbal feita por um usuário. Um intent pode ser algo como “Comprar uma pizza” ou “Reservar um restaurante”. Cada intent pode possui várias Utterances, que são as frases que direcionam para um intent específico. Para o primeiro exemplo, eu posso tanto falar “Alexa, peça para o Exemplo Solvimm comprar uma pizza” ou “Alexa, peça para Exemplo Solvimm pedir um delivery de pizza”. Além disso, existem alguns intents nativos pré-definidos pela Amazon, como intents para sim, não e cancelar ações.

Slot

Os slot são os campos que precisam ser preenchidos para realizar um intent. No exemplo anterior, precisamos escolher o sabor, tamanho, se queremos itens extra e bebida de acompanhamento. Os slots podem ter vários tipos, chamados Slot Types. Já existem tipos nativos, como nomes de cidades e aeroportos, mas também podemos configurar os nossos, como os sabores de pizza disponíveis no restaurante.

Filipe Barretto
Últimos posts por Filipe Barretto (exibir todos)
Entre em Contato

Para entender como aplicar Inteligência Artificial para o reconhecimento de imagens em seu negócio, entre em contato com nossos especialistas.