導航:首頁 > 編程語言 > 用python做聊天機器人

用python做聊天機器人

發布時間:2022-09-11 21:07:03

Ⅰ 請教大神,python適合機器人嗎

很適合啊~就是因為人工智慧的大火才帶火了Python,所以Python當然適合機器人了。
利用Python實現QQ,微信聊天機器人,都是可以實現的,很簡單。

Ⅱ python能寫微軟小冰么

聊天機器人已經有了很多很好的實現,比如圖靈機器人、微軟小冰都非常的智能而且語氣都與人類相似。但這並不是一件一勞永逸的事情,在特定的場景下問題的回答是有邊界的或者符合特定業務場景的,所以還是需要可以按需定製開發的機器人。

chatterBot項目是一個用Python實現聊天機器人的開源項目(作者:Gunther Cox,github地址),下面介紹下chatterBot的實現方式以及如何在這個項目的基礎上做定製開發:
chatterBot將一個機器人分為input Adapter、logic Adapter、storage Adapter、output Adapter以及Trainer模塊。
input Adapter: 這個模塊被設計用來獲取並處理用戶輸入,獲取輸入是指自動從外部獲取輸入,比如從gitter room, twitter等這些都是項目自帶的輸入插件。處理用戶輸入是把獲取到的輸入轉化為可以進行下一步處理的Statement對象。Statement對象是對用戶輸入的抽象,包含了輸入的text,附加信息並提供了序列化,對比等方法。input Adapter被設計成為插件式的,所以在實踐當中,我們可以實現自己的input Adapter,比如為每個用戶打上id,這樣輸入就包含了用戶信息,在接下來的處理中就可以根據不同用戶實現不同邏輯了。

logic Adapter: 完成輸入處理後就到了邏輯處理,這依然是一個插件式的設計,主進程在啟動時會將用戶定義的所有邏輯處理插件添加到logic context中,然後交MultiLogicAdapter進行處理,MultiLogicAdapter會依次調用每個logic Adapter,logic Adapter被調用時先執行can_process方式判斷輸入是否可以命中這個邏輯處理插件。比如說 "今天天氣怎麼樣"顯然需要命中天氣邏輯處理插件,但時間邏輯處理插件的can_process方法則應該返回False。在命中後logic Adapter要負責計算出對應的回答(也是包裝成Statement對象)以及可信度(confidence),MultiLogicAdapter會取可信度最高的回答,並進入下一步。項目已經自帶了很多logic Adapter,有close match、close meaning、時間邏輯、數學邏輯,甚至還有情感邏輯,大家可以自己探索。在實踐當中,我們還是需要自己定製開發一些邏輯處理插件,如果我們希望自己的邏輯處理插件優先順序始終高於自帶的插件,可以提高confidence,自帶的邏輯處理插件返回的confidence最大是1,只要confidence比1大就是最高優先順序了。
storage Adapter: 剛才介紹logic Adapter時其實還有一點沒有說明,就是大部分的邏輯處理還是基於訓練集的,在處理時需要與訓練集做匹配,所以這個項目將訓練集的持久化也做成了插件式的,自帶的持久化有文件型(json格式)、mongodb,我們也可以做自己的持久化層,比如支持redis,支持mysql。

output Adapter: 這個模塊就不用詳細介紹了,基本與input Adapter一致,只是這里處理的是輸出。也是插件式設計,所以我們也可以定製開發,比如與騰訊等語音合成服務提供商的介面集成,我們的機器人就可以"開口說話了"。
Trainer: 這個模塊提供訓練機器人的方法,自帶的方法有兩種,一種是通過輸入list來訓練,比如["你好","你好啊"],後者是前者的回答,另一種是通過導入Corpus格式的文件來訓練。如果這兩種方法都沒有辦法滿足的話,我們還可以寫自己的訓練模塊,但總的來說還是要將最終的訓練集轉換成上述兩種類型。

總結: chatterBot這個項目並不是一個非常完善的聊天機器人項目(如果你希望一安裝就獲得一個話嘮一樣的機器人那就可以放棄了),總的來說自帶的功能有限,但是這個項目並不簡單,因為項目本身結構非常清晰,又高度插件化,所以非常適合在此基礎上做定製化開發,so 動手吧。

Ⅲ 請教大神,python適合機器人嗎

很適合啊~就是因為人工智慧的大火才帶火了Python,所以Python當然適合機器人了。
利用Python實現QQ,微信聊天機器人,都是可以實現的,很簡單。
再看看別人怎麼說的。

Ⅳ 如何用python寫聊天機器人

它這個軟體的辨音比IPHONE的要差,我當時找個做英語老師的朋友發音,它一樣辨不出來。只是雞肋一個,沒什麼大用的。

Ⅳ 如何優雅的用Python玩轉語音聊天機器人

