Python模拟简易版淘宝客服机器人的示例代码
阅读并理解代码示例,模仿编写 #生活技巧# #数码产品使用技巧# #编程入门指南#
这篇文章主要介绍了Python模拟简易版淘宝客服机器人的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
对于用Python制作一个简易版的淘宝客服机器人,大概思路是:首先从数据库中用sql语句获取相关数据信息并将其封装成函数,然后定义机器问答的主体函数,对于问题的识别可以利用正则表达式来进行分析,结合现实情况选择答案,最后在执行时可以设置循环语句,并且在每次回答间隔1s方便进一步做并发处理作为未来优化方向。从以下几个方面分别实现:
1、货物信息储存到MySQL数据库中
在现实情景中,购物信息的数据一般会储存到数据库中,方便在进行问答时才访问数据库获取相关信息,可以用Python中的sqlalchemy包把表格导入到MySQL数据库中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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)
db = 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语句对数据库信息进行提取:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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、利用正则表达式对问句进行识别
对于客户所输入的问题,用正则表达式对其进行分析识别,选择相应的答案进行回答,当问题超过答案范围,可以让客户联系人工客服:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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的时间。因为在实际情景中,客服机器人需要在并发的情况下实现,也就是说存在多人同时使用客服机器人的情况:
1
2
3
4
5
6
def main():
while True:
str1 = input("输入对话:")
str3 = answer_robot(str1)
time.sleep(1)
print(str3)
利用PowerShell运行改py文件,结果如下图(ctrl+c终止程序):
优化方向:
1、进一步利用1s间隔时间做并发处理,模拟现实生活中多人同时使用客服机器人
2、进一步优化正则表达式的书写,从结果截图可以看出在一些回答上机器人在选择答案时会出现一定的错误,精确度不高
3、分别用sql语句获取不同购物信息会有些累赘,可以直接获取整个数据库的购物表,再利用pd中的dataframe来接受并提取其中的信息
到此这篇关于Python模拟简易版淘宝客服机器人的示例代码的文章就介绍到这了,更多相关Python 淘宝客服机器人内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
Python实战整活之聊天机器人python通过Seq2Seq实现闲聊机器人Python如何实现机器人聊天python操作微信自动发消息的实现(微信聊天机器人)python使用自定义钉钉机器人的示例代码Python使用20行代码实现微信聊天机器人Python实现发票自动校核微信机器人的方法Python第三方包之DingDingBot钉钉机器人python爬虫之生活常识解答机器人原文链接:https://www.cnblogs.com/Ukiii/p/14536707.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!
网址:Python模拟简易版淘宝客服机器人的示例代码 https://www.yuejiaxmz.com/news/view/386704
相关内容
pyenv =》python 版本和python 开发工作环境管理神器下载揭秘Python虚拟助手:与未来的对话
一款Python实用神器,5 行 Python 代码 实现一键批量扣图
python 智能家居控制模块
Python虚拟助手与自然语言理解
如何利用Python构建智能虚拟助手
虚拟现实生活模拟器app下载 虚拟现实生活模拟器最新版 for Android v3.50.2 安卓手机版 下载
虚拟生活模拟器游戏手机版下载
,车祸模拟器正版下载
虚拟现实生活模拟器手机版下载