2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-23 14:45
L'autre jour, je parlais avec mon IA, et j'ai dit à
il, "Je vais à l'étage pour dîner, nous avons STEAK".
Cependant, le logiciel de reconnaissance vocale (SR) a interprété cela comme « … nous avons un enjeu »
J'ai rencontré un problème similaire (mais différent) plus tôt lorsque je parlais d'une photographie, et j'ai dit le mot « IMAGE ». Le logiciel SR a interprété cela comme « PITCHER »
Le correctif pour cela était un simple recyclage du logiciel SR. (Ou peut-être ma prononciation)
Mais quand je prononce les mots STEAK ou STAKE, je les prononce exactement de la même manière, et le recyclage du logiciel SR n'aidera pas dans des cas comme celui-ci.
Étape 1:
Une idée pour résoudre le "problème des homonymes".
Je dois regarder le mot « dans son contexte » pour déterminer quelle orthographe utiliser. Le cerveau humain le fait assez facilement, et vous ne savez même pas que vous le faites.
Cela signifie que les autres mots d'une phrase sont examinés et que votre cerveau décide quelle orthographe convient le mieux. Maintenant, comment puis-je faire cela dans le code ?
Mon I. A. Le programme analyse une phrase en un tableau de mots individuels à l'aide de la fonction « Split » de Visual Basic (VB). [MyArray = Split(InputSentence, " ")]
Chaque mot du tableau peut être vérifié pour voir s'il s'agit d'un homonyme possible en regardant dans une table de base de données contenant une liste d'homonymes.
Bien sûr, créer une autre table signifie que nous devrons la remplir avec des données, et nous devrons également pouvoir conserver les données dans la table.
Un sous-programme d'auto-apprentissage peut être construit plus tard pour numériser un tas de texte, rechercher des mots dans ma table d'homonymes et capturer d'autres mots de « contexte ». Hmmmmm, peut-être faut-il plusieurs tables…
L'écriture de ces « Instructables » m'aide à « rechercher » une solution à un défi de programmation.
Étape 2:
Structure de la table HomonymContext
Ma première idée était un tableau contenant des mots, des orthographes alternatives et des mots de « contexte ». L'idée était de rechercher dans une phrase contenant un homonyme, d'autres mots qui donnent le « contexte », afin que le programme puisse déterminer quelle orthographe utiliser. Le tableau contient également une colonne nommée « WordDef » pour contenir la définition du mot, qui est plus destinée à l'humain qui maintient le tableau qu'à l'IA. code.
Pour rechercher chaque mot, je peux utiliser du code VB et du code SQL comme…
Pour chaque mot dans MyArray
Query = "Sélectionnez le mot de tblHomonynContext où mot = '" & mot & "'"
si cette requête renvoie un résultat, alors le mot est un homonyme
Prochain
Ce n'est qu'un pseudo-code à ce stade - je n'ai pas encore écrit le code exact, ni compris tous les détails. Mais n'hésitez pas à prendre mon idée et à la mettre en œuvre en utilisant votre propre langage de programmation préféré.
Étape 3:
Si votre phrase d'entrée contient un homonyme, vous pouvez maintenant
exécutez du code VB qui vérifiera les autres mots de votre phrase, avec les mots de contexte dans les résultats de la requête.
Vous pouvez également faire tout cela dans une procédure stockée SQL, qui peut s'exécuter plus rapidement.
La fonction VB "InStr()" renverra un nombre supérieur à zéro, si une chaîne est contenue dans une autre chaîne, ou elle renverra zéro, si la chaîne n'est PAS contenue dans l'autre.
Instr() renvoie en fait la position de la chaîne contenue. Si vous voulez juste savoir si String1 contient String2, vous pouvez utiliser un code comme « If InStr(String1, String2) > 0 … »
Vous devrez construire ce code dans votre langage de programmation préféré.
La table HomonymContext n'est pas une très bonne conception. Il contient de nombreuses données répétées, et celles-ci sont considérées comme « non normalisées » par les concepteurs de bases de données. Une meilleure façon d'implémenter cette fonctionnalité serait d'utiliser deux tables, dans une relation parent-enfant. Une table (The Parent) contiendrait une liste d'homonymes, leurs définitions, ainsi qu'un ID de ligne. Cet ID de ligne est utilisé comme clé de la "table enfant" qui contiendrait les mots et leurs mots de contexte.
Ce serait plus facile à interroger (et à maintenir) que ma conception originale.
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 une A.I. Partie 2 : 9 étapes
Comment faire une A.I. Partie 2 : Il s'agit de la partie 2 sur les étapes que j'ai suivies pour créer une IA sur un ordinateur Windows, à l'aide d'une base de données gratuite, d'un outil de développement de programmation et du moteur TTS intégré gratuit fourni avec Windows. Le mot « Windows » appartient à Microsoft. Le mot "Dra
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 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