是否可以使用现有数据库训练聊天机器人(使用ChatterBot)?
我有一个相对较大的sqlite3 db文件,其中包含大约3GB的会话。如果完全可以从该数据库中提取答案而不是将其转换为json,然后创建我自己的语料库,我希望这样做。
当我按照他们的教程说。
from chatterbot import ChatBot
bot = ChatBot( "Terminal",
storage_adapter="chatterbot.storage.SQLStorageAdapter",
logic_adapters=[
"chatterbot.logic.MathematicalEvaluation",
"chatterbot.logic.TimeLogicAdapter",
"chatterbot.logic.BestMatch"
],
input_adapter="chatterbot.input.TerminalAdapter",
output_adapter="chatterbot.output.TerminalAdapter",
database="database.db"
)
print("Type something to begin...")
while True:
try:
bot_input = bot.get_response(None)
except (KeyboardInterrupt, EOFError, SystemExit):
break
它没有从中得出答案。它忽略它并使用自己的训练数据。
答案 0 :(得分:2)
这是可能的,但您需要编写自己的Trainer
类来阅读您的sqlite文件的内容,以便可以使用它训练聊天机器人。
另一种方法是编写脚本将sqlite数据转换为训练语料库格式,以便您可以使用现有方法训练您的机器人。
有关语料库格式的更多信息,请访问: http://chatterbot-corpus.readthedocs.io/en/latest/data.html