当前位置:首页 > 公众号精选 > AI科技大本营
[导读]作者|周萝卜来源|萝卜大杂烩我们学习一些如何使用ChatterBot库在Python中创建聊天机器人,该库实现了各种机器学习算法来生成响应对话,还是挺不错的1什么是聊天机器人聊天机器人也称为聊天机器人、机器人、人工代理等,基本上是由人工智能驱动的软件程序,其目的是通过文本或语音与...


作者 | 周萝卜来源 | 萝卜大杂烩我们学习一些如何使用 ChatterBot 库在 Python 中创建聊天机器人,该库实现了各种机器学习算法来生成响应对话,还是挺不错的

1什么是聊天机器人

聊天机器人也称为聊天机器人、机器人、人工代理等,基本上是由人工智能驱动的软件程序,其目的是通过文本或语音与用户进行对话。我们日常接触的比较著名的例子包括 Siri、Alexa 等这些聊天机器人倾向于为用户执行特定任务,聊天机器人经常执行诸如进行交易、预订酒店、提交表格等任务。随着人工智能领域的技术进步,聊天机器人的可能性也是无穷无尽的当然了,在当前技术下,聊天机器人还是有很多局限性的
  • 领域知识 —— 由于真正的人工智能仍然遥不可及,任何聊天机器人在与人类对话时都很难完全理解对话含义


  • 个性 —— 无法正确响应和相当差的理解能力比任何聊天机器人的常见错误更重要,为聊天机器人添加个性仍然是很遥远和困难的事情


我们可以将聊天机器人定义为两类
  • 基于特定规则 —— 在这种方法中,机器人是根据规则进行训练的。基于此,机器人可以回答简单的查询,但有时无法回答复杂的对话


  • 自学 —— 这些机器人遵循机器学习方法,效率更高,并进一步分为另外两类


    • 基于检索模型 —— 在这种方法中,机器人根据用户输入从响应列表中检索最佳响应


    • 生成模型 —— 这些模型通常会给出答案,而不是从一组答案中进行搜索,这也使它们成为智能机器人


好了,高大上的聊天机器人知识就先介绍到这里,下面我们就通过 chatterbot 来构建一个简单的在线聊天机器人


2ChatterBot 库简介

ChatterBot 是 Python 中的一个库,它生成对用户输入的响应,使用多种机器学习算法来产生各种响应。用户可以更轻松地使用 ChatterBot 库制作具有更准确响应的聊天机器人ChatterBot 的设计允许机器人接受多种语言的训练,最重要的是,机器学习算法使机器人更容易使用用户的输入自行改进ChatterBot 可以轻松创建参与对话的软件,每次聊天机器人从用户那里获得输入时,它都会保存输入和响应,这有助于没有初始知识的聊天机器人使用收集到的响应进行自我进化随着响应的增加,聊天机器人的准确性也会提高。程序从与输入匹配的最接近匹配语句中选择最接近匹配的响应,然后从该响应的已知语句选择中选择响应安装 ChatterBot 也非常简单pip install chatterbot
下面我们就正式进入 Chatterbot 的世界吧

3构建聊天机器人

机器人训练

Chatterbot 带有一个数据实用程序模块,可用于训练聊天机器人。目前该模块中有十多种语言的训练数据,我们可以拿来直接使用
https://github.com/gunthercox/chatterbot-corpus
下面是在 python 中开始使用 ChatterBot 的简单示例from chatterbot import chatbot
from chatterbot.trainers import ListTrainer

chatbot = Chatbot('Edureka')
trainer = ListTrainer(chatbot)
trainer.train([ 'hi, can I help you find a course', 'sure I'd love to find you a course', 'your course have been selected'])

response = chatbot.get_response("I want a course")
print(response)
在例子中,我们根据提供的输入从聊天机器人获得响应

构建 flask app

对于基本的 flask 结构,我们直接使用 GitHub 上的一个脚手架,这个是专门用来开发 ChatterBot 应用的
https://github.com/chamkank/flask-chatterbot
我们直接克隆项目就好把项目下载到本地之后,我们进行一些修改我们需要为 HTML 和 CSS 文件添加另外两个目录 static 和模板
修改 App.py 文件from flask import Flask, render_template, request
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer

app = Flask(__name__)

english_bot = ChatBot("Chatterbot", storage_adapter="chatterbot.storage.SQLStorageAdapter")
trainer = ChatterBotCorpusTrainer(english_bot)
trainer.train("chatterbot.corpus.english")

@app.route("/")
def home():
return render_template("index.html")

@app.route("/get")
def get_bot_response():
userText = request.args.get('msg')
return str(english_bot.get_response(userText))


if __name__ == "__main__":
app.run()
index.html 文件html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="/static/style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

人工智能业务聊天机器人/虚拟数字助手(VDA)市场将仍然由强大且多元化的供应商生态系统提供服务。Omdia在一份最新报告中表示,与广泛的供应商评估和传统技术市场趋势相反,聊天机器人/VDA解决方案不会由少数大品牌供应商主...

关键字: 聊天机器人 生态系统 人工智能 虚拟数字

北京2022年8月11日 /美通社/ -- 近年来,人工智能发展迅速,各种新奇的应用场景让人们叹为观止。比如,人工智能创作音乐、绘画等领域,都打破了人们通常认知。因为,人们普遍认为它更擅长计算类的、理性的事情,...

关键字: AI 聊天机器人 人工智能 数字媒体

  当你走进餐厅,给你送餐的不是服务员,而是一个机器人;当你走进银行,想要咨询业务并非一定要找大堂经理,机器人也可以回答你;当清晨第一缕阳光到来时,机器人会帮你打开窗帘,用你最喜欢的方式唤醒你;

关键字: 教育机器人 服务机器人 聊天机器人

  11月15日消息据外媒(venturebeat)报道,自三千年前苏美尔人发明了其独特的象形文字以来,信息的储存、检索,操控与传播伴随人类发展至今。随着时间流逝和技术的演化,人们交流和推动信息

关键字: 人工智能 聊天机器人

  如果我们回顾AI领域在过去50年的演变与发展,最大的成就莫过于为AI研究开天辟地的算法。或许在未来的10年内,我们将不会觉得聊天机器人有何特别之处,而是将它视为类似app或是亟待想象的一种黑

关键字: 人工智能 服务机器人 聊天机器人

       随着人工智能与传统行业的逐步结合,以及政策的不断扶持,人工智能产业链将进一步完善。在众多人工智能布局风口中,聊天机器人与智能家居无疑是热点中的热点

关键字: 人工智能 智能家居 聊天机器人

聊天机器人是指可以透过文字、声音或图片和用户对话的计算机程序。它的兴起,主要是建立在实时通讯软件蓬勃发展的基础之上。相较于社交软件成长趋缓的态势,实时通讯软件的使用频率更高、亲密度更强,眼看已成为使用

关键字: 机器人 聊天机器人 商务机器人

  这些实现将以新一类智能应用程序和智能物件的形式呈现,并为各种各样的网格设备及现有软件和服务解决方案提供嵌入式智能。   据Business Insider报道,Gartner和Tec

关键字: AI ar 智能眼镜 聊天机器人

  三联商社股份有限公司昨日发布公告,公司决定不再从事家电零售业务,继而全面转战智能移动终端领域。如此一来,作为三联商社全资子公司的德景电子得以借壳登陆A股。   家电零售业务增长缓慢

关键字: AI ar vr 网络安全 聊天机器人

AI科技大本营

110 篇文章

关注

发布文章

编辑精选

技术子站

关闭