Generative AI - Speech to Text
Generative AI (ou GenAI) é um ramo da Inteligência Artificial focado na criação de novos dados a partir de dados existentes. Isso pode ser feito de diversas formas como geração de texto, imagens, áudio ou vídeo, entre outros.
Deve-se notar que um dos benefícios do GenAI do Google é que ele nos permite levar nossos próprios dados para reciclagem e de forma isolada dos modelos públicos. Isso significa que podemos retreinar um modelo de chatbot com dados privados, e o bot será capaz de responder com base no que aprendeu, mas não usará de forma privada o que aprendeu com nossa documentação para outras pessoas. Esse detalhe é fundamental para aquelas empresas que desejam usar IA internamente sem o risco de vazamento de informações confidenciais.
Entre as possibilidades que temos Speech-to-text, um aplicativo de Generative AI que é usado para converter áudios em texto. Isto pode ser feito de diversas maneiras, mas a maioria dos sistemas speech-to-text atuais usam um modelo de aprendizado de máquina para aprender a relação entre áudio e texto. Portanto, não precisamos programar todo o modelo a partir de 0, mas utilizamos um já treinado para passar nossos arquivos para ele e obter os resultados que necessitamos.
Vantagens do speech-to-text generativo
O speech-to-text generativo tem uma série de vantagens em relação aos sistemas tradicionais de fala para texto. Essas vantagens incluem:
- Maior precisão, mesmo em ambientes ruidosos.
- Capacidade de transcrever uma ampla gama de sotaques e dialetos.
- Capacidade de compreender e transcrever linguagem complexa e cheia de nuances.
- Capacidade de transcrever áudio em tempo real.
Que outra opção o Google oferece?
Além da solução dentro GenAI está o Speech-to-Text como um módulo separado, que funciona perfeitamente, mas tem a particularidade de possuir menos recursos para configurar. Da mesma forma, está em ação há mais tempo, portanto os resultados são respaldados por centenas de milhares de horas já trabalhadas.
Outro grande diferencial é que o modelo GenAI possui uma opção dentro da própria UI do Google Cloud que nos permite tocar em parâmetros avançados graças à sua função Speech Studio. Esta versão atualmente suporta apenas conversão de texto em fala, mas com uma série de configurações simples que alteram bastante o resultado, como Pitch, ganho de volume e até mesmo o sample rate (Hertz).
Usos do speech-to-text generativo
O speech-to-text generativo pode ser usado para uma ampla gama de tarefas, incluindo:
- Transcrever entrevistas, conferências e outros áudios.
- Criar legendas e transcrições para vídeos.
- Fornecer transcrição em tempo real para pessoas com deficiência.
- Desenvolver novos aplicativos com voz.
Exemplos do uso do speech-to-text generativo
Aqui podemos ver alguns exemplos específicos de como o speech-to-text generativo:
- Um jornalista pode usar o speech-to-text generativo transcrever entrevistas com fontes com rapidez e precisão.
- Um professor pode usar o speech-to-text generativo para criar legendas para seus vídeos de palestras para que os alunos com deficiência possam acompanhar.
- Um desenvolvedor de software pode usar o speech-to-text generativo desenvolver novos aplicativos habilitados para voz, como um assistente virtual que possa compreender e responder perguntas complexas.
Exemplo de código
Faremos um exemplo interagindo 100% com a nuvem.
OBS: Qualquer um pode fazer este exemplo em um console GCP ao custo de US$ 0, já que não saímos do nível gratuito oferecido pelo Google.
Além disso, este exemplo requer um conhecimento básico da nuvem do Google, especialmente para autenticação a partir do código, embora para pequenos testes você possa usar a própria IU do Google Cloud Platform.
Code
Este código funciona da seguinte maneira:
- Primeiro, você configura as credenciais do Cloud Platform e cria objetos de cliente do Cloud Speech-to-Texte e BigQuery.
- Em seguida, é criada uma consulta para criar a tabela do BigQuery que será usada para armazenar os resultados.
- A seguir, uma lista de arquivos de áudio é exibida.
- Para cada arquivo de áudio, o arquivo é carregado e uma solicitação de reconhecimento de fala é criada.
- A inscrição é enviada e a transcrição é obtida.
- Por fim, a transcrição é salva na tabela do BigQuery.
Para executar este código, basta copiá-lo e colá-lo em um arquivo Python. Para executar o arquivo você deve usar o seguinte comando:
python audio_transcription.py
Este comando irá gerar a seguinte saída no terminal:
Os resultados foram armazenados no BigQuery.
Claro, você pode modificar este código para atender às suas necessidades específicas. Por exemplo, você pode alterar o idioma de transcrição, o formato de data e hora ou o nome da tabela do BigQuery.
Agora deixo algumas dicas para melhorar a precisão da transcrição:
- Certifique-se de que os arquivos de áudio estejam limpos e sem ruído.
- Use um microfone de boa qualidade.
- Se o áudio for de uma pessoa falando com sotaque, você pode tentar treinar uma fala personalizada para um modelo de texto.
Pontos a considerar
Embora a solução de Speech-to-Text foi muito lapidado ao longo dos anos e atualmente nos dá infinitas possibilidades ao nosso alcance. Certos fatores devem ser levados em consideração, principalmente quando queremos gerar um produto/solução baseado nisso.
Em primeiro lugar – precisaremos ter experiência em nuvem e programação, pois para que a solução que fazemos seja robusta e escalável é necessária uma boa infraestrutura.
Como parâmetros básicos a ter em conta temos:
- Tenha um local para armazenar os arquivos de áudio que serão posteriormente processados.
- Um banco de dados onde os resultados da transcrição podem ser armazenados.
- Um microsserviço que cuida de todo o processo.
- Receba arquivos de áudio e armazene-os na nuvem
- Pegando cada arquivo de áudio e chamando a API Speech to Text, processe-o, limpe o resultado e finalmente armazene-o no banco de dados.
- Exclua ou mova a localização do arquivo de áudio, para não misturar os processados com os que estão prestes a ser processados.
- Configuração de um banco de dados onde poderá ser armazenado o texto obtido dos áudios.
- Configure a conexão entre o local onde receberemos os arquivos de áudio e o local onde os armazenaremos.
Ferramentas a serem usadas (como exemplo):
- BigQuery como Datawarehouse.
- Cloud Storage como local para armazenar arquivos de áudio.
- Cloud Run ou Cloud Functions, poder ter na nuvem o microsserviço ou funcionalidade responsável por gerenciar todo o processo de chamada de API.
- Pelo menos um especialista na configuração do modelo Speech-to-Text, para otimizar o desempenho e obter os melhores resultados nas transcrições.
- Capacidade de brincar com os áudios, e com isso quero dizer, entre outras coisas, mudar o formato, e até melhorar a qualidade, pois isso ajuda drasticamente na qualidade dos resultados obtidos.
Por último, mas não menos importante, o fator tempo é a chave de tudo o que foi mencionado acima, já que o desenvolvimento envolve 3 frases mínimas e obrigatórias: desenvolvimento, teste e colocação em produção.
A segunda é a etapa mais longa devido ao facto de existirem muitos parâmetros a ter em conta para melhorar os resultados. Soma-se a isso a otimização da infraestrutura para redução de custos e velocidade de processamento.
Com todos estes factores em mente, destacando equipamento, conhecimento e tempo, podemos enfrentar um projecto de pequena a grande escala utilizando esta excelente solução.
Conclusões
O speech-to-text generativo É uma nova tecnologia poderosa com potencial para transformar a forma como interagimos com computadores e dispositivos móveis. À medida que continua a desenvolver-se, podemos esperar vê-lo utilizado de formas ainda mais inovadoras e úteis.
Quero acrescentar que esta solução pode ser extremamente poderosa, mas explorá-la e obter os maiores benefícios dependerá de nós, os utilizadores que criamos produtos e soluções de todos os tipos, integrando-os em muitos aspectos da vida quotidiana, tanto profissionais como pessoais.
A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.