楊潔
(渭南職業技術學院 師范學院, 渭南 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 英語學習機器人與學習者對話交互場景編程
通過上述的測試看出,無論是對話功能,還是與服務器端的鏈接方面,該英語智能機器人都可很好的連接和進行。由此可以看出,本文構建的這種英語學習機器人具有很強的交互場景和互動功能。但是,本文在語音識別模塊和機器人的交互中,還有待進一步的探討和設計。