Como criar um Chatbot de voz em Python | Abdou Rockikz | Skillshare
Pesquisar

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Como criar um Chatbot de voz em Python

teacher avatar Abdou Rockikz, Machine Learning, Python & Data

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Apresentação

      1:16

    • 2.

      Como converter fala em texto

      4:34

    • 3.

      Como converter texto em fala

      4:44

    • 4.

      Como gerar respostas de Chatbot

      9:01

    • 5.

      Como combinar tudo e construir o assistente

      3:09

    • 6.

      Como trabalhar

      1:48

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

291

Estudantes

--

Projetos

Sobre este curso

Neste curso, você vai aprender como você pode criar um assistente de voz AI em Python usando várias bibliotecas como Transformers, PyTorch, SpeechRecognition e muito mais.

Requisitos

É necessário um nível básico de linguagem de programação Python. Você também deve estar familiarizado com a instalação de pacotes Python usando pip.

O que você vai aprender

Você vai aprender o seguinte:

  • Como usar biblioteca SpeechRecognition para converter fala em texto em Python.
  • Como executar síntese de fala (conversão de texto para fala) em Python usando dois métodos: bibliotecas gTTS (online) e pyttsx3 (offline).
  • Carregando modelos pre-trained na biblioteca de transformadores e realizando inferência neles. Especificamente, vamos carregar o modelo DialoGPT para gerar respostas de conversação em IA sem a necessidade de treinamento a partir do zero ou de ajuste fino.

Links mencionados/exibidos no curso

Conheça seu professor

Teacher Profile Image

Abdou Rockikz

Machine Learning, Python & Data

Professor

I'm a self-taught Python programmer, passionate about Machine Learning, Deep Learning, and anything else that involves Data.

I've been programming for more than 5 years, I learned Python and I guess I'm stuck there forever. I have a Python programming educational website (thepythoncode.com) where I share my text-based tutorials, check them out!

I strongly believe that the best way to learn is to teach. As a result, I'm here to share with you my progress in learning and anything that I find interesting to share. 

Visualizar o perfil completo

Habilidades relacionadas

