Message d'erreur incomprehensible

Fermé
maxime_boris Messages postés 35 Date d'inscription dimanche 23 janvier 2022 Statut Membre Dernière intervention 17 novembre 2022 - Modifié le 26 févr. 2022 à 13:35
mamiemando Messages postés 33432 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 décembre 2024 - 1 mars 2022 à 17:27
Bonjour, je suis en train de programmer un assistant vocal (Chatbot), Je ne sais pas d'ou provient l'érreur soit de mon fichier .py ou de mon fichier Json. Pourriez-vous m'aider à trouver ce qui cloche dans mon programme, voici le message d'erreur:



voici mon fichier Json:


{"intentions":
[
    {"tag": "greeting",
    "patterns": ["Hey", "Bonjour", "Comment ça va", "Salut", "Salutation"],
    "réponses":["Bonjour maxime","Bonjour, que puis-je fire pour toi", "Que puis-je faire pour toi","Que désire-tu"]},

    {"tag": "create_note",
    "patterns": ["s'il te plait crée moi un nouveau dossier", "Ajoute un nouveau dossier"],
    "réponses": [""]},

    {"tag": "add_todo",
    "patterns": ["Ajoute moi un rendez-vous", "Je veux ajouter un rendez-vous dans ma liste","nouveau rende-vous a inscrire dans ma liste"],
    "réponses": [""]},

    {"tag": "show_todos",
    "patterns": ["Montre moi mon emploi du temp","Quel est mon emploi du temp","Qu'est ce qui a faire"],
    "réponses": [""]},

    {"tag": "exit",
    "patterns" : ["Bye", "Stop", "au revoir", "je veux quitter le progrmme", "bonne soirée", "bonne journée"],
    "réponses": [""]}
]}


Voici mon programme .py:

from neuralintents import GenericAssistant
import speech_recognition
import pyttsx3 as tts
import sys
import os




recognizer = speech_recognition.Recognizer()

speaker = tts.init()
speaker.setProperty('rate','french')


todo_list = ["Go shopping", "clean Room", "Record Video"]


def create_note():
    global recognizer

    speaker.say("Qu'est ce que tu veux écrire dans ton dossier ?")
    speaker.runAndWait()

    done = False

    while not done:
        try:

            with speech_recognition.Microphone() as mic:

                recognizer.adjust_for_mbient_noise(mic, duration=0.2)
                audio= recognizer.listen(mic)

                note = recognizer.recognize_google(audio,Language="fr-FR")
                note = note.lower()

                speaker.say("Quelle est le nom de fichier")
                speaker.runAndWait()

                recognizer.adjust_for_ambient_noise(mic, duration= 0.2)
                audio = recognizer.listen(mic)

                filename = recognizer.recognize_google(audio,language='fr-FR')
                filename = filename.lower()

            with open(filename,'w') as f:
                f.write(note)
                done = True
                speaker.say(f"Le rendez-vous a été noté {filename}")
                speaker.runAndWait()



        except speech_recognition.UnknownValueError:
            recognizer = speech_recognition.Recognizer()
            speaker.say("Je n'ai pas compris, répétez s'il vous plait")
            speaker.runAndWait()

def demarche():

    global recognizer
    speaker.say("Qu'est ce que tu veux ajouter sur ton emploi du temps ?")
    speaker.runandWait()

    done = False

    while not done:
        try:

            with speech_recognition.Microphone()as mic:

                recogniser.adjust_for_ambient_noise(mic,duration=0.2)
                audio = recognizer.listen(mic)

                item= recognizer.recognize_google(audio,language= 'fr_FR')
                item = item.lower()

                demarche.append(item)
                done = True

                speaker.say(f"J'ai ajouté {item}  dans la liste")
                speaker.runAndWait()

        except speech_recognition.UnknowValueError:
            recognizer = speech_recognition.Recognizer()
            speaker.say("Je ne comprend pas,peux tu répéter s'il te plait ?")
            speaker.runAndWait()

def emploi_du_temp():
    speaker.say("Qu'est ce que tu veux ajouter sur ton emploi du temps")
    for item in demarche:
        speaker.say(item)
        speaker.runAndWait()

def hello():
    speaker.say("Salut,que puis-je faire pour toi")
    speaker.runAndWait()

def quit():
    speaker.say("Au revoir")
    speaker.runAndWait()
    sys.exit(0)


mappings = {
    "Salutation": hello,
    "create_note": create_note,
    "add_todo": demarche,
    "show_todos": emploi_du_temp,
    "exit": quit
}




assistant = GenericAssistant('intents.json',intent_methods=mappings)
assistant.train_model()

while True:

    try:
        with speech_recognition.Microphone()as mic:

            recognizer.adjust_for_ambient_noise(mic, duration=0.2)
            audio = recognizer.listen(mic)

            message = recognizer.recognize_google(audio,language='FR-fr')
            message = message.lower()

        assistant.request(message)
    except speech_recognition.UnknownValueError:
        recognizer = speech_recognition.Recognizer()

.
A voir également:

3 réponses

yg_be Messages postés 23392 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 Ambassadeur 1 556
27 févr. 2022 à 10:34
bonjour, es-tu certain de la première ligne de ton fichier json?
0
maxime_boris Messages postés 35 Date d'inscription dimanche 23 janvier 2022 Statut Membre Dernière intervention 17 novembre 2022
Modifié le 27 févr. 2022 à 12:05
Bonjour, en effet la premiére ligne n'était pas la bonne, je m'en suis rendu compte hier_soir, ce probléme est désormais résolu, mais j'ai un autre probléme. Ce méssage d'érreur est apparu juste aprés avoir résolu le probléme précédent:



Pourrais tu me dire quelle est la signification de ce message s'il te plait et que dois-je faire pour que mon programme fonctionne ?
0
mamiemando Messages postés 33432 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 décembre 2024 7 809
Modifié le 1 mars 2022 à 17:28
Bonjour,

Inutile de faire des captures d'écran, fais plutôt des copier coller ce sera plus pratique pour tout le monde. Si tu es dans les commandes MS-DOS, l'icône en haut à gauche permet de copier du texte. Pense ensuite à le mettre dans des balises de codes.

Ton message d'erreur signifie que tu essayes de chercher la clé
"intents"
, mais que ton dictionnaire n'a pas cette clé. Et effectivement, dans ton fichier
.json
, contient une clé
"intentions"
(qui n'est donc pas raccord avec
"intents"
) et d'autres clés qui n'ont rien à voir non plus...

Bref, j'ai l'impression que ton code n'est simplement pas raccord avec la structure de ton fichier
.json
...

Bonne chance
0