Hello guys! Bem-vindos a mais um post do Trabalho com fone, mas não sou DJ! Embora cite a famigerada Skynet no título, não sou um robô enviado do futuro para resgatar vocês, mas tentarei ao menos agregar informações interessantes ao seu dia. Hoje iremos conversar sobre softwares que fazem transcrição de áudio em texto automaticamente, ou seja, sem ajuda humana.
Existem diversos programas que fazem isso, principalmente em inglês. Um exemplo para a língua portuguesa é o Audimus.Media, cujo foco é transcrever em tempo real transmissões de televisão, legendando o que está sendo dito.
Agora, você deve estar se perguntando: “mas, se existem programas para isso, por que transcrever esse áudio eu mesmo ou contratar alguém que o faça?”. Bom, existem alguns fatores a serem considerados nessa situação. Existem softwares para essa finalidade? Sim. E eles solucionam o meu problema? Resumidamente, não. E vou lhe dizer os porquês.
A transcrição de áudios da vida real geralmente envolve conversações de duas ou mais pessoas ao mesmo tempo, com barulhos do entorno onde o áudio foi gravado, e até mesmo ruídos de uma captação ruim. Por exemplo, o software Dragon Naturally Speaking, da empresa Nuance, é uma opção muito famosa para o inglês e está em desenvolvimento e aprimoramento há 20 anos. Mesmo assim, ele mal consegue passar áudio cristalino em que pessoas falam de maneira clara e cuidadosa para texto.
Um segundo ponto importante é a língua em si. O português, dentro do próprio Brasil, é falado com maneirismos e sotaques diferentes em cada parte do país. Como ensinar a um robô a reconhecer e entender os sotaques nordestino ou gaúcho, tão distintos entre si, por exemplo? Por um outro lado, imagine a não existência desses regionalismos. Ainda assim existe uma outra dificuldade, que é o fato de cada pessoa ter uma voz diferente, seja por idade, por sexo, ou por possuir um timbre naturalmente mais áspero ou mais leve, etc. Até a mesma pessoa fala de maneiras diferentes em cada situação, variando a voz de acordo com sua emoção.
Também não podemos esquecer que algumas pessoas falam mais rápido ou mais devagar, mais alto ou mais baixo, com interrupções, gaguejos, vários “hmm”, “ehh”, que nem sequer são parte da norma culta de nossa língua. Compreender todas essas variações, como humanos conseguem, e chegar a um modelo de inteligência artificial para isso é extremamente complexo.
Um terceiro ponto importante é que interpretar uma fala requer um bom entendimento do contexto geral da conversa. Nós, humanos, temos a habilidade de interpretar dados confusos, ou a falta deles, e deduzir o que faltar através do contexto. E às vezes somente entendemos tal contexto mais ao fim do áudio. As máquinas são ruins em interpretar o sentido de frases e palavras pois não conseguem olhar o panorama geral de uma conversação.
Uma quarta dificuldade para os softwares de transcrição de áudio em texto são os homofônicos. Palavras homofônicas são palavras que são pronunciadas da mesma maneira, mas têm significados diferentes. Por exemplo, acento e assento, cem e sem, cela e sela, nós e noz, dentre inúmeros outros. Mesmo com um enorme banco de dados, como programar tal diferenciação que só ocorre ao entendermos o contexto da fala?
O reconhecimento de fala é um processo complexo e que demanda muitos recursos. É necessário criar um banco de samples de áudio taggeados para treinar um sistema robotizado a reconhecer a abundância de variações da fala humana, o que é um grande gasto de recursos de engenharia. O fato de existirem mais de 500 mil palavras distintas na língua portuguesa também não ajuda.
Não é à toa que as tecnologias de reconhecimento de voz integradas ao celular, nominalmente a Siri, da Apple, e o Google Talk, do Google, não funcionam tão bem quanto o prometido. Caso as palavras sejam faladas de maneira clara e devagar, com pausas entre cada palavra, as máquinas tem uma chance maior de terem sucesso. Por isso que elas reconhecem melhor as palavras em ditados e transcrições de frases curtas do que quando passamos áudio de uma conversa para texto.
Mas, o que o futuro nos guarda em relação a essas tecnologias? Até alguns anos atrás não havia surgido nenhuma grande novidade no mercado de reconhecimento de áudio, mas nos últimos anos um grande avanço foi feito, principalmente por causa da criação de um algoritmo de aprendizado chamado Deep Learning (Aprendizado Profundo). Sem entrar em muitos detalhes, o Deep Learning é uma tecnologia que visa simular a maneira como o cérebro humano funciona e está se tornando padrão nos novos softwares criados.
Embora ainda existam muitos obstáculos, tenho certeza de que no futuro as máquinas se tornarão melhores em transcrição automática de áudio em texto. Quem sabe elas conseguirão ao menos fazer grande parte do trabalho, necessitando apenas de uma revisão humana depois. Enquanto tal futuro não chegar, vocês têm a Audiotext para lhes ajudarem no que precisarem :).
Por fim, fico por aqui. Espero que tenham curtido e estejam ansiosos para o próximo post. Não sou o Schwarzenegger, mas “I’ll be back!” ;).