导航:首页 > 编程语言 > 用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做聊天机器人相关的资料

热点内容
python超简单编程 浏览:257
获取命令方 浏览:976
怎样制作文件夹和图片 浏览:58
调研编译写信息 浏览:860
python冯诺依曼 浏览:417
同时安装多个app有什么影响 浏览:254
奥术杀戮命令宏 浏览:183
用sdes加密明文字母e 浏览:360
单片机原理及应用试题 浏览:424
易语言开启指定文件夹 浏览:40
马思纯参加密室大逃脱 浏览:322
文件夹冬季浇筑温度 浏览:712
京东有返点的aPp叫什么 浏览:603
如何查看u点家庭服务器是几兆 浏览:262
python应用接口怎么接 浏览:67
腐蚀怎么进不去服务器啊 浏览:359
linuxcpiogz 浏览:631
安卓中的布局是什么文件 浏览:397
dex反编译部分代码无法查看 浏览:464
linuxandroid编译 浏览:603