蔡琪 劉東霞
摘 要: 當(dāng)今社會(huì)在步入一個(gè)大數(shù)據(jù)時(shí)代,時(shí)間和效率舉足輕重。因此設(shè)計(jì)和開發(fā)出一款能快速檢索目標(biāo)詞匯的電子詞典具有十分重要的現(xiàn)實(shí)意義。開發(fā)的電子詞典系統(tǒng)運(yùn)用Windows API開發(fā),采用Trie樹的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)。結(jié)果表明:電子詞典實(shí)現(xiàn)了Trie樹結(jié)構(gòu)的存取和快速Hash映射查詞,實(shí)現(xiàn)主流電子詞典常用功能,包括單詞查找、添加生詞、我的單詞本、課程設(shè)置、單詞測試和幫助等,可滿足大部分用戶的需求,具有良好的擴(kuò)展性。
關(guān)鍵詞: 快速檢索; Trie樹; Hash查找; 電子詞典
中圖分類號: TN919?34; TP393 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2014)12?0090?03
Abstract: As a foreign language plays a more and more important role, a electronic dictionary for quick retrieval target vocabulary was designed and developed. The Windows API and Trie tree data structure are adopted in the electronic dictionary system design and development. The access and rapid HASH map check word of Trie tree structure were realized in the electronic dictionary. The common functions of the mainstream electronic dictionary, including word lookup, new words addition, my words book, curriculum setting, word test and help, were implemented. It can meet the needs of most users and has good scalability.
Keywords: rapid retrieval; Trie tree; Hash lookup; electronic dictionary
隨著外語發(fā)揮著越來越重要的作用,與此同時(shí),社會(huì)正在步入一個(gè)大數(shù)據(jù)時(shí)代,時(shí)間和效率舉足輕重[1]。通過深入學(xué)習(xí)和研究程序設(shè)計(jì)技術(shù)、數(shù)據(jù)庫系統(tǒng)開發(fā)和應(yīng)用,設(shè)計(jì)和開發(fā)出一款能夠滿足不同用戶需求的多功能電子詞典系統(tǒng),以幫助英語學(xué)習(xí)者更方便、更快捷地查詢單詞、記憶單詞,既有效,又自由地對詞庫進(jìn)行管理和操作[2?3]。采用Trie樹結(jié)構(gòu)造單詞查找樹和快速Hash映射取詞,可在占用少量計(jì)算機(jī)硬件資源的基礎(chǔ)上,實(shí)現(xiàn)快速查詢目標(biāo)詞匯的功能。因此設(shè)計(jì)和開發(fā)這款能快速檢索目標(biāo)詞匯的電子詞典有十分重要的現(xiàn)實(shí)意義,能很好應(yīng)對在大數(shù)據(jù)時(shí)代下有效地滿足了用戶需求。
1 Trie樹簡介
1.1 Trie樹簡介
Trie樹又稱為字典樹,是一種樹形結(jié)構(gòu),他是一種哈希樹的變種,是一種用于快速檢索的多叉樹數(shù)據(jù)結(jié)構(gòu)[4]。典型應(yīng)用是用于統(tǒng)計(jì)和排序、查詢大量的字符串(但不僅限于字符串),所以經(jīng)常被搜索引擎系統(tǒng)用于文本的詞頻統(tǒng)計(jì)等。Trie樹也有其缺點(diǎn),Trie樹的內(nèi)存消耗非常大。當(dāng)然,用左兒子右兄弟的方法建樹,可能效果會(huì)好一些[5]。
1.2 Trie性質(zhì)
很多人認(rèn)為Trie的根節(jié)點(diǎn)不包含任何字符信息,在此認(rèn)為習(xí)慣的Trie根節(jié)點(diǎn)卻包含信息,而這樣也方便,下面敘述Trie的性質(zhì) (基于本文所討論的簡單Trie樹)[6?7]:
(1) 字符的種數(shù)決定每個(gè)節(jié)點(diǎn)的出度,即branch數(shù)組(空間換時(shí)間思想)。
(2) branch數(shù)組的下標(biāo)代表字符相對于a的相對位置。
(3) 采用標(biāo)記的方法確定是否為字符串。
(4) 插入、查找的復(fù)雜度均為O(len),len為字符串長度。
1.3 Trie的示意圖
如圖1所示,該Trie樹存有abc,d,da,dda四個(gè)字符串,如果是字符串會(huì)在節(jié)點(diǎn)的尾部進(jìn)行標(biāo)記[8?10]。沒有后續(xù)字符的branch分支指向NULL。
2 設(shè)計(jì)與實(shí)現(xiàn)
2.1 系統(tǒng)設(shè)計(jì)思想
電子詞典軟件面向用戶時(shí),重要的是其查詢效率與可信性,即用戶能迅速而又準(zhǔn)確地查詢到詞語的相關(guān)注釋。設(shè)計(jì)本電子詞典主要是為了用于幫助用戶查找一些不懂的單詞及其相關(guān)內(nèi)容。故本系統(tǒng)應(yīng)該支持以下電子詞典的核心功能:
(1) 查詢單詞功能。具有很高的查詢效率。
(2) 單詞測試功能。分為知道英語單詞選擇中文解釋和知道中文解釋選擇英語單詞兩項(xiàng)功能。
(3) 生詞添加和新詞構(gòu)造功能。分為單個(gè)添加和批量添加功能。
(4) 詞匯查看功能。核對和查看各詞庫詞匯及信息。
(5) 我的生詞本功能。自定義的詞庫及單詞測試功能。
(6) 課程設(shè)置功能。
2.2 系統(tǒng)功能結(jié)構(gòu)問題
系統(tǒng)功能模塊圖如圖2所示。
2.2.1 單詞查詢
單詞查詢是電子詞典最基本也是最重要的功能,只要用戶輸入想要查詢的單詞,電子詞典將自動(dòng)幫助用戶進(jìn)行單詞查詢,當(dāng)詞庫中有該詞匯,電子詞典將快速返回詞庫中關(guān)于該詞匯的相關(guān)信息給用戶。當(dāng)用戶輸入時(shí),應(yīng)用程序能夠智能列出所有相近備選的單詞,這可以方便用戶在未完成整個(gè)單詞輸入的情況下查詢出目標(biāo)詞匯結(jié)果。返回結(jié)果包括所查詢單詞的記性、音標(biāo)和中文翻義等。同時(shí),在電子詞典顯示板下方會(huì)智能地顯示部分相近的詞匯的查詢結(jié)果。實(shí)現(xiàn)方法:用戶敲擊鍵盤輸入某字符時(shí),操作系統(tǒng)會(huì)發(fā)出一個(gè)WM_KEYDOWN的消息,然后電子詞典應(yīng)用程序有相應(yīng)的回調(diào)函數(shù)自動(dòng)響應(yīng)對所構(gòu)造的單詞查找樹進(jìn)行前序遍歷,遍歷到當(dāng)前輸入的字符,得出查詢結(jié)果顯示在電子詞典顯示板上。然后把部分相近的單詞也綁定在結(jié)果顯示板上。
2.2.2 添加生詞
生詞添加分為單個(gè)添加和批量添加。單個(gè)單詞添加是在用戶界面上輸入要添加的新單詞及單詞相關(guān)的信息,然后保存到指定的生詞庫即可。而批量添加則是在用戶界面上選擇要添加單詞庫文件的路徑,單詞庫文件須事先按要求及格式準(zhǔn)備好,然后點(diǎn)擊確定添加即可。
2.2.3 我的單詞本
我的單詞本包括以下幾個(gè)功能:添加詞匯功能(注意:此處的添加詞匯功能實(shí)現(xiàn)與上面的“添加詞匯”功能一致,只是所添加的詞匯是添加到“用戶自定義生詞本”上);單詞查看功能;單詞測試功能。
(1) 添加生詞:與上面“添加詞庫”中的“單個(gè)添加”功能一致,只是重寫向的文件為“用戶自定義生詞本”。
(2) 詞匯查看。電子詞典詞庫存在出現(xiàn)遺漏、錯(cuò)誤的可能性,也可能詞庫單詞不夠完善的情況。相應(yīng)的電子詞典系統(tǒng)應(yīng)該有一種可讓用戶查看詞庫內(nèi)容的功能,因此把電子詞典設(shè)計(jì)成能隨時(shí)讓用戶查看任意詞庫的所有單詞和信息,以滿足用戶要添加或修改詞庫的意愿。詞匯查看功能主要就是選擇相應(yīng)的詞庫,然后把詞庫中的單詞及信息呈現(xiàn)在用戶界面上,用戶可以按序地去核對詞庫,查看詞庫是否存在遺漏,或發(fā)生錯(cuò)誤,或缺少一些詞匯。用戶也可以通過查詢來檢查該單詞是否存在生詞庫中。若發(fā)現(xiàn)詞庫存在遺漏,則可以及時(shí)添加;若詞庫中單詞發(fā)生錯(cuò)誤,則可以及時(shí)個(gè)性;若發(fā)現(xiàn)一些詞匯不在詞庫中,則可以通過上述的添加功能添加進(jìn)指定詞庫中。
(3) 單詞測試。單詞測試功能,能以游戲選擇的形式達(dá)到讓讀者輕松背誦或復(fù)習(xí)單詞的目的,該電子詞典針對不同用戶的不同需求可選擇不同生詞庫來進(jìn)行單詞測試,從而讓用戶對自己的詞匯水平有一個(gè)大體的了解,同時(shí)用戶也達(dá)到了背誦和復(fù)習(xí)單詞的目的。
2.2.4 課程設(shè)置功能
在用戶未自定義詞庫之前,本電子詞典系統(tǒng)已經(jīng)包括有考研詞庫、四級詞庫、六級詞庫、生詞庫、GRE的幾大詞庫。加上用戶自定義的詞庫,必然會(huì)讓詞庫變得更大,然后針對不同的用戶對象,會(huì)有不同的用戶需求,因此,在電子詞典系統(tǒng)進(jìn)設(shè)計(jì)具有選擇詞庫,設(shè)置詞庫功能,可方便不同的用戶,提高用戶的學(xué)習(xí)效率,增強(qiáng)電子詞典軟件的友好度。
在初次設(shè)置課程時(shí),程序會(huì)在本地的電子詞典的目錄下生成一個(gè)名詞“config.ini”的文件,里面存放用戶的課程設(shè)置情況。當(dāng)初次運(yùn)行時(shí),在未設(shè)置課程前則系統(tǒng)無法進(jìn)行單詞測試功能。在要重新選擇課程時(shí),電子詞典應(yīng)用程序會(huì)對該文件作出修改,修改成為當(dāng)前所選的詞庫,以便于滿足不同的用戶需求。
在用戶要進(jìn)行單詞測試或查看詞庫信息時(shí),首先會(huì)到磁盤中找本電子詞典項(xiàng)目目錄下是否有“config.ini”這個(gè)文件。若沒有發(fā)現(xiàn)此文件,則要求用戶選設(shè)置課程,并將用戶所選課程信息生成“config.ini”文件,然后在該課程下進(jìn)行單詞測試或查看詞匯信息即可。若在項(xiàng)目目錄下發(fā)現(xiàn)有此配置信息文件,直接從“config.ini”文件中讀取課程信息,然后以該信息進(jìn)行單詞測試或查看詞匯信息即可。
2.2.5 幫助功能
作為一款面向用戶的應(yīng)用軟件,提供軟件的操作說明和幫助是十分有必要的,是衡量軟件友好度的一個(gè)重要指標(biāo)。當(dāng)用戶初次接觸此軟件時(shí),因?yàn)橛辛瞬僮髡f明或者是幫助,能幫助他們快速上手,熟悉軟件界面,嘗試運(yùn)用軟件實(shí)現(xiàn)功能達(dá)到合用軟件的目的。倘若沒有操作說明和幫助,那么用戶只能通過自己的摸索來對軟件進(jìn)行操作。在摸索過程中,許多用戶因?yàn)槿狈δ托幕蜍浖僮鬟^于復(fù)雜而放棄使用此款軟件,這是軟件開發(fā)的一個(gè)大忌,無疑對軟件的推廣產(chǎn)生不良影響。因而,軟件提供一定的操作說明或幫助,能讓用戶用得方便舒服,軟件效益也能隨之得到提升。
3 結(jié) 語
本文論述了一個(gè)基于Trie樹的快速電子詞典的設(shè)計(jì)與實(shí)現(xiàn),展現(xiàn)了本電子詞典在大數(shù)據(jù)時(shí)代中所能發(fā)揮出的優(yōu)點(diǎn)。主要是采用基于Trie樹為數(shù)據(jù)結(jié)構(gòu),以本地文件為詞庫以及用Windows API進(jìn)行編碼實(shí)現(xiàn)的電子詞典,通過程序構(gòu)建本地文件流對象,將詞庫單詞讀入內(nèi)存,并在內(nèi)存中構(gòu)建一棵字典查找樹,這樣使得單詞查詢只需在內(nèi)存中進(jìn)行,有效提高了查詢目標(biāo)詞匯速度。
參考文獻(xiàn)
[1] KNOWLES F E. The Computer in lexicography [M]. [S.l.]: CiteULike, 1990: 1645?1672.
[2] ZHANG Yi?hua. Think for the development strategy of the electronic dictionary in our country [J]. Lexicographical Study, 2007(2): 112?119.
[3] DE SCHRYVER Gilles?Maurice. Lexicographers` dreams in the eectronic?dctionary age [J]. International Journal of Lexicography, 2003, 16(2): 143?199.
[4] BOGURAEV, B, BRISCO T. Computational lexicography for natural language processing [M]. [S.l.]: Longman, 1989.
[5] PUSTEJOVSKY J, BERGLER S. Lexical semantics and knowledge representation [J]. Lecture Notes in Artificial Intelligence, 1992, 627: 86?95.
[6] YOKOI Toshio. The EDR electronic dictionary [J]. Communications of the ACM, 1995, 38(11): 42?44.
[7] 王博文.通用類Trie樹及自動(dòng)生成[J].計(jì)算機(jī)應(yīng)用,2000(12):74?75.
[8] 朱文強(qiáng).Trie樹和單字倒排相結(jié)合的漢英詞典查找機(jī)制[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2008(2):182?185.
[9] 何鴻君.一種簡單高效的電子詞典組織策略[J].計(jì)算機(jī)科學(xué),1996,23(2):56?57.
[10] 李娜.用于文本智能處理的電子詞典的一種設(shè)計(jì)方法[J].南京師范大學(xué)學(xué)報(bào),2003(3):31?35.
2.2.2 添加生詞
生詞添加分為單個(gè)添加和批量添加。單個(gè)單詞添加是在用戶界面上輸入要添加的新單詞及單詞相關(guān)的信息,然后保存到指定的生詞庫即可。而批量添加則是在用戶界面上選擇要添加單詞庫文件的路徑,單詞庫文件須事先按要求及格式準(zhǔn)備好,然后點(diǎn)擊確定添加即可。
2.2.3 我的單詞本
我的單詞本包括以下幾個(gè)功能:添加詞匯功能(注意:此處的添加詞匯功能實(shí)現(xiàn)與上面的“添加詞匯”功能一致,只是所添加的詞匯是添加到“用戶自定義生詞本”上);單詞查看功能;單詞測試功能。
(1) 添加生詞:與上面“添加詞庫”中的“單個(gè)添加”功能一致,只是重寫向的文件為“用戶自定義生詞本”。
(2) 詞匯查看。電子詞典詞庫存在出現(xiàn)遺漏、錯(cuò)誤的可能性,也可能詞庫單詞不夠完善的情況。相應(yīng)的電子詞典系統(tǒng)應(yīng)該有一種可讓用戶查看詞庫內(nèi)容的功能,因此把電子詞典設(shè)計(jì)成能隨時(shí)讓用戶查看任意詞庫的所有單詞和信息,以滿足用戶要添加或修改詞庫的意愿。詞匯查看功能主要就是選擇相應(yīng)的詞庫,然后把詞庫中的單詞及信息呈現(xiàn)在用戶界面上,用戶可以按序地去核對詞庫,查看詞庫是否存在遺漏,或發(fā)生錯(cuò)誤,或缺少一些詞匯。用戶也可以通過查詢來檢查該單詞是否存在生詞庫中。若發(fā)現(xiàn)詞庫存在遺漏,則可以及時(shí)添加;若詞庫中單詞發(fā)生錯(cuò)誤,則可以及時(shí)個(gè)性;若發(fā)現(xiàn)一些詞匯不在詞庫中,則可以通過上述的添加功能添加進(jìn)指定詞庫中。
(3) 單詞測試。單詞測試功能,能以游戲選擇的形式達(dá)到讓讀者輕松背誦或復(fù)習(xí)單詞的目的,該電子詞典針對不同用戶的不同需求可選擇不同生詞庫來進(jìn)行單詞測試,從而讓用戶對自己的詞匯水平有一個(gè)大體的了解,同時(shí)用戶也達(dá)到了背誦和復(fù)習(xí)單詞的目的。
2.2.4 課程設(shè)置功能
在用戶未自定義詞庫之前,本電子詞典系統(tǒng)已經(jīng)包括有考研詞庫、四級詞庫、六級詞庫、生詞庫、GRE的幾大詞庫。加上用戶自定義的詞庫,必然會(huì)讓詞庫變得更大,然后針對不同的用戶對象,會(huì)有不同的用戶需求,因此,在電子詞典系統(tǒng)進(jìn)設(shè)計(jì)具有選擇詞庫,設(shè)置詞庫功能,可方便不同的用戶,提高用戶的學(xué)習(xí)效率,增強(qiáng)電子詞典軟件的友好度。
在初次設(shè)置課程時(shí),程序會(huì)在本地的電子詞典的目錄下生成一個(gè)名詞“config.ini”的文件,里面存放用戶的課程設(shè)置情況。當(dāng)初次運(yùn)行時(shí),在未設(shè)置課程前則系統(tǒng)無法進(jìn)行單詞測試功能。在要重新選擇課程時(shí),電子詞典應(yīng)用程序會(huì)對該文件作出修改,修改成為當(dāng)前所選的詞庫,以便于滿足不同的用戶需求。
在用戶要進(jìn)行單詞測試或查看詞庫信息時(shí),首先會(huì)到磁盤中找本電子詞典項(xiàng)目目錄下是否有“config.ini”這個(gè)文件。若沒有發(fā)現(xiàn)此文件,則要求用戶選設(shè)置課程,并將用戶所選課程信息生成“config.ini”文件,然后在該課程下進(jìn)行單詞測試或查看詞匯信息即可。若在項(xiàng)目目錄下發(fā)現(xiàn)有此配置信息文件,直接從“config.ini”文件中讀取課程信息,然后以該信息進(jìn)行單詞測試或查看詞匯信息即可。
2.2.5 幫助功能
作為一款面向用戶的應(yīng)用軟件,提供軟件的操作說明和幫助是十分有必要的,是衡量軟件友好度的一個(gè)重要指標(biāo)。當(dāng)用戶初次接觸此軟件時(shí),因?yàn)橛辛瞬僮髡f明或者是幫助,能幫助他們快速上手,熟悉軟件界面,嘗試運(yùn)用軟件實(shí)現(xiàn)功能達(dá)到合用軟件的目的。倘若沒有操作說明和幫助,那么用戶只能通過自己的摸索來對軟件進(jìn)行操作。在摸索過程中,許多用戶因?yàn)槿狈δ托幕蜍浖僮鬟^于復(fù)雜而放棄使用此款軟件,這是軟件開發(fā)的一個(gè)大忌,無疑對軟件的推廣產(chǎn)生不良影響。因而,軟件提供一定的操作說明或幫助,能讓用戶用得方便舒服,軟件效益也能隨之得到提升。
3 結(jié) 語
本文論述了一個(gè)基于Trie樹的快速電子詞典的設(shè)計(jì)與實(shí)現(xiàn),展現(xiàn)了本電子詞典在大數(shù)據(jù)時(shí)代中所能發(fā)揮出的優(yōu)點(diǎn)。主要是采用基于Trie樹為數(shù)據(jù)結(jié)構(gòu),以本地文件為詞庫以及用Windows API進(jìn)行編碼實(shí)現(xiàn)的電子詞典,通過程序構(gòu)建本地文件流對象,將詞庫單詞讀入內(nèi)存,并在內(nèi)存中構(gòu)建一棵字典查找樹,這樣使得單詞查詢只需在內(nèi)存中進(jìn)行,有效提高了查詢目標(biāo)詞匯速度。
參考文獻(xiàn)
[1] KNOWLES F E. The Computer in lexicography [M]. [S.l.]: CiteULike, 1990: 1645?1672.
[2] ZHANG Yi?hua. Think for the development strategy of the electronic dictionary in our country [J]. Lexicographical Study, 2007(2): 112?119.
[3] DE SCHRYVER Gilles?Maurice. Lexicographers` dreams in the eectronic?dctionary age [J]. International Journal of Lexicography, 2003, 16(2): 143?199.
[4] BOGURAEV, B, BRISCO T. Computational lexicography for natural language processing [M]. [S.l.]: Longman, 1989.
[5] PUSTEJOVSKY J, BERGLER S. Lexical semantics and knowledge representation [J]. Lecture Notes in Artificial Intelligence, 1992, 627: 86?95.
[6] YOKOI Toshio. The EDR electronic dictionary [J]. Communications of the ACM, 1995, 38(11): 42?44.
[7] 王博文.通用類Trie樹及自動(dòng)生成[J].計(jì)算機(jī)應(yīng)用,2000(12):74?75.
[8] 朱文強(qiáng).Trie樹和單字倒排相結(jié)合的漢英詞典查找機(jī)制[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2008(2):182?185.
[9] 何鴻君.一種簡單高效的電子詞典組織策略[J].計(jì)算機(jī)科學(xué),1996,23(2):56?57.
[10] 李娜.用于文本智能處理的電子詞典的一種設(shè)計(jì)方法[J].南京師范大學(xué)學(xué)報(bào),2003(3):31?35.
2.2.2 添加生詞
生詞添加分為單個(gè)添加和批量添加。單個(gè)單詞添加是在用戶界面上輸入要添加的新單詞及單詞相關(guān)的信息,然后保存到指定的生詞庫即可。而批量添加則是在用戶界面上選擇要添加單詞庫文件的路徑,單詞庫文件須事先按要求及格式準(zhǔn)備好,然后點(diǎn)擊確定添加即可。
2.2.3 我的單詞本
我的單詞本包括以下幾個(gè)功能:添加詞匯功能(注意:此處的添加詞匯功能實(shí)現(xiàn)與上面的“添加詞匯”功能一致,只是所添加的詞匯是添加到“用戶自定義生詞本”上);單詞查看功能;單詞測試功能。
(1) 添加生詞:與上面“添加詞庫”中的“單個(gè)添加”功能一致,只是重寫向的文件為“用戶自定義生詞本”。
(2) 詞匯查看。電子詞典詞庫存在出現(xiàn)遺漏、錯(cuò)誤的可能性,也可能詞庫單詞不夠完善的情況。相應(yīng)的電子詞典系統(tǒng)應(yīng)該有一種可讓用戶查看詞庫內(nèi)容的功能,因此把電子詞典設(shè)計(jì)成能隨時(shí)讓用戶查看任意詞庫的所有單詞和信息,以滿足用戶要添加或修改詞庫的意愿。詞匯查看功能主要就是選擇相應(yīng)的詞庫,然后把詞庫中的單詞及信息呈現(xiàn)在用戶界面上,用戶可以按序地去核對詞庫,查看詞庫是否存在遺漏,或發(fā)生錯(cuò)誤,或缺少一些詞匯。用戶也可以通過查詢來檢查該單詞是否存在生詞庫中。若發(fā)現(xiàn)詞庫存在遺漏,則可以及時(shí)添加;若詞庫中單詞發(fā)生錯(cuò)誤,則可以及時(shí)個(gè)性;若發(fā)現(xiàn)一些詞匯不在詞庫中,則可以通過上述的添加功能添加進(jìn)指定詞庫中。
(3) 單詞測試。單詞測試功能,能以游戲選擇的形式達(dá)到讓讀者輕松背誦或復(fù)習(xí)單詞的目的,該電子詞典針對不同用戶的不同需求可選擇不同生詞庫來進(jìn)行單詞測試,從而讓用戶對自己的詞匯水平有一個(gè)大體的了解,同時(shí)用戶也達(dá)到了背誦和復(fù)習(xí)單詞的目的。
2.2.4 課程設(shè)置功能
在用戶未自定義詞庫之前,本電子詞典系統(tǒng)已經(jīng)包括有考研詞庫、四級詞庫、六級詞庫、生詞庫、GRE的幾大詞庫。加上用戶自定義的詞庫,必然會(huì)讓詞庫變得更大,然后針對不同的用戶對象,會(huì)有不同的用戶需求,因此,在電子詞典系統(tǒng)進(jìn)設(shè)計(jì)具有選擇詞庫,設(shè)置詞庫功能,可方便不同的用戶,提高用戶的學(xué)習(xí)效率,增強(qiáng)電子詞典軟件的友好度。
在初次設(shè)置課程時(shí),程序會(huì)在本地的電子詞典的目錄下生成一個(gè)名詞“config.ini”的文件,里面存放用戶的課程設(shè)置情況。當(dāng)初次運(yùn)行時(shí),在未設(shè)置課程前則系統(tǒng)無法進(jìn)行單詞測試功能。在要重新選擇課程時(shí),電子詞典應(yīng)用程序會(huì)對該文件作出修改,修改成為當(dāng)前所選的詞庫,以便于滿足不同的用戶需求。
在用戶要進(jìn)行單詞測試或查看詞庫信息時(shí),首先會(huì)到磁盤中找本電子詞典項(xiàng)目目錄下是否有“config.ini”這個(gè)文件。若沒有發(fā)現(xiàn)此文件,則要求用戶選設(shè)置課程,并將用戶所選課程信息生成“config.ini”文件,然后在該課程下進(jìn)行單詞測試或查看詞匯信息即可。若在項(xiàng)目目錄下發(fā)現(xiàn)有此配置信息文件,直接從“config.ini”文件中讀取課程信息,然后以該信息進(jìn)行單詞測試或查看詞匯信息即可。
2.2.5 幫助功能
作為一款面向用戶的應(yīng)用軟件,提供軟件的操作說明和幫助是十分有必要的,是衡量軟件友好度的一個(gè)重要指標(biāo)。當(dāng)用戶初次接觸此軟件時(shí),因?yàn)橛辛瞬僮髡f明或者是幫助,能幫助他們快速上手,熟悉軟件界面,嘗試運(yùn)用軟件實(shí)現(xiàn)功能達(dá)到合用軟件的目的。倘若沒有操作說明和幫助,那么用戶只能通過自己的摸索來對軟件進(jìn)行操作。在摸索過程中,許多用戶因?yàn)槿狈δ托幕蜍浖僮鬟^于復(fù)雜而放棄使用此款軟件,這是軟件開發(fā)的一個(gè)大忌,無疑對軟件的推廣產(chǎn)生不良影響。因而,軟件提供一定的操作說明或幫助,能讓用戶用得方便舒服,軟件效益也能隨之得到提升。
3 結(jié) 語
本文論述了一個(gè)基于Trie樹的快速電子詞典的設(shè)計(jì)與實(shí)現(xiàn),展現(xiàn)了本電子詞典在大數(shù)據(jù)時(shí)代中所能發(fā)揮出的優(yōu)點(diǎn)。主要是采用基于Trie樹為數(shù)據(jù)結(jié)構(gòu),以本地文件為詞庫以及用Windows API進(jìn)行編碼實(shí)現(xiàn)的電子詞典,通過程序構(gòu)建本地文件流對象,將詞庫單詞讀入內(nèi)存,并在內(nèi)存中構(gòu)建一棵字典查找樹,這樣使得單詞查詢只需在內(nèi)存中進(jìn)行,有效提高了查詢目標(biāo)詞匯速度。
參考文獻(xiàn)
[1] KNOWLES F E. The Computer in lexicography [M]. [S.l.]: CiteULike, 1990: 1645?1672.
[2] ZHANG Yi?hua. Think for the development strategy of the electronic dictionary in our country [J]. Lexicographical Study, 2007(2): 112?119.
[3] DE SCHRYVER Gilles?Maurice. Lexicographers` dreams in the eectronic?dctionary age [J]. International Journal of Lexicography, 2003, 16(2): 143?199.
[4] BOGURAEV, B, BRISCO T. Computational lexicography for natural language processing [M]. [S.l.]: Longman, 1989.
[5] PUSTEJOVSKY J, BERGLER S. Lexical semantics and knowledge representation [J]. Lecture Notes in Artificial Intelligence, 1992, 627: 86?95.
[6] YOKOI Toshio. The EDR electronic dictionary [J]. Communications of the ACM, 1995, 38(11): 42?44.
[7] 王博文.通用類Trie樹及自動(dòng)生成[J].計(jì)算機(jī)應(yīng)用,2000(12):74?75.
[8] 朱文強(qiáng).Trie樹和單字倒排相結(jié)合的漢英詞典查找機(jī)制[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2008(2):182?185.
[9] 何鴻君.一種簡單高效的電子詞典組織策略[J].計(jì)算機(jī)科學(xué),1996,23(2):56?57.
[10] 李娜.用于文本智能處理的電子詞典的一種設(shè)計(jì)方法[J].南京師范大學(xué)學(xué)報(bào),2003(3):31?35.