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.