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

举报
Carl_奕然 发表于 2023/08/29 10:40:22 2023/08/29
【摘要】 这下可知道如何训练机器人了。

1、引言


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

all.gif

2、代码实战


2.1 安装


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

pip install chatterbot



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

  • 《Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!》
  • 《Python3:我低调的只用一行代码,就导入Python所有库!》


2.2 ChatterBot介绍


定义:

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


常用方法:

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


2.3 实战

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2023-08-20
# @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技术。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。