Como funciona o reconhecimento de voz?

6 min de leitura
Imagem de: Como funciona o reconhecimento de voz?

Quando se fala em reconhecimento de voz, automaticamente nossas lembranças são voltadas para filmes de ação e espionagem, com lugares impossíveis de ser invadidos e que requerem sistemas complexos para identificação. Normalmente nesses cenários, determinada pessoa precisa pronunciar palavras-chave, que são ouvidas por um computador para confirmar a identidade do locutor.

Embora esse também seja um exemplo de aplicação para o ramo da tecnologia de reconhecimento de padrões que lida com os sons, existem formas de uso mais próximas ao nosso cotidiano do que você imagina. Por exemplo, você já recebeu atendimento eletrônico no qual ele pedia que você “falasse a opção desejada”?

Programas de atendimento eletrônico fazem parte dessa tecnologia. Eles ouvem o som emitido pela sua voz, classificam as sílabas e é aplicado um método de busca para associar estas informações com padrões de palavras a fim de encontrar semelhanças. Um aplicativo relativamente comum para celular e que tem feito sucesso entre os usuários e que também pode ser enquadrado nesta categoria é aquele que ao “ouvir” determinada música faz a identificação dela e de seu autor.

A partir disso, você já deve ter se lembrado de algumas outras aplicações comuns para o reconhecimento de voz. Agora é bem possível que você deva estar se perguntando como um computador reconhece a voz de determinada pessoa a partir de uma mera palavra. Abaixo vamos tratar como esse reconhecimento é feito.

Como é feito o reconhecimento de voz

Para que o computador reconheça o som da sua voz juntamente com a fonética da palavra pronunciada e efetue a aplicação desejada, ele precisa encadear uma sequência de passos. Primeiro ele precisa digitalizar a fala que se quer reconhecer. Para isso, ele utiliza um conversor analógico-digital que capta as vibrações criadas pela sua voz e converte essas ondas em dados digitais.

Em seguida, aplica-se uma medida para cada uma das ondas captadas e o som digitalizado é filtrado para separá-lo de ruídos e interferências. Então, efetua-se uma computação das características que representam o domínio espectral (frequências) contido na voz. Nessa etapa do processo, o som pode necessitar ser sincronizado, pois as pessoas não costumam utilizar o mesmo tom e nem sempre falam na mesma velocidade. Isso consiste em um ajuste com modelos de som já armazenados na memória do classificador.

As ondas sonoras são captadas, interpretadas e convertidas em palavras

Então essa digitalização é separada em frações ainda menores, ou seja, sons fonéticos não maiores do que uma sílaba. Em seguida, o programa compara os sons captados com fonemas conhecidos e presentes em seu banco de dados que correspondam ao idioma que o locutor tenha falado. Em outras palavras, é aplicado um método de busca para associar as saídas com padrões de palavras e da voz de quem as emitiu.

Por último, o sistema analisa o resultado e o compara com palavras e frases conhecidas e, como resultado, ele identifica o que seu usuário disse e converte para a funcionalidade desejada (texto em uma planilha, um comando, o reconhecimento do usuário, etc.).

Padrões de classificadores

Para esse tipo de sistema, existem basicamente dois tipos de classificadores: aqueles que possuem um vocabulário restrito e os que contam com um grande número de palavras e frases em seu banco de dados.

Os sistemas que possuem um número de palavras mais limitado em seu banco de dados são aqueles aplicados para utilização por um grande número de usuários. Este calculador é programado para ser mais generalizado e embora haja variedade na fala (como diferentes tons de voz, sotaques, etc.) ele tem uma grande capacidade de reconhecimento. Um bom exemplo disso são os atendimentos eletrônicos citados no começo deste artigo.

Primeiro o padrão é identificado e convertido em palavras para depois ser reconhecido

Os programas com um vocabulário mais completo são indicados para um pequeno número de usuários. Este calculador é programado para ser mais específico e é indicado para quando um grupo pequeno de pessoas (ou até mesmo apenas uma) vá utilizá-lo. Esse sistema precisa ser treinado para adaptar-se à voz de cada um de seus usuários e o grau de precisão de seu reconhecimento é consideravelmente maior do que um que possua menos palavras. Os programas que convertem a fala em texto são um exemplo de aplicação.

Dificuldades e pontos fracos

