牛立保, 馬永輝
(西安翻譯學院 1.亞歐語言文化學院,2.工程技術學院, 陜西 西安 710105)
據2019年我國高等教育學生信息統計,日語在我國不論是在辦學規模還是在學生人數上都已經成為繼英語之后的第二大外語語種。同時由于日語相對于英語的備考詞匯量要少很多,故日語高考人數也在逐年遞增。學好一門外語自身努力非常重要,但能夠擁有一款優秀的日語學習軟件會達到事倍功半的效果。
借助學習軟件,學習者可以不受地點、時間等限制,利用電腦、平板、手機等電子設備就可以在課外時間充電學習[1-2]。雖然市場上外語學習的軟件、APP很多,但90%以上是為英語學習者開發的[3]。針對日語學習的軟件和APP屈指可數,而且功能僅局限在日漢雙語字典功能。隨著日語學習人群數量日益增多,有必要開發一款簡潔、易用、功能強大的日語學習軟件來滿足社會的需求。
本系統主要分為六大功能模塊: 詞庫管理、學習測試、練習游戲、工具、設置和幫助模塊。 本系統的各功能模塊的組成,如圖1 所示。

圖1 系統功能結構圖
(1) 詞庫管理
此模塊為本系統的基礎模塊,通過加載詞庫功能,學習者可以根據自己的需要選擇“漢日詞典”或“日漢詞典”,并進行相應的詞典查閱。學習者也可以根據自己的需要使用編輯詞庫功能,手動編輯詞庫,在原有詞庫中增加一些自己遇到的新詞匯。為了防止詞庫文件損壞、誤刪除或丟失,系統提供了備份詞庫功能。
(2) 學習測試
“學習測試”模塊為系統的核心模塊,通過學單詞功能,學習者可以根據中文查詢到對應的日文,并給出標準讀音,同時可以比對發音的正確性,鍛煉聽力和發音。“背單詞”功能采用順序或隨機日文出題,根據學習者寫出或讀出的日文,打分并記錄學習成績。“錯詞本”功能將學習者在背單詞過程中錯誤的詞匯自動記錄到“錯詞本”中,便于復習鞏固。“錯詞本”還允許學習者將已經掌握的原來錯題刪除。在輕松的學習狀態下,“循環播放單詞”功能無需學習者干預,每間隔3秒鐘,循環依次播放詞庫中的單詞或錯詞本中的詞匯。
(3) 練習游戲
本系統遵循“寓教于樂”的教育理念,在學習的同時,提供練習游戲功能,包括打字練習游戲,單詞連連看和日文欣賞。
(4) 工具
工具模塊提供了定時器、記事本和軟件更新功能。分別用于學習自測的倒計時提醒,在線記事和軟件版本更新服務。
(5) 設置
設置模塊提供了系統的參數設定功能。如詞庫文件的存儲位置、鎖屏時間及單詞隨機播放時間的設定。系統鎖屏密碼設置功能保障系統的安全。軟件換膚功能允許學習者修改軟件背景,以滿足美觀性和個性化的需求。
(6) 幫助
幫助模塊主要提供用戶操作手冊,詳細說明了本款軟件的一些基本功能與方法。
系統實現使用MVC設計模式及組件化設計思想,軟件界面風格和操作習慣按照標準Windows軟件進行設計,從而帶給學習者更好的使用體驗[4]。系統主界面除了功能菜單外,還提供了單詞的雙向查詢功能,默認為“日漢詞典”的模糊查詢。學習者在未輸入檢索詞的情況下,顯示所有日文詞語,學習者也可以精確輸入日文詞匯,系統就會顯示該日文詞語及中文解釋,若用鼠標點擊“日文”旁邊的“喇叭”符號,系統可以自動對該日語進行朗讀,系統的主界面如圖2所示。