所需硬體:
樹莓派B+
人體紅外線感應模塊
內置麥克風攝像頭(實測樹莓派免驅淘寶鏈接)
申請API:
網路語音api
圖靈api
語音聊天機器人實現原理:當有人來到跟前時--》觸發聊天功能,開始以每2s檢測錄制語音--》通過網路語音api合成文字--》傳遞給圖靈api返回回答信息--》通過網路語音合成播放
【人體感應識別部分Python代碼renti.py】


#/usr/bin/python#coding:utf-8import RPi.GPIO as GPIOimport timeimport osimport signalimport atexitGPIO.setmode(GPIO.BCM) GPIO_PIR = 14 GPIO.setup(GPIO_PIR,GPIO.IN) # Echojing = 0dong = 0 sum = 0sum1 = 0oldren = 0sleep = 0def ganying(): i = 0 ok = 0 error = 0 while i < 10: if GPIO.input(GPIO_PIR) == 1 : ok = ok + 1 if GPIO.input(GPIO_PIR) == 0 : error = error + 1 time.sleep(0.01) i = i + 1 ren = ok/(error+1) return ren

1

GPIO_PIR = 14

為 紅外線檢測模塊與樹莓派的針腳,腳本函數返回0表示無人,>0 為有人
【Python語音識別聊天部分robot.py】


#/usr/bin/python# -*- coding:utf-8 -*-import sysreload(sys)sys.setdefaultencoding( "utf-8" )import urllibimport urllib2import jsonimport uuidimport base64import osimport timefrom renti import * #獲取網路tokenappid=7647466apikey="網路API"secretkey="網路API" _url="h.com/oauth/2.0/token?grant_type=client_credentials&client_id=" + apikey + "&client_secret=" + secretkey; y_post=urllib2.urlopen(_url)y_read=y_post.read()y_token=json.loads(y_read)['access_token']#print y_read#print y_token #------------------function------------- def luyin(): os.system('arecord -D plughw:1,0 -c 1 -d 2 1.wav -r 8000 -f S16_LE 2>/dev/null') def fanyi():
#---------------語音識別部分 mac_address="haogeoyes" with open("1.wav",'rb') as f: s_file = f.read() speech_base64=base64.b64encode(s_file).decode('utf-8') speech_length=len(s_file) data_dict = {'format':'wav', 'rate':8000, 'channel':1, 'cuid':mac_address, 'token':y_token, 'lan':'zh', 'speech':speech_base64, 'len':speech_length} json_data = json.mps(data_dict).encode('utf-8') json_length = len(json_data) asr_server = 'm/server_api' request = urllib2.Request(url=asr_server) request.add_header("Content-Type", "application/json") request.add_header("Content-Length", json_length) fs = urllib2.urlopen(url=request, data=json_data) result_str = fs.read().decode('utf-8') json_resp = json.loads(result_str) if json_resp.has_key('result'): out_txt=json_resp['result'][0] else: out_txt="Null" return out_txt def tuling(b): f=urllib.urlopen("23.com/openapi/api?key="此處為圖靈API"&info=%s" % b) f=json.loads(f.read())['text'] return f def hecheng(text,y_token): #text="你好我是機器人牛牛很高興能夠認識你" geturl="u.com/text2audio?tex="+text+"&lan=zh&per=1&pit=9&spd=6&cuid=CCyo6UGf16ggKZGwGpQYL9Gx&ctp=1&tok="+y_token return os.system('omxplayer "%s" > /dev/null 2>&1 '%(geturl)) #return os.system('omxplayer "%s" > /dev/null 2>&1 '%(geturl)) def nowtime(): return time.strftime('%Y-%m-%d %H:%M:%S ') #---------------main-----------------num=0 #num用來判斷是第一次說話,還是在對話過程中first=1 #判斷是不是第一說話 當1000次沒有人動認為是第一次while True: if ganying()!=0: run=open('run.log','a') if first==0: hecheng("你好,我是牛牛機器人,你可以和我聊天,不過說話的時候你必須靠近話筒近一點,",y_token) hecheng("說點什麼吧,2秒鍾內說完哦.",y_token) first=1 #為1一段時間就不執行 num=0 #從新計數 #print ganying() run.write(nowtime()+"說點神馬吧..........."+'\n') print nowtime()+"說點神馬吧.........." luyin() #開始錄音 out=fanyi().encode("utf-8") #翻譯文字 run.write(nowtime()+"我說:"+out+'\n') print nowtime()+"我說:"+out if out == "Null": text="沒有聽清楚你說什麼" os.system('omxplayer "shenme.wav" > /dev/null 2>&1 ') else: text=tuling(out) hecheng(text,y_token) print nowtime()+"牛牛:"+text run.write(nowtime()+"牛牛:"+text+'\n') run.close() else: #print ganying() #調試查看是否為0有人沒人 #print num num=num+1 #num長時間增大說明沒有人在旁邊 if num > 1000: first=0 #0表示第一次說話

