我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用Python编写一个简易客服机器人

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用Python编写一个简易客服机器人

使用Python编写一个简易客服机器人?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1、货物信息储存到MySQL数据库中

在现实情景中,购物信息的数据一般会储存到数据库中,方便在进行问答时才访问数据库获取相关信息,可以用Python中的sqlalchemy包把表格导入到MySQL数据库中:

import pymysqlimport pandas as pdimport sqlalchemy as sqlafrom sqlalchemy.orm import sessionmakerimport timeimport re#导入数据data = pd.read_excel(r"E:/1/Study/大三下/自然语言处理/作业表.xlsx")data = data.head(1)#datadb = sqla.create_engine('mysql+pymysql://root:******@localhost/lsq?charset=utf8')#连接数据库(密码马赛克一下)#导入表格到数据库中data.to_sql('shopping_informations',db,index=False,if_exists='append')

运行结果如下:

使用Python编写一个简易客服机器人

2、在问答过程中可以访问数据库获取结果

利用Python中的pymysql包,先对数据库进行连接并使用cursor()方法获取操作游标。然后分别对发货时间、发货地、商品单号和商品状态进行函数定义,执行相关sql语句对数据库信息进行提取:

conn = pymysql.connect("localhost","root","******","lsq")#*为密码cursor = conn.cursor()def start_time():#发货时间  starttime_sql = "SELECT START_RIME FROM shopping_informations"  try:    cursor.execute(starttime_sql)    result1 = cursor.fetchall()    print("亲您所购买的宝贝计划在%s进行发货~预计将会在%s不要着急哟" % result1[0])  except:    print("哎呀!机器客服这边暂时找不到相关数据呜呜呜~亲可以联系一下人工客服")    conn.close()def start_local():#发货地  startlocal_sql = "SELECT START_LOCAL FROM shopping_informations"  try:    cursor.execute(startlocal_sql)    result2 = cursor.fetchone()    print("亲您所购买的宝贝计划从%s发出~不要着急哟" % result2[0])  except:    print("哎呀!机器客服这边暂时找不到相关数据呜呜呜~亲可以联系一下人工客服")    conn.close()   def ID():#商品单号  id_sql = "SELECT ID FROM shopping_informations"  try:    cursor.execute(id_sql)    result3 = cursor.fetchone()    print("亲您所购买的宝贝单号是%s" % result3[0])  except:    print("哎呀!机器客服这边暂时找不到相关数据呜呜呜~亲可以联系一下人工客服")    conn.close()def state():#商品状态  state_sql = "SELECT STATE FROM shopping_informations"  try:    cursor.execute(state_sql)    result4 = cursor.fetchone()    print("亲您所购买的宝贝现在在%s中~不要着急哟" % result4[0])  except:    print("哎呀!机器客服这边暂时找不到相关数据呜呜呜~亲可以联系一下人工客服")  conn.close()

其中,在函数定义里加入了try-except异常捕捉部分,当问句发生错误或者在数据库中无法找到对应数据时,可以让客户联系人工客服。

3、利用正则表达式对问句进行识别

对于客户所输入的问题,用正则表达式对其进行分析识别,选择相应的答案进行回答,当问题超过答案范围,可以让客户联系人工客服:

str1 = ""def answer_robot(str1):  if re.search(r'.*快递(.*)?',str1):#涉及到快递公司的问题    str2 = "亲!我们店统一默认发百世汇通,按仓择优分配快递,不能指定哟~请谅解!"  elif re.search(r'.*状态(.*)?',str1):#涉及到商品状态的问题    str2 = state()  elif re.search(r'(\w)?[编号|单号|货号]\w',str1):#涉及到商品单号的问题    str2 = ID()  elif re.search( r'(\w)?[哪里|发货地]\w',str1):#涉及到商品发货地的问题    str2 = start_local()  elif re.search( r'(\w)?[时间|时候]\w',str1):#涉及到商品发货时间的问题    str2 = start_time()  else:    str2 = "呜呜呜问题太复杂啦!建议亲找人工姐姐哟~"  return str2

最后,定义主体函数,其中每次问答需要休眠1s的时间。因为在实际情景中,客服机器人需要在并发的情况下实现,也就是说存在多人同时使用客服机器人的情况:

def main():  while True:#可以循环多次使用(ctrl+c结束程序)    str1 = input("输入对话:")    str3 = answer_robot(str1)    time.sleep(1)    print(str3)

利用PowerShell运行改py文件,结果如下图(ctrl+c终止程序):

使用Python编写一个简易客服机器人

优化方向:

