zoukankan      html  css  js  c++  java
  • 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,获取逻辑适配器列表
  • 相关阅读:
    【LeetCode每天一题】Pascal's Triangle(杨辉三角)
    【Redis】持久化
    【LeetCode每天一题】Swap Nodes in Pairs
    【LeetCode每天一题】Reverse String
    [bzoj2152]聪聪可可
    [bzoj3572][Hnoi2014]世界树
    Codeforces Round#409/VK-Cup 2017 Round2
    Educational Codeforces Round#19
    [bzoj4813][Cqoi2017]小Q的棋盘
    [bzoj4236]JOIOJI
  • 原文地址:https://www.cnblogs.com/zhuhc/p/7787538.html
Copyright © 2011-2022 走看看