婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python模擬簡易版淘寶客服機(jī)器人的示例代碼

Python模擬簡易版淘寶客服機(jī)器人的示例代碼

熱門標(biāo)簽:西藏快速地圖標(biāo)注地點(diǎn) n400電話申請多少錢 如何在地圖標(biāo)注文字 廈門crm外呼系統(tǒng)如何 長春人工智能電銷機(jī)器人官網(wǎng) ai地圖標(biāo)注 地圖標(biāo)注推廣單頁 女王谷地圖標(biāo)注 百應(yīng)ai電銷機(jī)器人鄭州

對于用Python制作一個(gè)簡易版的淘寶客服機(jī)器人,大概思路是:首先從數(shù)據(jù)庫中用sql語句獲取相關(guān)數(shù)據(jù)信息并將其封裝成函數(shù),然后定義機(jī)器問答的主體函數(shù),對于問題的識別可以利用正則表達(dá)式來進(jìn)行分析,結(jié)合現(xiàn)實(shí)情況選擇答案,最后在執(zhí)行時(shí)可以設(shè)置循環(huán)語句,并且在每次回答間隔1s方便進(jìn)一步做并發(fā)處理作為未來優(yōu)化方向。從以下幾個(gè)方面分別實(shí)現(xiàn):

1、貨物信息儲存到MySQL數(shù)據(jù)庫中

在現(xiàn)實(shí)情景中,購物信息的數(shù)據(jù)一般會儲存到數(shù)據(jù)庫中,方便在進(jìn)行問答時(shí)才訪問數(shù)據(jù)庫獲取相關(guān)信息,可以用Python中的sqlalchemy包把表格導(dǎo)入到MySQL數(shù)據(jù)庫中:

import pymysql
import pandas as pd
import sqlalchemy as sqla
from sqlalchemy.orm import sessionmaker
import time
import re

#導(dǎo)入數(shù)據(jù)
data = pd.read_excel(r"E:/1/Study/大三下/自然語言處理/作業(yè)表.xlsx")
data = data.head(1)
#data

db = sqla.create_engine('mysql+pymysql://root:******@localhost/lsq?charset=utf8')#連接數(shù)據(jù)庫(密碼馬賽克一下)
#導(dǎo)入表格到數(shù)據(jù)庫中
data.to_sql('shopping_informations',db,index=False,if_exists='append')

運(yùn)行結(jié)果如下:

2、在問答過程中可以訪問數(shù)據(jù)庫獲取結(jié)果

利用Python中的pymysql包,先對數(shù)據(jù)庫進(jìn)行連接并使用cursor()方法獲取操作游標(biāo)。然后分別對發(fā)貨時(shí)間、發(fā)貨地、商品單號和商品狀態(tài)進(jìn)行函數(shù)定義,執(zhí)行相關(guān)sql語句對數(shù)據(jù)庫信息進(jìn)行提?。?/p>

conn = pymysql.connect("localhost","root","******","lsq")#*為密碼
cursor = conn.cursor()

def start_time():#發(fā)貨時(shí)間
  starttime_sql = "SELECT START_RIME FROM shopping_informations"
  try:
    cursor.execute(starttime_sql)
    result1 = cursor.fetchall()
    print("親您所購買的寶貝計(jì)劃在%s進(jìn)行發(fā)貨~預(yù)計(jì)將會在%s不要著急喲" % result1[0])
  except:
    print("哎呀!機(jī)器客服這邊暫時(shí)找不到相關(guān)數(shù)據(jù)嗚嗚嗚~親可以聯(lián)系一下人工客服")
    conn.close()

def start_local():#發(fā)貨地
  startlocal_sql = "SELECT START_LOCAL FROM shopping_informations"
  try:
    cursor.execute(startlocal_sql)
    result2 = cursor.fetchone()
    print("親您所購買的寶貝計(jì)劃從%s發(fā)出~不要著急喲" % result2[0])
  except:
    print("哎呀!機(jī)器客服這邊暫時(shí)找不到相關(guān)數(shù)據(jù)嗚嗚嗚~親可以聯(lián)系一下人工客服")
    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("哎呀!機(jī)器客服這邊暫時(shí)找不到相關(guān)數(shù)據(jù)嗚嗚嗚~親可以聯(lián)系一下人工客服")
    conn.close()

def state():#商品狀態(tài)
  state_sql = "SELECT STATE FROM shopping_informations"
  try:
    cursor.execute(state_sql)
    result4 = cursor.fetchone()
    print("親您所購買的寶貝現(xiàn)在在%s中~不要著急喲" % result4[0])
  except:
    print("哎呀!機(jī)器客服這邊暫時(shí)找不到相關(guān)數(shù)據(jù)嗚嗚嗚~親可以聯(lián)系一下人工客服")
  conn.close() 

