Construire un chatbot d'IA vocale en Python | Abdou Rockikz | Skillshare

Vitesse de lecture


1.0x


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

Construire un chatbot d'IA vocale en Python

teacher avatar Abdou Rockikz, Machine Learning, Python & Data

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Introduction

      1:16

    • 2.

      Convertir la parole en texte

      4:34

    • 3.

      Convertir du texte en discours

      4:44

    • 4.

      Générer des réponses au clavardage d'IA

      9:01

    • 5.

      Combiner tout et construire l'assistant

      3:09

    • 6.

      Outro et autres travaux

      1:48

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

312

apprenants

1

projets

À propos de ce cours

Dans ce cours, vous apprendrez comment créer un assistant vocal en IA en Python en utilisant plusieurs bibliothèques telles que Transformers, PyTorch, SpeechRecognition, etc.

Exigences

Un niveau de base de langage de programmation Python est requis. Vous devriez également vous familiariser avec l'installation de paquets Python à l'aide de pip.

Ce que vous allez apprendre

Vous apprendrez ce qui suit :

  • Utiliser la bibliothèque SpeechRecognition pour convertir la parole en texte en Python.
  • Effectuer la synthèse de la parole (conversion de texte en parole) en Python en utilisant deux méthodes : les bibliothèques gTTS (en ligne) et pyttsx3 (hors ligne).
  • Chargement de modèles pré-formés sur la bibliothèque de transformateurs et réalisation d'une inférence sur eux. Plus précisément, nous chargerons le modèle DialoGPT pour générer des réponses conversationnelles en IA sans avoir besoin de vous entraîner à partir de zéro ou de peaufinage.

Liens mentionnés ou présentés dans la classe

Rencontrez votre enseignant·e

Teacher Profile Image

Abdou Rockikz

Machine Learning, Python & Data

Enseignant·e

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. 

Voir le profil complet

