• ChatterBot之使用mongodb 03


    上一篇我们已经搭建好了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。 

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

  • 相关阅读:
    oracle启动的三步
    Solaris下vi的简单使用帮助
    Solaris下ftp配置(初稿待补充)
    soap笔记1
    Solaris 10 查看机器的网卡mac地址
    查看表空间名称与对应文件
    [转]Ubuntu10.04的网络配置
    [转]红帽企业版RHEL6使用Fedora13的yum源
    [转]linux忘记密码怎么办法
    [转]个人管理 - IT人士书籍推荐(已读)
  • 原文地址:https://www.cnblogs.com/DanBrown/p/7941999.html
Copyright © 2020-2023  润新知