牛立保, 馬永輝
(西安翻譯學(xué)院 1.亞歐語(yǔ)言文化學(xué)院,2.工程技術(shù)學(xué)院, 陜西 西安 710105)
據(jù)2019年我國(guó)高等教育學(xué)生信息統(tǒng)計(jì),日語(yǔ)在我國(guó)不論是在辦學(xué)規(guī)模還是在學(xué)生人數(shù)上都已經(jīng)成為繼英語(yǔ)之后的第二大外語(yǔ)語(yǔ)種。同時(shí)由于日語(yǔ)相對(duì)于英語(yǔ)的備考詞匯量要少很多,故日語(yǔ)高考人數(shù)也在逐年遞增。學(xué)好一門(mén)外語(yǔ)自身努力非常重要,但能夠擁有一款優(yōu)秀的日語(yǔ)學(xué)習(xí)軟件會(huì)達(dá)到事倍功半的效果。
借助學(xué)習(xí)軟件,學(xué)習(xí)者可以不受地點(diǎn)、時(shí)間等限制,利用電腦、平板、手機(jī)等電子設(shè)備就可以在課外時(shí)間充電學(xué)習(xí)[1-2]。雖然市場(chǎng)上外語(yǔ)學(xué)習(xí)的軟件、APP很多,但90%以上是為英語(yǔ)學(xué)習(xí)者開(kāi)發(fā)的[3]。針對(duì)日語(yǔ)學(xué)習(xí)的軟件和APP屈指可數(shù),而且功能僅局限在日漢雙語(yǔ)字典功能。隨著日語(yǔ)學(xué)習(xí)人群數(shù)量日益增多,有必要開(kāi)發(fā)一款簡(jiǎn)潔、易用、功能強(qiáng)大的日語(yǔ)學(xué)習(xí)軟件來(lái)滿足社會(huì)的需求。
本系統(tǒng)主要分為六大功能模塊: 詞庫(kù)管理、學(xué)習(xí)測(cè)試、練習(xí)游戲、工具、設(shè)置和幫助模塊。 本系統(tǒng)的各功能模塊的組成,如圖1 所示。
圖1 系統(tǒng)功能結(jié)構(gòu)圖
(1) 詞庫(kù)管理
此模塊為本系統(tǒng)的基礎(chǔ)模塊,通過(guò)加載詞庫(kù)功能,學(xué)習(xí)者可以根據(jù)自己的需要選擇“漢日詞典”或“日漢詞典”,并進(jìn)行相應(yīng)的詞典查閱。學(xué)習(xí)者也可以根據(jù)自己的需要使用編輯詞庫(kù)功能,手動(dòng)編輯詞庫(kù),在原有詞庫(kù)中增加一些自己遇到的新詞匯。為了防止詞庫(kù)文件損壞、誤刪除或丟失,系統(tǒng)提供了備份詞庫(kù)功能。
(2) 學(xué)習(xí)測(cè)試
“學(xué)習(xí)測(cè)試”模塊為系統(tǒng)的核心模塊,通過(guò)學(xué)單詞功能,學(xué)習(xí)者可以根據(jù)中文查詢到對(duì)應(yīng)的日文,并給出標(biāo)準(zhǔn)讀音,同時(shí)可以比對(duì)發(fā)音的正確性,鍛煉聽(tīng)力和發(fā)音。“背單詞”功能采用順序或隨機(jī)日文出題,根據(jù)學(xué)習(xí)者寫(xiě)出或讀出的日文,打分并記錄學(xué)習(xí)成績(jī)?!板e(cuò)詞本”功能將學(xué)習(xí)者在背單詞過(guò)程中錯(cuò)誤的詞匯自動(dòng)記錄到“錯(cuò)詞本”中,便于復(fù)習(xí)鞏固?!板e(cuò)詞本”還允許學(xué)習(xí)者將已經(jīng)掌握的原來(lái)錯(cuò)題刪除。在輕松的學(xué)習(xí)狀態(tài)下,“循環(huán)播放單詞”功能無(wú)需學(xué)習(xí)者干預(yù),每間隔3秒鐘,循環(huán)依次播放詞庫(kù)中的單詞或錯(cuò)詞本中的詞匯。
(3) 練習(xí)游戲
本系統(tǒng)遵循“寓教于樂(lè)”的教育理念,在學(xué)習(xí)的同時(shí),提供練習(xí)游戲功能,包括打字練習(xí)游戲,單詞連連看和日文欣賞。
(4) 工具
工具模塊提供了定時(shí)器、記事本和軟件更新功能。分別用于學(xué)習(xí)自測(cè)的倒計(jì)時(shí)提醒,在線記事和軟件版本更新服務(wù)。
(5) 設(shè)置
設(shè)置模塊提供了系統(tǒng)的參數(shù)設(shè)定功能。如詞庫(kù)文件的存儲(chǔ)位置、鎖屏?xí)r間及單詞隨機(jī)播放時(shí)間的設(shè)定。系統(tǒng)鎖屏密碼設(shè)置功能保障系統(tǒng)的安全。軟件換膚功能允許學(xué)習(xí)者修改軟件背景,以滿足美觀性和個(gè)性化的需求。
(6) 幫助
幫助模塊主要提供用戶操作手冊(cè),詳細(xì)說(shuō)明了本款軟件的一些基本功能與方法。
系統(tǒng)實(shí)現(xiàn)使用MVC設(shè)計(jì)模式及組件化設(shè)計(jì)思想,軟件界面風(fēng)格和操作習(xí)慣按照標(biāo)準(zhǔn)Windows軟件進(jìn)行設(shè)計(jì),從而帶給學(xué)習(xí)者更好的使用體驗(yàn)[4]。系統(tǒng)主界面除了功能菜單外,還提供了單詞的雙向查詢功能,默認(rèn)為“日漢詞典”的模糊查詢。學(xué)習(xí)者在未輸入檢索詞的情況下,顯示所有日文詞語(yǔ),學(xué)習(xí)者也可以精確輸入日文詞匯,系統(tǒng)就會(huì)顯示該日文詞語(yǔ)及中文解釋,若用鼠標(biāo)點(diǎn)擊“日文”旁邊的“喇叭”符號(hào),系統(tǒng)可以自動(dòng)對(duì)該日語(yǔ)進(jìn)行朗讀,系統(tǒng)的主界面如圖2所示。
圖2 日語(yǔ)學(xué)習(xí)系統(tǒng)主界面
(1) 詞料庫(kù)和語(yǔ)音庫(kù)設(shè)計(jì)
日語(yǔ)詞料庫(kù)可以使用數(shù)據(jù)庫(kù)存儲(chǔ),也可以使用文件存儲(chǔ)。由于CSV格式文件用來(lái)做數(shù)據(jù)存儲(chǔ)容量小,與Excel格式兼容,讀取速度快等特點(diǎn)。本軟件使用CSV格式文件保存詞料庫(kù)數(shù)據(jù)和語(yǔ)音庫(kù)數(shù)據(jù)。詞料庫(kù)與語(yǔ)音庫(kù)通過(guò)單詞編號(hào)進(jìn)行匹配。事先把音頻文件一個(gè)一個(gè)錄好,根據(jù)單詞編號(hào)讀取對(duì)應(yīng)的音頻文件,實(shí)現(xiàn)軟件真人發(fā)音朗讀功能。對(duì)軟件中單詞例句及范文使用語(yǔ)音識(shí)別技術(shù)實(shí)現(xiàn)日語(yǔ)文本自動(dòng)朗讀。
具體詞料庫(kù)和語(yǔ)音庫(kù)的數(shù)據(jù)結(jié)構(gòu)如下所示。
詞料庫(kù)(單詞編號(hào),單詞 ,詞性,釋義,例句)
語(yǔ)音庫(kù)(單詞編號(hào),語(yǔ)音文件名)
(2) 語(yǔ)音識(shí)別技術(shù)TTS
語(yǔ)音識(shí)別技術(shù)是本軟件核心技術(shù)。TTS技術(shù)的主要作用在于利用計(jì)算機(jī)合成人語(yǔ),并將文字信息轉(zhuǎn)化為語(yǔ)音信息進(jìn)行播放。TTS技術(shù)的產(chǎn)生賦予了計(jì)算機(jī)“開(kāi)口說(shuō)人話”的能力。
在人工智能領(lǐng)域,語(yǔ)音識(shí)別技術(shù)的應(yīng)用領(lǐng)域非常廣闊。本系統(tǒng)的日文朗讀功能解決了用戶在識(shí)記日語(yǔ)單詞外,聽(tīng)力和發(fā)音能力的練習(xí)。系統(tǒng)不僅提供單詞、段落和全文朗讀,還支持語(yǔ)音錄入比對(duì)功能。在該功能的開(kāi)發(fā)中,應(yīng)用了FreeTTS語(yǔ)音合成的Java組件。FreeTTS是一個(gè)完全用JavaTM編程語(yǔ)言編寫(xiě)的語(yǔ)音合成系統(tǒng)組件。由Speech Interat ion Group of Sun Micro systemsLaboratiories 和來(lái)自IBM的Speech for Java兩公司合作開(kāi)發(fā)。
語(yǔ)音識(shí)別功能開(kāi)發(fā)步驟如下。
1) 從freetts.sourceforget.net官方網(wǎng)站下載freetts的最新版本;
2) 在開(kāi)發(fā)工具中加載freetss的jar包,freetts.jar和mbrola.jar,后者用于選擇更多的聲音;
3) 導(dǎo)入java語(yǔ)音類(lèi)庫(kù),包括Java擴(kuò)展包下面的speech、和synthesis,前者用于提供音頻功能,后者用于語(yǔ)音的合成能力;
4) 聲明對(duì)象并對(duì)語(yǔ)音合成器進(jìn)行初始化;
5) 創(chuàng)建語(yǔ)音合成器
創(chuàng)建語(yǔ)言合成器時(shí)需要用到Central 類(lèi),其作用是提供用來(lái)訪問(wèn)所有語(yǔ)音輸入和輸出的能力, 同時(shí)也可以定為語(yǔ)言引擎,根據(jù)描述符所定義的屬性集合選擇匹配的引擎,從而創(chuàng)建語(yǔ)音識(shí)別器和語(yǔ)音合成器,分別實(shí)現(xiàn)用戶語(yǔ)音錄入和發(fā)音功能。
(3) 單詞循環(huán)播放的原理
單詞循環(huán)播放目的是在無(wú)需學(xué)習(xí)者干預(yù)的情況下,由軟件系統(tǒng)自動(dòng)按學(xué)習(xí)者事先設(shè)定的模式進(jìn)行單詞的隨機(jī)播放,方便學(xué)習(xí)者以“瀏覽”的方式迅速溫習(xí)掌握單詞。系統(tǒng)提供順序、隨機(jī)兩種播放模式,以及播放速度的設(shè)定。學(xué)習(xí)者設(shè)定的播放模式和速度寫(xiě)入擴(kuò)展名為ini的配置文件中進(jìn)行保存。單詞播放流程如圖3所示。
圖3 單詞播放流程圖
單詞的循環(huán)播放程序利用Java中的定時(shí)調(diào)度工具Timer類(lèi),它是Java提供的原生Scheduler(任務(wù)調(diào)度)工具類(lèi),直接可以使用。它可以實(shí)現(xiàn)在某個(gè)具體時(shí)間執(zhí)行程序員設(shè)定的任務(wù)。底層上,Timer使用一個(gè)后臺(tái)線程去執(zhí)行定時(shí)任務(wù)。Timer類(lèi)在時(shí)間上可以精確到毫秒級(jí)。
(4) 背單詞的功能
背單詞的功能,可以幫助學(xué)習(xí)者記憶單詞,并將錯(cuò)誤的單詞記錄到“錯(cuò)詞本”中,以便后期有針對(duì)性地對(duì)易錯(cuò)詞語(yǔ)進(jìn)行記憶,提高學(xué)習(xí)效率。背單詞功能的程序流程如圖4所示。
圖4 背單詞流程圖
學(xué)習(xí)者打開(kāi)“背單詞”的界面,程序顯示單詞并停留3—5秒鐘,然后會(huì)隱藏顯示的單詞,這時(shí)學(xué)習(xí)者輸入自己記憶的單詞,系統(tǒng)自動(dòng)比對(duì),并計(jì)分后自動(dòng)顯示下一個(gè)單詞,進(jìn)行記憶,直到學(xué)習(xí)者停止記憶。若記憶過(guò)程中出現(xiàn)錯(cuò)誤,系統(tǒng)會(huì)將該單詞計(jì)入錯(cuò)題本中。學(xué)習(xí)者可以隨時(shí)選擇退出“背單詞”功能。
本系統(tǒng)由于是采用Java語(yǔ)言開(kāi)發(fā)的,具有良好的跨平臺(tái)性和擴(kuò)展性??梢钥焖俚厣?jí)到手機(jī)Android版。系統(tǒng)具有以下特點(diǎn)。
(1) 綠色:系統(tǒng)將Java生成的可執(zhí)行JAR文件,利用“JARTOEXE”工具生成exe文件,只需要Java運(yùn)行環(huán)境,就可以直接使用;
(2) 體積?。河捎谙到y(tǒng)采用了文件詞庫(kù)的方式,無(wú)需數(shù)據(jù)庫(kù),所以系統(tǒng)體積??;
(3) 單機(jī)版、無(wú)需網(wǎng)絡(luò): 采用文件系統(tǒng)開(kāi)發(fā),是一個(gè)單機(jī)版學(xué)習(xí)軟件,無(wú)需網(wǎng)絡(luò)的支持,隨時(shí)可以使用;
(4) 功能拓展性好:由于網(wǎng)絡(luò)上具有標(biāo)準(zhǔn)詞庫(kù),有很多語(yǔ)種的詞庫(kù),所以系統(tǒng)后期可以增加英語(yǔ)、法語(yǔ)、德語(yǔ)、韓語(yǔ)等學(xué)習(xí)的功能;
(5) 支撐環(huán)境簡(jiǎn)單:不需要網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)軟件的支持,系統(tǒng)資源要求低,速度快。
本文結(jié)合日語(yǔ)學(xué)習(xí)人群工作、生活中的需求,設(shè)計(jì)和開(kāi)發(fā)了一款日語(yǔ)學(xué)習(xí)軟件,系統(tǒng)提供了簡(jiǎn)單實(shí)用的學(xué)習(xí)功能,并且利用了人工智能技術(shù)中的語(yǔ)音識(shí)別技術(shù),實(shí)現(xiàn)了學(xué)習(xí)者在學(xué)習(xí)過(guò)程中發(fā)音正確性的判斷、有力地保證了業(yè)余日語(yǔ)學(xué)習(xí)者在自學(xué)環(huán)境下,同樣能具備正確的讀、聽(tīng)、寫(xiě)、譯的能力。后期研究工作,下載其它主要語(yǔ)種的詞庫(kù),將該軟件升級(jí)為多語(yǔ)種學(xué)習(xí)系統(tǒng),學(xué)習(xí)者可以方便切換到相應(yīng)語(yǔ)種學(xué)習(xí)界面,并將與大數(shù)據(jù)技術(shù)相結(jié)合,對(duì)學(xué)習(xí)者學(xué)習(xí)數(shù)據(jù)進(jìn)行深度分析,為他們提高學(xué)習(xí)效果提供有利數(shù)據(jù)支撐。