作业帮 > 体裁作文 > 教育资讯

小黄鸡聊天机器人网页

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 16:49:30 体裁作文
小黄鸡聊天机器人网页体裁作文

篇一:智能聊天机器人

智能聊天机器人(小黄鸭)软件开发

课程名:模糊系统

小组成员:曹杰 何敢 谢新明

任课教师:於世为

目 录

目录 ............................................................................................. 错误!未定义书签。

一、小黄鸭的背景 ....................................................................................................... 2

二、小黄鸭的原理 ....................................................................................................... 2

2.1 训练................................................................................................................. 2

2.1.1分词方法................................................................................................. 2

2.1.2词库设计................................................................................................. 3

2.2 匹配.................................................................................................................. 4

三、属于自己的小黄鸭制作(简要步骤+截图说明) ............................................. 6

3.1 代码编写......................................................................................................... 6

3.2构建运行环境.................................................................................................. 6

3.3申请获取官方API Key................................................................................... 6

3.4生成项目.......................................................................................................... 6

3.5修改源代码...................................................................................................... 6

3.6修改项目其他项.............................................................................................. 6

四、文档附件说明 ....................................................................................................... 7

五、 小黄鸭代码(含小组接口设计) ................................................................... 12

5.1 AboutBox1.cs文件...................................................................................... 12

5.2Form1.cs文件................................................................................................ 13

5.3Program.cs文件............................................................................................ 17

5.4 Simjosn.cs文件.......................................................................................... 22

5.5 AssemblyInfo.cs文件................................................................................ 23

5.6 AboutBox1.Designer.cs文件.................................................................... 23

六、总结 ..................................................................................................................... 29

一、小黄鸭的背景

小黄鸭是根据人人网上的小黄鸡为模板,而进行的一个开发,小黄鸭与小黄鸡应该来说是一样的,小黄鸭智能聊天机器人也是一样采用通过调用韩国智能聊天机器人Simsimi的数据库来,当然,前提是获取到了网络接口(这个应该很容易),进而实现计算机和软件之间的通信

二、小黄鸭的原理

AI聊天机器人小黄鸡的工作可以被分成两个部分:训练+匹配。(其实很多AI的东西都可以被这么划分,比如人脸识别,语音识别等等)

2.1 训练

Simsimi中的“教学”,就是训练的过程,目的在于构建或是丰富词库。 流程描述如下:

S1:用户通过教学界面向系统提出一个话题与相应应答;

S2:系统对该话题进行分词,判断该话题在系统知识库中应存放的位置; S3:在系统知识库中添加该话题及相应应答。

可以看到,这里涉及到两个问题:给出一个话题,系统是如何分词的?词库要如何设计才能又快又准地应答?

2.1.1分词方法

有人认为我教小黄鸭“埃菲尔铁塔上45度角仰望星空”回答是“呵呵”,那下次它再看到“埃菲尔铁塔上45度角仰望星空”整句话的时候才会有相应回答。但实际上,下次只要它看到“埃菲尔铁塔”就会“呵呵”了好嘛。

这是因为聊天机器人的存储并不以句子为单位(那样太费时费空间),而是以词。于是,分词,几乎成为聊天机器人的核心。

英文分词好说,人家用空格什么的就搞定了,但中文不一样,对于一句话,人们可以用自己的认识区分词语,而机器人要怎么做,就是中文分词算法的研究范畴了。

中文分词技术俨然是一个重要的研究方向,隶属于自然语言处理。现有的分词算法可以分为三大类:基于字符串匹配的分词方法、基于统计的分词方法和基于理解的分词方法。

用户在聊天时的一个显著特点是所提出的话题一般都是比较短小的,而不是长篇大论,不具有段落篇章结构,绝大多数就是少数几句话。基于统计的分词方法适用于有段落、篇章结构以及上下文关系的文段。基于理解的分词方法目前并不成熟,且时间复杂度高,速度慢。于 AI聊天机器人小黄鸡的工作可以被分成两个部分:训练+匹配。(其实很多AI的东西都可以被这么划分,比如人脸识别,语音识别等等)

2.1.2词库设计

小黄鸡聊天机器人网页

由于中文词的特点:1.中文词是一个开放集,词数在增长;2.以不同字开头的词的数目变化很大,多的达到数百个,少的也有可能只有一个或者没有;3.词的长度变化也很大,有单字词,也有由六、七个字成词的。这就要求在设计词典时,除了考虑访问效率外,还得充分考虑存储利用率。请看这种数据结构,就能很好地平衡时间与空间。

首字Hash表通过一次哈希运算就可以直接定位汉字在表中的位置。一个单元包括三项内容:C:存储首字;F标志位:存储以C为首字的最长词条的长度;P:指向词表索引表。

解释一下哈希:散列表 Hash table,也叫哈希表,顾名思义就是把数据都打散了,再按一定规律存起来,加快访问速度。是根据关键码值Key而直接进行访问的数据结构。

