Cada vez mais, nossos computadores fazem as coisas que queremos a partir de comandos de voz. Você pode ligar para sua mãe, procurar uma pizzaria ou escrever um email apenas falando com o aparelho. Às vezes, ele entende errado, mas na maioria das vezes ele acerta. Você vê o quanto isso é incrível quando pensa no que um computador tem que fazer para transformar a fala humana em palavras: ele tem que fazer pequenas mudanças na pressão do ar virarem linguagem.
Reconhecimento de voz é uma coisa bem complicada, que foi desenvolvida por muito tempo, mas aqui, resumido para você, estão as sete coisas que um computador tem que fazer para entender o que estão falando.
Se você achava que a vida da Siri era moleza, está enganado. O Mental Floss revela como é difícil para computadores entenderem o que nós dizemos — e transformarem isto em palavras.
1. Transformar o movimento das moléculas de ar em números
O som entra no seu ouvido ou num microfone pela alteração da pressão do ar, como uma onda contínua de som. O computador grava a medida da onda num ponto no tempo, salva isso, e então mede de novo. Se ele esperar demais entre uma mensuração e outra, ele perde algumas mudanças na onda que são bem importantes. Então, para ter uma boa aproximação de uma onda de voz, a mensuração tem que ser feita pelo menos 8 mil vezes por segundo, mas ela funciona bem melhor se forem 44.100 as medidas por segundo. Esse processo é conhecido como digitalização a 8kHz ou 44,1kHz.
2. Descobrir que partes da onda sonora são fala
Quando o computador mede as mudanças na pressão do ar, ele não sabe quais são causadas pela fala e quais são causadas por carros passando, por máquinas trabalhando ou até mesmo pelo barulho do seu HD. Muitas operações matemáticas são feitas a partir do som digitalizado para filtrar o que não é voz. Nós sabemos o que esperar da voz, mas não o suficiente para tornar a filtragem de ruídos uma tarefa fácil.
3. Escolher as partes da onda sonora que ajudam a separar o que é voz
Uma onda sonora de fala é, na verdade, uma mistura complexa de múltiplas ondas em diferentes frequências. As frequências particulares — como elas mudam e qual a força de cada uma delas — importam muito para identificar a diferença entre, digamos, o som de “ah” e o som de “ih”. Mais operações matemáticas transformam as ondas complexas em representações numéricas das características mais importantes.
4. Olhar os pedacinhos de som digitalizado em sequência e deduzir o que cada um mostra
Há cerca de 40 sons (ou fonemas) em inglês. Em português, esse número é um pouco menor: 34. O computador tem uma ideia geral do que cada um deve parecer porque foi treinado com vários exemplos. Mas as características dos fonemas não variam apenas por causa de sotaque, mas também pela proximidade com outros fonemas — o “t” de “star” é diferente do de “city”. Um computador tem que ter um modelo de cada fonema em muitos contextos diferentes para adivinhar corretamente.
5. Identificar as palavras que podem ser formadas com esses fonemas
O computador tem uma grande lista de palavras que inclui diferentes maneiras de pronunciá-las. Ele deduz que palavras foram ditas separando a sequência de fonemas em sequências de palavras permitidas. Se ele vê a sequência “hang ten”, ele não vai dividir em “hey, ngten!”, porque “ngten” não está em seu dicionário.
6. Determinar qual a sequência de palavras mais provável baseado em como as pessoas falam normalmente
Não há separação entre palavras na fala. O computador tem que descobrir onde colocá-las por meio do encontro de sequências de fonemas com palavras válidas. Podem haver múltiplas sequências de palavras que coincidam com a fala, mas nem todas formarão boas sequências de palavras — ou seja, não formarão frases compreensíveis. ”What do cats like for breakfast?” pode ser trocada por ”water gaslight four brick vast?” se só as palavras forem levadas em consideração. O computador aplica modelos de quão provável é uma palavra estar depois da outra para determinar qual frase é a melhor. Alguns sistemas também levam em conta outras informações, como dependência entre palavras que não estão próximas umas das outras. Mas, quanto mais informações você usa, mais poder de processamento você precisa ter.
7. Agir
Uma vez que o computador decidiu qual a melhor escolha, ele pode agir. No caso de software de ditado, ele coloca a frase na tela. No caso de um sistemo de atendimento eletrônico, ele tentará escolher a opção que melhor se encaixa entre as pré-programadas. No caso da Siri, ele fará uma ligação, irá procurar alguma coisa na Internet ou trazer a reposta mais apropriada. Como todo mundo que já usou softwares de reconhecimento de voz sabe, erros acontecem. Todas as estatísticas e cálculos não são capazes de evitar que “recognize speech” seja confundido com “”wreck a nice beach“, mas um computador conseguir retirar uma dessas duas opções do ar (literalmente) ainda é bem incrível.
Autor: GizModo