最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2021年03月15日 14:36:03   作者:Yuki-lsq  
這篇文章主要介紹了Python模擬簡(jiǎn)易版淘寶客服機(jī)器人的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

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

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

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

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ù)庫(kù)(密碼馬賽克一下)
#導(dǎo)入表格到數(shù)據(jù)庫(kù)中
data.to_sql('shopping_informations',db,index=False,if_exists='append')

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

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

利用Python中的pymysql包,先對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接并使用cursor()方法獲取操作游標(biāo)。然后分別對(duì)發(fā)貨時(shí)間、發(fā)貨地、商品單號(hào)和商品狀態(tài)進(jìn)行函數(shù)定義,執(zhí)行相關(guān)sql語句對(duì)數(shù)據(jù)庫(kù)信息進(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("親您所購(gòu)買的寶貝計(jì)劃在%s進(jìn)行發(fā)貨~預(yù)計(jì)將會(huì)在%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("親您所購(gòu)買的寶貝計(jì)劃從%s發(fā)出~不要著急喲" % result2[0])
  except:
    print("哎呀!機(jī)器客服這邊暫時(shí)找不到相關(guān)數(shù)據(jù)嗚嗚嗚~親可以聯(lián)系一下人工客服")
    conn.close()
   
def ID():#商品單號(hào)
  id_sql = "SELECT ID FROM shopping_informations"
  try:
    cursor.execute(id_sql)
    result3 = cursor.fetchone()
    print("親您所購(gòu)買的寶貝單號(hào)是%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("親您所購(gòu)買的寶貝現(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ù)庫(kù)中無法找到對(duì)應(yīng)數(shù)據(jù)時(shí),可以讓客戶聯(lián)系人工客服。

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

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

str1 = ""
def answer_robot(str1):
  if re.search(r'.*快遞(.*)?',str1):#涉及到快遞公司的問題
    str2 = "親!我們店統(tǒng)一默認(rèn)發(fā)百世匯通,按倉(cāng)擇優(yōu)分配快遞,不能指定喲~請(qǐng)諒解!"
  elif re.search(r'.*狀態(tài)(.*)?',str1):#涉及到商品狀態(tài)的問題
    str2 = state()
  elif re.search(r'(\w)?[編號(hào)|單號(hào)|貨號(hào)]\w',str1):#涉及到商品單號(hào)的問題
    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("輸入對(duì)話:")
    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í)會(huì)出現(xiàn)一定的錯(cuò)誤,精確度不高
3、分別用sql語句獲取不同購(gòu)物信息會(huì)有些累贅,可以直接獲取整個(gè)數(shù)據(jù)庫(kù)的購(gòu)物表,再利用pd中的dataframe來接受并提取其中的信息

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

相關(guān)文章

  • python跨文件夾調(diào)用別的文件夾下py文件或參數(shù)方式詳解

    python跨文件夾調(diào)用別的文件夾下py文件或參數(shù)方式詳解

    這篇文章主要給大家介紹了關(guān)于python跨文件夾調(diào)用別的文件夾下py文件或參數(shù)方式的相關(guān)資料,在python中有時(shí)候我們需要調(diào)用另一.py文件中的方法或者類,需要的朋友可以參考下
    2023-08-08
  • Pandas實(shí)現(xiàn)DataFrame的簡(jiǎn)單運(yùn)算、統(tǒng)計(jì)與排序

    Pandas實(shí)現(xiàn)DataFrame的簡(jiǎn)單運(yùn)算、統(tǒng)計(jì)與排序

    本文主要介紹了Pandas實(shí)現(xiàn)DataFrame的簡(jiǎn)單運(yùn)算、統(tǒng)計(jì)與排序,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • python3獲取文件中url內(nèi)容并下載代碼實(shí)例

    python3獲取文件中url內(nèi)容并下載代碼實(shí)例

    這篇文章主要介紹了python3獲取文件中url內(nèi)容并下載代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 一文帶你安裝opencv與常用庫(kù)(保姆級(jí)教程)

    一文帶你安裝opencv與常用庫(kù)(保姆級(jí)教程)

    Python OpenCV是一種流行的計(jì)算機(jī)視覺庫(kù),使用它可以進(jìn)行圖像處理、視頻處理等操作,下面這篇文章主要給大家介紹了關(guān)于安裝opencv與常用庫(kù)的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • python寫入文件如何取消自動(dòng)換行

    python寫入文件如何取消自動(dòng)換行

    這篇文章主要介紹了python寫入文件如何取消自動(dòng)換行問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 如何使用python對(duì)圖片進(jìn)行批量壓縮詳解

    如何使用python對(duì)圖片進(jìn)行批量壓縮詳解

    對(duì)于圖片強(qiáng)行被定義高和寬會(huì)變形,我們希望圖片被改變大小后,比例保持不變,完成對(duì)圖片的壓縮,下面這篇文章主要給大家介紹了關(guān)于如何使用python對(duì)圖片進(jìn)行批量壓縮的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Python可視化單詞統(tǒng)計(jì)詞頻統(tǒng)計(jì)中文分詞的實(shí)現(xiàn)步驟

    Python可視化單詞統(tǒng)計(jì)詞頻統(tǒng)計(jì)中文分詞的實(shí)現(xiàn)步驟

    這篇文章主要介紹了Python可視化單詞統(tǒng)計(jì)詞頻統(tǒng)計(jì)中文分詞,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-11-11
  • python+opencv實(shí)現(xiàn)論文插圖局部放大并拼接效果

    python+opencv實(shí)現(xiàn)論文插圖局部放大并拼接效果

    在做圖像數(shù)據(jù)標(biāo)注時(shí),很難一次就做到精準(zhǔn)標(biāo)注,如果目標(biāo)比較小,即使微調(diào)也難以做到精準(zhǔn),所以就需要另外一個(gè)窗口對(duì)標(biāo)注區(qū)域進(jìn)行局部放大以方便微調(diào),這篇文章主要給大家介紹了關(guān)于python+opencv實(shí)現(xiàn)論文插圖局部放大并拼接效果的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • Python的互斥鎖與信號(hào)量詳解

    Python的互斥鎖與信號(hào)量詳解

    這篇文章主要介紹了Python的互斥鎖與信號(hào)量詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 使用BeautifulSoup和Pandas進(jìn)行網(wǎng)頁數(shù)據(jù)抓取與清洗處理

    使用BeautifulSoup和Pandas進(jìn)行網(wǎng)頁數(shù)據(jù)抓取與清洗處理

    在數(shù)據(jù)分析和機(jī)器學(xué)習(xí)的項(xiàng)目中,數(shù)據(jù)的獲取,清洗和處理是非常關(guān)鍵的步驟,下面我們就來講講如何利用Python中的Beautiful Soup庫(kù)進(jìn)行這樣的操作吧
    2025-02-02

最新評(píng)論

通许县| 新乡市| 黄山市| 岗巴县| 图们市| 临潭县| 香港 | 错那县| 嘉荫县| 桐梓县| 绥阳县| 鱼台县| 龙岩市| 开封市| 永安市| 桐乡市| 巴林左旗| 诸暨市| 芮城县| 久治县| 洪江市| 禹城市| 五常市| 平果县| 固镇县| 高碑店市| 景泰县| 名山县| 六安市| 斗六市| 綦江县| 张家港市| 台东县| 黄浦区| 盈江县| 比如县| 苗栗县| 东安县| 宣汉县| 西宁市| 肃北|