ChatterBot聊天机器人结构(二):如何设置语料

在上一节中,训练了一个最简单的机器人,通过一组简单的对话输入,对机器人进行训练,完成以后进行,就可以跟机器人进行对话了。

这是一个最简单的例子了,简单到只能用来说明问题,我们会想每次都进行语料的准备,语料如果比较全面,一种极端的情况是语料覆盖了方方面面,输入的对话都能在语料中找到相似的语句,通过语句就可以找到最适合的回答。

可以准备非常多的高质量的聊天内容,通过聊天内容可以构建训练的语料。而对于语言来说,还要考虑的一点是语种,中文,英语的语料可分开进行。

ChatterBot提供了一些简单的聊天语料,在\site-packages\chatterbot_corpus\data,有一些不同语种的聊天语料。有中文,英文,西班牙文等等,但是这些语料多过于简单,在项目中可以通过各种不同的方式进行补充。

在这里插入图片描述

使用ChatterBot加载语料,训练机器人:

#!/usr/bin/python
#coding=utf-8

from chatterbot import ChatBot
import logging


'''
This is an example showing how to train a chat bot using the
ChatterBot Corpus of conversation dialog.
'''

# Enable info level logging
logging.basicConfig(level=logging.INFO)

chatbot = ChatBot(
    'Example Bot',
    trainer='chatterbot.trainers.ChatterBotCorpusTrainer'
)

# Start by training our bot with the ChatterBot corpus data
chatbot.train(
    'chatterbot.corpus.chinese'
)

# Now let's get a response to a greeting
response = chatbot.get_response('最近如何')
print(response)

在chatbot.train中,选择的是chatterbot.corpus.chinese语料,语料进行训练以后,回答’最近如何’的对话,运行的过程:

conversations.yml Training: [####################] 100%
greetings.yml Training: [####################] 100%
trivia.yml Training: [####################] 100%
INFO:chatterbot.adapters:Recieved input statement: 最近如何
INFO:chatterbot.adapters:"最近如何" is a known statement
INFO:chatterbot.adapters:Using "最近如何" as a close match to "嗨,最近如何?"
INFO:chatterbot.adapters:Selecting response from 6 optimal responses.
INFO:chatterbot.response_selection:Selecting first response from list of 6 options.
INFO:chatterbot.adapters:Response selected. Using "挺好"
INFO:chatterbot.adapters:BestMatch selected "挺好" as a response with a confidence of 0.73
INFO:chatterbot.adapters:NoKnowledgeAdapter selected "最近如何" as a response with a confidence of 0
挺好

程序运行的过程,就是上一章分析的过程,找到最相近的"嗨,最近如何?",根据"嗨,最近如何?"的对话进行回复,内容为:挺好。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 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
发出的红包

打赏作者

go2coding

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

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

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

打赏作者

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

抵扣说明:

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

余额充值