圖2 日語學習系統主界面
(1) 詞料庫和語音庫設計
日語詞料庫可以使用數據庫存儲,也可以使用文件存儲。由于CSV格式文件用來做數據存儲容量小,與Excel格式兼容,讀取速度快等特點。本軟件使用CSV格式文件保存詞料庫數據和語音庫數據。詞料庫與語音庫通過單詞編號進行匹配。事先把音頻文件一個一個錄好,根據單詞編號讀取對應的音頻文件,實現軟件真人發音朗讀功能。對軟件中單詞例句及范文使用語音識別技術實現日語文本自動朗讀。
具體詞料庫和語音庫的數據結構如下所示。
詞料庫(單詞編號,單詞 ,詞性,釋義,例句)
語音庫(單詞編號,語音文件名)
(2) 語音識別技術TTS
語音識別技術是本軟件核心技術。TTS技術的主要作用在于利用計算機合成人語,并將文字信息轉化為語音信息進行播放。TTS技術的產生賦予了計算機“開口說人話”的能力。
在人工智能領域,語音識別技術的應用領域非常廣闊。本系統的日文朗讀功能解決了用戶在識記日語單詞外,聽力和發音能力的練習。系統不僅提供單詞、段落和全文朗讀,還支持語音錄入比對功能。在該功能的開發中,應用了FreeTTS語音合成的Java組件。FreeTTS是一個完全用JavaTM編程語言編寫的語音合成系統組件。由Speech Interat ion Group of Sun Micro systemsLaboratiories 和來自IBM的Speech for Java兩公司合作開發。
語音識別功能開發步驟如下。
1) 從freetts.sourceforget.net官方網站下載freetts的最新版本;
2) 在開發工具中加載freetss的jar包,freetts.jar和mbrola.jar,后者用于選擇更多的聲音;
3) 導入java語音類庫,包括Java擴展包下面的speech、和synthesis,前者用于提供音頻功能,后者用于語音的合成能力;
4) 聲明對象并對語音合成器進行初始化;
5) 創建語音合成器
創建語言合成器時需要用到Central 類,其作用是提供用來訪問所有語音輸入和輸出的能力, 同時也可以定為語言引擎,根據描述符所定義的屬性集合選擇匹配的引擎,從而創建語音識別器和語音合成器,分別實現用戶語音錄入和發音功能。
(3) 單詞循環播放的原理
單詞循環播放目的是在無需學習者干預的情況下,由軟件系統自動按學習者事先設定的模式進行單詞的隨機播放,方便學習者以“瀏覽”的方式迅速溫習掌握單詞。系統提供順序、隨機兩種播放模式,以及播放速度的設定。學習者設定的播放模式和速度寫入擴展名為ini的配置文件中進行保存。單詞播放流程如圖3所示。

圖3 單詞播放流程圖
單詞的循環播放程序利用Java中的定時調度工具Timer類,它是Java提供的原生Scheduler(任務調度)工具類,直接可以使用。它可以實現在某個具體時間執行程序員設定的任務。底層上,Timer使用一個后臺線程去執行定時任務。Timer類在時間上可以精確到毫秒級。
(4) 背單詞的功能
背單詞的功能,可以幫助學習者記憶單詞,并將錯誤的單詞記錄到“錯詞本”中,以便后期有針對性地對易錯詞語進行記憶,提高學習效率。背單詞功能的程序流程如圖4所示。

圖4 背單詞流程圖
學習者打開“背單詞”的界面,程序顯示單詞并停留3—5秒鐘,然后會隱藏顯示的單詞,這時學習者輸入自己記憶的單詞,系統自動比對,并計分后自動顯示下一個單詞,進行記憶,直到學習者停止記憶。若記憶過程中出現錯誤,系統會將該單詞計入錯題本中。學習者可以隨時選擇退出“背單詞”功能。
本系統由于是采用Java語言開發的,具有良好的跨平臺性和擴展性。可以快速地升級到手機Android版。系統具有以下特點。
(1) 綠色:系統將Java生成的可執行JAR文件,利用“JARTOEXE”工具生成exe文件,只需要Java運行環境,就可以直接使用;
(2) 體積小:由于系統采用了文件詞庫的方式,無需數據庫,所以系統體積小;
(3) 單機版、無需網絡: 采用文件系統開發,是一個單機版學習軟件,無需網絡的支持,隨時可以使用;
(4) 功能拓展性好:由于網絡上具有標準詞庫,有很多語種的詞庫,所以系統后期可以增加英語、法語、德語、韓語等學習的功能;
(5) 支撐環境簡單:不需要網絡和數據庫軟件的支持,系統資源要求低,速度快。
本文結合日語學習人群工作、生活中的需求,設計和開發了一款日語學習軟件,系統提供了簡單實用的學習功能,并且利用了人工智能技術中的語音識別技術,實現了學習者在學習過程中發音正確性的判斷、有力地保證了業余日語學習者在自學環境下,同樣能具備正確的讀、聽、寫、譯的能力。后期研究工作,下載其它主要語種的詞庫,將該軟件升級為多語種學習系統,學習者可以方便切換到相應語種學習界面,并將與大數據技術相結合,對學習者學習數據進行深度分析,為他們提高學習效果提供有利數據支撐。