張生 馮瑩瑩 嚴曉龍



摘? ?要:隨著當今社會經濟的發展與進步,國內外交流日益頻繁,英語作為世界第一大語言,學好并掌握英語的重要性不言而喻。文章設計的基于語音識別技術的英語口語交際軟件主要通過語音識別模塊、情景對話數據庫模塊、語音合成模塊、發音以及語境評測模塊等共同作用,在突出情景口語教學的基礎上再結合移動設備的便攜性,提高學習者學習興趣,不僅能夠讓使用者沉浸在英語對話氛圍中提升語感,而且能夠利用智能移動設備的便攜性節省大量時間,進而提高使用者對英語的學習興趣。
關鍵詞:微信小程序;WebAPI接口;JSON數據;英語學習軟件;MySQL;Java
在經濟全球化的今天,英語已成為人們溝通、交流的重要工具。但英語學習長期以來一直困擾著許多中國人,尤其口語的學習是困擾國人的最大難題,究其原因主要有以下幾個方面:(1)中國人特有的發音特點限制了學習英語的口語學習。(2)中國英語教師較為重視教導學生語法與單詞,相對忽視對英語發音能力的培養。(3)中國的學生缺乏良好的英語學習氛圍。
本文針對上述問題,運用操作簡單、使用方便以及移動性強的微信小程序對應用軟件進行開發,利用微信小程序的優秀性能和針對口語專項練習的設計思想,設計出一款用于能夠提升英語口語能力和提高用戶學習興趣的學習軟件。
1? ? 軟件功能結構設計
1.1? 軟件系統結構
軟件整體系統為3層C/S結構,分為表示層、功能層和數據層,如圖1所示,對應軟件的客戶端、服務端和數據端。這些端口分別有以下功能:(1)客戶端,是用戶接口部分,負責用戶與應用間進行的對話,用于檢測用戶從麥克風以及按鍵等一些輸入數據,并顯示應用輸出的數據,給用戶提供直觀操作。(2)服務端,是軟件的核心部分,不僅可以對客戶端的請求進行響應,也可以對數據端里的數據進行修改,主要作用包括處理客戶端傳入的數據、客戶端與數據端之間的數據交互。(3)數據端,主要負責管理數據庫數據的讀寫,DBMS可以執行大量數據的更新和檢索,由于現在主流的是關系數據庫管理系統,所以一般使用SQL語言進行操作。
1.2? 服務端系統功能
(1)對小程序進行管理,推送一些通知消息、及時更新情景對話推薦,同時可以對小程序的用戶進行管理,根據用戶等級進行功能授權。
(2)對情景對話數據庫中的資源進行管理,包括增、刪、改、查等功能,都集中在后端進行管理,對資源的管理更加方便。
(3)對后臺的用戶進行管理,管理員需要登錄賬號密碼才能進入后臺,對數據以及小程序進行管理,為了保護數據的安全性,管理員對數據的訪問也同樣有不同的權限。
1.3? 小程序端的主要功能介紹
(1)口語對話情景推薦。將英語口語對話情景使用頻率和搜索頻率較高的情景對話推薦出來,避免用戶再次查找的同時,提高用戶的使用效率。
(2)口語對話情景搜索。用戶可以通過搜索欄搜索自己想要練習的對話場景,或者直接語音輸入,系統會根據語意直接找到最匹配的場景,大大提高了用戶使用的便捷性。
(3)口語發音標準打分。對用戶每個單詞的發音進行評測,結合整個情景對話給出綜合打分,給用戶的發音水平提供一個評價的標準。
(4)口語對話錄音回放。利用軟件的回放功能,用戶可以對自己的發音情況進行大致評估,再結合系統發音打分,對錯誤的發音進行糾正,進而提高口語發音水平。
(5)對話情景記錄。通過情景對話記錄,用戶可以查看練習的歷史,針對練習情況制定下一步練習計劃。
(6)對話情景收藏。把需要經常練習的對話場景收藏起來,練習記錄和收藏不僅可以為用戶提供可能需要練習的新場景,也可以利用數據統計口語對話的高頻場景,通過一系列的反饋為應用的對話情景推薦的準確性提供保障。
1.4? 數據端結構
數據端使用開源的MySQL數據庫,如圖4所示,根據口語學習軟件的需要,數據端主要圍繞以下幾點進行設計:
(1)用戶信息模塊,軟件圍繞用戶展開,用戶模塊包括兩部分,分別是前端的用戶和后臺用戶的信息模塊,主要包含用戶的基本信息、賬戶和密碼。
(2)用戶記錄和收藏模塊,與用戶的信息模塊息息相關,記錄用戶的練習記錄和對話情景的收藏信息,為每個用戶的個性化提供保障。
(3)情景對話數據模塊,是軟件的核心部分,包含每個情景對話的主要內容。
2? ? 核心技術的實現
2.1? 小程序端與數據庫的交互
如圖5所示,微信小程序通過wx.request( )方法[1]進行http訪問,訪問在服務器上的Java后端,訪問時,服務器執行Java后端,后端根據小程序傳遞的參數對數據庫進行相應的操作。
2.2? 小程序端調用科大訊飛API接口
根據口語軟件的需要,主要調用科大訊飛3個WebAPI接口,分別是語音識別模塊、語音合成模塊、語音評測模塊。
下面對語音識別模塊webAPI接口的調用進行舉例:小程序端利用錄音接口wx.getRecorderManager()[1],獲取用戶錄音文件,然后將錄音文件傳往服務器,服務器將MP3文件利用ffmpeg轉換為pcm格式,再把pcm格式的錄音文件以及訊飛接口的API_KEY,SECRET_KEY傳往訊飛,并返回識別結果。
2.3? SSM框架,Maven和Bootstrap前端框架的后臺管理模塊
后臺管理模塊采用MVC軟件架構模式[2],將頁面顯示、業務邏輯和數據庫訪問分離,為了提高開發效率,系統采用SSM架構[3]和Bootstrap前端框架,SSM架構具有耦合度低、輕量級、效率高等優點。Bootstrap是基于HTML,CSS,JavaScript的前端框架,簡潔靈活,更便于開發。
SSM框架集由Spring,SpringMVC,Mybatis 3個開源框架整合而成:(1)Spring,是一個輕量級的框架,有很多的拓展功能,理念包括控制反轉(Inversion of Control,IoC)和面向切面編程(Aspect Oriented Programming,AOP)[4]。(2)SpringMVC,Spring實現的一個Web層,相當于Struts的框架,但是比Struts更加靈活和強大[3]。(3)Mybatis,一個持久層的框架,在使用上比Hibernate更加靈活,可以控制SQL的編寫,使用XML或注解進行相關的配置。
3? ? 系統界面設計
3.1? 小程序界面設計
小程序界面部分截圖如圖7所示。基于語音識別的口語交際軟件是一款對話式英語口語練習軟件,軟件通過語音識別語音合成將數據庫對話信息轉換成語音對話,以人機交互的形式,在提高對話數據量的同時,給用戶更好的學習體驗,由以下幾個部分構成:
(1)首頁,包含對話情景的推薦以及系列課程的推薦,后期還可在頁面開發更多的功能,如口語練習、每日一次、英語聽力和美文欣賞等。
(2)情景對話,是小程序的主體部分,主要是人機交互的情景對話,用戶對話時有相應的文字提示,對話結束后,軟件自動給對話發音打分。
(3)情景歷史,不僅可以看到用戶練習的記錄,而且可以看到對話的具體信息,在對話結束之后可以再次復習內容。
(4)我的,主要是用戶的信息,同時還包含用戶練習次數統計、我的收藏、練習歷史、每日簽到和意見反饋等操作。
3.2? 后臺管理系統操作界面設計
后臺管理系統如圖8—9所示,主要包括兩個部分:(1)對情景對話數據庫內容進行管理,可以對數據庫內容進行增刪改查。(2)對后臺使用者權限進行管理,可以新增管理員和修改管理員密碼。
4? ? 結語
基于語音識別的口語交際軟件經過測試,小程序端以及后臺管理系統都能夠正常使用。小程序端給用戶提供獲取資源的界面,后端配合數據庫響應小程序端請求,后臺管理系統對數據庫進行維護和管理。基于語音識別的口語交際軟件以情景對話為主要練習模式,對用戶的口語進行訓練。軟件在微信平臺的基礎上開發,不僅提高了應用的便捷性,而且提高了程序的使用率。此程序既為用戶整合了學習內容減少用戶搜集資源的時間,又進一步提高了使用者的學習效率。
[參考文獻]
[1]騰訊.小程序微信官方開發教程文檔[EB/OL].[2017-01-09](2020-02-10).https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html.
[2]李曉杰.于MVC設計模式的SSH框架的研究[J].信息化研究,2016(1):17-22.
[3]梁弼.SSH框架整合技術研究及應用[J].西安文理學院學報(自然科學版),2011(3):16-19.
[4]董源,李培軍,許舒人.基于AOP的數據庫應用安全控制的設計與實現[J].計算機系統應用,2015(12):74-80.