论文部分内容阅读
随着人工智能技术的发展,越来越多的公司和机构从事机器人研发,各种形式和各种功能的机器人相继出现。未来机器人会逐渐承担一些简单、重复、繁重的工作,成为人们日常生活的得力助手,甚至成为人们家庭中的一员。语音作为一种方便、快捷、高效的途径,无疑会成为人们与机器人交流时一种重要的不可或缺的手段,因此设计出一种人机语音交互系统就十分必要。现有的人机语音交互系统功能不丰富,有的系统仅通过将人们的提问与本地问题模板进行匹配来获取机器人的回答内容,对于不属于问答语句表中的提问,机器人只能给出通用回答,实现的交互功能通用性不强,同时系统具有的功能也很单一,拓展性也比较差。一些具有问答交互功能的系统基于线上开源问答接口,在没有网络的情况下不能正常使用。为了解决现有人机语音交互系统通用性不强和拓展性差的问题,本文基于机器人操作系统(Robot Operating System,ROS)设计了一种人机语音交互系统。ROS简单易用和具有良好的开发架构,现在正被越来越多的公司和研究机构用于机器人的研发。基于ROS的细粒度进行模块化的思想设计人机语音交互系统,可使得系统各个功能模块的研发、调试变得简单。本文着重研究了基于ROS的人机语音交互系统的设计与实现。首先,为了实现人机语音交互功能,本文分别创建了问题库和机器人控制指令库,提出了应将问题库划分为日常生活常问问答库、专业领域常问问答库、实时性问题库的思想。分开创建问题库使得各个问题库内容的管理和维护变得方便,同时可以根据机器人的使用场景不同更换专业领域常问问答库,满足机器人个性化定制需求。然后,采用贝叶斯分类算法对从用户语音中识别出的文字信息进行处理,确定文字信息是关于日常生活内容、专业领域内容、实时性问题内容还是机器人控制指令内容,并基于句子相似度计算方法计算文字信息与其所属问题库或机器人控制指令库中问题或指令的相似度值,根据得到的最大相似度值来判断机器人应执行的功能。对文字信息进行分类处理,可以减少句子相似度计算的次数,提高机器人的响应速度。其次,分析了人机语音交互系统应具有的功能模块,基于ROS设计了相关模块间的通信方式,定义了通信的信息格式,给出了整个系统的执行过程。最后,为了验证本文提出的基于ROS的人机语音交互系统的性能,在PC端和搭建的机器人平台上分别测试了人机语音问答功能和语音控制机器人的功能,实验结果验证了本文提出的基于ROS的人机语音交互系统具有很强的可靠性和实用性。