⑴ python怎么实现人工智能
程序学习的过程就是使用梯度下降改变算法模型参数的过程。
比如说f(x) = aX+b; 这里面的参数是a和b,使用数据训练算法模型来改变参数,达到算法模型可以实现人脸识别、语音识别的目的。
实现人工智能的根本是算法,python是实现算法的一种语言,因为python语言的易用性和数据处理的友好性,所以现在很多用python语言做机器学习。其它语言比如java、c++等也也可以实现人工智能相关算法。下图是一个神经网络的示意图。
⑵ 怎么在树莓派上用python做机器人
先在树莓派上安装python
$sudoapt-getinstallpython-dev
2.然后更新
$sudoeasy_install-Udistribute
3.安装python-pip
$sudoapt-getinstallpython-pip
4.安装python的GPIO库
$sudopipinstallrpi.gpio
5.然后去下一本书《python指南》就可以开始学习python基础了。
6.学习完基础,就可以开始树莓派的开发了,网上有很多例子,可以开发机器人的语音识别,自动寻路,开关门等等功能。
⑶ 如何优雅的用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写微信聊天机器人,求助
研究了一下午一晚上,现在终于实现了用wxpy(版本号0.1.2)自动回复。并且还是能跟你很聊得来的机器人。
做微信聊天机器人,实现步骤:
获取微信的使用权,即python脚本能控制微信收发信息。
python脚本收到聊天信息后,要对该信息进行处理,返回机器人的回应信息。
一二两步要用到wxpy库里的各种组件来收发信息,监听微信活动。另外机器人还要用到 图灵机器人的api
我们先去 图灵机器人 注册账号。
c
创建机器人
选择自定义,点击确定
点击 查看详情,进入机器人进行设置。
保存API地址,APIkey,后面会用到
点击运行代码,运行效果如下。
男头像是机器人
男头像是机器人
⑸ python可以写一个聊天脚本插件吗,就是那种智能识别聊天内容,然后做出自己设定好的回答内容求大神指点
可以的,一般是调用第三方AI的API实现,你可以去看看图灵机器人的API文档,上面会介绍怎么调用他们的接口。
自己实现一个聊天AI是不现实的,这涉及到很多专业技术,需要一个专业团队才能完成。
⑹ python百度云AI语音合成参数怎么改
参数说明
per:发音人选择, 0为普通女声,1为普通男生,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女声
spd:语速,取值0-15,默认为5中语速
pit:音调,取值0-15,默认为5中语调
vol:音量,取值0-15,默认为5中音量
⑺ 用Python实现类似语音助手的功能有什么好的思路及工具库
有趣的话题,高级的思路等牛人来说。
我说一个笨思路,不断的录音片段,不断的比对波形。
已答就不要重复邀请了哇。另外你想要持续匹配必然是不断录音不断匹配,现实世界中并没有如同推送服务一样的功能,可以出现了什么声音再调用你的程序。你只能是看看如何设计优化这个匹配和录音的平衡,并且优化你的匹配速度:比方说你试试录音能否多进程(线程)?如果能双开,那么交替覆盖空白时间也是其中一种算法。
你思考一下苹果的语音助手(老版本)和安卓的语音助手,是不是都要先按一个按钮才能开始语音助手服务?说明只有持续监听才能解决问题,但是手机为了保证续航,又不能做持续监听。
后来,苹果想了个什么办法呢,他自己设计了一个芯片,其中有一个功能就是可以捕捉麦克风收听到“hey siri”就调用语音助手的功能,具体的技术细节我不太清楚,有可能是让麦克风只要收到超过多少分贝的声音就开始小范围匹配“hey siri”之类的吧
至于减噪,网上有不少关于用电脑软件调节波形文件来降噪的方法教程,虽然你不能直接用,但是提供了思路
计算声音的相似性,我个人认为可以通过计算波形的特征来完成,我个人才疏学浅,没有这方面的经验,如果是语音识别,推荐你用讯飞的api试试,讯飞在这一块技术还是蛮强的。
但是,像人类一样可以很精准的从人群中识别出熟人声音的功能,那个属于人工智能的范畴,目前研究水平还不够到可以应用的地步。
⑻ 如何用python写聊天机器人
它这个软件的辨音比IPHONE的要差,我当时找个做英语老师的朋友发音,它一样辨不出来。只是鸡肋一个,没什么大用的。
⑼ 如何用Python做一个小型的人工智能
Python做人工智能的好处1、简单高效2、优质的文档3、强大的AI库4、海量的模块用Python,同样一个程序用C语言写可能要1000行代码,用Java写要100行,但是用Python写只要20行!