有关我们这个项目:智能自然语言交流系统,所借鉴的技术有: 第一:我们使用了科大讯飞的在线语音转换,涉及的有文本传给云端服务器的文字转换成语音和本地的语音上传给服务器转换成文字. 涉及的相关的代码有: private void showReconigizerDialog() { //setEngine(String engine,String params,String grammar); /** * 识别引擎选择,目前支持以下五种 “sms”:普通文本转写 “poi”:地名搜索 “vsearch…
刚开始做时,一点头绪都没有,整天的上网找资料,各种谷歌百度,各种博客论坛,搜索的关键词也无非是智能自然语言交流.智能机器人.中文问答系统等等等等.而我们的思路也是些零散的,例如我们知道会用到分词,会用到语法分析.语义分析.关键词提取等自然语言处理策略,但我们还是不知道该如何下手.就这样查了一个多周的资料,也纠结了一个多周,最终决定了,先做分词.但做分词,怎么做?一个句子怎么能分出词来?想了半天,不会,上网查,看有什么好的算法,结果发现分词算法很复杂,都是中科院ictclas分词,ikanalyz…
基本要求 打开软件,即可进入2D文本交流界面, 软件此时已经连接到服务器,点击文本输入框输入你想说的话,点击发送按钮即可进行交流,点击CHAT和STUDY分别切换到聊天模式或是学习模式,聊天模式是机器人根据已有的只是与用户进行聊天对话,学习模式是用户输入文字教机器人学习对话,用户输入的第一段文字是对话的问题,输入的第二段文字是对话的答案. 点击GOTO3D即可进入3D界面,将手机放置在仪器上即可进行3D人物展示,通过语音交流,人物可以根据你说话的内容进行动作的变换.两个界面用户都可以直接退出软件…
名思义是 给游戏场景 添加一个 天空背景 让游戏更加精美,更具有魅力 添加天空盒 有两种方式  1 : 在当前相机上添加skybox   2 : 在当前场景上添加skybox 上面的两种方式的结果是一样的   第一种方式的优势在于 如果 世界中有多个摄像机的话,切换摄像机 需要看不同的天空 就可以使用这种方式实现 我们先来试试unity 给我们的提供的天空盒 吧  要使用 unity 当然要先导入天空资源包啦 导入方式 : assets -> import package ->skyboxes…
情感倾向可认为是主体对某一客体主观存在的内心喜恶,内在评价的一种倾向.它由两个方面来衡量:一个情感倾向方向,一个是情感倾向度. 情感倾向方向也称为情感极性.在微博中,可以理解为用户对某客体表达自身观点所持的态度是支持.反对.中立,即通常所指的正面情感.负面情感.中性情感.例如“赞美”与“表扬”同为褒义词,表达正面情感,而“龌龊”与“丑陋”就是贬义词,表达负面情感. 情感倾向度是指主体对客体表达正面情感或负面情感时的强弱程度,不同的情感程度往往是通过不同的情感词或情感语气等来体现.例如:“敬爱”与…
项目技术借鉴报告: 一.服务器端(Server) 1.分词 分词使用的是庖丁分词.使用盘古分词词库和词素作为辅助.其中包括下载Jar包并且使用. 2.人工神经网络 以网上已有的初级网络为蓝图,结合机器学习的书籍对其隐藏层到输出层的权值修正算法进行改进. 3.情感词汇 使用台湾大学的(中文情感极性词典 NTUSD)情感词汇进行训练.作为判断情感的依据. 4.中文聊天机器人原型系统的设计.(参考自百度文库:http://wenku.baidu.com/link?url=QIAQg6yw4854FgD…
对我们项目中的关键技术实现进行总结: 一.3DMax关键技术实现 1.一下的关于3DMax中对于人物的设计和操作均需要在对3DMax基础知识熟练掌握的情况下进行的. 2. 骨骼架设:首先对导入到3DMax中的人物模型进行架设骨骼,首先,先加载一个人,锁定住,别让他乱动.用biped工具建立一个基本骨骼——可以从脚部位置往上拖拽鼠标来建立.在运动命令面板,点biped卷展栏的 figure mode在各视图中,使用旋转缩放位移的方式,调整骨骼的位置与模型的位置,让二者对齐. PS: 1双击骨骼,可…
关于情感词典的学习总结: 情感倾向可认为是主体对某一客体主观存在的内心喜恶,内在评价的一种倾向.它由两个方面来衡量:一个情感倾向方向,一个是情感倾向度. 情感倾向方向也称为情感极性.在微博中,可以理解为用户对某客体表达自身观点所持的态度是支持.反对.中立,即通常所指的正面情感.负面情感.中性情感.例如“赞美”与“表扬”同为褒义词,表达正面情感,而“龌龊”与“丑陋”就是贬义词,表达负面情感. 情感倾向度是指主体对客体表达正面情感或负面情感时的强弱程度,不同的情感程度往往是通过不同的情感词或情感语气…
3DMax方面所涉及的专业知识:                       (1)一下的关于3DMax中对于人物的设计和操作均需要在对3DMax基础知识熟练掌握的情况下进行的. (2)骨骼架设:首先对导入到3DMax中的人物模型进行架设骨骼,首先,先加载一个人,锁定住,别让他乱动.用biped工具建立一个基本骨骼——可以从脚部位置往上拖拽鼠标来建立.在运动命令面板,点biped卷展栏的 figure mode在各视图中,使用旋转缩放位移的方式,调整骨骼的位置与模型的位置,让二者对齐. PS: …
关于项目中个使用到的自然语言语音转文字&文字转语言的个人总结: VOICE_NAME, "xiaoyan");speechSynthesizer.setParameter(SpeechConstant.SPEED, "50");//语速 speechSynthesizer.setParameter(SpeechConstant.VOLUME, "50");//音量,范围是0---100 speechSynthesizer.setParam…
因为需要处理自然语言的括号切分问题,专门记录下. import java.util.Scanner; import java.util.Stack; /** * @author Owner * */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n= sc.nextInt();//3条测试数据数据 Stack<Character> sta…
2D文字聊天界面大致预期实现文字输入.发送消息.接收消息.你可以通过点击按钮让机器人开启聊天模式或者学习模式.又或是进入3D语音聊天界面或者退出. 目背景 (1) 开发动机的形态 随着科技的进步与生活水平的提高,人们对自己的健康有着更高的要求,人们的健康观念也是与时俱进的.人在成长的过程中时时刻刻都面临着健康问题.近年来,疙瘩媒体报道的各种病患人数的显著上升也使大家越来越重视自己的健康.而人的生命就是运动,运动是一切生命的源泉.只有运动才可以去除各种各样的疑虑,运动的作用代替药物.科学的基础是健…
关于WikiExtractor的学习笔记: WikiExtractor是一个Python 脚本,专门用于提取和清洗Wikipedia的dump数据,支持Python 2.7 或者 Python 3.3+,无额外依赖,安装和使用都非常方便: 安装: git clone https://github.com/attardi/wikiextractor.gitcd wikiextractor/sudo python setup.py install 使用: WikiExtractor.py -o en…
关于java socket的一些总结: Java Socket通信有很多的时候需要我们不断的学习.方面效率虽然不及C与C++但它以灵活语言优势,为大家广为使用. 本文就对在使用java做通信方面程序时候应改注意问题做以说明. 1.长连接.短链接只是针对客户端而言,服务器无所谓长.短: 2.无论同步或者异步通信,发送之后务必要又响应回复,确认收到,负责进行一定范围内重发,例如重发三次: 3.长连接服务器与客户端之间务必需要心跳探测,由客户端主动发起: 4.短连接服务器通用代码: package c…
在本项目中关于天空盒子的使用的配置方法: 给场景添加天空盒  第二种方式   在菜单栏中选择:Edit->Render Setting,在保证不在选择场景中其它文件的前提下,Inspector面板中将显示Render Setting属性,入下图     c.在skybox Material中指定一个天空盒材质,点击运行,将会看到该场景出现天空背景了.   是不是同样好简单  咔咔    那如何自己制作天空盒呢 其实同样好简单的 就是 一个球形材质加上 6 个天空图片纹理就可以了 首先在proje…
下载emacs-23.1.tar.gz http://ftp.gnu.org/pub/gnu/emacs/emacs-23.1.tar.gz cd /opt    //cp emacs-23.1.tar.gz /opt    tar -xvzf emacs-23.1.tar.gz     cd emacs-23.1   ./configure    make    make install -z 与-x联用时用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该…
今天想测试一下“庖丁”分词的效果,编写了一个测试小程序,从文件中读入文本,并将分词结果显示到控制台. 环境平台:Win7+eclipse 过程如下: 1.编辑paoding-analysis.jar中的paoding-dic-home.properties文件,去掉“#paoding.dic.home=dic”前面的#号,并将等号后面的dic改为dic文件夹在你本地存放的具体路劲,如:F://workspace//data//dic (注:编辑paoding-analysis.jar中的文件,可…
使用Lucene 3.0.0的结构遍历TokenStream的内容. 以前版本的Lucene是用TokenStream.next()来遍历TokenStream的内容, 目前的版本稍微修改了一下, 使用下面的的一段程序可以遍历TokenStream的内容 private static void displayTokenStream(TokenStream ts) throws IOException { TermAttribute termAtt = (TermAttribute)ts.getA…
神经网络的计算过程 神经网络结构如下图所示,最左边的是输入层,最右边的是输出层,中间是多个隐含层,隐含层和输出层的每个神经节点,都是由上一层节点乘以其权重累加得到,标上“+1”的圆圈为截距项b,对输入层外每个节点:Y=w0*x0+w1*x1+…+wn*xn+b,由此我们可以知道神经网络相当于一个多层逻辑回归的结构. (图片来自UFLDL Tutorial) 算法计算过程:输入层开始,从左往右计算,逐层往前直到输出层产生结果.如果结果值和目标值有差距,再从右往左算,逐层向后计算每个节点的误差,并且…
  关于本项目中使用到的庖丁分词的总结:   Paoding 详细介绍 庖丁中文分词库是一个使用Java开发的,可结合到Lucene应用中的,为互联网.企业内部网使用的中文搜索引擎分词组件.Paoding填补了国内中文分词方面开源组件的空白,致力于此并希翼成为互联网网站首选的中文分词开源组件. Paoding中文分词追求分词的高效率和用户良好体验. Paoding's Knives 中文分词具有极 高效率 和 高扩展性 .引入隐喻,采用完全的面向对象设计,构思先进. 高效率:在PIII 1G内存…
项目技术总结: VoiceToText的具体使用方法: 语音转文本部分是调用的科大讯飞的在线语音,它的激发方式是按键,通过按钮触发开启安卓设备的录音,此部分需要在源码中写入关于安卓权限的要求,来调用安卓的录音权限,当按钮被激发,则开始进入语音录制阶段,将麦克风所录下的语音实时的传给云端的科大讯飞服务器.. 从声音之中得到文本: public void GetWordFromVoice() { boolean isShowDialog = mSharedPreferences.getBoolean…
在本项目中使用到的“文本转语音”的技术总结: 文本转语音,使用的是科大讯飞的接口,因为此作品之中语音包不是重点,所以语音包的转换我们统一调用的科大讯飞的语音包接口,依旧是在线的文字转语音,客户端将来自智能自然语音识别的服务器的text文本以文字的形式发送给科大讯飞的云端服务器,科大讯飞的云端服务器完成将文字转化为语音的步骤,再将语音实时的传送回来,由客户端将语音读出,此处需要申请客户端(安卓)的扬声器的权限,由扬声器将传回的语音读出. 有关的安卓的权限的要求: <!-- 讯飞语音权限开始 -->…
在本项目中使用到的“语音转文本”的技术总结: 语音转文本部分是调用的科大讯飞的在线语音,它的激发方式是按键,通过按钮触发开启安卓设备的录音,此部分需要在源码中写入关于安卓权限的要求,来调用安卓的录音权限,当按钮被激发,则开始进入语音录制阶段,将麦克风所录下的语音实时的传给云端的科大讯飞服务器.. 从声音之中得到文本: public void GetWordFromVoice() { boolean isShowDialog = mSharedPreferences.getBoolean("iat…
从你进入软件开始,你就建立了和服务器的联系.这是一段和服务器的长连接,直到你退出此软件. 2D文字聊天界面大致实现了文字输入.发送消息.接收消息.你可以通过点击按钮让机器人开启聊天模式或者学习模式.又或是进入3D语音聊天界面或者退出.在assets文件夹下导入NGUI(使用的是3.6.8版本的.unitypackage)包,点击按钮时有声音和透明度.阴影的变化,通过给按钮添加声音.....这样的组件,使得用户体验得到提高,每当点击发送按钮实例化一个prefab呈现在聊天对话框中,你可以看见你发送…
讯飞的语音sdk是需要申请的,地址是:http://dev.voicecloud.cn/developer.php?vt=1 .申请一个讯飞的开发者账号,然后申请一个appid,申请的时候需要填写开发者信息和你的应用的信息. 申请之后经过审核通过,会得到一个appid,这个是在使用语音服务时需要用到的.(笔者感觉申请还是比较容易通过的,简单地填写一下就通过了.速度也很快,我在晚上十一点多申请的,到第二天早上九点多就收到审核通过的邮件.个人感觉这个审核只是为了防止恶意使用,毕竟语音服务是要使用讯飞…
语音转文本部分是调用的科大讯飞的在线语音,它的激发方式是按键,通过按钮触发开启安卓设备的录音,此部分需要在源码中写入关于安卓权限的要求,来调用安卓的录音权限,当按钮被激发,则开始进入语音录制阶段,将麦克风所录下的语音实时的传给云端的科大讯飞服务器.. 从声音之中得到文本: public void GetWordFromVoice() { boolean isShowDialog = mSharedPreferences.getBoolean("iat_show", true); if…
因为项目用的到条件编译,遂专门记载: 众所周知在C和CPP中可以通过预处理语句来实现条件编译,但是在java中没有预处理语句,我们该如何实现条件编译呢? 这是一个简单的demo public class Hello { public static void main(String[] args) { System.out.println("Hello, world!"); } } 保存为Hello.java并编译,得到一个class文件,并且观察到文件大小是417字节.然后我们对这个文…
项目涉及链表操作,遂整理: 使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理.但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大.链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排列顺序中转换.链表允许插入和移除表上任意位置上的节点,但是不允许随机存取.链表有很多种不同的类型:单向链表,双向链表以及循环链表.链表可以在多种编程语言中实…
这篇博客是总结.归纳查看Linux系统是32位还是64位的一些方法,很多内容来自网上网友的博客.本篇只是整理.梳理这方面的知识,方便自己忘记的时候随时查看. 方法1:getconf LONG_BIT 查看 如下例子所示: 32位Linux系统显示32, 64位Linux系统显示64.最简单.快捷的方法. [root@DB-Server ~]# getconf LONG_BIT [root@gettestlnx01 ~]# getconf LONG_BIT 方法2:uname命令查看 如下例子所示…
上一章节,我们介绍了Hexo的基础搭建,搭建完大家一定发现,是英文版本的,并且页面有点丑陋.这一章节,就来跟大家介绍Hexo的配置和主题的设置. 站点信息 上一章有跟大家提到过_config.yml这个文件,这个我们先称之为站点全局的配置文件,后续我们说到主题的时候,也会有一个这样的文件,暂时称它主题配置文件. 我们先来看一下全局配置文件主要有哪些内容: # Site 站点主配置 title: Hexo # 网站标题 subtitle: # 网站副标题 description: # 网站描述 k…