码迷,mamicode.com
首页 > 数据库 > 详细

ChatterBot之使用mongodb 03

时间:2017-12-01 15:18:12      阅读:537      评论:0      收藏:0      [点我收藏+]

标签:分享图片   打开   out   adapter   level   none   erb   rman   png   

上一篇我们已经搭建好了mongodb环境,本篇为简单示例.

废话不多说先上代码然后开始讲解;

!!!别忘了打开你的mongdb服务!!!,如果没有mongodb请看上篇如何安装mongodb;

# -*- coding: utf-8 -*-

from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
from chatterbot.trainers import ChatterBotCorpusTrainer
import logging
# Uncomment the following line to enable verbose logging

#logging.basicConfig(level=logging.INFO)

# Create a new ChatBot instance

chatbot = ChatBot(
    Norman,
storage_adapter=chatterbot.storage.MongoDatabaseAdapter,

logic_adapters=[
 chatterbot.logic.BestMatch,
 chatterbot.logic.MathematicalEvaluation,
 chatterbot.logic.TimeLogicAdapter
],
    filters=[
 chatterbot.filters.RepetitiveResponseFilter
  ],

    input_adapter="chatterbot.input.TerminalAdapter",
    output_adapter="chatterbot.output.TerminalAdapter",
    trainer=chatterbot.trainers.ListTrainer,
    database="chatterbot-1w",
    database_uri="mongodb://192.168.2.128:27017/",
    read_only=True
)

print(Type something to begin...)

while True:
    try:
        bot_input = chatbot.get_response(None)

    # Press ctrl-c or ctrl-d on the keyboard to exit
    except (KeyboardInterrupt, EOFError, SystemExit):
        break;

1.filters条件RepetitiveResponseFilter, 这是一个滤波器,它的作用是滤掉重复的回答;

2.database="chatterbot-1w",这时你的数据库名称,如果没有,首次他会自动创建;

3.database_uri="mongodb://192.168.2.128:27017/", 这是设置你的数据库所在的地址端口号;

4.read_only=True

  ChatterBot是会对每个输入的语句进行学习的。如果想要使得你已经训练过的bot不再继续学习输入的语句,可以通过以下方式进行设置,在初始化的时候将read_only设置为True。 

技术分享图片

关于如如何训练,请听下回分解;

 

ChatterBot之使用mongodb 03

标签:分享图片   打开   out   adapter   level   none   erb   rman   png   

原文地址:http://www.cnblogs.com/DanBrown/p/7941999.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!