Python3,10行代码,训练聊天机器人,咱也能让机器人说多国语言。

1、引言

小屌丝:鱼哥,你还欠我点东西。
小鱼:额… 我还欠南北呢我。
小屌丝:你确定不欠啊。
小鱼:这还有确定, 这是必须 一定,以及肯定。
小屌丝:我提醒你一下, 聊天机器人。
小鱼:聊天机器人咋了。
小屌丝:… 训练聊天机器人。
小鱼:那你就训练啊,
小屌丝:… 我只说了吧,还记得这篇《Python3, 33行代码搞了一个聊天机器人, 这下再也不怕没人说话了。
小鱼:记得啊, 前两天发布的内容。
小屌丝:那你说,下一篇会安排 训练聊天机器人内容
小鱼:昂…就这啊。
小屌丝:对啊,就这。
小鱼:分分钟的事。
小屌丝:鱼哥,你这是…
小鱼:搞啊。

在这里插入图片描述

2、代码实战

2.1 安装

因为聊天机器人使用的是chatterbot库, 所以,我们就要安装。

pip install chatterbot

其余安装方式,可以参照这两篇:

2.2 ChatterBot介绍

定义

  • ChatterBot库是一个基于Python的聊天机器人库,
  • 可以用于创建自然语言处理机器人;

常用方法

  • ChatBot:创建聊天机器人的类。
  • Train:用于训练聊天机器人的方法。
  • get_response:用于获取聊天机器人的回答的方法。
  • Corpus:用于加载和训练聊天机器人的语料库。

2.2 实战


# -*- coding:utf-8 -*-
# @Time   : 2023-07-12
# @Author : Carl_DJ

'''
实现功能:
    训练聊天机器人。
'''
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer

# 创建聊天机器人
bot = ChatBot('MyBot')

# 创建一个基于语料库的训练器
trainer = ChatterBotCorpusTrainer(bot)

# 使用英文语料库进行训练
trainer.train('chatterbot.corpus.english')

# 使用中文语料库进行训练
trainer.train('chatterbot.corpus.chinese')

# 在命令行中与机器人进行聊天
while True:
    try:
        user_input = input()
        response = bot.get_response(user_input)
        print(response)

    # 如果输入“退出”,则结束聊天
    except (KeyboardInterrupt, EOFError, SystemExit):
        break

解析

  • 首先创建 chatbot对象,命名为 Mybot
  • 其次,使用 ChatterBotCorpusTrainer 训练机器人
    • 使用 chatterbot.corpus.english语料库进行训练, 包含:中文,英文,也可以使用我自己训练数据
  • 最后,通过循环,不断接收用户的输入,并使用bot.get_response()方法获取机器人的回复,然后将其打印出来。

在这里插入图片描述

3、总结

看到这里,今天的分享差不多就该结束了。
今天主要进行的是一个简单的demo分享, 并没有添加更多的交互逻辑和功能。
后期, 小鱼会针对这部分,进行交互逻辑和功能的完善。

我是小鱼

  • CSDN 博客专家
  • 阿里云 专家博主
  • 51CTO博客专家
  • 51认证讲师等
  • 认证金牌面试官
  • 职场面试及培训规划师
  • 多个国内主流技术社区的认证专家博主
  • 多款主流产品(阿里云等)测评一、二等奖获得者

关注我,带你学习更多更专业更前言的Python技术。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
# 说明 该库是对目前市面上已有的开源中文聊天语料的搜集和系统化整理工作 该库搜集了包含 - chatterbot - 豆瓣多轮 - PTT八卦语料 - 青云语料 - 电视剧对白语料 - 贴吧论坛回帖语料 - 微博语料 - 小黄鸡语料 共8个公开闲聊常用语料和短信,白鹭时代问答等语料。 并对8个常见语料的数据进了统一化规整和处理,达到直接可以粗略使用的目的。 **使用该项目,即可对所有的聊天语料进一次性的处理和统一下载,不需要到处自己去搜集下载和分别处理各种不同的格式。* # 环境 python3 # 处理过程 将各个来源的语料按照其原格式进提取,提取后进繁体字转换,然后统一变成一轮一轮的对话。 # 使用方法 将解压后的raw_chat_corpus文件夹放到当前目录下 目录结构为 ``` raw_chat_corpus -- language -- process_pipelines -- raw_chat_corpus ---- chatterbot-1k ---- douban-multiturn-100w ---- .... -- main.py -- ... ``` 执命令即可 ```bash python main.py ``` 或者 ```bash python3 main.py ``` # 生成结果 每个来源的语料分别生成一个独立的*.tsv文件,都放在新生成的clean_chat_corpus文件夹下。 生成结果格式为 tsv格式,每是一个样本,先是query,再是answer ``` query \t answer ``` # 结果的使用 这个就根据每个人不同的情况自主使用即可 个人对于聊天机器人方向实践也不是很多,以下一篇之前写的知乎专栏供参考 **《从产品完整性的角度浅谈chatbot》** 文章粗略讲解了如下一些方面,介绍了聊天机器人在实际产品化过程中可能遇到的问题和解决办法。 1. chatbot自身人格的设置 1. 产品上线需要考虑的敏感词处理 1. 文本检索模型的使用 1. 文本生成模型的使用 1. 回答打分机制 1. 万能回答的使用策略 1. 多媒体消息的处理 1. 产品模型部署的问题 # 版权说明 本项目为非商业项目,为纯搜集和汇总资料,如有侵权,请在issue下留言。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Carl_奕然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值