Algumas das complicações mais conhecidas com relação aos sistemas de reconhecimento de voz são, por exemplo, com relação à fala contínua. Para o cérebro humano é fácil ouvir uma frase e rapidamente fazer a junção entre as palavras. Já para um computador, ele compreende mais facilmente se cada palavra for pronunciada separada e pausadamente em uma frase.

Há alguns anos, esse era um grande tabu para os programas que faziam reconhecimento, embora ainda hoje esse problema ainda possa ocorrer em determinados sistema. Outro problema relacionado a isso é a pronuncia. Por exemplo, a frase correta seria “como você está?”, porém a maioria das pessoas falaria “como ‘cê tá?”.

Para um classificador isso representa uma grande diferença e ele pode acabar por entender uma frase completamente diferente do que aquela que foi pronunciada. Regionalismos, como sotaques e  dialetos também podem alterar bastante a maneira como certas palavras ou frases são faladas e, portanto, a interpretação do sistema.

A máquina pode encontrar dificuldades no reconhecimentoOutra dificuldade encontrada por estes sistemas é a de separar falas simultâneas de vários usuários. Quando utilizados para “transcrever uma reunião”, por exemplo, eles podem ter problemas na identificação de palavras que foram sobrepostas porque duas pessoas falaram algo ao mesmo tempo.

Isso acontece porque o programa precisa "ouvir" as palavras faladas de maneira correta para que possa diferenciá-las. Muitas falas ao mesmo tempo (ou excesso de barulho) podem fazer com que ele perca o foco e não funcione corretamente.

Homônimos (como "conserto" e "concerto") representam outro problema para alguns classificadores, pois não é possível diferenciar tais palavras baseando-se apenas no som. Pensando nisso, alguns já foram treinados para levar em consideração o contexto da palavra, resolvendo tal problema.

Por que tanta complexidade? A resposta é simples, lembre-se que o classificador precisa fazer o tratamento de frases divindo-as em palavras. Para isso ele precisa reconhecer em que momento cada palavra começa e termina. A partir disso ele cria a cadeia dos sons enfileirando os fonemas, montando palavras e construíndo as frases. Se as vezes até nós não conseguimos compreender uma frase vinda de outra pessoa, imagine uma máquina.

Aplicações

Existem várias aplicações comuns para esta tecnologia. Além das já citadas durante o texto (atendimento eletrônico, conversão de fala em texto, reconhecimento de música/autor e de pessoas), ainda existem as que são responsáveis por uma série de aplicações para telefones celulares, como a discagem falada (que reconhece o nome armazenado na memória e inicia a ligação), por exemplo.

Outra aplicação ao reconhecimento de sons que tem sido utilizada é a de identificação de disparos. Para ela, é utilizado um programa que reconhece de onde veio um tiro, a partir de uma série de captadores que recebem o som. Em seguida ele analisa o tipo de ruído para diferenciá-lo de fogos de artíficio, morteiros, rojões, etc. E, por último ele calcula dados como velocidade e intensidade do som para poder calcular as coordenadas da emissão do disparo.

Programas para acessibilidade relacionados à fala e reconhecimento dela também utilizam tal tecnologia para suas funções.

Futuro da tecnologia

Uma vez tendo em mente a linha do tempo que esta tecnologia atravessou e quanto já evoluiu (especialmente ao número e variedade de aplicações) nos últimos anos, ela tende a se aperfeiçoar e difundir cada vez mais. Para um futuro mais próximo, pode-se pensar em algo como novos programas para celular que façam uso do reconhecimento de voz.

Outra coisa mais palpável seria a melhoria dos programas de acessibilidade, conversão de fala em texto e interpretação de voz por atendimento eletrônico. Para um futuro um pouco mais distante, pode-se imaginar um tradutor simultâneo, que interprete palavras em um idioma e consiga automaticamente buscar seus equivalentes em outro idioma, por exemplo.

Equipamentos de acessibilidade podem ser melhorados em curto prazo com o avanço desta tecnologia

Ainda pensando em termos de futuro a longo prazo, podemos imaginar nossas casas como a da família “Jetson”, com mecanismos sendo ativados por comandos de voz, opção de escolha de refeição apenas indicando para a máquina o que você deseja e com robôs domésticos capazes de interpretar sua solicitação e até mesmo manter um grau de conversação coerente.

Categorias

Você sabia que o TecMundo está no Facebook, Instagram, Telegram, TikTok, Twitter e no Whatsapp? Siga-nos por lá.