高校招生咨询NAO机器人智能语音交互系统的设计与实现
作者: 陆鑫杰 李论杰 田溯开 林子博 彭华
关键词:高校招生咨询;NAO机器人;智能语音交互
中图分类号:TP242 文献标识码:A
文章编号:1009-3044(2024)26-0014-03 开放科学(资源服务)标识码(OSID) :
0 引言
人工智能技术的飞速发展为人们的工作、生活带来了极大的便利;同时,人工智能的应用场景也渗透到社会的各个角落,促进了社会生产力的提高。在当前迅猛的技术浪潮中,智能对话系统作为人工智能领域的一个重要分支,通过模拟人类的交流方式,将具备语音识别技术的智能设备融入人类的语音交流中,使得人与机器之间的互动变得简单而自然[1]。
智能机器人是人工智能最好的载体,在人-机器人交互活动中更是如此。双足类人机器人具备接近人类的身体形态;在与人交互的活动中,相比其他类型的机器人有着更好的交互效果。同时,智能机器人与人类进行语言交流是一种非常自然的交互方式,国内外对此开展了大量的研究工作,这些研究有助于机器人发展语言智能与认知智能。另外,通过挖掘和优化智能对话的潜力,不仅能够提升机器人的语言理解和生成能力,还能探索如何使机器人更好地理解人类情感和意图,这对于提升人-机器人交互的自然性和亲和力具有重要意义[2-4]。
综合评价招生考试是中国高等教育招生模式的一种探索和创新,旨在打破传统单一的以高考成绩为主的招生方式,推进素质教育和综合评价体系的建立。高考前,考生及其家长常常参加目标高校的招生咨询活动,意图充分了解目标高校关于综合评价招生模式的细节,进而明确报考意愿。然而,在高校的招生咨询活动中,相对考生及其家长来说,咨询老师人数较少,排队等候情况严重;同时,咨询老师对于一些常见的问题,需要给多位考生及其家长重复解答,工作量很大。鉴于这样的现实需求,利用机器人提供智能语音交互就显得尤为必要。因此,本文基于NAO机器人及本地计算机、远程服务器,实现了一个机器人智能语音交互系统。
1 研究现状
人-机交互技术是人工智能领域的重要研究方向之一,其研究重点在于建立和加强人与机器之间的联系。这个方向的研究始终围绕着如何让机器更好地服务于人类。自机器发明以来,其根本目标就是为人类提供便利和服务;如果机器不能被人类所使用,那么无论它的功能多么丰富和复杂,皆毫无价值[5]。因此,在研究人-机交互时,需要特别注重其功能性和可用性,以确保机器能够真正被人类使用。
在过去的十多年中,人-机交互研究取得了巨大发展,包括但不限于动作识别、语音识别和智能交互等多个方面。胡宁等[6]基于NAO机器人,结合Kinect 传感器和卷积神经网络,成功实现了人体动作捕捉、模仿和识别,构建了一套完整的人-机交互系统。这一系统的建立不仅展示了人-机交互技术的先进性,还提供了一个全新的视角,从而能更深入地理解和探索人-机交互的可能性。
北京交通大学的陈艳华等[7]利用智能交互技术开发了车载语音系统,通过全语音交互方式提升驾驶者行车的安全性,同时满足其娱乐需求。这一系统的开发不仅符合市场需求,还为行车安全提供了一种新的保障;该系统的上线标志着智能交互技术在实际应用中的一大突破。何昕等人基于NRLBP的行人识别算法,通过图像预处理、特征提取和目标检测等步骤,成功实现了对NAO机器人的行人识别。这一成果展示了人-机交互技术在行人识别方面的应用,还能够为人们的日常生活提供更多便利[8]。
马文涛等[9]致力于设计面向NAO机器人的语音识别系统,深入研究语音识别技术和算法,基于Mel频谱倒谱系数的特征提取方法以及HMM模型,实现了智能交互,并搭建了基于HMM模型的NAO机器人语音识别系统联合实验平台,为智能机器人提供智能服务打下了重要基础。张海嘉[10]设计并实施了基于Ki⁃nect的人形机器人远程控制系统,成功实现了人体动作的精确追踪和控制,为传统人形机器人控制技术带来了新的突破。
北方民族大学的白伟华[11]基于OpenCV开源视觉库开展了人脸识别研究;通过Adaboost算法实现了人脸检测,并基于PCA和LBP实现了人脸识别算法,然后在NAO机器人上进行了应用测试,最终在人-机交互上取得了良好效果。基于深度学习技术,韩晓帅[12]设计了一种新型的智能化人机交互系统,该系统结合了手势识别模块、物体检测模块和机器人定位抓取模块,最终成功实现了通过手势交互引导机器人抓取物体的场景。上海交通大学的肖义涵[13]基于NAO机器人的人-机交互,实现了对前景分割-目标跟踪框架的研究,探索了实时快速交互目标的跟踪。
2NAO机器人
NAO机器人是一款性能强大且应用广泛的双足类人机器人,拥有25个自由度,并配备了多种传感器(如麦克风、扬声器、摄像头和压力传感器等)。它运行嵌入式Linux操作系统,允许使用C++或Python语言进行编程控制。由于其功能强大,NAO机器人在医疗康复、科普教育、科学研究和家庭娱乐等领域得到了广泛应用。
3系统设计
如图2所示,本文设计的机器人智能语音交互系统框架由NAO机器人、本地计算机和远程服务器等3部分构成。其中,NAO机器人主要提供人-机器人语音交互接口,包括语音采集、语音播报和网络通信等功能模块。本地计算机主要作为网络数据中转站和NAO机器人编程控制环境。而远程服务器则承担语音识别、语义理解和对话生成的功能,这些功能通过加载开源或商业模型来实现。
具体而言,NAO机器人在语音采集后生成ogg格式的数据文件,并通过网络传输至本地计算机,然后上传至远程服务器1。在远程服务器1上,语音识别模型执行语音预处理及语音转文本的工作,结果返回至本地计算机。本地计算机将识别出的文本内容上传至远程服务器2,由远程服务器2中的智能对话模型进行对话生成。生成的对话结果以文本形式通过本地计算机回传至NAO机器人,最后,NAO机器人将对话生成的文本内容进行语音播报。通过这一流程,实现了一轮人-机器人之间的智能语音对话。
4 系统实现
本系统的软件实验环境如表1所示,分别展示了在NAO机器人、本地计算机、远程服务器上的软件或模块信息。
在本系统的实现过程中,需要通过Choregraphe编程控制环境来实现NAO机器人的语音采集、网络传输和语音播报功能。首先,与NAO机器人互动以获取其IP地址,然后根据该IP地址连接到NAO机器人,如图3 所示。在Choregraphe编程控制环境初始的root界面中,通过右下角的指令盒库找到Record Sound指令模块,将其拖拽到root界面中的空白处,并将模块重命名为Record,并将其识别语音改为中文。接下来,右键单击空白界面,创建一个名为Transfer的Python新指令盒,通过TCP/IP协议及Socket技术实现音频文件的网络传输;并继续创建一个名为Answer的Python新指令盒,通过调用名为ALTextToSpeech的NAOqi函数库来实现文本转语音的播报。最后,从onStart指令模块出发,依次连接Record、Transfer、Answer模块,最终至onStopped指令模块,完成在Choregraphe编程控制环境中本系统NAO机器人功能模块的可视化实现,如图4所示。
在本地计算机中,基于TCP/IP协议及Socket 技术,分别编码实现了与NAO机器人、远程服务器1、远程服务器2之间的网络通信与数据传输功能。其中,本地计算机与NAO机器人的具体通信实现步骤包括:
1) 定义一个用于接收信息的函数,该函数接受三个参数:要保存的音频文件名、接收端的IP地址和接收端的端口号。在函数内部,创建一个socket 对象server_socket,使用IPv4和TCP协议作为参数。
2) 将主机(host) 和端口(port) 绑定到server_socket 上,以便监听来自发送端的连接请求;然后,开始监听连接,参数为1表示最大连接数为1。
3) 等待发送端的连接请求。一旦有连接请求,会返回一个新的socket对象client_socket和发送端的地址信息client_address。使用文件创建语句创建一个以二进制写入模式打开的文件对象,用于保存接收到的音频数据。在一个循环中,从client_socket接收数据,每次接收1024字节。如果接收到的数据为空,则跳出循环;否则,将接收到的数据写入文件。
4) 关闭server_socket连接。远程服务器1提供语音预处理和语音识别服务,而远程服务器2提供文本对话生成服务。在本地计算机与远程服务器1通信之前,需要将音频文件转换为PCM格式。在与远程服务器2 通信之前,需要定义处理函数(如on_error、on_close等函数),用于处理Socket连接的各种事件。在正确设置API密钥和相关参数后,本地计算机实现了对远程服务器1的访问,使用语音预处理和识别服务;另外,提供正确的应用ID、API密钥、领域名称等参数后,访问远程服务器2以使用文本对话生成服务;最终,本地计算机将生成的文本对话返回给NAO机器人,由NAO 机器人实现语音播报,完成与人的语音交互。
本系统在绍兴文理学院进行了实际测试,结果显示该系统能够有效地支持高考招生咨询活动,达到了设计目标。
5 结束语
本文介绍了一个用于高校招生咨询场景的机器人智能语音交互系统。虽然该系统当前仅应用于高校招生咨询场景,其核心价值在于构建了一个基于云机器人的智能语音交互平台和友好的人-机器人交互方式。未来,该系统可以轻松迁移到其他语音会话场景,如商业接待、科普教育和医疗康复等。
NAO机器人在人工智能的科学探索和工程应用中取得了显著成绩。在智能问答领域,NAO机器人作为有效的人-机器人交互媒介,也展示出了巨大的潜力。通过整合语音识别、自然语言处理和机器学习等技术,NAO机器人能够更智能地理解用户的问题并提供准确的答案,推动人-机器人交互达到更高水平。可以预见,在社会不断向数字化、智能化发展的过程中,基于NAO机器人的智能语音交互应用将会不断涌现,最终满足人类社会的各种实际需求。