一種基于hash處理的詞匯管理方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001] 本申請(qǐng)涉及網(wǎng)絡(luò)領(lǐng)域,尤其是一種基于hash處理的詞匯管理方法和設(shè)備。
【背景技術(shù)】
[0002] 為了對(duì)詞匯進(jìn)行正確性檢驗(yàn),服務(wù)器上需要維護(hù)hash表,該hash表用于記錄詞匯 與hash值之間的對(duì)應(yīng)關(guān)系,且每個(gè)hash值只能夠?qū)?yīng)一個(gè)詞匯。在對(duì)詞匯進(jìn)行檢驗(yàn)時(shí), 首先對(duì)該詞匯進(jìn)行hash處理,得到該詞匯對(duì)應(yīng)的hash值;之后,服務(wù)器利用該詞匯以及該 hash值查詢hash表,以確定hash表中是否記錄有該詞匯以及該hash值;如果有,貝U說(shuō)明 詞匯正確;如果沒(méi)有,則說(shuō)明詞匯不正確。
[0003] 但是,在實(shí)際應(yīng)用中,在對(duì)詞匯進(jìn)行hash處理時(shí),會(huì)出現(xiàn)多個(gè)詞匯對(duì)應(yīng)的hash值 相同的情況,但是由于hash表中每個(gè)hash值只能夠?qū)?yīng)一個(gè)詞匯,因此上述多個(gè)詞匯中將 只有一個(gè)詞匯能夠記錄在hash表中。當(dāng)對(duì)上述多個(gè)詞匯中沒(méi)有記錄在hash表中的詞匯進(jìn) 行檢驗(yàn)時(shí),其檢驗(yàn)結(jié)果為詞匯不正確。顯然,上述檢驗(yàn)結(jié)果是不正確的,即在對(duì)上述多個(gè)詞 匯中沒(méi)有記錄在hash表中的詞匯進(jìn)行正確性檢驗(yàn)時(shí),其檢驗(yàn)結(jié)果應(yīng)該為詞匯正確,但現(xiàn)有 技術(shù)中得到了錯(cuò)誤結(jié)論。
[0004] 進(jìn)一步的,在基于hash表的翻譯領(lǐng)域中,服務(wù)器上同樣需要維護(hù)hash表,該hash 表用于記錄需要進(jìn)行翻譯的詞匯與hash值之間的對(duì)應(yīng)關(guān)系,且每個(gè)hash值只能夠?qū)?yīng)一 個(gè)需要進(jìn)行翻譯的詞匯。針對(duì)待翻譯的詞匯,首先對(duì)該詞匯進(jìn)行hash處理,得到該詞匯對(duì) 應(yīng)的hash值;之后,服務(wù)器利用該詞匯以及該hash值查詢hash表,以確定hash表中是否 記錄有該詞匯以及該hash值;如果有,則說(shuō)明該詞匯需要進(jìn)行翻譯;如果沒(méi)有,則說(shuō)明該詞 匯不需要進(jìn)行翻譯。
[0005] 但是,在實(shí)際應(yīng)用中,在對(duì)詞匯進(jìn)行hash處理時(shí),會(huì)出現(xiàn)多個(gè)詞匯對(duì)應(yīng)的hash值 相同的情況,但由于hash表中每個(gè)hash值只能夠?qū)?yīng)一個(gè)詞匯,因此上述多個(gè)詞匯中只有 一個(gè)詞匯能夠記錄在hash表中。當(dāng)判斷上述多個(gè)詞匯中沒(méi)有記錄在hash表中的詞匯是否 需要翻譯時(shí),其檢驗(yàn)結(jié)果為詞匯不需要進(jìn)行翻譯。顯然,上述是否需要翻譯的結(jié)果是不正確 的,現(xiàn)有技術(shù)中得到了錯(cuò)誤結(jié)論。
【發(fā)明內(nèi)容】
[0006] 本申請(qǐng)實(shí)施例提供一種基于hash處理的詞匯管理方法和設(shè)備,以提高詞匯檢驗(yàn) 的準(zhǔn)確性,避免由于hash表中無(wú)法記錄多個(gè)詞匯導(dǎo)致的錯(cuò)誤結(jié)論。進(jìn)一步的,在翻譯領(lǐng)域 中,還可以準(zhǔn)確判斷出待翻譯的詞匯是否需要進(jìn)行翻譯,并提高翻譯的效率。
[0007] 為了達(dá)到上述目的,本申請(qǐng)實(shí)施例提供一種基于hash處理的詞匯管理方法,所述 方法具體包括以下步驟:服務(wù)器維護(hù)第一hash詞匯表和第二hash詞匯表;其中,所述第一 hash詞匯表用于記錄hash值與未發(fā)生沖突的詞匯之間的對(duì)應(yīng)關(guān)系,所述第二hash詞匯表 用于記錄hash值與多個(gè)發(fā)生沖突的詞匯之間的對(duì)應(yīng)關(guān)系;針對(duì)待處理詞匯,所述服務(wù)器對(duì) 待處理詞匯進(jìn)行hash處理,得到相應(yīng)的hash值,并利用所述hash值查詢所述第一hash詞 匯表和第二hash詞匯表;如果所述第一hash詞匯表或者第二hash詞匯表中記錄有所述hash值,且所述hash值下記錄有所述待處理詞匯,則所述服務(wù)器確定所述待處理詞匯為第 一類(lèi)型詞匯;如果所述第一hash詞匯表和第二hash詞匯表中均未記錄所述待處理詞匯,則 所述服務(wù)器確定所述待處理詞匯為第二類(lèi)型詞匯。
[0008] 優(yōu)選的,在本申請(qǐng)實(shí)施例中,所述服務(wù)器維護(hù)第一hash詞匯表和第二hash詞匯表 的過(guò)程,具體包括:所述服務(wù)器依次遍歷當(dāng)前詞匯庫(kù)內(nèi)的每個(gè)詞匯,并對(duì)當(dāng)前遍歷的詞匯進(jìn) 行hash處理,以得到所述當(dāng)前遍歷的詞匯對(duì)應(yīng)的hash值;所述服務(wù)器判斷所述第一hash 詞匯表內(nèi)是否記錄有所述hash值;如果是,所述服務(wù)器從所述第一hash詞匯表中刪除所述 hash值以及與所述hash值對(duì)應(yīng)的詞匯,并在所述第二hash詞匯表中記錄所述hash值,在 所述hash值下記錄所述當(dāng)前遍歷的詞匯以及所述與所述hash值對(duì)應(yīng)的詞匯;如果否,所述 服務(wù)器判斷所述第二hash詞匯表內(nèi)是否記錄有所述hash值;如果有,所述服務(wù)器在所述第 二hash詞匯表的所述hash值下記錄所述當(dāng)前遍歷的詞匯;如果沒(méi)有,所述服務(wù)器在所述第 一hash詞匯表中記錄所述hash值,并在所述第一hash詞匯表的所述hash值下記錄所述 當(dāng)前遍歷的詞匯。
[0009] 優(yōu)選的,在本申請(qǐng)實(shí)施例中,所述第一hash詞匯表和第二hash詞匯表中均未記錄 所述待處理詞匯,具體為:所述第一hash詞匯表和第二hash詞匯表中均未記錄所述hash 值;或者,所述第一hash詞匯表中記錄有所述hash值,但所述hash值下未記錄所述待處理 詞匯;或者,所述第二hash詞匯表中記錄有所述hash值,但所述hash值下未記錄所述待 處理詞匯;所述方法還包括:在所述第一hash詞匯表和第二hash詞匯表中均未記錄所述 hash值時(shí),所述服務(wù)器在所述第一hash詞匯表中記錄所述hash值,并在所述第一hash詞 匯表的所述hash值下記錄所述待處理詞匯;或者,在所述第一hash詞匯表中記錄有所述 hash值,但所述hash值下未記錄所述待處理詞匯時(shí),所述服務(wù)器從所述第一hash詞匯表 中刪除所述hash值以及與所述hash值對(duì)應(yīng)的詞匯,并在所述第二hash詞匯表中記錄所述 hash值,在所述hash值下記錄所述待處理詞匯以及與所述hash值對(duì)應(yīng)的詞匯;或者,在所 述第二hash詞匯表中記錄有所述hash值,但所述hash值下未記錄所述待處理詞匯時(shí),所 述服務(wù)器在所述第二hash詞匯表的所述hash值下記錄所述待處理詞匯。
[0010] 優(yōu)選的,在本申請(qǐng)實(shí)施例中,所述服務(wù)器利用所述hash值查詢所述第一hash詞匯 表和第二hash詞匯表的過(guò)程,具體包括:所述服務(wù)器利用所述hash值查詢所述第一hash 詞匯表;如果第一hash詞匯表中記錄有所述hash值,所述服務(wù)器判斷所述hash值下是否 記錄所述待處理詞匯;如果是,所述服務(wù)器確定所述第一hash詞匯表的所述hash值下記 錄所述待處理詞匯;如果否,所述服務(wù)器確定所述第一hash詞匯表中記錄有所述hash值, 但所述hash值下未記錄所述待處理詞匯;如果所述第一hash詞匯表中沒(méi)有記錄所述hash 值,則所述服務(wù)器利用所述hash值查詢所述第二hash詞匯表;如果所述第二hash詞匯表 中記錄所述hash值,所述服務(wù)器判斷所述hash值下是否記錄所述待處理詞匯;如果是,所 述服務(wù)器確定所述第二hash詞匯表的所述hash值下記錄所述待處理詞匯;如果否,所述 服務(wù)器確定所述第二hash詞匯表中記錄有所述hash值,但所述hash值下未記錄所述待處 理詞匯;如果所述第二hash詞匯表中沒(méi)有記錄所述hash值,則所述服務(wù)器確定所述第一 hash詞匯表和第二hash詞匯表中均未記錄所述hash值。
[0011] 優(yōu)選的,在本申請(qǐng)實(shí)施例中,所述待處理詞匯具體為:頁(yè)面上需要檢驗(yàn)的詞匯;所 述詞匯具體包括以下之一或者任意組合:英文單詞,俄文單詞,法文單詞,德文單詞。
[0012] 優(yōu)選的,在本申請(qǐng)實(shí)施例中,所述待處理詞匯具體為:待翻譯的詞匯;所述詞匯具 體包括以下之一或者任意組合:英文單詞,俄文單詞,法文單詞,德文單詞;其中,所述第一 類(lèi)型詞匯具體為:需要進(jìn)行翻譯的詞匯;所述第二類(lèi)型詞匯具體為:不需要進(jìn)行翻譯的詞 匯。
[0013] 本申請(qǐng)實(shí)施例提供一種服務(wù)器,所述服務(wù)器具體包括:維護(hù)模塊,用于維護(hù)第一 hash詞匯表和第二hash詞匯表;其中,所述第一hash詞匯表用于記錄hash值與未發(fā)生沖 突的詞匯之間的對(duì)應(yīng)關(guān)系,所述第二hash詞匯表用于記錄hash值與多個(gè)發(fā)生沖突的詞匯 之間的對(duì)應(yīng)關(guān)系;查詢模塊,用于針對(duì)待處理詞匯,對(duì)待處理詞匯進(jìn)行hash處理,得到相應(yīng) 的hash值,并利用所述hash值查詢第一hash詞匯表和第二hash詞匯表;確定模塊,用于 在所述第一hash詞匯表或者第二hash詞匯表中記錄有所述hash值,且所述hash值下記錄 有所述待處理詞匯時(shí),則確定所述待處理詞匯為第一類(lèi)型詞匯;在所述第一hash詞匯表和 第二hash詞匯表中均未記錄所述待處理詞匯時(shí),則確定所述待處理詞匯為第二類(lèi)型詞匯。
[0014] 優(yōu)選的,所述維護(hù)模塊,具體用于依次遍歷當(dāng)前詞匯庫(kù)內(nèi)的每個(gè)詞匯,并對(duì)當(dāng)前遍 歷的詞匯進(jìn)行hash處理,以得到所述當(dāng)前遍歷的詞匯對(duì)應(yīng)的hash值;判斷所述第一hash 詞匯表內(nèi)是否記錄有所述hash值;如果是,從所述第一hash詞匯表中刪除所述hash值