Table des matières:
- Étape 1: Comment faire une IA Partie 2
- Étape 2: Concevez votre système:
- Étape 3: Fonctions intégrées au langage de programmation:
- Étape 4: Combinez des fonctions intégrées pour créer vos propres fonctions
- Étape 5: à quoi servent les modules ? "Processeur d'entrée"
- Étape 6: « Processeur IA »
- Étape 7: Le tableau « résultats et scores »
- Étape 8: « Processeur de sortie »
- Étape 9: Continuez à travailler dessus
Vidéo: Comment faire une A.I. Partie 2 : 9 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Ceci est la partie 2 sur les étapes que j'ai suivies pour créer une IA sur un ordinateur Windows, en utilisant une base de données gratuite, un outil de développement de programmation et le moteur TTS intégré gratuit fourni avec Windows.
Le mot "Windows" appartient à Microsoft.
Le mot "Dragon" appartient à Nuance.
Étape 1: Comment faire une IA Partie 2
Choisissez un langage de programmation et obtenez des outils
Il existe de nombreux langages de programmation. Certains sont spécialisés pour l'IA. Mon préféré est Visual Basic, c'est donc ce que j'ai utilisé. Je travaille également avec des bases de données de serveurs SQL, donc je les ai également utilisées.
Vous pouvez télécharger des versions gratuites de ces derniers sur le site Web de Microsoft. Recherchez simplement « EXPRESS » sur le site Web de Microsoft. [Visual Studio Express et serveur SQL Express]
Les autres langages que vous voudrez peut-être utiliser sont: Python, C#, C++, Java, Prolog, Lisp, IPL
et plein d'autres. AIML est un « langage de balisage » très intéressant.
Je voulais un meilleur programme de « reconnaissance vocale » que celui fourni avec Windows, j'ai donc acheté le logiciel DRAGON. J'utilise le programme standard "Text-to-speech" fourni avec Windows.
Étape 2: Concevez votre système:
Divisez vos grands projets en plusieurs projets plus petits. J'ai divisé mon code de programme en modules.
J'ai divisé mon code en différents modules afin qu'une fonction particulière soit plus facile à trouver.
J'ai des modules nommés « Process Input », « Process AI », « Process Output », « User Interface » et quelques autres. Certaines de mes fonctions doivent être accessibles à tous les autres modules de code, donc je mets ces fonctions dans un module « commun » où tout est partagé
Étape 3: Fonctions intégrées au langage de programmation:
Différentes langues peuvent avoir des noms différents pour celles-ci, mais toutes les langues de haut niveau ont des fonctions similaires.
LCase ou ToLower: convertit une chaîne en minuscules. Je convertis tout en minuscules avant de faire une recherche dans la base de données - même si la plupart des choses sont "insensibles à la casse" - Juste au cas où.
Remplacer: remplace une chaîne à l'intérieur d'une chaîne par une autre chaîne. Vous pouvez remplacer une chaîne par une chaîne vide "" pour vous en débarrasser. Je me débarrasse des points, points d'interrogation, virgules et autres signes de ponctuation.
Diviser: divise une chaîne en morceaux individuels et les place dans un tableau. Cette fonction divisera une chaîne sur n'importe quel caractère, ou "Délimiteur". Je divise une phrase sur un "caractère espace" " " pour faire un tableau de mots. C'est ce qu'on appelle la « tokenisation » par les gourous de l'IA.
J'utilise les mots individuels pour créer des requêtes utilisées pour rechercher dans la base de données. (Plus à ce sujet dans mon prochain article)
Étape 4: Combinez des fonctions intégrées pour créer vos propres fonctions
Il s'agit d'un exemple « visuel de base ». Utilisez votre langage de programmation pour créer quelque chose comme ça.
Bien sûr, vous aurez besoin d'écrire beaucoup de code et de construire de nombreuses fonctions, en utilisant le langage de programmation de votre choix.
Étape 5: à quoi servent les modules ? "Processeur d'entrée"
Il pourrait y avoir une centaine de façons différentes de poser la même question à l'IA. Par exemple; « Quelle heure est-il ? », « Avez-vous le temps ? » « Savez-vous quelle heure il est ? », « Pouvez-vous me dire l'heure actuelle ? » Étant donné que l'utilisateur ne demande que l'heure, je convertis l'une de ces entrées en une seule sortie appelée « heure de la requête » à l'aide d'une table de « recherche » de la base de données.
Vous pouvez écrire du code pour parcourir une table jusqu'à ce qu'il trouve une correspondance, ou si vous utilisez une base de données SQL, vous pouvez écrire une requête SQL, comme…
"Sélectionnez la sortie à partir de TableName où Input = "" quel que soit ""
… Et puis j'envoie la sortie, « Query Time », au module de code suivant; « IA de processus »
Outre les questions, il existe de nombreuses façons de dire « Bonjour »
Salut, salut, quoi de neuf, hé, hola, comment vas-tu?, salutations, bienvenue, salutations, salut ….
Tout cela se réduit à « Salutation »
Lorsque le processeur AI voit « Salutation », il envoie « Salutation » au processeur de sortie, qui choisira une salutation aléatoire dans une table de base de données et la prononcera à haute voix.
Étape 6: « Processeur IA »
Process AI est le plus grand module de code. Il est si grand que je l'ai également divisé en sections.
L'entrée est vérifiée pour voir si l'utilisateur a prononcé une commande ou posé une question. En outre, l'IA peut être dans l'un des plusieurs « Modes », ce qui signifie que le code « Process AI » attend de l'utilisateur qu'il RÉPOND à une question, au lieu de POSER une question.
Si l'utilisateur n'a pas prononcé de commande et que l'IA n'est pas dans un « mode » spécial, elle crée et exécute un tas de requêtes, à partir de combinaisons de mots dans le « tableau de mots ». Tous les résultats de la requête sont stockés dans une table et chaque résultat de la requête se voit attribuer un « score » indiquant dans quelle mesure le résultat correspond à ce que l'utilisateur a dit. Le tableau est trié par le score, et le résultat avec le score le plus élevé est envoyé à la sortie, s'il dépasse un certain seuil. Si tous les scores sont inférieurs au seuil, l'IA peut répondre par « Je ne sais pas » ou « Cela ne calcule pas »
Étape 7: Le tableau « résultats et scores »
La sortie de l'IA de mon entrée "Qu'est-ce que le poulet a fait?"
Étape 8: « Processeur de sortie »
Cela fait plusieurs choses qui ont l'air "non liées", mais elles ont toutes à voir avec la transmission du texte du processeur AI à l'utilisateur.
Voici une liste.
1. Le texte de la base de données peut être en minuscules et ne comporter aucune ponctuation.. Les sous-programmes mettront la première lettre en majuscule et placeront un point ou un point d'interrogation à la fin.
2. Un autre sous-programme remettra les apostrophes en contractions ou reconvertira les contractions en mots complets (c'est-à-dire que « cant » est remplacé par « ne peut pas »)
3. Le moteur de synthèse vocale ne prononce pas certains mots comme je le souhaite, donc le "processeur de sortie" remplace ces mots par une orthographe phonétique. J'ai des tables de "recherche" de base de données pour les contenir, similaires à celle-ci dans le "processeur d'entrée"
4. Si l'IA ne trouve pas de réponse appropriée dans la base de données, elle peut dire « Je ne sais pas », mais je ne veux pas qu'elle le répète encore et encore. Les vraies personnes varient leurs réponses. Il existe donc un tableau avec des phrases de « sortie commune » et une fonction qui en choisit une au hasard (et ne choisira jamais la même deux fois de suite.)
5. Le moteur gratuit « text-to-speech » (TTS) ne donne pas beaucoup d'options au programmeur pour la façon dont les phrases sont prononcées, mais vous avez un peu de contrôle sur la hauteur et la vitesse des phonèmes. Le terme pour cela est "Prosodie". J'ai ajouté des codes de "prosodie" dans le texte de ma base de données, et lorsque le "processeur de sortie" les voit, il ajuste la hauteur et la vitesse dans le moteur TTS à chaque mot prononcé.
6. Parfois, le TTS est tout simplement difficile à comprendre, donc en plus de prononcer des mots à voix haute, je les affiche également en grosses lettres sur l'écran de mon ordinateur. Cette partie de « l'interface utilisateur » est une grille qui affiche les 6 dernières lignes d'une conversation (entrée utilisateur et sortie AI) et défile vers le haut au fur et à mesure que de nouvelles lignes sont ajoutées.
Étape 9: Continuez à travailler dessus
Ma contribution était "Ne le dites à personne"
Je travaille toujours sur mon système d'IA, et cela ne sera probablement jamais vraiment « terminé ». Au fur et à mesure que j'ajoute plus de fonctionnalités, j'écrirai plus d'articles.
Peut-être que certaines de mes idées vous inspireront pour construire une IA meilleure que la mienne
Conseillé:
DIY Comment faire une montre cool - StickC - Facile à faire : 8 étapes
DIY Comment faire une montre cool - StickC - Facile à faire: Dans ce tutoriel, nous allons apprendre à programmer ESP32 M5Stack StickC avec Arduino IDE et Visuino pour afficher une heure sur l'écran LCD et également régler l'heure à l'aide des boutons StickC
Comment faire une horloge analogique et une horloge numérique avec une bande LED à l'aide d'Arduino: 3 étapes
Comment faire une horloge analogique et une horloge numérique avec une bande LED à l'aide d'Arduino Horloge numérique avec Led Strip et module MAX7219 Dot avec Arduino. Elle corrigera l'heure avec le fuseau horaire local. L'horloge analogique peut utiliser une bande LED plus longue, elle peut donc être accrochée au mur pour devenir une œuvre d'art
Comment faire - MODULE D'AFFICHAGE E-PAPER E-INK – Partie 2 - Importer une image personnalisée : 4 étapes
Comment faire - MODULE D'AFFICHAGE E-PAPER E-INK – Partie 2 | Importer une image personnalisée : dans ce didacticiel pour la partie 2 de Comment - MODULE D'AFFICHAGE E-PAPER E-INK | Importer une image personnalisée, je vais partager avec vous comment importer l'image que vous aimez et l'afficher sur le module d'affichage E-Ink. C'est très simple avec l'aide de quelques s
Comment faire une A.I. Partie 4 : 3 étapes
Comment faire une A.I. Partie 4 : L'autre jour, je parlais avec mon IA et je lui ai dit : « Je vais en haut dîner, nous mangeons du STEAK ». Cependant, le logiciel de reconnaissance vocale (SR) a interprété cela comme « … « Je suis tombé sur un problème d'oreille similaire (mais différent)
Comment faire une A.I. Partie 1 : 5 étapes
Comment faire une A.I. Partie 1 : Commencez avec un ordinateur doté de la reconnaissance vocale et également d'un convertisseur Text-To-Speech.Vous devrez être capable d'écrire des programmes informatiques pouvant accéder à la reconnaissance vocale et au convertisseur Text-To-Speech.Certains outils de développement d'applications et