对于用Python制作一个简易版的淘宝客服机器人,大概思路是:首先从数据库中用sql语句获取相关数据信息并将其封装成函数,然后定义机器问答的主体函数,对于问题的识别可以利用正则表达式来进行分析,结合现实情况选择答案,最后在执行时可以设置循环语句,并且在每次回答间隔1s方便进一步做并发处理作为未来优化方向。从以下几个方面分别实现:

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

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

import pymysql
import pandas as pd
import sqlalchemy as sqla
from sqlalchemy.orm import sessionmaker
import time
import 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')

运行结果如下:

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

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

onn = 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终止程序):

优化方向:

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

Python模拟简易版淘宝客服机器人相关推荐

  1. 使用 Python 全栈打造淘宝客微信机器人

    1 .前言 1.1.什么是淘宝客 相信很多人都听过或者接触过各类导购 APP.QQ 群.微信群分享一些淘宝商品的优惠券或是其他的优惠信息. 用户可以在这些渠道上获取到相较于从淘宝平台搜索出来的商品更加 ...

  2. python 淘宝客服 机器人_Python实现资源代下|实现机器值守|全自动淘宝自动发货机器人...

    原标题:Python实现资源代下|实现机器值守|全自动淘宝自动发货机器人 发货机器人 帮你实现:淘宝虚拟商品的自动值守.自动资源下载.自动Email发货 1.运作流程 Trip: 使用小附件方式发送邮 ...

  3. Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复)

    Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复) 网课传送门:https://www.bilibili.com/video/BV1Sw411Z779?p=168& ...

  4. Python 模拟淘宝客服小蜜自动回复

    首先,新建一个文本文件做准备: 订单|如果您有任何订单问题,可以登录淘宝账号,点击"我的订单",查看订单详情. 物流|如果您有任何订单问题,可以登录淘宝账号,点击"我的订 ...

  5. python实现千牛客服自动回复语_淘宝客服自动回复语录(客服自动回复大全)

    淘宝客服自动回复语录(客服自动回复大全) 2020-12-05 09:42:32 共7个回答 谁能帮我弄下淘宝的自动回复.就是第一次收到买家信息自动回复什么语句比较好.我离开时回复什么语句比较好 鼠标 ...

  6. 淘宝客服的逆袭之路:拼搏六个月,从6K到12K,我哭了......

    个人基本介绍 我之前的行业是淘宝客服,薪资不高6000左右,没有五险一金的那种,不包吃,不包住,一个月下来去掉吃住,基本上不剩什么钱,考虑转行主要是看python行业薪资高. 我与python之缘 决 ...

  7. 淘宝客服的逆袭之路:拼搏6个月,从6K到12K,我哭了……

    个人基本介绍 我之前的行业是淘宝客服,薪资不高6000左右,没有五险一金的那种,不包吃,不包住,一个月下来去掉吃住,基本上不剩什么钱,考虑转行主要是看python行业薪资高. 我与python之缘 决 ...

  8. 淘宝客服的逆袭之路:拼搏6个月,从6K到12K,我哭了......

    个人基本介绍 我之前的行业是淘宝客服,薪资不高6000左右,没有五险一金的那种,不包吃,不包住,一个月下来去掉吃住,基本上不剩什么钱,考虑转行主要是看python行业薪资高. 我与python之缘 决 ...

  9. 微信个人号客服系统淘宝客发单机器人sdk服务端接口列表

    微信个人号客服系统淘宝客发单机器人sdk服务端接口列表 case HeartBeatReq: {// 客户端发送的心跳包heartBeatReqHandler.handleMsg(ctx, msgVo ...

  10. 淘宝客服如何判定骂人?骂人怎么投诉?

    淘宝客服是淘宝店铺的重要工作人员之一,想要做好淘宝客服并不是容易的事情,医院每天都需要接待很多的客户,且每个客户的性格也是不一样的,那么淘宝客服骂人是怎么评判的呢? 如果淘宝客服有骂人的言论,那么基本 ...

最新文章

  1. 北大BBS2008年毕业生晒工资
  2. DatagridView内容自动换行和换行符换行
  3. Makefile 学习 2 - 基于若干 Blog 的汇总
  4. 设备驱动程序INF文件
  5. mysql系列之5--完全备份和增量备份
  6. elasticsearch Java API 索引API
  7. ie php脚本引擎,使用php重新实现PHP脚本引擎内置函数
  8. 51cto mysql下载_安装MySQL
  9. 验证启用了不安全的HTTP方法
  10. office professional 2010 key
  11. c#多线程总结(纯干货)
  12. react之虚拟DOM的两种创建方式
  13. Hadoop集群环境下网络架构的设计与优化
  14. 计算机原理答题卡,答题卡阅卷机的基本工作原理及特点
  15. 联手华为,北京联通在北京打造不一样的5G慧生活!
  16. 01【托业口语】考试介绍
  17. 互联网日报 | 6月8日 星期二 | 华为30亿成立数字能源公司;阿里明星直播业务“天猫星选”上线;苹果WWDC 2021开幕...
  18. 中国熊果苷市场运营效益及投资盈利预测报告(新版)2022-2027年
  19. 机器视觉怎么和plc通讯
  20. 森林防火监控系统解决方案及标准权威解读

热门文章

  1. 纯CSS3绘制26个英文字母
  2. 今天是星期一,两天后是星期三,5天后是星期六;今天是星期六,3天后是星期二。
  3. Linux 最全的添加开机启动方法
  4. 【模板】普通平衡树,洛谷P3369,splay
  5. 如何删除双系统中的ubuntu
  6. 计算机竞赛奖学金申请书,计算机专业奖学金申请书
  7. FCN——Semantic Segmentation的开山之作之论文解析
  8. 安徽省对口计算机试题答案,安徽省对口高考试卷
  9. Xcode8注释快捷键不能使用
  10. 让你的 Xcode8 继续使用插件