專利名稱:錯別字的檢查方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)領(lǐng)域,特別是指一種錯別字的檢查方法和裝置。
背景技術(shù):
錯別字檢查是數(shù)據(jù)生產(chǎn)行業(yè)的典型工作環(huán)節(jié)。錯別字的來源,主要有兩個方面第一方面是由于機(jī)器原因?qū)е碌臄?shù)據(jù)錯誤。比如0CR(0ptical CharacterRecognition,光學(xué)字符識別)識別軟件的識別錯誤。利用OCR識別軟件導(dǎo)致的錯別字,一般是同形字。第二方面是人的錯誤。典型的又分為如下幾類(1)同音字,很多情況下是由于在使用拼音輸入法時選擇錯誤。例如“眼鏡”寫成 “眼睛”。(2)同形字,很多情況下是由于使用形狀類型輸入法(例如五筆輸入法)時選擇錯誤。例如“體育”寫成“體肓”。(3)由于理解錯誤時用錯字或者用錯詞。這些往往是由于對一些詞中的漢字把握不準(zhǔn)確。例如“迫不及待”寫成“迫不急待”;“松弛”寫成“松馳”等。對于數(shù)據(jù)生產(chǎn)企業(yè)而言,在生產(chǎn)過程中檢查錯別字,防止錯別字流入產(chǎn)品,是一個成本很大的過程。目前的錯別字檢查方法為機(jī)器檢查錯別字,典型的模式是建立一個錯別詞與正確詞的對照表。然后通過對比分析方法甄別錯別字。該方法需要維護(hù)錯詞表,錯詞表的數(shù)量決定了檢查效率。但是,積累錯詞表是一個耗時和復(fù)雜的過程。錯別字無定式,沒有積累的錯字、錯詞,是沒法進(jìn)行有效鑒別的。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種不需要預(yù)先建立錯詞表的檢查錯別字的方法和裝置。為解決上述技術(shù)問題,本發(fā)明的實施例提供技術(shù)方案如下一方面,提供一種錯別字的檢查方法,包括步驟一,獲取待檢查詞;步驟二,將所述待檢查詞進(jìn)行HASH函數(shù)處理,生成所述待檢查詞對應(yīng)的HASH函數(shù)值;步驟三,判斷所述待檢查詞對應(yīng)的HASH函數(shù)值是否在HASH函數(shù)值數(shù)據(jù)庫中,生成判斷結(jié)果,所述HASH函數(shù)值數(shù)據(jù)庫由正確詞庫中的正確詞經(jīng)過函數(shù)處理生成的函數(shù)值組成;步驟四,根據(jù)所述判斷結(jié)果生成檢查結(jié)果并輸出,如果所述判斷結(jié)果為是,則所述檢查結(jié)果為所述待檢查詞正確;否則,所述檢查結(jié)果為所述待檢查詞中有錯別字。可選的,當(dāng)所述檢查結(jié)果為所述待檢查詞中有錯別字時,所述方法還包括
步驟五,根據(jù)所述待檢查詞構(gòu)造至少一個疑似詞;步驟六,依次判斷所述至少一個疑似詞是否正確;步驟七,輸出判斷為正確的所述疑似詞供用戶選擇;步驟八,接收用戶的選擇指令后,使用用戶選擇的正確的所述疑似詞校正有錯別字的所述待檢查詞??蛇x的,當(dāng)所述檢查結(jié)果為所述待檢查詞中有錯別字時,所述方法還包括步驟五,根據(jù)所述待檢查詞構(gòu)造至少一個疑似詞;步驟六,依次判斷所述至少一個疑似詞是否正確;步驟七,統(tǒng)計判斷為正確的所述疑似詞的數(shù)量;步驟八,如果所述數(shù)量為0,則接收用戶提供的校對詞后,使用所述校對詞校正有錯別字的所述待檢查詞;如果所述數(shù)量為1,則使用正確的所述疑似詞校正有錯別字的所述待檢查詞;如果所述數(shù)量大于1,則輸出正確的所述疑似詞供用戶選擇,接收用戶的選擇指令后,使用用戶選擇的正確的所述疑似詞校正有錯別字的所述待檢查詞。所述步驟五包括步驟a,將所述待檢查詞拆分成字;步驟b,分別查找所述拆分后的字對應(yīng)的同音字、近音字、同形字或近形字,作為查找出的字;步驟C,使用所述查找出的字代替所述拆分后的字,將所述待檢查詞構(gòu)造成疑似詞。所述步驟一之前,所述方法還包括選定一空間大小為N比特的存儲空間,所述存儲空間的相對地址以一維向量進(jìn)行編號,并從0開始,其中,N為大于0的自然數(shù);將所述HASH函數(shù)的值域設(shè)置為從0到N ;將正確詞庫中的所有正確詞分別進(jìn)行HASH函數(shù)處理,生成HASH函數(shù)值;將所述HASH函數(shù)值作為所述存儲空間的相對地址,將所述HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容賦值為1 ;將所述存儲空間中沒有所述HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容賦值為0;所述步驟三具體為將所述待檢查詞對應(yīng)的HASH函數(shù)值作為存儲空間的相對地址,判斷所述待檢查詞的HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容是否為1,生成判斷結(jié)^ ο所述HASH函數(shù)為一個或者至少二個。另一方面,提供一種錯別字的檢查裝置,包括獲取單元,用于獲取待檢查詞;第一 HASH函數(shù)處理單元,用于將所述待檢查詞進(jìn)行HASH函數(shù)處理,生成所述待檢查詞對應(yīng)的HASH函數(shù)值;第一正確詞判定單元,用于判斷所述待檢查詞對應(yīng)的HASH函數(shù)值是否在HASH函數(shù)值數(shù)據(jù)庫中,生成判斷結(jié)果,所述HASH函數(shù)值數(shù)據(jù)庫由正確詞庫中的正確詞經(jīng)過函數(shù)處理生成的函數(shù)值組成;檢查結(jié)果生成單元,用于根據(jù)所述判斷結(jié)果生成檢查結(jié)果并輸出,當(dāng)所述判斷結(jié)果為時,則所述檢查結(jié)果為所述待檢查詞正確;否則,所述檢查結(jié)果為所述待檢查詞中有錯別字。所述的錯別字的檢查裝置,還包括疑似詞構(gòu)造單元,用于當(dāng)所述檢查結(jié)果為所述待檢查詞中有錯別字時,根據(jù)所述待檢查詞構(gòu)造至少一個疑似詞;第二正確詞判定單元,用于依次判斷所述至少一個疑似詞是否正確;輸出單元,用于輸出判斷為正確的所述疑似詞供用戶選擇;接收單元,用于接收用戶的選擇指令;校正單元,用于使用用戶選擇的正確的所述疑似詞校正有錯別字的所述待檢查詞。所述的錯別字的檢查裝置,還包括疑似詞構(gòu)造單元,用于當(dāng)所述檢查結(jié)果為所述待檢查詞中有錯別字時,根據(jù)所述待檢查詞構(gòu)造至少一個疑似詞;第二正確詞判定單元,用于依次判斷所述至少一個疑似詞是否正確;統(tǒng)計單元,用于統(tǒng)計判斷為正確的所述疑似詞的數(shù)量;接收單元,用于接收用戶提供的校對詞或者接收用戶的選擇指令;輸出單元,用于輸出正確的所述疑似詞供用戶選擇;校正單元,用于當(dāng)所述數(shù)量為0時,使用所述校對詞校正有錯別字的所述待檢查詞;當(dāng)所述數(shù)量為1時,使用正確的所述疑似詞校正有錯別字的所述待檢查詞;當(dāng)所述數(shù)量大于1時,使用用戶選擇的正確的所述疑似詞校正有錯別字的所述待檢查詞。所述疑似詞構(gòu)造單元包括拆分子單元,用于將所述待檢查詞拆分成字;查找子單元,用于分別查找所述拆分后的字對應(yīng)的同音字、近音字、同形字或近形字,作為查找出的字;替代子單元,用于使用所述查找出的字代替所述拆分后的字,將所述待檢查詞構(gòu)造成疑似詞。所述的錯別字的檢查裝置,還包括設(shè)定單元,用于選定一空間大小為N比特的存儲空間,所述存儲空間的相對地址以一維向量進(jìn)行編號,并從0開始,其中,N為大于0的自然數(shù);第二 HASH函數(shù)處理單元,用于將所述HASH函數(shù)的值域設(shè)置為從0到N ;將正確詞庫中的所有正確詞分別進(jìn)行HASH函數(shù)處理,生成HASH函數(shù)值;賦值單元,將所述HASH函數(shù)值作為所述存儲空間的相對地址,將所述HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容賦值為1 ;將所述存儲空間中沒有所述HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容賦值為0 ;所述第一正確詞判定單元具體為將所述待檢查詞對應(yīng)的HASH函數(shù)值作為存儲空間的相對地址,判斷所述待檢查詞的HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容是否為
Io本發(fā)明的實施例具有以下有益效果上述方案中,通過判斷所述待檢查詞對應(yīng)的HASH函數(shù)值是否在HASH函數(shù)值數(shù)據(jù)庫中,生成判斷結(jié)果,根據(jù)所述判斷結(jié)果生成檢查結(jié)果并輸出,如果所述判斷結(jié)果為是,則所述檢查結(jié)果為所述待檢查詞正確;否則,所述檢查結(jié)果為所述待檢查詞中有錯別字。相比于現(xiàn)有技術(shù)來說,不需要預(yù)先建立錯詞表。
圖1為本發(fā)明所述的錯別字的檢查方法的一實施例的流程示意圖;圖2為本發(fā)明所述的錯別字的檢查方法的另一實施例的流程示意圖;圖3為本發(fā)明所述的錯別字的檢查方法的另一實施例的流程示意圖;圖4為本發(fā)明所述的錯別字的檢查裝置的結(jié)構(gòu)示意圖;圖5為本發(fā)明所述的生成HASH函數(shù)值數(shù)據(jù)庫的示意圖。
具體實施例方式為使本發(fā)明的實施例要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例進(jìn)行詳細(xì)描述。如圖1所示,為本發(fā)明所述的一種錯別字的檢查方法的一實施例,包括步驟11,獲取待檢查詞;步驟12,將所述待檢查詞進(jìn)行HASH函數(shù)處理,生成所述待檢查詞對應(yīng)的HASH函數(shù)值;步驟13,判斷所述待檢查詞對應(yīng)的HASH函數(shù)值是否在HASH函數(shù)值數(shù)據(jù)庫中,生成判斷結(jié)果,所述HASH函數(shù)值數(shù)據(jù)庫由正確詞庫中的正確詞經(jīng)過函數(shù)處理生成的函數(shù)值組成;根據(jù)所述判斷結(jié)果生成檢查結(jié)果并輸出,如果所述判斷結(jié)果為是,則執(zhí)行步驟14, 所述檢查結(jié)果為所述待檢查詞正確;否則,執(zhí)行步驟15,所述檢查結(jié)果為所述待檢查詞中有錯別字。可選的,當(dāng)所述檢查結(jié)果為所述待檢查詞中有錯別字時,所述方法還包括步驟16,根據(jù)所述待檢查詞構(gòu)造至少一個疑似詞;步驟17,依次判斷所述至少一個疑似詞是否正確;步驟18,輸出判斷為正確的所述疑似詞供用戶選擇;步驟19,接收用戶的選擇指令后,使用用戶選擇的正確的所述疑似詞校正有錯別字的所述待檢查詞。如圖2所示,為本發(fā)明所述的一種錯別字的檢查方法的另一實施例,包括步驟21,獲取待檢查詞;步驟22,將所述待檢查詞進(jìn)行HASH函數(shù)處理,生成所述待檢查詞對應(yīng)的HASH函數(shù)值;步驟23,判斷所述待檢查詞對應(yīng)的HASH函數(shù)值是否在HASH函數(shù)值數(shù)據(jù)庫中,生成判斷結(jié)果,所述HASH函數(shù)值數(shù)據(jù)庫由正確詞庫中的正確詞經(jīng)過函數(shù)處理生成的函數(shù)值組成;根據(jù)所述判斷結(jié)果生成檢查結(jié)果并輸出,如果所述判斷結(jié)果為是,則執(zhí)行步驟M, 所述檢查結(jié)果為所述待檢查詞正確;否則,執(zhí)行步驟25,所述檢查結(jié)果為所述待檢查詞中有錯別字。當(dāng)所述檢查結(jié)果為所述待檢查詞中有錯別字時,所述方法還包括步驟沈,根據(jù)所述待檢查詞構(gòu)造至少一個疑似詞;步驟27,依次判斷所述至少一個疑似詞是否正確;步驟觀,統(tǒng)計判斷為正確的所述疑似詞的數(shù)量;如果所述數(shù)量為0,則執(zhí)行步驟四,接收用戶提供的校對詞后,使用所述校對詞校正有錯別字的所述待檢查詞;如果所述數(shù)量為1,則執(zhí)行步驟210,使用正確的所述疑似詞校正有錯別字的所述待檢查詞;如果所述數(shù)量大于1,則執(zhí)行步驟211,輸出正確的所述疑似詞供用戶選擇,接收用戶的選擇指令后,使用用戶選擇的正確的所述疑似詞校正有錯別字的所述待檢查詞。所述步驟沈包括步驟沈1,將所述待檢查詞拆分成字;步驟沈2,分別查找所述拆分后的字對應(yīng)的同音字、近音字、同形字或近形字,作為查找出的字;步驟沈3,使用所述查找出的字代替所述拆分后的字,將所述待檢查詞構(gòu)造成疑似詞。如圖3所示,為本發(fā)明所述的一種錯別字的檢查方法的另一實施例,包括步驟31,選定一空間大小為N比特的存儲空間,所述存儲空間的相對地址以一維向量進(jìn)行編號,并從0開始,其中,N為大于0的自然數(shù);步驟32,將所述HASH函數(shù)的值域設(shè)置為從0到N ;將正確詞庫中的所有正確詞分別進(jìn)行HASH函數(shù)處理,生成HASH函數(shù)值;步驟33,將所述HASH函數(shù)值作為所述存儲空間的相對地址,將所述HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容賦值為1 ;將所述存儲空間中沒有所述HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容賦值為0 ;步驟34,獲取待檢查詞;步驟35,將所述待檢查詞進(jìn)行HASH函數(shù)處理,生成所述待檢查詞對應(yīng)的HASH函數(shù)值;步驟36,將所述待檢查詞對應(yīng)的HASH函數(shù)值作為存儲空間的相對地址,判斷所述待檢查詞的HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容是否為1,生成判斷結(jié)果。根據(jù)所述判斷結(jié)果生成檢查結(jié)果并輸出,如果所述判斷結(jié)果為是,則執(zhí)行步驟37, 所述檢查結(jié)果為所述待檢查詞正確;否則,執(zhí)行步驟38,所述檢查結(jié)果為所述待檢查詞中有錯別字。所述HASH函數(shù)為一個或者至少二個。如圖4所示,為本發(fā)明所述的一種錯別字的檢查裝置的一實施例,包括獲取單元41,用于獲取待檢查詞;第一 HASH函數(shù)處理單元42,用于將所述待檢查詞進(jìn)行HASH函數(shù)處理,生成所述待檢查詞對應(yīng)的HASH函數(shù)值;第一正確詞判定單元43,用于判斷所述待檢查詞對應(yīng)的HASH函數(shù)值是否在HASH函數(shù)值數(shù)據(jù)庫中,生成判斷結(jié)果,所述HASH函數(shù)值數(shù)據(jù)庫由正確詞庫中的正確詞經(jīng)過函數(shù)處理生成的函數(shù)值組成;檢查結(jié)果生成單元44,用于根據(jù)所述判斷結(jié)果生成檢查結(jié)果并輸出,當(dāng)所述判斷結(jié)果為時,則所述檢查結(jié)果為所述待檢查詞正確;否則,所述檢查結(jié)果為所述待檢查詞中有錯別字。可選的,所述的錯別字的檢查裝置,還包括疑似詞構(gòu)造單元45,用于當(dāng)所述檢查結(jié)果為所述待檢查詞中有錯別字時,根據(jù)所述待檢查詞構(gòu)造至少一個疑似詞;第二正確詞判定單元46,用于依次判斷所述至少一個疑似詞是否正確;輸出單元47,用于輸出判斷為正確的所述疑似詞供用戶選擇;接收單元48,用于接收用戶的選擇指令;校正單元49,用于使用用戶選擇的正確的所述疑似詞校正有錯別字的所述待檢查詞??蛇x的,所述的錯別字的檢查裝置,還包括統(tǒng)計單元410,用于統(tǒng)計判斷為正確的所述疑似詞的數(shù)量;輸出單元47,還用于輸出正確的所述疑似詞供用戶選擇;接收單元48,還用于接收用戶提供的校對詞或者接收用戶的選擇指令;校正單元49,還用于當(dāng)所述數(shù)量為0時,使用所述校對詞校正有錯別字的所述待檢查詞;當(dāng)所述數(shù)量為1時,使用正確的所述疑似詞校正有錯別字的所述待檢查詞;當(dāng)所述數(shù)量大于1時,使用用戶選擇的正確的所述疑似詞校正有錯別字的所述待檢查詞。所述疑似詞構(gòu)造單元45包括拆分子單元,用于將所述待檢查詞拆分成字;查找子單元,用于分別查找所述拆分后的字對應(yīng)的同音字、近音字、同形字或近形字,作為查找出的字;替代子單元,用于使用所述查找出的字代替所述拆分后的字,將所述待檢查詞構(gòu)造成疑似詞。所述的錯別字的檢查裝置,還包括設(shè)定單元411,用于選定一空間大小為N比特的存儲空間,所述存儲空間的相對地址以一維向量進(jìn)行編號,并從0開始,其中,N為大于0的自然數(shù);第二 HASH函數(shù)處理單元412,用于將所述HASH函數(shù)的值域設(shè)置為從0到N ;將正確詞庫中的所有正確詞分別進(jìn)行HASH函數(shù)處理,生成HASH函數(shù)值;賦值單元413,將所述HASH函數(shù)值作為所述存儲空間的相對地址,將所述HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容賦值為1 ;將所述存儲空間中沒有所述HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容賦值為0 ;所述第一正確詞判定單元43具體為將所述待檢查詞對應(yīng)的HASH函數(shù)值作為存儲空間的相對地址,判斷所述待檢查詞的HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容是否為1。本發(fā)明中,正確詞庫存儲了拼寫正確的詞匯。包括簡單詞如“人民” “中國”;也包括各種多字詞,如“得隴望蜀”,“中華人民共和國”等;也可以是組合詞,例如“眼鏡店”。
正確詞快檢表(上文所述的HASH函數(shù)值數(shù)據(jù)庫),是為了將正確詞有效壓縮,易于放置在內(nèi)存空間,便于快速判斷一個詞匯是否為一個正確詞。將正確詞庫壓縮為正確詞快檢表后,存儲空間大大減少,但如無法一次性放入內(nèi)存,則可按詞頻將高頻詞的快檢表放置在內(nèi)存。Hash(散列)函數(shù),就是把任意長度的輸入(又叫做預(yù)映射,pre-image),通過散列算法,變換成固定長度的輸出,該輸出就是散列值(本文的Hash函數(shù)值),散列值均勻分布在哈希表的值域中。這種轉(zhuǎn)換是一種壓縮映射,也就是,散列值的空間通常遠(yuǎn)小于輸入的空間,因此,使得正確詞庫生成的HASH函數(shù)值數(shù)據(jù)庫占用的存儲空間小于直接存儲正確詞庫的存儲空間。同/近音字表,存儲了同/近音的字。例如,同音字“在”與“再”、“宰”;近音字 “摘”與“載”等。由于常用漢字?jǐn)?shù)在萬字以內(nèi),因此,同/近音字表不大,可放置在內(nèi)存中。 同/近音字表,可以通過自動化的方法由字典生產(chǎn)。同/近形字表,儲了同/近形的字。例如“人”與“入”,“育”與“肓”等。同/近形字表可通過自動化方法生成,例如,利用筆順相似、四角號碼相似、五筆字型相似等規(guī)則生成;也可通過人工輸入一些同/近形字。同/近形表不大,可放置在內(nèi)存中。以下描述本發(fā)明所述的錯別字檢查流程的應(yīng)用場景,包括步驟一,輸入詞匯,進(jìn)入正確詞判定單元,進(jìn)行正確詞判定,這個過程中,涉及到查詢正確詞快檢表。如果判定為正確詞,則結(jié)束處理;否則,進(jìn)入步驟二。例如判定“入民”不是正確詞。利用正確詞快檢表快速判斷一個詞匯是否存儲于正確詞庫,也即是否為一個正確詞。例如“入民”不在正確詞庫內(nèi),判定不是一個正確詞。步驟二,上述輸入詞(也就是上文所述的待檢查詞,例如“入民”)輸入疑似詞構(gòu)造
單元,通過同/近音字表和同/近形字表,按照用同/近音字替換,同/近形字替換的方法, 構(gòu)造一組疑似詞。例如輸入詞為“入民”,分別拆分成“入”和“民”。通過查找同/近音字表和同/近形字表,獲取“入”的同/近音字“如”、“乳”、獲取 “民”的同/近音字“閩”、“敏”、“民”等。通過查找同/近形字表,獲取“入”的同/近音字“人”。使用所述查找出的字代替所述拆分的字,將所述待檢查詞“入民”構(gòu)造為“如民”、 “乳民,,、“入閩,,、“入敏”、“人民”等。步驟三,將步驟二輸出的一組疑似詞,輸入正確詞判定單元,檢查是否存在正確詞。上例中五個疑似詞中,輸出“人民”為驗證正確的疑似詞。步驟四,使用步驟三輸出的驗證正確的疑似詞“人民”代替步驟二檢查的詞匯“入民”。輸出“人民”為正確詞,則使用“人民”代替“入民”。如圖5所示,為本發(fā)明所述的生成正確詞快檢表(上文所述的HASH函數(shù)值數(shù)據(jù)庫)的示意圖,所述方法包括步驟一,構(gòu)造一維空間,空間的每個比特的存儲內(nèi)容賦值為0。例如,空間大小為 80億位,則占用空間為1GB。存儲空間可放入內(nèi)存以加快處理速度。步驟二,構(gòu)造多維Hash函數(shù)。例如,構(gòu)造2維Hash函數(shù),也就是說,構(gòu)造兩個獨立的Hash函數(shù)。Hash函數(shù)的值域與上述一維空間的大小一致,為80億。步驟三,對正確詞庫中每一詞匯,通過多維Hash函數(shù)構(gòu)造一個多維向量。例如,“人民”,其bit串作為輸入,通過上述2個Hash函數(shù),生成值構(gòu)成向量(XI,X2)步驟四,將向量的每一維,按其值在步驟一生成的一維空間尋址,將存儲空間的對應(yīng)比特位賦1。如,上述(XI,X2),將一維空間的第Xl位賦1,將一維空間的第X2位賦1。步驟五,如果正確詞庫仍有詞未處理,則返回步驟三,直到正確詞庫中的每個正確詞被處理。在圖5中,詞的投影處(影子)的比特位賦值為1,其余的比特位賦值為0。通過上述流程,構(gòu)造一維空間及賦值,形成了正確詞快檢表。這個構(gòu)造完成后,將結(jié)果保存。后續(xù)檢查時,直接使用正確詞快檢表,而不需重新構(gòu)造。以下描本發(fā)明利用正確詞快檢表檢查詞匯是否正確的應(yīng)用場景,包括步驟一,對于一個詞匯,使用前述流程的多維Hash函數(shù)生成一個多維向量。例如, “人民”,其bit串作為輸入,通過上述2個Hash函數(shù),生成值構(gòu)成向量(X1,X2)。當(dāng)HASH函數(shù)為二維以上的多維時,HASH函數(shù)值的多維向量為存儲空間以一維向量進(jìn)行編號的相對地址。步驟二,將向量的每一維,按其值在一維空間尋址。也就是說,存儲空間以一維向量順序編號,Hash函數(shù)值的多維向量轉(zhuǎn)換為一維。將如,上述(X1,X2),尋址一維空間第Xl 位,第X2位。如果上述位都被賦1,則判斷該詞匯為正確詞。本發(fā)明所述的錯別字檢查的方法和裝置具有以下有益效果(1)對于錯別字檢查,尤其是面對海量數(shù)據(jù),本發(fā)明是一種高效率的檢查方法。現(xiàn)有技術(shù)中,存儲錯詞表和正確詞表都需要很大空間。在檢查過程中,不論是檢索錯詞還是正確詞,都不可避免訪問硬盤數(shù)據(jù),這是整個檢查效率的瓶頸。一般而言,在少量數(shù)據(jù)中檢查錯別字,效率尚可忍受。但是對于海量數(shù)據(jù)的錯別字檢查,其效率將成為問題。本發(fā)明中, 在典型計算機(jī)配置下,HASH函數(shù)值數(shù)據(jù)庫占用的存儲空間比較小,可選的,可以預(yù)先調(diào)入內(nèi)存,避免了耗時的磁盤訪問,并且Hash函數(shù)計算量不大,從而在數(shù)量級上提高檢查效率。(2)本發(fā)明是一種“少量學(xué)習(xí)”甚至是“無需學(xué)習(xí)”的檢查方法,從而在成本和檢查錯別字的正確性上都有優(yōu)勢。目前的錯別字檢查方法,需要人工不斷充實錯詞表,未收集的錯詞是無法被檢查的。本發(fā)明沒有“錯詞表”,因此沒有收集、充實錯詞表的過程。本發(fā)明所需的“同/近音字表”,“同/近形字表”,皆可一次建立而無需后期反復(fù)充實,建立過程可以是自動化過程,不消耗人工。本發(fā)明所需“正確詞庫”,在行業(yè)內(nèi)屬于成本不高、可采購的商品。所述方法實施例是與所述裝置實施例相對應(yīng)的,在方法實施例中未詳細(xì)描述的部分參照裝置實施例中相關(guān)部分的描述即可,在裝置實施例中未詳細(xì)描述的部分參照方法實施例中相關(guān)部分的描述即可。本領(lǐng)域普通技術(shù)人員可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中, 該程序在執(zhí)行時,包括如上述方法實施例的步驟,所述的存儲介質(zhì),如磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機(jī)存儲記憶體(Random Access Memory, RAM)等。在本發(fā)明各方法實施例中,所述各步驟的序號并不能用于限定各步驟的先后順序,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,對各步驟的先后變化也在本發(fā)明的保護(hù)范圍之內(nèi)。
以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種錯別字的檢查方法,其特征在于,包括 步驟一,獲取待檢查詞;步驟二,將所述待檢查詞進(jìn)行哈希HASH函數(shù)處理,生成所述待檢查詞對應(yīng)的HASH函數(shù)值;步驟三,判斷所述待檢查詞對應(yīng)的HASH函數(shù)值是否在HASH函數(shù)值數(shù)據(jù)庫中,生成判斷結(jié)果,所述HASH函數(shù)值數(shù)據(jù)庫由正確詞庫中的正確詞經(jīng)過函數(shù)處理生成的函數(shù)值組成;步驟四,根據(jù)所述判斷結(jié)果生成檢查結(jié)果并輸出,如果所述判斷結(jié)果為是,則所述檢查結(jié)果為所述待檢查詞正確;否則,所述檢查結(jié)果為所述待檢查詞中有錯別字。
2.根據(jù)權(quán)利要求1所述的錯別字的檢查方法,其特征在于,當(dāng)所述檢查結(jié)果為所述待檢查詞中有錯別字時,所述方法還包括步驟五,根據(jù)所述待檢查詞構(gòu)造至少一個疑似詞; 步驟六,依次判斷所述至少一個疑似詞是否正確; 步驟七,輸出判斷為正確的所述疑似詞供用戶選擇;步驟八,接收用戶的選擇指令后,使用用戶選擇的正確的所述疑似詞校正有錯別字的所述待檢查詞。
3.根據(jù)權(quán)利要求1所述的錯別字的檢查方法,其特征在于,當(dāng)所述檢查結(jié)果為所述待檢查詞中有錯別字時,所述方法還包括步驟五,根據(jù)所述待檢查詞構(gòu)造至少一個疑似詞; 步驟六,依次判斷所述至少一個疑似詞是否正確; 步驟七,統(tǒng)計判斷為正確的所述疑似詞的數(shù)量;步驟八,如果所述數(shù)量為0,則接收用戶提供的校對詞后,使用所述校對詞校正有錯別字的所述待檢查詞;如果所述數(shù)量為1,則使用正確的所述疑似詞校正有錯別字的所述待檢查詞;如果所述數(shù)量大于1,則輸出正確的所述疑似詞供用戶選擇,接收用戶的選擇指令后,使用用戶選擇的正確的所述疑似詞校正有錯別字的所述待檢查詞。
4.根據(jù)權(quán)利要求2或3所述的錯別字的檢查方法,其特征在于,所述步驟五包括 步驟a,將所述待檢查詞拆分成字;步驟b,分別查找所述拆分后的字對應(yīng)的同音字、近音字、同形字或近形字,作為查找出的字;步驟c,使用所述查找出的字代替所述拆分后的字,將所述待檢查詞構(gòu)造成疑似詞。
5.根據(jù)權(quán)利要求1所述的錯別字的檢查方法,其特征在于,所述步驟一之前,所述方法還包括選定一空間大小為N比特的存儲空間,所述存儲空間的相對地址以一維向量進(jìn)行編號,并從0開始,其中,N為大于0的自然數(shù);將所述HASH函數(shù)的值域設(shè)置為從0到N,將正確詞庫中的所有正確詞分別進(jìn)行HASH函數(shù)處理,生成HASH函數(shù)值;將所述HASH函數(shù)值作為所述存儲空間的相對地址,將所述HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容賦值為1 ;將所述存儲空間中沒有所述HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容賦值為0;所述步驟三具體為將所述待檢查詞對應(yīng)的HASH函數(shù)值作為存儲空間的相對地址,判斷所述待檢查詞的HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容是否為1,生成判斷結(jié)果。
6.根據(jù)權(quán)利要求1所述的錯別字的檢查方法,其特征在于,所述HASH函數(shù)為一個或者至少二個。
7.一種錯別字的檢查裝置,其特征在于,包括 獲取單元,用于獲取待檢查詞;第一 HASH函數(shù)處理單元,用于將所述待檢查詞進(jìn)行HASH函數(shù)處理,生成所述待檢查詞對應(yīng)的HASH函數(shù)值;第一正確詞判定單元,用于判斷所述待檢查詞對應(yīng)的HASH函數(shù)值是否在HASH函數(shù)值數(shù)據(jù)庫中,生成判斷結(jié)果,所述HASH函數(shù)值數(shù)據(jù)庫由正確詞庫中的正確詞經(jīng)過函數(shù)處理生成的函數(shù)值組成;檢查結(jié)果生成單元,用于根據(jù)所述判斷結(jié)果生成檢查結(jié)果并輸出,當(dāng)所述判斷結(jié)果為時,則所述檢查結(jié)果為所述待檢查詞正確;否則,所述檢查結(jié)果為所述待檢查詞中有錯別字。
8.根據(jù)權(quán)利要求7所述的錯別字的檢查裝置,其特征在于,還包括疑似詞構(gòu)造單元,用于當(dāng)所述檢查結(jié)果為所述待檢查詞中有錯別字時,根據(jù)所述待檢查詞構(gòu)造至少一個疑似詞;第二正確詞判定單元,用于依次判斷所述至少一個疑似詞是否正確; 輸出單元,用于輸出判斷為正確的所述疑似詞供用戶選擇; 接收單元,用于接收用戶的選擇指令;校正單元,用于使用用戶選擇的正確的所述疑似詞校正有錯別字的所述待檢查詞。
9.根據(jù)權(quán)利要求7所述的錯別字的檢查裝置,其特征在于,還包括疑似詞構(gòu)造單元,用于當(dāng)所述檢查結(jié)果為所述待檢查詞中有錯別字時,根據(jù)所述待檢查詞構(gòu)造至少一個疑似詞;第二正確詞判定單元,用于依次判斷所述至少一個疑似詞是否正確; 統(tǒng)計單元,用于統(tǒng)計判斷為正確的所述疑似詞的數(shù)量; 接收單元,用于接收用戶提供的校對詞或者接收用戶的選擇指令; 輸出單元,用于輸出正確的所述疑似詞供用戶選擇;校正單元,用于當(dāng)所述數(shù)量為0時,使用所述校對詞校正有錯別字的所述待檢查詞;當(dāng)所述數(shù)量為1時,使用正確的所述疑似詞校正有錯別字的所述待檢查詞;當(dāng)所述數(shù)量大于1 時,使用用戶選擇的正確的所述疑似詞校正有錯別字的所述待檢查詞。
10.根據(jù)權(quán)利要求8或9所述的錯別字的檢查裝置,其特征在于,所述疑似詞構(gòu)造單元包括拆分子單元,用于將所述待檢查詞拆分成字;查找子單元,用于分別查找所述拆分后的字對應(yīng)的同音字、近音字、同形字或近形字, 作為查找出的字;替代子單元,用于使用所述查找出的字代替所述拆分后的字,將所述待檢查詞構(gòu)造成疑似詞。
11.根據(jù)權(quán)利要求7所述的錯別字的檢查裝置,其特征在于,還包括設(shè)定單元,用于選定一空間大小為N比特的存儲空間,所述存儲空間的相對地址以一維向量進(jìn)行編號,并從0開始,其中,N為大于0的自然數(shù);第二 HASH函數(shù)處理單元,用于將所述HASH函數(shù)的值域設(shè)置為從0到N ;將正確詞庫中的所有正確詞分別進(jìn)行HASH函數(shù)處理,生成HASH函數(shù)值;賦值單元,將所述HASH函數(shù)值作為所述存儲空間的相對地址,將所述HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容賦值為1 ;將所述存儲空間中沒有所述HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容賦值為0;所述第一正確詞判定單元具體為將所述待檢查詞對應(yīng)的HASH函數(shù)值作為存儲空間的相對地址,判斷所述待檢查詞的HASH函數(shù)值對應(yīng)的相對地址處的存儲內(nèi)容是否為1。
全文摘要
本發(fā)明提供一種錯別字的檢查方法和裝置,涉及數(shù)據(jù)領(lǐng)域,為解決現(xiàn)有技術(shù)中錯別字檢查需要預(yù)先建立錯別詞表的技術(shù)問題而發(fā)明。所述方法包括步驟一,獲取待檢查詞;步驟二,將所述待檢查詞進(jìn)行HASH函數(shù)處理,生成所述待檢查詞對應(yīng)的HASH函數(shù)值;步驟三,判斷所述待檢查詞對應(yīng)的HASH函數(shù)值是否在HASH函數(shù)值數(shù)據(jù)庫中,生成判斷結(jié)果,所述HASH函數(shù)值數(shù)據(jù)庫由正確詞庫中的正確詞經(jīng)過函數(shù)處理生成的函數(shù)值組成;步驟四,根據(jù)所述判斷結(jié)果生成檢查結(jié)果并輸出,如果所述判斷結(jié)果為是,則所述檢查結(jié)果為所述待檢查詞正確;否則,所述檢查結(jié)果為所述待檢查詞中有錯別字。本發(fā)明能夠提高錯別字檢查的工作效率。
文檔編號G06F17/27GK102456001SQ20101052750
公開日2012年5月16日 申請日期2010年10月27日 優(yōu)先權(quán)日2010年10月27日
發(fā)明者向哲, 徐晉暉, 曹曉航, 高超 申請人:北京四維圖新科技股份有限公司