IA para música e áudio Música e áudio
Level: Intermediate

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução: Olá e seja bem-vindo a esta classe em que construímos juntos e assistente de voz AI Abdu do código Python. Eu faço tutoriais há três anos no Python code.com, que é um site educacional gratuito do Python com muitos tutoriais sobre vários tópicos, como aprendizado de máquina, processamento de linguagem natural, visão computacional e muito mais. Nesta aula, você aprenderá como criar um assistente de voz de IA usando Python. Este projeto é dividido em três tarefas principais. Primeiro, começamos criando um reconhecedor de fala. Isso nos permitiria converter nosso discurso em textos digitais. Em segundo lugar, fazemos o contrário ao converter texto em fala. Quando a resposta do chatbot em uma forma de textos, temos que realizar a síntese de fala para convertê-la de volta em um discurso semelhante a um humano. Em terceiro lugar, usamos um modelo de aprendizado profundo pré-treinado chamado Yellow GPT para gerar respostas conversacionais com IA sem a necessidade de treinar o modelo do transformador do zero. Tudo bem, é isso para a introdução. Vejo você nos próximos vídeos. 2. Convergência de conversa para texto: Olá e seja bem-vindo. Neste vídeo, faremos um rápido reconhecedor de fala em Python. Então, antes de tudo, o que é reconhecimento de fala? Em resumo, o reconhecimento de fala é a capacidade do software de computador identificar palavras e frases, linguagem falada e convertê-las em texto legível por humanos. Neste vídeo, faremos uma função na qual você pode converter fala em texto facilmente em Python, com a ajuda da biblioteca de reconhecimento de fala. Esta biblioteca nos fornece invólucros convenientes para várias APIs de fala pública bem conhecidas, como Google Cloud Speech API e IBM speech to text. Como resultado, não teremos que criar nenhum modelo de aprendizado de máquina do zero e treinar manualmente. Em vez disso, simplesmente gravaremos nosso método de fala e coluna e aguardaremos o resultado. Para começar. Primeiro, você precisa ter certeza de que você tem Python 3 instalado em sua máquina. Segundo, você precisa instalar a biblioteca de áudio Pi para o trabalho de arte de gravação. Infelizmente, por áudio não é simples de instalar. No entanto, eu anexei um arquivo para instalar o áudio Pi para esses ambientes V nesses ambientes Linux e Mac OS. Assim, você pode seguir o guia para seu ambiente específico. Em seguida, precisamos instalar a biblioteca de reconhecimento de fala. Simplesmente usamos o BIM para isso. Então crie um novo arquivo requirements.txt e coloque o nome do pacote lá. Em seguida, executamos pip install dash R, requirements.txt para pegar o pacote da Internet e instalá-lo em nossa máquina. Ele terminará em alguns segundos. Como você pode ver, estou usando o VS Code para esses produtos. Certifique-se de usar seu editor favorito também. Agora, coloque o arquivo Vicodin e não BY anexado na nova pasta cria. Este arquivo será responsável por gravar nossa fala do microfone e salvá-lo como um arquivo de áudio comum. Em seguida, vamos criar o arquivo Python é convertido fala em texto. Começamos importando a biblioteca que acabamos instalar uma importante violência registrada. Bem, inicializamos instância do reconhecedor de fala. Depois disso, fazemos uma função que grava nosso microfone até o final do discurso. O que significa até que haja um silêncio no áudio. Isso será feito automaticamente usando a função de recodificação. Em segundo lugar, criamos uma instância de arquivo de áudio. E em terceiro lugar, carregamos o arquivo de áudio na memória usando o método de gravação. E então convertemos os dados de áudio texto usando um dos métodos de reconhecimento. Continuaremos com o reconhecimento do Google Message por enquanto, pois ele do Google Message por enquanto, pois ele usa a Google Speech API e funciona imediatamente, portanto, não precisamos criar nenhuma chave de API manualmente. Finalmente, retornamos o texto e pronto. Terminamos com a parte de reconhecimento de fala deste projeto. Você pode testar isso simplesmente executando esse script que acabamos de criar. 3. Conversão de texto para fala: Olá e seja bem-vindo a este tutorial. Neste vídeo, faremos uma função Python para realizar a síntese de fala, on-line ou offline. Se você não sabe o que é síntese de fala, ela geralmente é chamada de texto em fala. Ele está basicamente convertendo texto em fala humana, áudio. Então, para começar, precisamos instalar as bibliotecas necessárias para essa tarefa. Primeiro, a biblioteca TTS, que significa o Google Text-to-Speech. É uma biblioteca Python para interagir com glicose traduz texto em API de fala e requer conexão com a Internet para usar. Por outro lado, PYT como X3 é um bibliotecário de conversão de texto em fala que procura mecanismos TTS pré-instalados em seu sistema operacional e os usa. Ele usa a Microsoft Speech API para aqueles sintetizadores de fala ns para Mac OS e E falam por um humano para algumas outras distribuições Linux. Finalmente, vamos usar a biblioteca de som de reprodução simplesmente para reproduzir frascos de áudio. Vamos instalá-los. Agora vamos mergulhar no código. Como de costume, começamos importando as bibliotecas. Em seguida, inicializamos o mecanismo de texto para fala. Depois disso, fazemos nossa função que aceita o modo que leva valor também. E o áudio remoto booleano, indicando se deseja remover o arquivo de áudio resultante do disco para alterar os parâmetros padrão conforme desejar. Portanto, o modo está online, então você usa a biblioteca de texto para voz para fazer a solicitação da API e receber a fala do arquivo de áudio resultante no disco. Em seguida, tocamos o som usando o lugar da nossa função. E, finalmente, removemos o arquivo de áudio. Se Remover áudio booleano para true. Mas se o modo estiver offline, simplesmente usamos nosso mecanismo off-line e passamos o texto para o mesmo método e executamos o método run and wait para reproduzir o áudio. E acabamos. Vamos testar isso. Python é uma ótima linguagem de programação. Agora vamos usar o modo online. Vamos executá-lo. Python é uma ótima linguagem de programação. 4. Como gerar respostas de chatbot de IA: Olá e seja bem-vindo a este vídeo. Neste tutorial, você aprenderá como gerar respostas conversacionais. Em deep learning. Usaremos o transformador Hugging Face é biblioteca para empregar o modelo GPT amarelo pré-treinado para fazer chatbots de IA. Então, primeiro, o que é o LGBT? Bem, o LGBT é um modelo de geração de resposta conversacional ajustável em larga escala geração de resposta conversacional que foi treinado em 147 milhões de conversas extraídas dos sites do Reddit. Tem quase a mesma arquitetura do famoso modelo de transformador GPT-2, com poucas mudanças. Tudo bem, para começar, vamos instalar as bibliotecas para este tutorial. Primeiro, vamos instalar o vital. É uma estrutura de aprendizado profundo em Python e é necessária de qualquer maneira para executar transformadores. Em segundo lugar, instalaremos a versão mais recente da biblioteca de transformers. Ele nos oferece uma API conveniente que nos fornece muitos modelos pré-treinados para executar diferentes tarefas de aprendizado profundo, como geração de texto, sumarização, tradução e muito mais. Nós o usaremos para carregar o modelo GPT amarelo e executar inferência sólida. Vamos instalá-los. Como já o instalei, não demorará muito tempo no meu caso. No entanto, pode levar alguns segundos a vários minutos, dependendo da velocidade de conexão com a Internet. Agora vamos começar a fazer nosso bot de bate-papo. Primeiro, vamos criar o arquivo Python e importar as bibliotecas que acabamos de instalar. Em seguida, você especifica o nome exato do modelo a ser carregado. Existem três tamanhos diferentes do modelo GPT amarelo. Vou para a versão grande do modelo. Sinta-se à vontade para usar qualquer um deles. Por favor, note que quanto menor o modelo, as piores gerações de resposta serão. O modelo será carregado na memória. Portanto, se ele não tiver sua memória, você pode usar uma versão menor. Agora, vamos carregar o modelo e o tokenizer. Em seguida, vamos fazer um ponto responsável por gerar as respostas dos chatbots. Essa função usa três argumentos. Primeiro, o texto de entrada ou a pergunta que escrevemos ou produzimos. Em segundo lugar, esse histórico de bate-papo em uma forma de uma lista de IDs de token. E, finalmente, o passo do bate-papo. Se for 0, então é a primeira vez que filmamos com a caixa. Usamos o método de codificação no tokenizer, convertemos o texto em uma lista de ID de token. Então, a rede neural pode entender. Também anexamos o texto com o token de final da frase. Passamos o PT para retornar os tensores, para retornar os tensores como um tensor PyTorch. Depois disso, concatenamos os IDs de entrada com o histórico de bate-papo, se houver um. E, em seguida, geramos a resposta do chat ignorando as IDs de entrada para o método de geração do modelo. parâmetro de comprimento máximo é o comprimento máximo da resposta de retorno. Usamos amostra de sublinhado para amostra de uma distribuição. Em vez de usar pesquisa gananciosa, passamos 102 top k. Então, o método de geração será amostrado dos 100 principais tokens candidatos para escolher. Dissemos que a temperatura 2,7. Mas você pode ajustar como quiser. Diminuir a temperatura diminuirá a probabilidade de escolher palavras de baixa probabilidade e, portanto, aumentar a probabilidade de escolher palavras altamente prováveis. Defini-lo como 0 sempre escolherá a palavra mais alta provável em cada etapa. By the way, você deve ter cuidado ao ajustar a temperatura. Se você enviá-lo para um valor mais alto, você verá uma geração completamente aleatória. De qualquer forma, há muitos parâmetros para sintonizar no método de geração. Eu sugiro que você verifique esta postagem no blog do blog Hugging Face para saber mais sobre os parâmetros. Você também pode rejeitar a documentação oficial para ver alguns outros parâmetros que você pode usar. Retorne para a função. Finalmente, temos o código que gerou partes do histórico de trabalho e o devolvemos com o histórico de bate-papo também. Em seguida, vamos usar essa função para fechar com nossos bugs. N passos é o número de vezes que queremos julgar com nossos mundos. Nós fazemos um loop sobre o número de etapas. Em seguida, simplesmente solicitamos ao usuário o texto de entrada. Finalmente, usamos nossa função para gerar o cérebro final que a executa. Vamos dar algum tempo para carregar o modelo. E lá vai você. Agora podemos começar a conversar com um quadro-negro. A primeira vez. Vai demorar algum tempo. E isso é dos botões. Como você pode ver, o faz um ótimo trabalho respondendo às minhas perguntas, além de responder com respostas boas e relevantes. 5. Combinando tudo e criando o assistente: Bem-vindo a este tutorial. Neste vídeo, vamos combinar tudo o que fizemos nos vídeos anteriores em um único arquivo Python. Como vimos na introdução, o processo geral é, primeiro, obtemos o texto do usuário realizando o reconhecimento de fala. Em segundo lugar, ajustamos o texto ao modelo de quadro-negro para gerar uma resposta. Finalmente, convertemos a resposta de textos, fala, usando síntese de fala. Vamos criar a pilha principal e importar as funções que fizemos nos tutoriais anteriores. Especificamos o número de vezes que queremos fechar nosso bot de bate-papo. Para parar de falar. Nós notificamos o usuário para que saibamos quando parar de falar. Convertemos nosso discurso em texto e o imprimimos. Em seguida, geramos a resposta a partir da voz do bate-papo e realizamos a síntese de fala para gerar uma fala semelhante a um homem. Vamos executá-lo. Por favor, fale. Olá, qual é o seu livro favorito? É difícil escolher. Então eu acho que eu teria que dizer o livro da vida de Marina. Por favor, fale. Oh legal. Você assiste filmes? Assista aos filmes dele hoje em dia. Por favor, fale. Oh, você não gosta de filmes de ação. E quanto a você? Não é fã de filmes de ação, mas sou um ávido jogador. 6. O trabalho de transporte e adicional: Parabéns. Você concluiu com sucesso a criação de chatbots de voz ou assistente pessoal, ou assistente de voz ou o que quiser chamá-lo. Gostaria de agradecer por assistir todo o curso e estar comigo neste produto. Antes de nos despedirmos, gostaria de descrever alguns dos trabalhos futuros que você pode fazer para melhorar ainda mais o desempenho de todo o produto. Primeiro, você chama a pontuação de inserção na fala reconhecida. Há um pacote Python de terceiros chamado aeroporto que ajuda você a fazer isso facilmente. Ele usa um modelo de aprendizado de máquina pré-treinado sob o capô. Mas a boa notícia é que você só precisa passar o texto para ele e receberá os textos pontuados. Segundo, como você já deve saber na parte de reconhecimento de fala deste projeto, estamos usando uma API não oficial. Convido você a usar o modelo pré-treinado wave do vec a 0 para esse fim. E é bem preciso. Este tutorial deve ajudá-lo. Você o encontrará anexado a este vídeo. Finalmente, sugiro que você volte a brincar com os parâmetros no método de geração de pontos do modelo que vimos no tutorial chatbot. Tenho certeza de que você pode melhorá-lo e não se esqueça de compartilhar os parâmetros conosco. Tudo bem, chegamos ao fim. Espero que este projeto tenha sido útil para você, inscreva-se em Python a projetos reais e veja você em outro mundo.