举个栗子:我想将[0,100)做成一个哈希表,选取“模10”作为散列函数,以数组作为存储单元,则得到A[10][10]的数组,A[0]里依次存着0,10,20?90;A[1]里存着1,11,21?91。依次类推。

现在举一个训练小黄鸭的例子:我教小黄鸭说“大白天的做什么美梦啊?”回答是“哦哈哈哈不用你管”。

S1:应用双向最大匹配算法分词:双向分词结果,正向《大白天,的,做什么,美梦,啊》;反向《大白天,的,做什么,美梦,啊》。正向反向都是一样的,所以不需要处理歧义问题。长词优先选择,“大白天”和“做什么”。

S2:以“大白天”举例,假设hash函数为f(),并设f(大白天)指向首字hash表项[大,11,P]。于是由该表项指向“3字索引”,再指向对应“词表”。

S3:将结构体<大白天,?>插入队尾。体中有一个Ans域,域中某一指针指向“哦哈哈哈不用你管”。

S4:完成训练。

2.2 匹配

可以被描述成如下流程:

S1:用户通过聊天界面向系统提出一个话题;

S2:系统对该话题进行分词处理;

S3:在系统知识库中寻找与该话题匹配的话语回复用户。基于词典的分词算法分为词典加载、预处理、最大匹配、歧义消解几个阶段。

其具体流程如下:

S1:预处理阶段,按照特殊字符(英文字母、数字、标点符号等)将待分析文本进行断句,将待切分的文本切分为只有中文的短句子,这些句子是下一步分词处理的基本单位;

(举个例子:输入“asdfadf东北师范大学哈哈哈dfadflakfl(*^__^*) 嘻嘻??”,simi只会对其中的中文“东北师范大学哈哈哈嘻嘻”做出响应;输入“(*^__^*)”时,输出“I have no response.”)

S2:对断句出来的句子进行双向最大匹配(双向匹配,长词优先)分词,分词后的结果作为S3的输入;

篇二:小黄鸡

小黄鸡

2012年12月31日,“小黄鸡”在人人网开设公共主页,迅速火起来。这只风趣的、能用萌语即时回答各种提问的“小黄鸡”仅用了11天,就拥有了140万粉丝,并在以每小时增加1万粉丝的神速在聚集人气,最新测算其好友数量以50人/秒速度暴增。只要网友关注了“小黄鸡”,就可以进行“人鸡对话”。

简介

操作说明

“小黄鸡”是人人网上的智能聊天机器人。你可以通过关注小黄鸡之后,在状态里@小黄鸡或者回复它,就会收到来自小黄鸡很人性化地回复,不过“小黄鸡[1]”主页上的回复主要还是人工回复。神一般的回复引发广大网友调戏小黄鸡的热潮。[2]

2013年1月8日,“小黄鸡”放言自己是“学霸”,越来越多的大学生开始挑战“小黄鸡”的专业知识。结果,小黄鸡准确答出了薛定谔的方程式,懂得结构力学、能谈及“概念结力和计算结力并行”,等等。

在得到众人的关注后,人人网“小黄鸡爸爸”也渐渐浮出水面。华中科技大学2012届毕业生王大鹏成为了“最大嫌疑人”。打开王大鹏的人人网页面,可以看到他一直在做有关小黄鸡的程序测试。根据王大鹏的人人网信息显示,“小黄鸡的爸爸”并非只有他一人,同校的樊栖江也给小黄鸡加了屏蔽微信广告功能。在网上,王大鹏还呼吁大家一起来开发,链接了开发页面,优化进程一目了然,还在不时更新中。

与国内很多社交网站一样,在赢得了大学生团体后,人人网小黄鸡带动了中文虚拟助手软件的盛行。各种各样的“小黄鸡”在各种平台与人沟通,为人解压。

工作原理

其原理是用户先输入一些预先设定的回复,这个叫学习阶段。然后小黄鸡在分析出用户回复的

小黄鸡

句子中的关键词之后,再根据预先设定的回复,进行回复。所以,小黄鸡回复就是掌握在用户手中的,我们教会小黄鸡什么,它就回复我们什么。

小黄鸡的工作原理是回复用户通过teach功能教会他的词汇,并不会自学。所以小黄鸡的智商也在用户手中,这就好比自己的孩子,他会说多少话完全取决于学习,那么最快的学习方法便是通过父母的教导。 另外,小黄鸡的命运也掌握在大家手中,你的小黄鸡可以成为一个温柔贤惠的小黄鸡,同样也会成为一个很黄很暴力的小黄鸡。

篇三:SimSimi 小黄鸡 下载

应用介绍

一款来自韩国的聊天机器人应用,以吉祥物“小鸡鸡”自居。Simsimi机器人的界面非常可爱,深受女生欢迎,最近网络上还刮起了一阵和Simsimi机器人对话的旋风。

Simsimi UI 界面采用卡通涂鸦设计,纯简可爱又亲切。深受MM的欢迎,他们说Simsimi不仅够萌够可爱,聊起天来更是专业般娴熟!它可以时而机灵乖巧、时而卖萌装 傻,甚至可以跟你猥琐对骂!孤单寂寞想找人陪聊或者郁闷憋屈想找人打嘴架,Simsimi就是你的上上之选!

