2016-08-16 3 views
0

Je commence un projet avec Python qui utilise AIML, quand je lance le script Il me donne une erreur 'Non correspondance trouvée'. C'est le code Python:Python AIML erreur

import aiml 
kernel = aiml.Kernel() 
kernel.learn("bot.aiml") 
while True: 
    print kernel.respond(raw_input("\n>>")) 

Juste un simple noyau AIML. Est-ce quelque chose qui ne va pas?

+0

Qu'est-ce dans le 'bot.aiml' fichier? –

Répondre

0

J'ai un meilleur script python si vous êtes intéressé

import aiml 
import sys <br> 

brainLoaded = False 
forceReload = False 
while not brainLoaded: 
    if forceReload or (len(sys.argv) >= 2 and sys.argv[1] == "reload"): 

     kern.bootstrap(learnFiles="Database.xml", commands="load aiml b") 
     brainLoaded = True 
     kern.saveBrain("Cache.brn") 
    else: 
     # Attempt to load the brain file. If it fails, fall back on the Reload 
     try: 
      # It is our cache file. 
      kern.bootstrap(brainFile = "Cache.brn") 
      brainLoaded = True 
     except: 
      forceReload = True 

# Enter the main input/output loop. 
print "Enter your message for the chatbot" 
while(True): 
    print kern.respond(raw_input("> ")) 

Note: Vous devez créer une base de données de dossier dans lequel vous placez vos fichiers AIML et un fichier Database.xml

0

« Aucun résultat trouvé pour l'entrée "avertissement se produit parce que" bot.aiml "a une sortie correspondante pour votre entrée. Essayez d'inclure une réponse par défaut comme ce qui suit:

<category> 
    <pattern>*</pattern> 
    <template> 
     Sorry. I didn't quite get that. 
    </template> 
</category> 
0

Essayez de supprimer la mention « d'impression » dans le code

import aiml 
kernel = aiml.Kernel() 
kernel.learn("bot.aiml") 
while True: 
    kernel.respond(raw_input("\n>>"))