项目技术借鉴报告:

一、服务器端(Server)

1、分词

分词使用的是庖丁分词。使用盘古分词词库和词素作为辅助。其中包括下载Jar包并且使用。

2、人工神经网络

以网上已有的初级网络为蓝图,结合机器学习的书籍对其隐藏层到输出层的权值修正算法进行改进。

3、情感词汇

使用台湾大学的(中文情感极性词典 NTUSD)情感词汇进行训练。作为判断情感的依据。

4、中文聊天机器人原型系统的设计.(参考自百度文库:http://wenku.baidu.com/link?url=QIAQg6yw4854FgDDJJh8MoNcwhFHRXxTgpwvL60BQ6jJhOwnIkj9jT-LgTjOf6FjRfhFDplD1zVTkg5Arb_U_dmXuPqrGm8qmKkwNGwwxXq)

[4] 《机器学习》,(美)Tom M. Mitchel著。

[5] 《心智、语言和机器》,徐英瑾著。

[6]BP神经网络的Java实现(http://fantasticinblur.iteye.com/blog/1465497)

[7]庖丁分词(http://www.oschina.net/p/paoding/)

二、服务器端(Client)

1、UNITY

以unity3d的书(Unity3D\2D手机游戏的开发)为基础,包括参考本书实例的素材文件和源代码,结合在网上的查询,在地势、动画调用、响应事件、组件使用方面进行学习。

参考文献:Unity3D\2D手机游戏开发 第2版 金玺曾 著

2、NGUI插件

在网上查询NGUI的使用方法,其中包括unitypackage包的下载、导入和使用。

NGUI3.5.4版本的下载地址:

http://download.csdn.net/detail/fucun1984686003/7091745

3、天空盒子

使用网上已有的天空盒子,下载地址:http://download.csdn.net/detail/zs502502/4663345

4、Android

参考文献:疯狂Android讲义 李刚 著

三、语音文本转换

我们使用了科大讯飞的在线语音转换,涉及的有文本传给云端服务器的文字转换成语音和本地的语音上传给服务器转换成文字。

涉及的相关的代码有:

private void showReconigizerDialog() {

//setEngine(String engine,String params,String grammar);

/**

* 识别引擎选择,目前支持以下五种

“sms”:普通文本转写

“poi”:地名搜索

“vsearch”:热词搜索

“vsearch”:热词搜索

“video”:视频音乐搜索

“asr”:命令词识别

params 引擎参数配置列表

附加参数列表,每项中间以逗号分隔,如在地图搜索时可指定搜索区域:“area=安徽省合肥市”,无附加参数传null

*/

rd.setEngine("sms", null, null);

//设置采样频率,默认是16k,android手机一般只支持8k、16k.为了更好的识别,直接弄成16k即可。

rd.setSampleRate(RATE.rate16k);

final StringBuilder sb = new StringBuilder();

Log.i(TAG, "识别准备开始.............");

//设置识别后的回调结果

rd.setListener(new RecognizerDialogListener() {

@Override

public void onResults(ArrayList<RecognizerResult> result, boolean isLast) {

for (RecognizerResult recognizerResult : result) {

sb.append(recognizerResult.text);

Log.i(TAG, "识别一条结果为::"+recognizerResult.text);

}

}

@Override

public void onEnd(SpeechError error) {

Log.i(TAG, "识别完成.............");

txt_result.setText(sb.toString());

Log.i(TAG, "识别完成:"+txt_result.getText().toString());

}

});

txt_result.setText(""); //先设置为空,等识别完成后设置内容

rd.show();

}

}

借鉴使用了科大讯飞的语音包,使用了科大讯飞的在线语音转换。

四、3DMAX

主要是借鉴了网上的无骨骼人物模型。

如果您愿意花几块钱请我喝杯茶的话,可以用手机扫描下方的二维码,通过 支付宝 捐赠。我会努力写出更好的文章。 
(捐赠不显示捐赠者的个人信息,如需要,请注明您的联系方式) 
Thank you for your kindly donation!!

自然语言交流系统 phxnet团队 创新实训 项目博客 (十四)的更多相关文章

  1. 自然语言交流系统 phxnet团队 创新实训 项目博客 (四)

    刚开始做时,一点头绪都没有,整天的上网找资料,各种谷歌百度,各种博客论坛,搜索的关键词也无非是智能自然语言交流.智能机器人.中文问答系统等等等等.而我们的思路也是些零散的,例如我们知道会用到分词,会用 ...

  2. 自然语言交流系统 phxnet团队 创新实训 项目博客 (二)

    基本要求 打开软件,即可进入2D文本交流界面, 软件此时已经连接到服务器,点击文本输入框输入你想说的话,点击发送按钮即可进行交流,点击CHAT和STUDY分别切换到聊天模式或是学习模式,聊天模式是机器 ...

  3. 自然语言交流系统 phxnet团队 创新实训 项目博客 (十三)

    对我们项目中的关键技术实现进行总结: 一.3DMax关键技术实现 1.一下的关于3DMax中对于人物的设计和操作均需要在对3DMax基础知识熟练掌握的情况下进行的. 2. 骨骼架设:首先对导入到3DM ...

  4. 自然语言交流系统 phxnet团队 创新实训 项目博客 (十二)

    关于情感词典的学习总结: 情感倾向可认为是主体对某一客体主观存在的内心喜恶,内在评价的一种倾向.它由两个方面来衡量:一个情感倾向方向,一个是情感倾向度. 情感倾向方向也称为情感极性.在微博中,可以理解 ...

  5. 自然语言交流系统 phxnet团队 创新实训 项目博客 (五)

    3DMax方面所涉及的专业知识:                       (1)一下的关于3DMax中对于人物的设计和操作均需要在对3DMax基础知识熟练掌握的情况下进行的. (2)骨骼架设:首先 ...

  6. 自然语言交流系统 phxnet团队 创新实训 个人博客 (四)

    关于项目中个使用到的自然语言语音转文字&文字转语言的个人总结: VOICE_NAME, "xiaoyan");speechSynthesizer.setParameter( ...

  7. 自然语言交流系统 phxnet团队 创新实训 项目博客 (一)

    2D文字聊天界面大致预期实现文字输入.发送消息.接收消息.你可以通过点击按钮让机器人开启聊天模式或者学习模式.又或是进入3D语音聊天界面或者退出. 目背景 (1) 开发动机的形态 随着科技的进步与生活 ...

  8. 自然语言交流系统 phxnet团队 创新实训 项目博客 (十一)

    神经网络的计算过程 神经网络结构如下图所示,最左边的是输入层,最右边的是输出层,中间是多个隐含层,隐含层和输出层的每个神经节点,都是由上一层节点乘以其权重累加得到,标上“+1”的圆圈为截距项b,对输入 ...

  9. 自然语言交流系统 phxnet团队 创新实训 项目博客 (十)

      关于本项目中使用到的庖丁分词的总结:   Paoding 详细介绍 庖丁中文分词库是一个使用Java开发的,可结合到Lucene应用中的,为互联网.企业内部网使用的中文搜索引擎分词组件.Paodi ...

随机推荐

  1. Atitit 函数调用的原理与本质attilax总结 stdcall cdecl区别

    Atitit 函数调用的原理与本质attilax总结 stdcall cdecl区别 通常来说函数调用要用到的两条基本的指令:”CALL”指令和”RET”指令.”CALL”指令将当前的指令指针(这个指 ...

  2. HTML5学习笔记(十四):变量作用域

    在JavaScript中,用var申明的变量实际上是有作用域的. 如果一个变量在函数体内部申明,则该变量的作用域为整个函数体,在函数体外不可引用该变量: function foo() { var x ...

  3. HTML5学习笔记(四):H5中表单新增元素及改良

    方便布局 表单内容可以放在表单标签之外,这样做的好处是方便设计时不用考虑一定要将表单元素放在指定的form标签之下,只要指定元素适用于哪个表单即可,如下: <form id="test ...

  4. angular学习笔记(三十)-指令(7)-compile和link(2)

    继续上一篇:angular学习笔记(三十)-指令(7)-compile和link(1) 上一篇讲了compile函数的基本概念,接下来详细讲解compile和link的执行顺序. 看一段三个指令嵌套的 ...

  5. javascript基础拾遗(五)

    1.什么是箭头函数 ES6引入的一种新的函数,类似匿名函数,x=>xx 箭头左端为函数参数,右端为函数体 相当于 function (x){ retutn xx } 2.箭头函数的特点 更简洁 ...

  6. iOS开发之按钮的基本使用

    实现功能: 点击向上的箭头,按钮图片向上,移动,点击向下的箭头,按钮图片向下移动 点击向左的箭头,按钮图片向左移动,点击向右的箭头,按钮图片向右移动, 点击加号图片放大,点击减号,图片缩小 第一步: ...

  7. Java编译命令整理

    引言 近期在做Android相关开发工作,不可避免的需要接触Java层的调用机制,好多年不用Java了,这里整理下相关的编译命令.作为后续参考使用,也防止每次都需要到处查找. 基本概念 javac - ...

  8. MATLAB左除和右除

    矩阵的除法包括左除(A\B).右除(A/B)和点除(A./B)三种. 一般情况下,x = A\b是方程组A*x = b的解, 而x = b/A是方程组x*A = b的解, x = A./B表示同型矩阵 ...

  9. 黑马day11 不可反复度&amp;解决方式

    1.演示不可反复读 A窗体: 事务为数据库默认的级别:repeatable read 开启事务:start transaction; B窗体: 设置事务级别为:set session transact ...

  10. [mount]linux 挂载时 mount: wrong fs type, bad option, bad superblock on /dev/sdb

    原因:挂载时未格式化,使用的文件系统格式不对 解决方案:格式化 sudo mkfs -t ext4 /dev/sdb 再挂载 sudo mount /dev/sdb /xxx/ 用df -h检查,发现 ...