机器学习的聊天机器人系统设计(源码)

随着时代的发展和互联网的不断扩大,手机、电脑已经成为很多人的标准配置,越来越多的人使用电脑、手机办公,无聊的时候使用手机来进行娱乐活动。从按键机到智能机再到现在的云智能,人们对于手机的依赖越来越大,手机的功能也越来越多,人们可以通过手机进行日常事务的处理和获得精神上的满足。本文制作了一个安卓的聊天机器人,可以在做到询问天气、关键词搜索等助手的功能的同时做到与人进行聊天。使用AIML模板技术与基于seq2seq框架的对话生成技术,通过测试,可以与人进行日常的短对话交流。本论文开发了一个基于seq2seq的使用attention的对话生成模型、一个基于python的服务器用作api调用以及一个安卓的客户端。用户可以通过简单的语句输入,获得聊天机器人报告的天气、搜索信息以及和机器人进行闲聊等,满足了用户的部分日常需求。关键词 聊天机器人,智能助手,seq2seq,AIML 聊天机器人的对象是一般的手机使用者,提供的功能也主要是两种,一是生活助手功能,例如询问天气、自动搜索关键词等功能;二是聊天功能,能够和用户进行较为正常的聊天对话。
目 录
1 引言 1
1.1 课题背景 1
1.2 国内外研究综述 1
2 需求分析 2
2.1 可行性分析 2
2.2 用户类型分析 2
2.3 安全性分析 2
2.4 性能分析 3
3 关键问题的研究 3
3.1 关键问题 3
3.2 关键技术 4
4 总体设计 7
4.1 架构设计 8
4.2 功能设计 8
5 对话生成算法设计 8
5.1 数据预处理 8
5.2 语句生成模型设计 10
5.2.1 模型搭建 11
5.2.2 实验记录及结果 13
5.3 语义识别算法设计 14
6 系统详细设计 17
6.1 开发环境搭建 17
6.2 服务器搭建 18
6.3 客户端开发 20
7 系统部署与测试 22
7. *好棒文|www.hbsrm.com +Q: ¥351916072$ 
1 系统部署 22
7.2 系统测试及结果 22
7.3 测试总结 22
结论 24
致谢 25
参考文献 26
1 引言
课题背景
计算机、人工智能的发展,使得智能助手软件逐渐进入大众的视野,而且现在的智能助手不仅可以实现根据人的指令打开特定软件、询问天气、路线、航班等特定功能,而且越来越能像人一样与使用者聊天。智能聊天机器人就是能够与人进行闲聊的软件,它可以做到绝对的保密,能与主人聊天、讲笑话而且提供一些助手功能,例如查询问题、查询天气等等的功能[1]。
深度学习源自于人工多层神经网络算法的研究,自从2006年被正式提出后,经过十几年的发展,如今已经得到了深度学习领域的广泛关注和研究。伴随着近年来数据量的飞速增长,深度学习的技术不断深入,特别是循环神经网络的发展,对自然语言处理具有极大的意义和价值[2]。
同时,虽说自然语言理解作为自然语言处理软件的核心成分仍是理论上无法实现的,只能尽量模仿人类的反应,但是聊天机器人软件技术已经逐步趋于成熟,人类已经可以开发出应用在特定场景下的聊天机器人,比如淘宝的客服机器人、微软的小冰、苹果的Siri等[3]。虽然它们做不到百分之百像人一样的回答,但毋庸置疑的是它们给我们的生活带来很多的便利,为不善交流的人群提供了很多乐趣。
国内外研究综述
国外研究综述
在1966年,美国出现了人类历史上首款聊天机器人艾丽莎(Eliza)[4],她由计算机科学家约瑟夫维森班(Joseph Weizenbaum )设计开发,艾丽莎设定为一个精神治疗医师,可以和人聊心理情绪方面的问题。1995年11月,爱丽丝(A.L.I.C.E)诞生,她和艾丽莎名字很像,但技术已经完全不一样。爱丽丝有个庞大的语料库,基于模式匹配技术和用户的对话,比艾丽莎的谈话范围大大提升,但仍不具备人工智能。至今,许多大公司已经开发出可以使用的聊天机器人,拥有一定的语义理解能力,可以帮助人们做一些简单的例如定闹铃、安排日程等工作,比如微软的Cortana、苹果的Siri等。
国内研究综述
聊天机器人最早是由软件编写者事先想好所有的可能的问题并一一写好答复形成一个“问题—答案”对应的数据库[5],使用时根据用户的问题查找最相近的问题的答案作为最终答案。后来,聊天机器人的问题数据库由固定的语句变为一种名为AIML的规则引擎,它是由软件编写者使用类似正则表达式的语言编写的一套规则,当用户的问题与一个AIML模板对应时[5],由相应的规则产生对应的答案。这样一来庞大的问题数据库就能缩减成较少的模板规则数据库。现在,人们使用深度学习来构建聊天机器人,用时间递归神经网络(Recurrent Neural Network)处理自然语言等数据中的与时间有关的信息。深度学习是当前唯一的可以进行端到端学习的技术,它直接从原始数据中自动提取数据特征并通过各种变化转换成结果,不需人工干预[6]。
2 需求分析
可行性分析
2.1.1 技术可行性
机器人聊天系统在搭建过程中使用到的技术在此之前均已经具有良好的研究基础和研究成果,部分技术已经投入实践。
a)机器人聊天系统搭建所用到的Android studio、Python均为开源软件,具有普遍的应用实例和详细的技术文档。
b)系统在构建过程中使用到的Word2Vec,tensorflow等技术,具有灵活、可配置的特点,支持纵向拓展,满足实际的应用需求。
2.1.2 经济可行性
聊天机器人系统使用到的技术对硬件资源要求较低,可以直接运行在个人笔记本电脑上,所采用技术均为开源技术,无需额外开支。
用户类型分析
聊天机器人的对象是一般的手机使用者,提供的功能也主要是两种,一是生活助手功能,例如询问天气、自动搜索关键词等功能;二是聊天功能,能够和用户进行较为正常的聊天对话。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/917.html

好棒文