其中,在函數(shù)定義里加入了try-except異常捕捉部分,當(dāng)問句發(fā)生錯(cuò)誤或者在數(shù)據(jù)庫中無法找到對應(yīng)數(shù)據(jù)時(shí),可以讓客戶聯(lián)系人工客服。

3、利用正則表達(dá)式對問句進(jìn)行識別

對于客戶所輸入的問題,用正則表達(dá)式對其進(jìn)行分析識別,選擇相應(yīng)的答案進(jìn)行回答,當(dāng)問題超過答案范圍,可以讓客戶聯(lián)系人工客服:

str1 = ""
def answer_robot(str1):
  if re.search(r'.*快遞(.*)?',str1):#涉及到快遞公司的問題
    str2 = "親!我們店統(tǒng)一默認(rèn)發(fā)百世匯通,按倉擇優(yōu)分配快遞,不能指定喲~請諒解!"
  elif re.search(r'.*狀態(tài)(.*)?',str1):#涉及到商品狀態(tài)的問題
    str2 = state()
  elif re.search(r'(\w)?[編號|單號|貨號]\w',str1):#涉及到商品單號的問題
    str2 = ID()
  elif re.search( r'(\w)?[哪里|發(fā)貨地]\w',str1):#涉及到商品發(fā)貨地的問題
    str2 = start_local()
  elif re.search( r'(\w)?[時(shí)間|時(shí)候]\w',str1):#涉及到商品發(fā)貨時(shí)間的問題
    str2 = start_time()
  else:
    str2 = "嗚嗚嗚問題太復(fù)雜啦!建議親找人工姐姐喲~"
  return str2

最后,定義主體函數(shù),其中每次問答需要休眠1s的時(shí)間。因?yàn)樵趯?shí)際情景中,客服機(jī)器人需要在并發(fā)的情況下實(shí)現(xiàn),也就是說存在多人同時(shí)使用客服機(jī)器人的情況:

def main():
  while True:#可以循環(huán)多次使用(ctrl+c結(jié)束程序)
    str1 = input("輸入對話:")
    str3 = answer_robot(str1)
    time.sleep(1)
    print(str3)

利用PowerShell運(yùn)行改py文件,結(jié)果如下圖(ctrl+c終止程序):

優(yōu)化方向:

1、進(jìn)一步利用1s間隔時(shí)間做并發(fā)處理,模擬現(xiàn)實(shí)生活中多人同時(shí)使用客服機(jī)器人
2、進(jìn)一步優(yōu)化正則表達(dá)式的書寫,從結(jié)果截圖可以看出在一些回答上機(jī)器人在選擇答案時(shí)會出現(xiàn)一定的錯(cuò)誤,精確度不高
3、分別用sql語句獲取不同購物信息會有些累贅,可以直接獲取整個(gè)數(shù)據(jù)庫的購物表,再利用pd中的dataframe來接受并提取其中的信息

到此這篇關(guān)于Python模擬簡易版淘寶客服機(jī)器人的示例代碼的文章就介紹到這了,更多相關(guān)Python 淘寶客服機(jī)器人內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python實(shí)戰(zhàn)整活之聊天機(jī)器人
  • python通過Seq2Seq實(shí)現(xiàn)閑聊機(jī)器人
  • Python如何實(shí)現(xiàn)機(jī)器人聊天
  • python操作微信自動發(fā)消息的實(shí)現(xiàn)(微信聊天機(jī)器人)
  • python使用自定義釘釘機(jī)器人的示例代碼
  • Python使用20行代碼實(shí)現(xiàn)微信聊天機(jī)器人
  • Python實(shí)現(xiàn)發(fā)票自動校核微信機(jī)器人的方法
  • Python第三方包之DingDingBot釘釘機(jī)器人
  • python爬蟲之生活常識解答機(jī)器人

標(biāo)簽:黔東 拉薩 綿陽 渭南 廊坊 亳州 內(nèi)江 興安盟

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python模擬簡易版淘寶客服機(jī)器人的示例代碼》,本文關(guān)鍵詞  Python,模擬,簡易,版淘,寶,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python模擬簡易版淘寶客服機(jī)器人的示例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python模擬簡易版淘寶客服機(jī)器人的示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 佛教| 太康县| 团风县| 区。| 旅游| 且末县| 遵义县| 清涧县| 皋兰县| 枣庄市| 汉中市| 金门县| 江山市| 肇州县| 饶阳县| 阳泉市| 庆安县| 林州市| 肥乡县| 岢岚县| 遵义县| 舞阳县| 澎湖县| 仪陇县| 皮山县| 平定县| 灯塔市| 锦州市| 洞口县| 任丘市| 通辽市| 十堰市| 嘉祥县| 繁昌县| 教育| 霍邱县| 大港区| 和平县| 利川市| 峡江县| 浮山县|