Level: Intermediate

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Introduction: Bonjour et bienvenue dans cette classe où nous construisons ensemble et assistant vocal AI Abdu à partir du code Python. Je fais des tutoriels depuis trois ans sur Python code.com, qui est un site Web éducatif Python gratuit avec de nombreux tutoriels sur divers sujets tels que l'apprentissage automatique, traitement du langage naturel, vision par ordinateur, et bien d'autres encore. Dans ce cours, vous apprendrez comment créer un assistant vocal IA à l'aide de Python. Ce projet est divisé en trois tâches majeures. Tout d'abord, nous commençons par créer un système de reconnaissance vocale. Cela nous permettrait de convertir notre discours en textes numériques. Deuxièmement, nous faisons l' inverse pour convertir le texte en discours. Lorsque le chatbot répond sous forme de textes, nous devons effectuer une synthèse vocale pour le convertir en un discours de type humain. Troisièmement, nous utilisons un modèle de Deep Learning pré-entraîné appelé Yellow GPT pour générer des réponses conversationnelles avec l'IA sans avoir besoin de former le modèle de transformateur à partir de zéro. Très bien, c'est tout pour l'introduction. On se voit dans les prochaines vidéos. 2. Convertir la parole au texte: Bonjour et bienvenue. Dans cette vidéo, nous allons créer une reconnaissance vocale rapide en Python. Tout d'abord, qu'est-ce que la reconnaissance vocale ? En bref, la reconnaissance vocale est la capacité des logiciels informatiques à identifier les mots et les phrases, langue parlée et à les convertir en texte lisible par l'homme. Dans cette vidéo, nous allons créer une fonction dans laquelle vous pouvez facilement convertir la parole en texte en Python, à l' aide de la bibliothèque de reconnaissance vocale. Cette bibliothèque nous fournit des enveloppes pratiques pour diverses API vocales publiques bien connues, telles que l'API Google Cloud Speech et IBM Speech to Text. Par conséquent, nous n' aurons pas à créer un modèle d'apprentissage automatique à partir de zéro ni à nous entraîner manuellement. Au lieu de cela, nous allons simplement enregistrer notre méthode de discours et de colonne et attendre le résultat. Pour commencer. abord, vous devez vous assurer que Python 3 est installé sur votre machine. Deuxièmement, vous devez installer bibliothèque audio Pi pour l'œuvre d'enregistrement. Malheureusement, l'audio n'est pas simple à installer. Cependant, j'ai joint un fichier pour installer Pi audio pour ces environnements V dans ces environnements Linux et Mac OS. Vous pouvez donc suivre le guide correspondant à votre environnement spécifique. Ensuite, nous devons installer la bibliothèque de reconnaissance vocale. nous utilisons simplement le BIM. Créez donc un nouveau fichier requirements.txt et placez le nom du paquet. Nous lançons ensuite pip install dash R, requirements.txt pour récupérer le paquet à partir d'Internet et l' installer sur notre machine. Il se terminera dans quelques secondes. Comme vous pouvez le constater, j'utilise VS Code pour ces produits. Assurez-vous également d'utiliser votre éditeur préféré. Maintenant, placez le fichier Vicodin non BY attaché dans le nouveau dossier créé. Ce fichier sera responsable de l'enregistrement de notre discours à partir du microphone et de l' enregistrer en tant que fichier audio normal. Ensuite, créons le fichier Python est converti vocal en texte. Nous commençons par importer la bibliothèque que nous venons d' installer une importante violence enregistrée. Eh bien, nous initialisons ensuite l'instance de reconnaissance vocale. Après cela, nous créons une fonction qui enregistre notre microphone jusqu'à la fin du discours. Ce qui signifie jusqu'à ce qu'il y ait un silence dans l'audio. Cela se fera automatiquement l'aide de la fonction de recodage. Deuxièmement, nous créons une instance de fichier audio. Et troisièmement, nous chargeons le fichier audio dans la mémoire à l'aide de la méthode d'enregistrement. Ensuite, nous avons converti les données audio en texte à l'aide de l'une des méthodes de reconnaissance. Nous nous en tiendrons au message de reconnaissance Google pour l'instant car il utilise l'API Google Speech et cela fonctionne dès l'emballage, de sorte que nous n'avons pas à créer de clé API manuellement. Enfin, nous retournons le texte, et c'est tout. Nous en avons fini avec la partie reconnaissance vocale de ce projet. Vous pouvez tester cela en exécutant simplement ce script que nous venons de créer. 3. Convertir le texte en discours: Bonjour et bienvenue dans ce tutoriel. Dans cette vidéo, nous allons créer une fonction Python pour effectuer une synthèse vocale, en ligne ou hors ligne. Si vous ne savez pas ce qu'est la synthèse vocale, elle est souvent appelée synthèse vocale. Il s'agit essentiellement de convertir du texte en discours semblable à un humain, audio. Pour commencer, nous devons installer les bibliothèques nécessaires à cette tâche. Tout d'abord, la bibliothèque TTS, qui signifie Google Text-to-Speech. Il s'agit d'une bibliothèque Python permettant d'interfacer avec API glucose traduit de texte en parole, et elle nécessite une connexion Internet pour l'utiliser. D'autre part, PYT as X3 est un bibliothécaire de conversion de texte à voix qui recherche les moteurs TTS préinstallés dans votre système d'exploitation et les utilise. Il utilise l'API Microsoft Speech pour ces synthétiseurs vocaux NS pour Mac OS et E parle pour un humain à d'autres distributions Linux. Enfin, nous allons utiliser la bibliothèque de sons de lecture simplement pour lire des flacons audio. Installons-les. Plongeons maintenant dans le code. Comme d'habitude, nous commençons par importer les bibliothèques. Ensuite, nous initialisons le moteur de synthèse vocale. Après cela, nous créons notre fonction qui accepte non plus le mode qui prend de la valeur. Et le booléen audio distant, indiquant s'il faut supprimer le fichier audio résultant du disque pour modifier les paramètres par défaut comme vous le souhaitez. Le mode est donc en ligne, puis vous utilisez la bibliothèque texte-vocale pour effectuer la demande d'API et recevoir la parole du fichier audio résultant sur le disque. Nous jouons ensuite le son en utilisant notre fonction. Enfin, nous supprimons le fichier audio. Si Supprimer le booléen audio sur true. Mais si le mode est hors ligne, nous utilisons simplement notre moteur hors ligne et passons le texte à la même méthode et exécutons la méthode run and wait pour lire l'audio. Et c'est fini. Essayons ça. Python est un excellent langage de programmation. Nous allons maintenant utiliser le mode en ligne. Allons-le. Python est un excellent langage de programmation. 4. Générer des réponses à la chatbot: Bonjour et bienvenue dans cette vidéo. Dans ce tutoriel, vous apprendrez comment générer des réponses conversationnelles. En Deep Learning. Nous utiliserons la bibliothèque du transformateur Hugging Face pour utiliser le modèle GPT jaune pré-entraîné pour créer des chatbots IA. Tout d'abord, qu'est-ce que le LGBT ? Eh bien, le modèle LGBT est un modèle de génération de réponses conversationnelles ajustable à grande échelle génération de réponses conversationnelles qui a été formé sur 147 millions de conversations extraites des sites Web de Reddit. Il a presque la même architecture que le célèbre modèle de transformateur GPT-2, avec très peu de changements. Très bien, pour commencer, installons les bibliothèques de ce tutoriel. Tout d'abord, installons vital. Il s'agit d'un framework de Deep Learning en Python et il est nécessaire de toute façon pour exécuter des transformateurs. Deuxièmement, nous allons installer la dernière version de la bibliothèque Transformers. Il nous offre une API pratique qui nous fournit de nombreux modèles pré-entraînés pour effectuer différentes tâches de Deep Learning, telles que la génération de texte , la synthèse, la traduction, etc. Nous l'utiliserons pour charger le modèle GPT jaune et réaliser un solide d'inférence. Installons-les. Comme je l'ai déjà installé, cela ne prendra pas beaucoup de temps dans mon cas. Toutefois, cela peut prendre de quelques secondes à plusieurs minutes, en fonction de la vitesse de votre connexion Internet. Commençons maintenant à créer notre chat bot. Tout d'abord, créons le fichier Python et importons les bibliothèques que nous venons d'installer. Vous spécifiez ensuite le nom exact du modèle à charger. Il existe trois tailles différentes du modèle GPT jaune. Je vais chercher la version large du modèle. N'hésitez pas à utiliser n'importe lequel d'entre eux. Veuillez noter que plus le modèle est petit, les générations de réponses les plus mauvaises seront. Le modèle sera chargé en mémoire. Par conséquent, s'il n'a pas fait votre mémoire, vous pouvez utiliser une version plus petite. Maintenant, chargeons le modèle et le jeton. Ensuite, nous allons faire valoir un point qui est responsable de la génération des réponses des chatbots. Cette fonction prend trois arguments. abord, le texte d'entrée ou la question que nous écrivons ou produisons. Deuxièmement, cet historique des discussions sous la forme d'une liste d'identifiants de jetons. Et enfin, l' étape du chat. Si c'est 0, c'est la première fois qu'on tire avec la boîte. Nous utilisons la méthode d'encodage dans le jeton, convertissons le texte en une liste d'ID de jeton. Ainsi, le réseau neuronal peut comprendre. Nous ajoutons également le texte avec le jeton de fin de phrase. Nous passons PT pour renvoyer les tenseurs, pour renvoyer les tenseurs sous forme de tenseur PyTorch. Après cela, nous concaténons les ID d'entrée avec l' historique du chat s'il y en a un. Ensuite, nous générons la réponse du chat en contournant les ID d'entrée de la méthode de génération du modèle. paramètre de longueur maximale correspond la longueur maximale de la réponse de retour. Nous utilisons un échantillon de soulignement pour échantillonner à partir d'une distribution. Au lieu d'utiliser la recherche gourmande, nous passons 102 meilleurs k. Ainsi, la méthode de génération va échantillonner les 100 meilleurs jetons candidats à choisir. Nous avons dit que la température 2,7. Mais vous pouvez le modifier comme vous le souhaitez. diminution de la température diminuera la probabilité de choisir des mots à faible probabilité, ce qui augmentera la probabilité de choisir des mots à forte probabilité. La définition de la valeur 0 choisira toujours le mot le plus probable à chaque étape. Au fait, vous devez être prudent lorsque vous modifiez la température. Si vous l'envoyez à une valeur supérieure, vous verrez une génération complètement aléatoire. Quoi qu'il en soit, il y a beaucoup de paramètres à régler dans la méthode de génération. Je vous suggère fortement de consulter cet article de blog du blog Hugging Face pour en savoir plus sur les paramètres. Vous pouvez également rejeter la documentation officielle pour voir d'autres paramètres que vous pouvez utiliser. Revenez dans la fonction. Nous avons enfin le code qui a généré des parties de l'historique des tâches et le renvoie également avec l'historique des discussions. Ensuite, utilisons cette fonction pour fermer nos bogues. N pas est le nombre de fois que nous voulons juger avec nos mondes. Nous passons en boucle le nombre de pas. Ensuite, nous demandons simplement à l' utilisateur de saisir le texte de saisie. Enfin, nous utilisons notre fonction pour générer le cerveau final qui l'exécute. Laissons-lui un peu de temps pour charger le modèle. Et voilà que tu y vas. Maintenant, nous pouvons commencer à parler avec un tableau noir. La première fois. Cela va prendre un certain temps. Et ça vient des bourgeons. Comme vous pouvez le constater, il fait un excellent travail en répondant à mes questions, en plus de répondre avec des réponses bonnes et pertinentes. 5. Combiner tout et créer l'assistant: Bienvenue dans ce tutoriel. Dans cette vidéo, nous allons combiner tout ce que nous avons réalisé dans les vidéos précédentes en un seul fichier Python. Comme nous l'avons vu dans l'introduction, le processus global consiste abord à obtenir le texte de l'utilisateur en effectuant une reconnaissance vocale. Deuxièmement, nous adaptons le texte au modèle de tableau noir pour générer une réponse. Enfin, nous convertissons la réponse des textes, de parole, en utilisant la synthèse vocale. Créons la pile principale et importons les fonctions que nous avons créées dans les tutoriels précédents. Nous spécifions le nombre de fois où nous voulons fermer notre chat bot. Pour arrêter de parler. Nous avertissons l'utilisateur afin de savoir quand arrêter de parler. Nous convertissons notre discours en texte et nous l'imprimons. Ensuite, nous générons la réponse à partir de la voix du chat et effectuons une synthèse pour générer un discours semblable à l'homme. Allons-le. Parlez s'il vous plaît Bonjour, quel est votre livre préféré ? C'est difficile à choisir. Je suppose donc que je devrais dire le livre de vie de Marina. Parlez s'il vous plaît Oh, cool. Vous regardez des films ? Regardez ses films ces jours-ci. Parlez s'il vous plaît Oh, vous n'aimez pas les films d'action. Qu'en est-il de vous ? ne suis pas fan des films d'action, mais je suis un joueur passionné. 6. Outro et autres travaux: Félicitations. Vous avez réussi à créer un chatbots vocaux, un assistant personnel, assistant vocal ou tout autre élément que vous voulez appeler. Je tiens à vous remercier d'avoir regardé tout le cours et d'être avec moi sur ce produit. Avant de nous dire au revoir, je voudrais décrire quelques-uns des travaux que vous pouvez faire pour améliorer encore la performance de l'ensemble du produit. Tout d'abord, vous appelez la ponctuation d'insertion dans le discours reconnu. Il existe un package Python tiers appelé aéroport qui vous aide à le faire facilement. Il utilise un modèle d'apprentissage automatique pré-entraîné sous le capot. Mais la bonne nouvelle, c'est qu'il suffit de lui transmettre le texte et de recevoir les textes ponctués. Deuxièmement, comme vous le savez peut-être déjà dans la partie reconnaissance vocale de ce projet, nous utilisons une API non officielle. Je vous invite à utiliser le modèle Wave do vec à 0 pré-entraîné à cette fin. Et c'est très précis. Ce tutoriel devrait vous aider. Vous le trouverez en annexe à cette vidéo. Enfin, je vous suggère à nouveau de jouer avec les paramètres de la méthode de génération de points de modèle que nous avons vu dans le didacticiel chatbot. Je suis sûr que vous pouvez l' améliorer et vous assurer de partager les paramètres avec nous. Très bien, nous sommes arrivés à la fin. J'espère que ce projet vous a été utile, appliquez en Python à vrais projets et vous verrez dans un autre monde.