• ChatterBot


    1. ChatBot 类

    class chatterbot.ChatBot (name, ***kwargs*)

    参数:

    name ([str]) – 机器人名称,必填-无默认值.

    preprocessors ([str]) – 前期处理器列表,[chatterbot.preprocessors.clean_whitespace].

    storage_adapter ([str]) – 存储适配器,chatterbot.storage.SQLStorageAdapter.

    logic_adapters ([list]) – 逻辑适配器列表,[chatterbot.logic.BestMatch].

    input_adapter ([str]) – 输入适配器,chatterbot.input.VariableInputTypeAdapter.

    output_adapter ([str]) – 输出适配器,chatterbot.output.OutputAdapter.

    trainer ([str]) – 训练师,chatterbot.trainers.Trainer.

    filters ([list]) – 过滤器列表,tuple().

    logger ([logging.Logger]) – 日志对象,logging.getLogger(__name__).

    read_only ([bool]) – 是否只读,False.

    classmethod from_config (config_file_path)

    通过 json 配置文件创建ChatBot实例

    generate_response (input_statement, session_id)

    根据给定的输入语句,返回一个会话回复

    get_response (input_item, session_id=None)

    根据输入返回机器人回复, 返回类型 [Statement]

    initialize ()

    初始化

    learn_response (statement, previous_statement)

    学习

    set_trainer (training_class, ***kwargs*)

    设置训练师

    train ()

    代理方法,调用训练师的训练方法

    参数示例:

    ChatBot(
        'Leander Jenkins',
        storage_adapter={
            'import_path': 'my.storage.AdapterClass',
            'database_name': 'my-database'
        },
        logic_adapters=[
            {
                'import_path': 'my.logic.AdapterClass1',
                'statement_comparison_function': 'chatterbot.comparisons.levenshtein_distance'
                'response_selection_method': 'chatterbot.response_selection.get_first_response'
            },
            {
                'import_path': 'my.logic.AdapterClass2',
                'statement_comparison_function': 'my.custom.comparison_function'
                'response_selection_method': 'my.custom.selection_method'
            }
        ],
        input_adapter={
            'import_path': 'my.input.AdapterClass',
            'api_key': '0000-1111-2222-3333-DDDD'
        },
        output_adapter={
            'import_path': 'my.output.AdapterClass',
            'api_key': '0000-1111-2222-3333-DDDD'
        }
    )
    

    2. 设置日志级别

    import logging
    
    logging.basicConfig(level=logging.INFO)
    
    ChatBot(
        # ...
    )
    

    可用级别:CRITICAL, ERROR, WARNING, INFO, DEBUG, NOTSET

    3. 适配器

    1. 适配器类型:

      • Storage adapters - 存储适配器,机器人通过该适配器接口访问数据库系统。
      • Input adapters - 输入适配器,机器人通过该适配器的方法获取输入数据。
      • Output adapters - 输出适配器,机器人通过该适配器的方法返回回复数据。
      • Logic adapters - 逻辑适配器,定义了机器人处理输入数据到给出回复得逻辑。
    2. 适配器访问机器人实例

      每个适配器都有一个属性:chatbot,适配器在初始化的时候会被赋值,使得每个适配器访问其他适配器成为可能。每个适配器访问机器人实例的引用为:self.chatbot,引用其他适配器方式为:

      • self.chatbot.storage,获取存储适配器
      • self.chatbot.input,获取输入适配器
      • self.chatbot.output,获取输出适配器
      • self.chatbot.logic,获取逻辑适配器列表
  • 相关阅读:
    J2ME游戏开发之层:动画
    HTTPClient
    Objectc 类的定义
    python占位符介绍及操作方法
    selenium IE浏览器运行很慢解决方法
    python eval()用法
    使用MySQL执行update时报错:You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences
    python之字符串格式化(format)
    Python问题:UnboundLocalError: local variable 'xxx' referenced before assignment
    JS滚动页面操作
  • 原文地址:https://www.cnblogs.com/zhuhc/p/7787538.html
Copyright © 2020-2023  润新知