杨洁
(渭南职业技术学院 师范学院, 渭南 714000)
随着现代信息技术的不断发展,信息化和智能化成为当前时代第一个标志。在智能化的今天,各种智能系统开始不断涌现,如基于Android和IOS的各项应用功能程序更是极大的方便了人们的生活。教育领域也不例外,在教育信息化的今天,涌现出一大批基于教育的智能开发系统,如基于Android的教育APP,比较典型的就是基于Android的英语学习,或者是英语口语软件等等。同时在这些软件的基础上,人们开始引入学习者行为分析等智能算法,以此极大的拓展了当前的英语教育功能。而在智能化的今天,智能机器人开始成为一个新兴的研究热点,智能机器人的开发被广泛研究,如基于智能机器人的电力巡检机器人。除应用到电力以外,人们尝试将智能机器人应用到英语学习中,比较典型的就是基于人机交互的智能机器人。人机交互机器人是教学领域中最新的智能教学系统,该系统主要是将学习者与机器人进行结合,以人机交互技术实现两者之间的沟通与对话。对此,本文则尝试采用当前的NAO智能机器人平台,构建一款可用于人机交互的英语智能学习系统,并对该系统进行了详细的设计与实现。
本文主要是以基于同伴交互的人机交互模型为基础,对英语学习机器人进行研究与设计。设计工作主要以传递英语教学内容为目标,采用语音对话方式来构建起学习者与机器人之间沟通的桥梁,涉及听说、肢体表达等行为方式,以此对学习者的下一步行为进行判断与规划,使英语学习机器人形成闭环系统,直至学习者主动发起与机器人之间的交互时停止沟通与判断。具体英语学习机器人交互系统实现框架如图1所示。
图1 英语学习机器人交互系统实现框架
根据图1看出,本文所设计的英语学习机器人主要是在NAO机器人平台上进行设计与开发,主要对系统的语音处理、肢体动作以及网络通信等功能进行支撑,使该学习系统能够满足用户各项功能需求。在这些系统基本功能中,语音处理主要由语音识别以及语音合成两部分构成,英语学习机器人主要通过肢体动作结合语音的方式,来对其情感进行表达,再利用网络通信功能对系统服务器中的语音功能进行调用,以此实现与学习者之间的沟通与交互。
而透过图1的架构看出,本文所设计的英语学习机器人其实就是一个接受、处理、分发以及信号的工具。在实际应用过程中,英语学习机器人能够直接对学习者发出的语音信号进行接收,并且在接收到该信号之后再利用语音识别功能对该信号进行转换,使其由语音信号转变为文本信号,便于程序对学习者语音信号的理解。系统将会根据输入信号来对服务器接口进行调用,以此实现英语学习机器人的不同功能。系统服务器在返回接口调用结果之后,系统将会借助机器人自身具备的语音合成以及肢体动作两大基本功能将调用结果生动的展现于学习者眼前。
本文主要选用NAO机器人作为本次设计的开发平台。NAO机器人是一种由法国Aldebaran Robotic公司所设计研发的一种可编程防人机器人。该机器人高约57 cm,全身上下遍布着25个自由度及系列传感器,具体包括红外线传感器、压力传感器等。同时,NAO机器人还拥有2个摄像头以及4个麦克风,头部及躯干位置分别装有一个CPU,其中,头部的CPU主要运行于Linux内核之上。
图2 NAO机器人平台
相较于同类型的机器人平台,NAO机器人具备基础功能全面这一显著特征,并且拥有多种传感器以及丰富的开发接口,能够为本次英语学习机器人设计提供极大的支持。如NAO机器人内部具备行走以及运动模块,能够对机器人的运动控制起到支持,实现机器人在多种应用场景地面行走;NAO机器人还具备PDF(语音识别技术云),能够使开发设计完成的英语学习机器人具备19种不同的语言交流能力。另外,采用NAO机器人平台进行英语学习机器人设计,能够使系统对多种主流可开发语言以及调试控制软件进行支持。
英语学习机器人主要借助NAO机器人平台的运行环境以及服务器对语音功能进行实现。在NAO机器人环境之下,引入Python语言来对机器人的语音信号处理以及接口调用两个基本功能进行实现;利用Java语言来对其核心教学功能进行实现,比如单词发音犯规、自由对话内容的反馈等,能够帮助学习者提高自身英语水平。本次设计工作主要采用Spring boot框架作为系统服务器程序,并且将程序发布于Nginx Web服务器上。在英语学习机器人中,NAO机器人与系统服务器之间主要借助RESTFUL风格接口进行通信,两者同处于一个局域网中。
在开展英语学习机器人的单词练习功能部分设计时,本文将选用人教版七年级英语课本中的单词作为单词练习功能模块的英语单词词库。通过单词练习模块,能够使英语学习机器人辅助学习者开展课后单词练习。具体单词练习功能模块流程设计如图3所示。
图3 单词练习功能模块流程设计
如图3所示,学习者在使用英语学习机器的单词练习功能模块时,将会对着英语学习机器人进行英语单词的发音练习。英语学习机器人在接收到学习者的语音信息之后,将会对该信息进行识别,判断其是否存在于系统单词库中。若判断结果为存在,则将与该语音信息对于的英语单词释义以及例句等信息呈现于学习者眼前,并且鼓励学习者对该单词进行深入了解。在单词练习功能模块中,机器人主要借助语音信号通信与学习者之间取得沟通,并且利用网络通信实现与服务器之间的通信。系统在运行单词练习功能时,机器人、服务器以及学习者之间主要有以下两点交互流程。
(1) 机器人对学习者单词进行识别。在单词练习功能启动之后,学习者将会对着机器人进行英语单词发音及朗读。此时,机器人将会对学习者发出的英语单词进行识别,并且将识别成功的单词发送至系统服务器。
(2) 服务器检索单词。服务器在接收到机器人发来的英语单词之后,将会对系统单词库进行检索,以此获取单词库中的单词信息。若最终检索结果为失败,则向学习者反馈单词不存在这一结果;反之,则将单词库中检索到的单词所有信息呈现于学习者眼前。
角色扮演对话功能就是将学习者与机器人划分为两个角色,按照课本内容相互配合,以此开展英语学习过程中的情景对话。具体角色扮演对话功能流程设计如图4所示。
图4 角色扮演对话功能流程设计
如上图所示,在使用角色扮演对话功能之前,学习者需要对本次对话扮演角色进行选择之后,才能实现与英语学习机器人之间的对话。在整个角色扮演对话过程中,英语学习机器人与学习者之阿金通过语音信号进行信息的传递,与服务器之间通过约定接口实现通信。
具体自由对话功能设计流程如图5所示。
如上图所示,在自由对话功能模块中,学习者、机器人以及服务器之间具有以下几点执行流程:
(1) 开始对话。学习者在启动自由对话功能模块之后,可通过触碰英语学习机器人身体部件的方式,来告知机器人已做好自由对话准备并开始两者之间的自由对话。机器人在接收到学习者发起的自由对话信号之后,将会向服务器发起自由对话申请,并且由服务器对自由对话信息的记录。
图5 自由对话功能设计流程
(2) 语音识别。在开展自由对话时,机器人将会对学习者发出的语音进行识别,若正确识别,则将该语音发送至服务器并且给出合理回应;反之,则重复上一步骤。
(3) 等待学习者应答。机器人在向学习者发起提问后,若学习者未在1分钟内给出相应的答对,机器人将启动自动问答模式;反之,则重复上一步骤。
具体基于规则匹配的对话管理程序执行流程图如图6所示。
图6 基于规则匹配的对话管理程序执行流程
如图6所示,基于规则匹配对话管理程序主语由四大步骤构成,分别为预处理、获取合法规则、获取最佳规则以及生成应答。在此管理程序中,机器人调用接口时产生的参数将会被作为程序的输入,返回应答语句将代表着程序结束。
具体情感交互流程设计如图7所示。
如图7所示,机器人在接收到用户发来的声音信号之后,将会借助系统语音识别模块对该信号进行识别,并根据识别结果对机器人输出内容进行决定。若输出内容中含有系统设定的情感关键字,服务器将会对动作库当中与该关键字对于的动作进行调用,并伴随语音内容进行输出。
图7 情感交互流程设计
本文构建的英语机器人主要陪伴让英语学习者参与课下英语学习。学习者可通过触碰英语学习机器人身体部件的方式,来对该机器人进行启动。机器人的头顶共有三个功能区,分别为单词练习、角色扮演对话以及自由对话,学习者可自行选取相应的功能模块,对这些功能的实现,则通过Choregraphe软件实现。具体的开发测试界面如图8所示。
图8 英语学习机器人与学习者对话交互场景编程
通过上述的测试看出,无论是对话功能,还是与服务器端的链接方面,该英语智能机器人都可很好的连接和进行。由此可以看出,本文构建的这种英语学习机器人具有很强的交互场景和互动功能。但是,本文在语音识别模块和机器人的交互中,还有待进一步的探讨和设计。