2017-09-07 2 views
0

Ich versuche, mehrere Logikadapter in Python Chatterbot zu kombinieren. Ich kann es nicht richtig verstehen. Ich versuchte dies:Beispiele für die Verwendung von Multilogicadapter in Chatterbot?

english_bot = ChatBot("English Bot", 
storage_adapter="chatterbot.storage.SQLStorageAdapter", 
multi_logic_adapter = [ 
    "chatterbot.logic.MathematicalEvaluation", 
    "chatterbot.logic.TimeLogicAdapter", 
    "chatterbot.logic.BestMatch"] 
) 

Nur BestMatch aktiv zu sein scheint Und ich versuchte dies:

english_bot = ChatBot("English Bot", 
storage_adapter="chatterbot.storage.SQLStorageAdapter", 
logic_adapter = [ 
    "chatterbot.logic.multi_adapter.MultiLogicAdapter", 
    "chatterbot.logic.MathematicalEvaluation", 
    "chatterbot.logic.TimeLogicAdapter", 
    "chatterbot.logic.BestMatch"] 
) 

Aber ich bekomme diese Fehlermeldung: Attribute: ‚NoneType‘ Objekt kein Attribut ‚Vertrauen‘ hat und keine der logic_adapters scheint aktiv zu sein.

Danke, Herb

Antwort

0

BestMatch

Adapter ist der Standard-Adapter für chatterbot, Sie müssen nicht explizit, dass angeben müssen. Weitere Informationen http://chatterbot.readthedocs.io/en/stable/logic/index.html#best-match-adapter

Und Sie Code sollte diese

# -*- coding: utf-8 -*- 
from chatterbot import ChatBot 

bot = ChatBot(
    "English Bot", 
    logic_adapters=[ 
     "chatterbot.logic.MathematicalEvaluation", 
     "chatterbot.logic.TimeLogicAdapter" 
    ] 
) 

# Print an example of getting one math based response 
response = bot.get_response("What is 4 + 9?") 
print(response) 

# Print an example of getting one time based response 
response = bot.get_response("What time is it?") 
print(response) 
+0

Dank mögen, aber das bedeutet nicht das Problem lösen. Wenn ich das mache, was Sie vorschlagen, kann ich mathematische Antworten und Zeitantworten erhalten, aber keine Textantworten. Zum Beispiel: ** Wer ist der Autor von Frankenstein? ** Die aktuelle Zeit ist 08:52 Uhr ** was ist 4 + 7? ** (4 + 7) = 11. Ich möchte in der Lage sein, alle drei Arten zu beantworten von Fragen. – user1430965

Verwandte Themen