【基本信息】

作者:ismaker

版本:

6.5.9.2

语言:英文

更新时间:2015-03-23

系统:Android 2.3以上

手游礼包领取:/ka/

关注便玩家手游网官方微信公共账号(shoujiyouxilibao)免费赢取礼包!

篇四:simsimi聊天机器人简介及其下载地址

(网页版:/talk.htm?lc=ch)

游戏玩法: SimSimi是一个可爱的智能,他能和用户进行有趣的对话!该软件的使用方法非常简单,你只要点击屏幕开始对话,SimSimi就会立即向你问好。和其他传统的聊天应用一样,你只要向对话框输入文字你就可以开始对话了。不要对SimSimi的快速反应表示惊讶!他是超级机器人! SimSimi的词汇量会随着你输入的文字而增加!你可以和其他用户一样教SimSimi更多的单词。如果SimSimi没有数据来回答你,那么他就会说“我无法回答你。”

然后你就可以选择“Teach”按钮将你的问题和回答都输进去。一旦你教会了SimSimi,他就会立刻回答你(将近三分钟)。 快来和史上最可爱的机器人SimSimi对话吧! 现在SimSimi进驻中国啦~ 在上就可以很好的用中文与原汁原味儿的小黄鸡鸡沟通解闷! 安卓版界面(我手机截图):

安卓版最新版下载地址(我的网盘):

安卓版下载地址2:

安卓版下载地址3:

篇五:小黄鸡2

simsimi小黄鸡【非官方API】

simsimi想必大家都知道吧,那个小黄鸡,那只小贱鸡……

呃,刚好在做一个聊天机器人,于是就去Firebug查了一下simsimi的调用方法。 其实很简单的一个接口,返回的是json格式。接口如下:

/func/req?lc={语言,中文为zh}&msg={utf-8编码的请求文字}

嘛,如果成功了,返回一个有内容的数组;如果失败返回一个{}。PHP调用代码内详。

PHP代码如下: ?

调用小黄鸡PHP代码

1

2

3 function simsimi($q){

4 //simsimi 非官方API接口

5 //by.oott123 http://best33.com

6 //参数:$q(欲获取的问题) 返回:(mixed)返回结果,为false则失败 7 $json=file_get_contents('/func/req?lc=zh&msg=8 '.urlencode($q));

9 $this->maindb->debug($json);

1$json=json_decode($json,1);

0 $this->maindb->debug('Array',$json);

1if(isset($json['sentence_resp'])){

1 $reply=$json['sentence_resp'];

1return $reply;

2 }

1return false;

3 }

1

4

嗯,调用方法上面也写了,就是这样~喵~

#每日一个小代码#利用Google翻译实现云TTS

之前看到一个能够将回复转换成声音的某个web服务,表示对原理很好奇。查了一些资料,发现php并不是很好实现tts。今天用Google翻译来听日语,突然想到用Google翻译的功能实现TTS。

稍微抓个包,得到地址:

http://translate.google.cn/translate_tts?ie=UTF-8&q=字符串&tl=语言。直接写了个函数实现301转向,测试了下,发现如果有referer的话就会出现404错误。(Google真奇怪,为啥不是403……)

于是经典的file_get_contents法了,如下:

Google云TTS函数?

Google云TTS函数

function googletts($text,$lang='zh-CN'){

1 header('Content-Type: audio/mp3');

2 echo

3 file_get_contents('http://translate.google.cn/translate_tts?ie=UTF-84 &q=' . urlencode($text) . '&tl=' . $lang);

}

最近发现API拉取不到消息了,感到很奇怪。手动访问了一下,发现simsimi的json调用格式变成这个样子了:

{"id":19417700,"response":"爱你","result":100,"msg":"OK."}

翻看原来的代码,发现回复由sentence_resp变成了response。稍微修订一下代码,就又能用了: ?

simsimi非官方API

1

2 function simsimi($q){ 3 //simsimi 非官方API接口 4 //2012年07月18日修订:修正小黄鸡更新接口导?a href="http://www.zw2.cn/zhuanti/guanyuluzuowen/" target="_blank" class="keylink">路祷厥О堋?5 //by.oott123 http://best33.com 6 //参数:$q(欲获取的问题) 返回:(mixed)返回结果,为false则失败 7 $json=file_get_contents('/func/req?lc=zh&msg=8 '.urlencode($q)); 9 $json=json_decode($json,1); 1if(isset($json['response'])){ 0 $reply=$json['response']; 1return $reply; 1 } 1return false; 2 } 1

3

simsimi小黄鸡API再次更新

之前发在博客里面的小黄鸡API已经不能用了,于是我再次更新API吧。 为了防止API再次失效,我就不公布代码了。原理很简单,就是cookies。聪明的朋友已经知道解决方法了吧~

体裁作文