萬事俱備 運行nohup python robot.py 哈哈就可以脫離屏幕開始愉快的語音聊天啦
下面看看聊天的日誌記錄吧
後續更新。。。。。。Python如何用語音優雅的控制小車

Ⅵ python能做什麼有趣的東西

python能做什麼有趣的東西?下面給大家介紹35個Python實例:
1. Python3 實現圖片識別
2. Python3 圖片隱寫術

3. 200 行 Python 代碼實現 2048
4. Python實現3D建模工具
5. 使用 Python 定製詞雲
相關推薦:《Python教程》
6. Python3 智能裁切圖片
7.微信變為聊天機器人
8. 使用 Python 解數學方程
9. 使用 Python 創建照片馬賽克
10. Python 基於共現提取《釜山行》人物關系
11. Python 氣象數據分析:《Python 數據分析實戰》
12. NBA常規賽結果預測:利用Python進行比賽數據分析
13. Python 的循環語句和隱含波動率的計算
14. K-近鄰演算法實現手寫數字識別系統
15. 數獨游戲的 Python 實現與破解
16. 基於 Flask 與 MySQL 實現番劇推薦系

17. Python 實現英文新聞摘要自動提取
18. Python 解決哲學家就餐問題
19. Ebay 在線拍賣數據分析
20. 神經網路實現人臉識別任務
21. 使用 Python 解數學方程
22. Python3 實現火車票查詢工具
23. Python 實現埠掃描器
24. Python3 實現可控制肉雞的反向Shell
25. Python 實現 FTP 弱口令掃描器
26. 基於PyQt5 實現地圖中定位相片拍攝位置
27. Python實現網站模擬登陸
28.Python實現簡易區域網視頻聊天工具
29. 基於 TCP 的 python 聊天程序
30. Python3基於Scapy實現DDos
31. 高德API + Python 解決租房問題
32. 基於 Flask 與 RethinkDB 實現TODO List
33. Python3 實現簡單的 Web 伺服器
34. Python 實現 Redis 非同步客戶端
35. 仿 StackOverflow 開發在線問答系統

Ⅶ python可以做哪些有趣的事情

1. Python3 實現色情圖片識別

2. Python3 圖片隱寫術

3. 200 行 Python 代碼實現 2048

4. Python實現3D建模工具

5. 使用 Python 定製詞雲

6. Python3 智能裁切圖片

7.微信變為聊天機器人

8. 使用 Python 解數學方程

9. 使用 Python 創建照片馬賽克

10. Python 基於共現提取《釜山行》人物關系

11. Python 氣象數據分析:《Python 數據分析實戰》

12. NBA常規賽結果預測:利用Python進行比賽數據分析

13. Python 的循環語句和隱含波動率的計算

14. K-近鄰演算法實現手寫數字識別系統

15. 數獨游戲的 Python 實現與破解

16. 基於 Flask 與 MySQL 實現番劇推薦系

17. Python 實現英文新聞摘要自動提取

18. Python 解決哲學家就餐問題

19. Ebay 在線拍賣數據分析

20. 神經網路實現人臉識別任務

21. 使用 Python 解數學方程

22. Python3 實現火車票查詢工具

23. Python 實現埠掃描器

24. Python3 實現可控制肉雞的反向Shell

25. Python 實現 FTP 弱口令掃描器

26. 基於PyQt5 實現地圖中定位相片拍攝位置

27. Python實現網站模擬登陸

28.Python實現簡易區域網視頻聊天工具

29. 基於 TCP 的 python 聊天程序

30. Python3基於Scapy實現DDos

31. 高德API + Python 解決租房問題

32. 基於 Flask 與 RethinkDB 實現TODO List

Ⅷ 推薦幾個適合新手練手的Python項目

《Python實戰:四周實現爬蟲系統》網路網盤免費下載

鏈接:

提取碼: xb

Python實戰:四周實現爬蟲系統

閱讀全文

與用python做聊天機器人相關的資料

熱點內容
dos選擇命令 瀏覽:16
apm固件編譯到單片機 瀏覽:120
聯通深藍卡都包含什麼app 瀏覽:263
如何判斷網路伺服器正常 瀏覽:649
路由器搭橋遠端伺服器地址是什麼 瀏覽:515
編譯動態庫時會連接依賴庫嗎 瀏覽:707
淘寶手機加密是隨機的嗎 瀏覽:672
解壓包子怎麼裝飾 瀏覽:585
四個數湊24演算法 瀏覽:676
哪一種不是vi編譯器的模式 瀏覽:169
xp在此處打開命令窗口 瀏覽:128
代碼編譯運行用什麼軟體 瀏覽:998
動態庫在程序編譯時會被連接到 瀏覽:761
python超簡單編程 瀏覽:259
獲取命令方 瀏覽:977
怎樣製作文件夾和圖片 瀏覽:60
調研編譯寫信息 瀏覽:861
python馮諾依曼 瀏覽:419
同時安裝多個app有什麼影響 瀏覽:254
奧術殺戮命令宏 瀏覽:184