进一步利用1s间隔时间做并发处理,模拟现实生活中多人同时使用客服机器人
2、进一步优化正则表达式的书写,从结果截图可以看出在一些回答上机器人在选择答案时会出现一定的错误,精确度不高
3、分别用sql语句获取不同购物信息会有些累赘,可以直接获取整个数据库的购物表,再利用pd中的dataframe来接受并提取其中的信息

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用Python编写一个简易客服机器人

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用Python编写一个简易客服机器人

使用Python编写一个简易客服机器人?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、货物信息储存到MySQL数据库中在现实情景中,购物信息的数据一般会储存到
2023-06-14

使用nodejs、Python写的一个简易HTTP静态文件服务器

日常开发过程中,我们经常需要修改一些放在 CDN 上的静态文件(如 JavaScript、CSS、HTML 文件等),这个过程中,我们希望能有一种方式将线上 CDN 的目录映射为本地硬盘上的某个目录,这样,当我们在本地修改了某个文件时,不需
2022-06-04

如何使用Python写一个简易版弹球游戏

这篇文章主要介绍如何使用Python写一个简易版弹球游戏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!先看一下我们的最终效果图我们分9步来讲解如何写这个小游戏1.创建游戏的主界面我们用Python的内置模块Tkint
2023-06-14

如何使用Python实现一个简易版Web服务器

今天小编给大家分享一下如何使用Python实现一个简易版Web服务器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、简介我
2023-07-05

教你使用Python实现一个简易版Web服务器

这篇文章主要介绍了教你使用Python实现一个简易版Web服务器,本篇文章将通过实现一个简易版的Web服务器,帮助读者理解Python网络编程的基本概念和技巧,需要的朋友可以参考下
2023-05-14

基于Python编写一个简单的http服务器

这篇文章主要为大家详细介绍了如何基于Python编写一个简单的http服务器,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下
2023-05-17

如何使用C++编写一个简单的人事管理系统?

如何使用C++编写一个简单的人事管理系统?人事管理系统是一个用于管理和维护组织内人力资源相关信息的软件。它可以帮助组织进行员工管理、薪资核算、考勤统计、福利发放等工作。本文将介绍如何使用C++编写一个简单的人事管理系统,帮助读者理解人事管理
如何使用C++编写一个简单的人事管理系统?
2023-11-02

使用JavaScript编写一个随机点名器

这篇文章给大家介绍使用JavaScript编写一个随机点名器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点击,给用户提供更好的体验。2.可以处理表单
2023-06-06

用python写一个预警机器人(支持微信

背景线上的系统在运行中,发生故障时怎么及时的通过手机通知到相关人员?当然这是个很简单的需求,现有的方法有很多,例如:如果我们用的云产品,那么一般都会有配套对应的监控预警功能,根据需要配置一下即可,支持短信,邮箱通知。如果我们已经搭建了一套运
2023-01-31

怎么使用Python编写一个简单的垃圾邮件分类器

这篇文章主要介绍“怎么使用Python编写一个简单的垃圾邮件分类器”,在日常操作中,相信很多人在怎么使用Python编写一个简单的垃圾邮件分类器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Pytho
2023-07-06

怎样用Python写了一个智能机器人来聊天

这篇文章将为大家详细讲解有关怎样用Python写了一个智能机器人来聊天,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。人工智能已是趋势,智能酒店,智能网吧,无人驾驶等等都已经实现,过不了多久,
2023-06-16

使用Python编写并实现一个具备人工智能的聊天机器人(包含代码和步骤)

聊天机器人是一种人工智能,它通过应用程序或消息来模拟与用户的对话。本文我们将使用Pytho的chatterbot库来实现聊天机器人。该库生成对用户输入的自动响应。响应基于库中实现的机器学习算法。机器学习算法使聊天机器人在收集用户响应时更容
使用Python编写并实现一个具备人工智能的聊天机器人(包含代码和步骤)
2024-01-22

基于Python编写一个简单的服务注册发现服务器

我们都知道有很多的非常著名的注册服务器,例如: Consul、ZooKeeper、etcd,甚至借助于redis完成服务注册发现。但是本篇文章我们将使用python socket写一个非常简单的服务注册发现服务器,感兴趣的可以了解一下
2023-05-16

怎么用Python写一个自动化机器人消灭广告

这篇文章主要介绍“怎么用Python写一个自动化机器人消灭广告”,在日常操作中,相信很多人在怎么用Python写一个自动化机器人消灭广告问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python写一个自
2023-06-16

如何在python中使用PyAutoGui编写一个计算器

这篇文章将为大家详细讲解有关如何在python中使用PyAutoGui编写一个计算器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python可以做什么Python是一种编程语言,内置了许多
2023-06-07

使用python实现一个简单ping pong服务器

这篇文章主要为大家介绍了使用python实现一个简单ping pong服务器,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-05-16

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录