为了账号安全,请及时绑定邮箱和手机立即绑定

当问题字符串反转时,Chatter 机器人返回错误响应

当问题字符串反转时,Chatter 机器人返回错误响应

茅侃侃 2022-01-05 20:27:07
yaml文件:- - Invalid Password  - contact xyz@gmail.com我正在使用 python Chatterbot 库,如果我询问无效密码,它返回响应联系人 xyz@gmail.com,但如果我询问密码无效,它会给我我在创建聊天机器人实例时设置的默认响应。bot = ChatBot(    'Norman',    storage_adapter='chatterbot.storage.SQLStorageAdapter',    input_adapter='chatterbot.input.TerminalAdapter',    output_adapter='chatterbot.output.TerminalAdapter',    logic_adapters=[        {            'import_path': 'my_logic_adapter.MyLogicAdapter',            "statement_comparison_function": "chatterbot.comparisons.JaccardSimilarity",            "response_selection_method": "chatterbot.response_selection.get_random_response",            'threshold': 0.65,            'default_response': 'I am sorry, but I do not understand.'        }    ],    filters=["chatterbot.filters.RepetitiveResponseFilter"],    preprocessors=[        'chatterbot.preprocessors.clean_whitespace',        'chatterbot.preprocessors.unescape_html',        'chatterbot.preprocessors.convert_to_ascii'    ],    database='./database.sqlite3',    trainer='chatterbot.trainers.ListTrainer')bot.set_trainer(ListTrainer)
查看完整描述

1 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

问题是 Chatterbot 将非结构化和未经训练的数据存储到 SQLite DB 中。如果您输入一个反向字符串并且响应未存储在 YAML 文件中,它将无法理解,因此它会获取一些随机响应。您需要训练此类数据(增加频率)。同样根据我的理解,Jaccard Similarity 在这种情况下无济于事。

如果您只插入密码而没有其他密码字存储在 YAML 中,那么我认为它会给出正确的答复。Chatterbot 本身是用 NLP 创建的,但您需要根据需要更改 Logic 适配器的代码。


查看完整回答
反对 回复 2022-01-05
  • 1 回答
  • 0 关注
  • 199 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信