- 浏览: 777666 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
mushme:
W.sl 写道大神:http://mushme.iteye.c ...
用python自动登录iteye -
W.sl:
大神:http://mushme.iteye.com/logi ...
用python自动登录iteye -
mushme:
jilong-liang 写道 public static v ...
选择一个好的驾校,用数据说话,我用python -
jilong-liang:
package sm;import java.net.URL; ...
选择一个好的驾校,用数据说话,我用python -
sunshine_bean:
非常感谢
jsvc将tomcat配置成服务
近来看一些科技博客看多了,总想做一件玩具给我儿子玩。
做一个机器人,名字暂且叫wobot吧。
这是一个语音机器人,具体用什么做还没确定,假设用单片机吧,也可能是个app或者网页。
它能够根据你的声音识别你是谁,根据你的语音命令给出合理的反馈。
如果有多个人同时在和它交谈的话,它能够分辨出重要性更高的人的命令,并做出相应。(admin-user-other)
在命令识别的时候,它可以分析出命令的准确性,如果是个模糊的命令,它可以提问来确认。
主要的功能有:播放天气预报、读诗、留言
1.播放天气预报
播放当前城市的当天天气预报(城市是我预设好的,天气数据来自公共接口)
2.读诗
根据命令,播放制定的诗
3.留言
我来录入留言,wobot在我儿子使用的时候,提示有留言,并根据命令来播放。
目前自我感觉有几个问题需要解决
1.语音识别的问题
2.语音播放的问题
3.命令匹配的精确度
4.根据语音识别用户(识别出是我,还是我儿子或者是其他人)
5.根据网络接口读取到天气数据
6.这些程序内容运行在怎样的一个环境里
先放一段上午没事,写的几个内容。
做一个机器人,名字暂且叫wobot吧。
这是一个语音机器人,具体用什么做还没确定,假设用单片机吧,也可能是个app或者网页。
它能够根据你的声音识别你是谁,根据你的语音命令给出合理的反馈。
如果有多个人同时在和它交谈的话,它能够分辨出重要性更高的人的命令,并做出相应。(admin-user-other)
在命令识别的时候,它可以分析出命令的准确性,如果是个模糊的命令,它可以提问来确认。
主要的功能有:播放天气预报、读诗、留言
1.播放天气预报
播放当前城市的当天天气预报(城市是我预设好的,天气数据来自公共接口)
2.读诗
根据命令,播放制定的诗
3.留言
我来录入留言,wobot在我儿子使用的时候,提示有留言,并根据命令来播放。
目前自我感觉有几个问题需要解决
1.语音识别的问题
2.语音播放的问题
3.命令匹配的精确度
4.根据语音识别用户(识别出是我,还是我儿子或者是其他人)
5.根据网络接口读取到天气数据
6.这些程序内容运行在怎样的一个环境里
先放一段上午没事,写的几个内容。
<html> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <input type="text" name="message" id="message"/> <input type="button" value="send" onclick="sendMessage()"/> <div style="height:50px;width:600px;" id="content"> </div> <div style="height:50px;width:600px;" id="chatLog"> </div> <script> /** 基础问题数据设置 **/ var chatAnswer={}; var questionAliasSetting={};//问题的alias chatAnswer["你好"]="你好,很高兴见到你。" questionAliasSetting["你好"]=new Array("你好","hello","您好","你好啊","hi"); chatAnswer["名字"]="我是leo的小兄弟heo。" questionAliasSetting["名字"]=new Array("名字","你叫什么","你是谁","你的名字是什么","姓名","name"); chatAnswer["日期"]=new Date().toLocaleDateString(); questionAliasSetting["日期"]=new Array("日期","当前日期","今天","date","today"); chatAnswer["时间"]=new Date().toLocaleString(); questionAliasSetting["时间"]=new Array("时间","当前时间","现在是","now","time"); chatAnswer["王洛宾鹅"]="鹅鹅鹅, 曲项向天歌。 白毛浮绿水, 红掌拨清波"; questionAliasSetting["王洛宾鹅"]=new Array("王洛宾鹅","关于鹅的诗","鹅","鹅鹅鹅","eee"); var qMap=initSetting(questionAliasSetting);//初始化问题和答案 /** 环境设置 **/ var currentUser="user";//当前人 var chatUser="user";//此次回话参与者,按照逗号分隔 admin,user,other var noAnswer=new Array("你问的问题我不知道哪","没听明白你说的","我搞不懂你说的哪","不清楚","不知道");//没有匹配问题的回答,随机答案 var chatQHistory=new Array();//历史问题 var chatAHistory=new Array();//历史回答 function sendMessage(){ var message=document.getElementById("message"); var content=document.getElementById("content"); var messageValue=message.value; var answerValue=getAnswer(messageValue) content.innerHTML=answerValue; logChat(messageValue,answerValue); document.getElementById("chatLog").innerHTML=getChatLog(); } function logChat(message,answer){//记录日志,每次通话都要记录 chatQHistory[chatQHistory.length]=message; chatAHistory[chatAHistory.length]=answer; } function getChatLog(){//返回记录的日志 var chatQuestion=""; for(var j=0;j<chatQHistory.length;j++){ chatQuestion=chatQuestion+"<br />"+chatQHistory[j]+" -> "+chatAHistory[j]; } return chatQuestion; } function getAnswer(varQuestion){//获取返回内容 var cAnswer=chatAnswer[parseContent(varQuestion)]; if(typeof(cAnswer) == "undefined" ){ return noAnswer[Math.floor(Math.random()*(noAnswer.length-1))]; }else { return cAnswer; } } function parseContent(varContent){//分析传来的内容,标准化 /**if(confirm("你问的是"+varContent+"吗")){ varContent=qMap[varContent]; }else{ varContent=null; **/ varContent=qMap[varContent]; return varContent; } function initSetting(setting){ var aliasMap={}; for(var k in setting) { for(var j=0;j<setting[k].length;j++){ aliasMap[setting[k][j]]=k; } } return aliasMap; } </script> </html>
<html> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <input type="text" name="message" id="message"/> <input type="button" value="send" onclick="sendMessage()"/> <div style="height:50px;width:600px;" id="content"> </div> <div style="height:50px;width:600px;" id="chatLog"> </div> <script> /** 基础问题数据设置 **/ var chatAnswer={}; var questionAliasSetting={};//问题的alias questionAliasSetting["你好,很高兴见到你"]=new Array("你好","hello","您好","你好啊","hi"); questionAliasSetting["我是leo的小兄弟heo。"]=new Array("名字","你叫什么","你是谁","你的名字是什么","姓名","name"); questionAliasSetting[new Date().toLocaleDateString()]=new Array("日期","当前日期","今天","date","today"); questionAliasSetting[new Date().toLocaleString()]=new Array("时间","当前时间","现在是","now","time"); questionAliasSetting["鹅鹅鹅, 曲项向天歌。 白毛浮绿水, 红掌拨清波"]=new Array("王洛宾鹅","关于鹅的诗","鹅","鹅鹅鹅","eee"); var qMap=initSetting(questionAliasSetting);//初始化问题和答案,qMap的结构是map["问题1-n"]="答案1-n" /** 环境设置 **/ var currentUser="user";//当前人 var chatUser="user";//此次回话参与者,按照逗号分隔 admin,user,other var noAnswer=new Array("你问的问题我不知道哪","没听明白你说的","我搞不懂你说的哪","不清楚","不知道");//没有匹配问题的回答,随机答案 var chatQHistory=new Array();//历史问题 var chatAHistory=new Array();//历史回答 function sendMessage(){//按钮时间 var message=document.getElementById("message"); var content=document.getElementById("content"); var messageValue=message.value; var answerValue=getAnswer(messageValue);//1.获取答案 content.innerHTML=answerValue; logChat(messageValue,answerValue); //2.记录日志 document.getElementById("chatLog").innerHTML=getChatLog(); } function logChat(message,answer){//记录日志,每次通话都要记录 chatQHistory[chatQHistory.length]=message; chatAHistory[chatAHistory.length]=answer; } function getChatLog(){//返回记录的日志 var chatQuestion=""; for(var j=0;j<chatQHistory.length;j++){ chatQuestion=chatQuestion+"<br />"+chatQHistory[j]+" -> "+chatAHistory[j]; } return chatQuestion; } function getAnswer(varQuestion){//获取返回内容 var cAnswer=qMap[varQuestion]; if(typeof(cAnswer) == "undefined" ){ return noAnswer[Math.floor(Math.random()*(noAnswer.length-1))]; }else { return cAnswer; } } function initSetting(setting){ var aliasMap={}; for(var k in setting) { for(var j=0;j<setting[k].length;j++){ aliasMap[setting[k][j]]=k; } } return aliasMap; } </script> </html>
<html> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <input type="text" name="message" id="message"/> <input type="button" value="send" onclick="sendMessage()"/> <div style="height:50px;width:600px;" id="content"> </div> <div style="height:50px;width:600px;" id="chatLog"> </div> <script> /** 基础问题数据设置 **/ var chatAnswer={}; var questionAliasSetting={};//问题的alias questionAliasSetting["你好,很高兴见到你"]=new Array("你好","hello","您好","你好啊","hi"); questionAliasSetting["我是leo的小兄弟heo。"]=new Array("名字","你叫什么","你是谁","你的名字是什么","姓名","name","我问你是谁","我问你叫什么"); questionAliasSetting[new Date().toLocaleDateString()]=new Array("日期","当前日期","今天","date","today"); questionAliasSetting[new Date().toLocaleString()]=new Array("时间","当前时间","现在是","now","time"); questionAliasSetting["鹅鹅鹅, 曲项向天歌。 白毛浮绿水, 红掌拨清波"]=new Array("王洛宾鹅","关于鹅的诗","鹅","鹅鹅鹅","eee"); var qMap=initSetting(questionAliasSetting);//初始化问题和答案,qMap的结构是map["问题1-n"]="答案1-n" /** 环境设置 **/ var currentUser="user";//当前人 var chatUser="user";//此次回话参与者,按照逗号分隔 admin,user,other var noAnswer=new Array("你问的问题我不知道哪","没听明白你说的","我搞不懂你说的哪","不清楚","不知道");//没有匹配问题的回答,随机答案 var chatQHistory=new Array();//历史问题 var chatAHistory=new Array();//历史回答 function sendMessage(){//按钮时间 var message=document.getElementById("message"); var content=document.getElementById("content"); var messageValue=message.value; var answerValue=getAnswer(messageValue);//1.获取答案 content.innerHTML=answerValue; logChat(messageValue,answerValue); //2.记录日志 document.getElementById("chatLog").innerHTML=getChatLog(); } function logChat(message,answer){//记录日志,每次通话都要记录 chatQHistory[chatQHistory.length]=message; chatAHistory[chatAHistory.length]=answer; } function getChatLog(){//返回记录的日志 var chatQuestion=""; for(var j=0;j<chatQHistory.length;j++){ chatQuestion=chatQuestion+"<br />"+chatQHistory[j]+" -> "+chatAHistory[j]; } return chatQuestion; } function getAnswer(varQuestion){//获取返回内容 var cAnswer=qMap[varQuestion]; if(typeof(cAnswer) == "undefined" ){//没有该问题完全匹配的答案 return noAnswer[Math.floor(Math.random()*(noAnswer.length-1))]; }else { return cAnswer; } } function initSetting(setting){ var aliasMap={}; for(var k in setting) { for(var j=0;j<setting[k].length;j++){ aliasMap[setting[k][j]]=k; } } return aliasMap; } </script> </html>
发表评论
-
初诊接待注意事项
2018-01-23 12:44 611初诊时,应确保求助者了解: 1.什么是咨询。 咨询是咨询师协 ... -
心理咨询保密条例
2018-01-23 12:43 451为保障求助者的个人隐私,心理咨询师应该在初诊接待及其它必要的时 ... -
苹果手机充电爆炸
2017-08-10 15:57 905事件简要描述: 苹果手 ... -
EPQ艾森克人格问卷HTML版
2017-06-08 13:55 720EPQ艾森克人格问卷 <!-- http://ba ... -
2017年12月18日 巨龙PMP研讨会
2016-12-18 20:35 527会议主持人:庄老师 会议地点:高新区全季酒店-高新一中初中部东 ... -
有意思的字,三个字摞起来你认识不
2016-09-21 13:22 584金木水火土 鑫森淼焱垚 牛马羊龙鹿鱼虫人小日力田口目雷 犇骉 ... -
[翻译]勒索下降了
2016-07-29 08:54 353美国对数据的应用,让人惊讶。 日本人的谦虚、严谨,让人佩服。《 ... -
猜数字游戏
2015-12-18 15:47 772<html> <meta http ... -
ruby CS版本的wobot
2015-09-25 09:15 689看到了socket,顺便改装了下wobot,目前还不支持客户端 ... -
ruby版的wobot机器人
2015-09-22 16:05 717这两天戳了下ruby的代码,感觉还不错,写起来很容易,索性把w ... -
苹果CEO乔布斯在斯坦福大学的演讲稿
2013-09-15 21:28 1101比较旧的一个演讲稿了,是乔布斯在2005年于斯坦福毕业典礼上的 ... -
The Value of Asking ‘Why?’翻译
2013-06-02 11:02 1020原文地址:http://johnnyhol ... -
用笔记本实现无线ap网络共享
2013-05-04 11:52 988右键以管理员身份运行命令行,输入netsh wlan set ... -
开始在加娃耶上写博客
2010-11-18 15:38 979在加娃耶上好几年了,学到了好多东西,却一直没有贡献什么东西。 ...
相关推荐
wobot-tictactoe 有趣的小 HipChat 机器人
工业机器人离线编程与仿真(FANUC机器人)课程教案.docx工业机器人离线编程与仿真(FANUC机器人)课程教案.docx工业机器人离线编程与仿真(FANUC机器人)课程教案.docx工业机器人离线编程与仿真(FANUC机器人)课程教案.docx...
最全的ABB机器人手册资料汇总,包括以下内容: 一、ABB常用说明书中文版 集成视觉应用手册 系统参数 协同动作应用手册 指令功能数据 RAPID语言概览 RAPID语言内核 RS操作手册 二、ABB机器人编程及指令手册 ABB常用...
国际标准化组织(ISO)对机器人的定义是什么 工业机器人是如何定义的 按几何结构,机器人可分为那几种 机器人的参考坐标系有哪些? 什么是机器人的自由度和工作空间? 什么是机器人的操作机?分为哪几部分? 工业...
KUKA_机器人初级培训教材.pdf KUKA_机器人初级培训教材.ppt KUKA机器人Fault_Analysis.pdf KUKA机器人KCP讲解(3个) KUKA机器人TCP的测量(6个) KUKA机器人坐标系的建立(3个) KUKA机器人基础.ppt KUKA机器人基础...
微信小程序 机器人兔兔 (源码)微信小程序 机器人兔兔 (源码)微信小程序 机器人兔兔 (源码)微信小程序 机器人兔兔 (源码)微信小程序 机器人兔兔 (源码)微信小程序 机器人兔兔 (源码)微信小程序 机器人兔兔 (源码)微信...
汇川机器人介绍,掌握汇川机器人编程,学习机器人的编程语言,以及掌握机器人坐标系的创建
Python聊天机器人,智能问答系统 Python聊天机器人,智能问答系统 Python聊天机器人,智能问答系统 Python聊天机器人,智能问答系统 Python聊天机器人,智能问答系统 Python聊天机器人,智能问答系统 Python...
利用在 MATLAB Simulink 中的 SimMechanics 工具箱,在 Matlab 中搭建了机器人的机构模型,结合运动学数学模型,实现的机器人的运动模拟实验,并且通过末端执行器输入运动参数与输出运动参数的对比,验证了所建立的...
ABB机器人涂胶调试课程内容2涂胶泵概述机器人与胶泵通讯建立ABB机器人涂胶指令ABB机器人涂胶数据机器人涂胶轨迹调试一、涂胶泵概述3涂胶泵原理:借助设计坚固的泵座,内部装有高压活塞泵的桶形随动板在材料液位上方...
机器人教程种子,可以迅雷下载,机器人教程种子,可以迅雷下载,机器人教程种子,可以迅雷下载,机器人教程种子,可以迅雷下载,
邮件机器人邮件机器人邮件机器人邮件机器人
ABB机器人资料ABB机器人基础及培训手册ABB机器人编程及指令手册: ABB-低压产品选型手册.pdf ABB低压断路器选型手册.pdf ABB常用机器人技术参数.pdf ABB机器人DEVICENET通信设置.pdf ABB机器人基础及培训手册 ABB...
工业机器人课后习题全文共1页,当前为第1页。工业机器人课后习题全文...从结构形式上看,搬运机器人可分为龙门式搬运机器人、悬臂式搬运机器人、侧壁式搬运机器人、摆臂式搬运机器人和关节式搬运机器人 15.搬运机器人常
安川机器人外部IO启动全文共20页,当前为第1页。安川机器人外部IO启动全文共20页,当前为第1页。安川机器人外部IO启动 安川机器人外部IO启动全文共20页,当前为第1页。 安川机器人外部IO启动全文共20页,当前为第1页...
MOTOMAN机器人培训教材PPT.ppt OFweek机器人网免责声明.docx 安川4天培训PPT 安川DX100机器人基础教育培训-1.ppt 安川DX100机器人基础教育培训-2.ppt 安川XRC基础培训PPT.pps 安川XRC機器人進階教育(2).ppt 安川...
python钉钉群机器人源代码~python钉钉群机器人源代码~python钉钉群机器人源代码~python钉钉群机器人源代码~python钉钉群机器人源代码~python钉钉群机器人源代码~python钉钉群机器人源代码~python钉钉群机器人源代码~...
ABB机器人ABB培训PPT及PDF文档(21个): ABB-IRC5培训教程PDF.pdf ABB-IRC5教育训练PPT.pptx ABB操作培训资料RobotStudio510 .pdf ABB机器人-高级编程.pdf ABB机器人CP初级培训.pdf ABB机器人S4C IRB 基本操作培训...
同时,技术的不断进步一直在牵引着机器人学科的发展,使机器人的应用领域从工业机器人扩展到特种机器人和服务机器人等。机器人技术也正越来越深刻地影响着我们的生活。机器人不但将在工厂、实验室与人一起工作,还将...
基于ADAMS和MATLAB的四足机器人联合仿真 基于ADAMS和MATLAB的四足机器人联合仿真 基于ADAMS和MATLAB的四足机器人联合仿真 基于ADAMS和MATLAB的四足机器人联合仿真 基于ADAMS和MATLAB的四足机器人联合仿真 基于ADAMS...