專利名稱:實現(xiàn)不規(guī)則片語快速查找的方法
現(xiàn)今計算機技術(shù)的發(fā)展,無論在軟件或硬件上,均以具有人性化、個性化及親和性的設(shè)計理想及要求,作為吸引使用者的最終目的,以WIN95視窗作業(yè)系統(tǒng)為例,其人性化的界面設(shè)計不僅操作簡便,且容易學習,而所提供的個性化工具,又可令使用者根據(jù)其個人喜好規(guī)劃及布置所使用的畫面,使計算機環(huán)境充滿個人風格,如此,使用者對于計算機的使用操作,已變得像布置自家后院一樣地簡單,且樂于利用計算機處理事務(wù)、檢索新技術(shù)及信息,但是,在另一方面,個人長期累積于計算機中的大量信息資料,也因其任意置放,極易四處散落于存儲裝置中諸多被遺忘的角落。
為解決上述問題,必須針對個人的大量信息資料間,建立一種如百科全書般的超鏈關(guān)系,例如某使用者的計算機中存儲有一朋友幾年前傳來的相片,還有歷年來該朋友傳來的電子郵件,以及該朋友最近傳來的計算機音樂作品,此時,若該使用者是以該朋友的名字作為關(guān)鍵字,建立所有檔案的關(guān)聯(lián),則該使用者以該朋友的名字進行檢索時,所有與其相關(guān)的資料均將被列示,供該使用者選擇開啟,如此,該使用者即可在欣賞該朋友的最新音樂作品時,順便調(diào)閱其相片,倘若該檔案間沒有此一超鏈關(guān)系,該使用者在計算機未提示相關(guān)檔案名稱的情形下,可能早已忘卻該計算機中封存已久的陳年往事了。
目前各種計算機系統(tǒng)中所使用的快速查找方法勻系利用一數(shù)據(jù)庫或字典,針對當前屏幕上的單字或數(shù)據(jù),自所設(shè)計的數(shù)據(jù)庫/字典中查找所需的資料,其查詢對象往往僅局限于單字。
在此種傳統(tǒng)的查找方法中,若使用者欲針對個人計算機中所存儲的大量信息資料進行查找,必需通過輸入相關(guān)的單字,以作為檢索及搜尋的依據(jù),但是,由于該單字一般均系由使用者自行定義,非常不規(guī)則,例如該單字可能構(gòu)成一長片語、中英組合或混雜標點的字符串等,因此,傳統(tǒng)查找方法并無法滿足使用者的實際需求,而截至目前為止,尚未發(fā)現(xiàn)一種可有效針對該種片語及類似字符串的查找方法。
本發(fā)明為有效改善上述傳統(tǒng)查找方法的缺點,且使用者僅需藉由輸入一片語或字符串(如朋友們的名字或分類),即可在極短的時間內(nèi),自個人計算機所存儲的大量信息資料中,查找出所有相關(guān)的資料,特針對一般片語或字符串的特點進行分析,其中片語是單字的組合,即由一長串字符所組成,其出現(xiàn)率低,而使用者自定義的字符串,其出現(xiàn)率更低,故本發(fā)明所設(shè)計的查找方法中,其查找方向是相反的,以針對當前屏幕上欲查找的片語或字符串,將一關(guān)鍵字庫中的相關(guān)關(guān)鍵字予以快速地定位,供使用者選擇,以有效改善傳統(tǒng)查找方法效率低、速度慢且不能滿足實際要求的缺點。
本發(fā)明針對片語或字符串的特點,利用快速排除非片語或字符串(而非快速確認片語或字符串)的判斷處理方式,再加上本發(fā)明獨創(chuàng)以片語特征確定片語的處理方式,即可大幅提高其快速查找的效率,例如本發(fā)明的一關(guān)鍵字庫中包含有一關(guān)鍵字“Wang dong sheng”,此時,當前計算機屏幕上有一片語“Wangdongis”,若利用傳統(tǒng)查找方法,必需針對每一單字重復(fù)進行多次字符串的異同比較,直到比較到“is”不同時,才能排除此詞的查找,而本發(fā)明則取“wang”的特征編碼“w4”,在一索引表中查找是否有此編碼,若有,則繼續(xù)查“dong”的特征編碼“d”,如果有,則比較“wang dong is”片語之長度10是否與關(guān)鍵字“wang dong sheng”的長度15相同,由于在本例中不同,于是排除此關(guān)鍵字的查找,如此,整個查找過程僅需進行三次整體的比較,即可達到查找的目的,其查找速度自然大幅度提高。
圖1是本發(fā)明實現(xiàn)不規(guī)則片語快速查找的硬件結(jié)構(gòu)示意圖;圖2是本發(fā)明實現(xiàn)不規(guī)則片語快速查找的流程結(jié)構(gòu)示意圖。
本發(fā)明在實現(xiàn)不規(guī)則片語快速查找時,參照圖1所示,其硬件結(jié)構(gòu)主要包括一中央處理單元、一存儲器單元、一存儲單元(可視實際需要為一硬盤…等)、一輸入裝置(可視實際需要為一鍵盤、鼠標…等)、一輸出裝置(可視實際需要為一計算機監(jiān)視器…等)及其它所需的周邊裝置,其中該中央處理單元是用以執(zhí)行本發(fā)明的方法,并負責操控所有裝置的運作,該存儲器單元是用以存儲本發(fā)明運作所需的相關(guān)數(shù)據(jù),該存儲單元是用以存儲所建立的一關(guān)鍵字庫,以提供使用者查找所需的關(guān)鍵字,該輸入裝置是提供輸入資料,該輸出裝置是用以將輸入裝置所輸入的資料及該中央處理單元所完成的查找結(jié)果予以顯示。
本發(fā)明主要是先針對所建立的一關(guān)鍵字庫中各關(guān)鍵字的特點進行編碼,其編碼方法及相應(yīng)的由整體到細部的比較方法,可歸納為下列幾點1、本發(fā)明針對一般的關(guān)鍵字都是由不規(guī)則片語組合而成的特性,藉抽取關(guān)鍵字的五個特征,對其進行編碼,如此,當本發(fā)明對輸入裝置所輸入的一片語或字符串進行關(guān)鍵字的驗證時,僅需對其五個特征編碼進行驗證,而不需對其長達二、三十個字母所組合的片語或字符串中每一字母或符號逐一驗證,故,其整體的比較速度將遠遠快于逐一驗證每一字母或符號的速度,從而大幅度地提高了檢索的速度;2、本發(fā)明針對待查找的一片語或字符串中絕大多數(shù)的內(nèi)容不包含關(guān)鍵字的特性,利用逆向排除的方法,就當前輸出裝置的屏幕上一待查找的片語或字符串,依五個特征編碼設(shè)計的原則,自該關(guān)鍵字庫中進行查找,經(jīng)由對其第一單詞的首字母及長度、第二單詞的首字母、整個片語的長度…等特征編碼的比較,迅速決定該關(guān)鍵字庫中各關(guān)鍵字是否具備可比較的價值,再藉后續(xù)其它特征編碼的每一次比較,進一步確認各關(guān)鍵字的可比較價值,直到極有可能的情況下,開始進行字符串的最后比較。故,本發(fā)明是一種通過由整體到細部的比較路徑,根據(jù)當前屏幕所欲查找的內(nèi)容,自一關(guān)鍵字庫中篩選出少數(shù)整體特征相同,且具備比較價值的關(guān)鍵字后,再逐一針對該關(guān)鍵字進行細部對比,以確認完全符合需求的關(guān)鍵字,此種逆向排除法確實可大幅度減化字符串逐一比較所需的時間,從而達到真正快速查找的目的。
由于一關(guān)鍵字庫中所包含的關(guān)鍵字范圍廣泛,現(xiàn)為能更清楚表達本發(fā)明的發(fā)明理想及技術(shù)特征,僅以查找一關(guān)鍵字“wang dong sheng”為例,詳細說明如下本發(fā)明主要是針對關(guān)鍵字的特點進行編碼,再根據(jù)此一編碼規(guī)則利用逆向排除的運算法,達到快速查找的目的,其中該編碼的數(shù)據(jù)結(jié)構(gòu)及組織是為方便該逆向排除的運算法而制定,該編碼方式主要是對所有關(guān)鍵字取出以下五項特征進行編碼(1)關(guān)鍵字的第一個單詞的首字母(中文取其內(nèi)碼的低12位);(2)關(guān)鍵字的第一個單詞的長度(中文取其內(nèi)碼的低12位);(3)關(guān)鍵字的第二個單詞的首字母(中文取其內(nèi)碼的高8位);(4)關(guān)鍵字的尾字符(中文取其內(nèi)碼的低8位);(5)關(guān)鍵字的總長度;其中第1及2項組成本發(fā)明中關(guān)鍵字的第一特征值,第3項組成本發(fā)明中關(guān)鍵字的第二特征值,依據(jù)以上5項特征基本上即可確定一個關(guān)鍵字。
在本發(fā)明中,假設(shè)該關(guān)鍵字庫中所包含的關(guān)鍵字的最大長度為32個字節(jié)(對于其他長度的關(guān)鍵字,其做法以此類推),而所有關(guān)鍵字是根據(jù)下列三個表建立其關(guān)鍵字庫(1)關(guān)鍵字表包含關(guān)鍵字、關(guān)鍵字的尾字符、關(guān)鍵字的長度等三項,其中各關(guān)鍵字需依字典排序法排列,中文則按其內(nèi)碼排列;例如一具有五個關(guān)鍵字的關(guān)鍵字表如下
01234(2)二級索引表是用以記錄所有包含第一及第二特征值的關(guān)鍵字在關(guān)鍵字表中的位置,該索引表包括三項內(nèi)容,其中第一項內(nèi)容為關(guān)鍵字中第二單詞的首字母(即第二特征);第二項內(nèi)容為所有包含第一及第二特征值的關(guān)鍵字在關(guān)鍵字表中的起始位置(From);第三項內(nèi)容為所有包含第一及第二特征值的關(guān)鍵字在關(guān)鍵字表中的結(jié)束位置(To);下表即一根據(jù)前述的關(guān)鍵字表所制作的二級索引表的內(nèi)容
0123其中該二級索引表中第三列第一項為d,是對應(yīng)于前述關(guān)鍵字表的“wangdong”和“wang dong sheng”的第二特征值,由于該二關(guān)鍵字位于該關(guān)鍵字表中的第2列和第3列,故,在該二級索引表中的From及To分別為2及3。
(3)一級索引表其大小固定,其內(nèi)容與關(guān)鍵字的最大長度有關(guān),所有關(guān)鍵字的第一特征值均可藉由公式計算出其在該一級索引表中的位置,此位置的內(nèi)容指向該二級索引表中該關(guān)鍵字的第二特征值。當中央處理單元自輸出裝置的屏幕上掃描到一待查找的片語時,本發(fā)明首先會根據(jù)其第一特征值查找在一級索引表中相應(yīng)的內(nèi)容,如果為空,則不存在以此單詞為首的關(guān)鍵字,此時,進行下一單詞的掃描,否則,繼續(xù)自二級索引表進行查找。
該一級索引表共分為兩項,第一項為含有第一特征值的所有關(guān)鍵字在二級索引表中的起始位置(From),第二項為含有第二特征值的所有關(guān)鍵字在二級索引表中的結(jié)束位置(To);下表即一根據(jù)前述關(guān)鍵字表和二級索引表所制作的一級索引表的內(nèi)容
2364714287本發(fā)明中,可由關(guān)鍵字的第一特征值,依下列公式計算其在一級索引表中的位置(西文)位置=(單詞的長度-1)×A+單詞的首字母的ASCII碼值(中文)位置=(中文內(nèi)碼的低十二位)+(A×B),其中A是西文ASCII碼表的大小,B是定義該關(guān)鍵字的最大長度。
這里A=128,B=32本發(fā)明根據(jù)前述關(guān)鍵字庫中的該等索引表,再依下列逆向排除運算法的步驟,參閱圖2所示,進行如下的處理(1)由待查找的片語或字符串的第一特征值求出其在一級索引表中的位置,檢查對應(yīng)項的內(nèi)容;若空白,則該關(guān)鍵字庫中沒有以此單詞為首的關(guān)鍵字,繼續(xù)步驟(5),結(jié)束該運算法的處理動作;否則,依該對應(yīng)的From及To項中的內(nèi)容查找二級索引表中的相應(yīng)內(nèi)容,例如屏幕上待查找的片語“wang dong sheng”中第一單詞“wang”的第一特征為w4,其在一級索引表中的位置為(4-1)×128+87=471,此時,由一級索引表可知第471項的內(nèi)容是From 2 To 2,所以,可由二級索引表中的位置“2”進行查找;(2)中央處理單元繼續(xù)在屏幕上掃描該待查找片語的第一單詞后面的單詞,將其第二特征與先前由二級索引表中查到的相應(yīng)第一項內(nèi)容相比較;若不相同,則表示該關(guān)鍵字庫中沒有以此二單詞為首的關(guān)鍵字,此時,繼續(xù)步驟(5),結(jié)束該運算法的處理動作;否則,依二級索引表中查到的相應(yīng)From及To的內(nèi)容,查找關(guān)鍵字表中的相應(yīng)內(nèi)容,例如屏幕上待查找的片語“wang dong sheng”中第二單詞“dong”的第二特征為“d”,故依先前步驟得知,可自二級索引表中的位置“2”進行查找,其第一項內(nèi)容“d”,其后兩項為From 2 To 3,因此,由關(guān)鍵字表中查找位置3和2的內(nèi)容(此查找順序是按字典排列法,較長的詞排在后面,所以先查位置靠后的項目)。
(3)由該關(guān)鍵字庫的關(guān)鍵字表中取出相應(yīng)位置的該關(guān)鍵字的長度和尾字節(jié),并與屏幕上待查片語的長度和尾字節(jié)進行對比,并判斷二者是否相符;若否,則表示該關(guān)鍵字庫中沒有此待查片語的關(guān)鍵字,此時,繼續(xù)步驟(5)結(jié)束該運算法的處理動作;否則,取出關(guān)鍵字表中的關(guān)鍵字,進一步與屏幕上待查片語的每一字符進行逐一對比,此時,由于該待查片語不是該關(guān)鍵字的可能性經(jīng)篩選后已降至一極低的程度,故,既便進行費時的字符對比,也不致耗費太多時間,經(jīng)對比后,仍無相符的關(guān)鍵字,則確定該關(guān)鍵字庫中沒有此待查片語的關(guān)鍵字,此時,繼續(xù)步驟(5),結(jié)束該運算法的處理動作;例如屏幕上待查找片語“wang dong sheng”中,依先前步驟得知,可由關(guān)鍵字表中查找位置3和2的內(nèi)容,此時,自關(guān)鍵字表中取出位置3的內(nèi)容,其對應(yīng)關(guān)鍵字長度為15,尾字節(jié)為g,此與屏幕上待查片語中第15個字符為g的事實恰好相同,然后再對屏幕上待查片語與關(guān)鍵字“wang dongsheng”進行字符的逐一對比,對比結(jié)果亦完全相同;否則,繼續(xù)步驟(4)的處理動作;(4)確認屏幕上待查找片語即關(guān)鍵字,再對其進行單詞標注等各項操作。
(5)結(jié)束該逆向排除運算法的處理。
如此,利用本發(fā)明的快速查找方法即可迅速排除許多與待查片語無關(guān)的關(guān)鍵字,從而自該關(guān)鍵字庫的大量信息資料中篩選出較為接近的關(guān)鍵字,進行字符對比,如此,整個查找過程僅需進行幾次整體性的比較,即可達成快速查找的目的,不僅有效減輕了中央處理單元的運算負擔,大幅度縮短了查找所需的時間,更重要地是提供使用者一種操作簡便且極具親和力的查找工具。
以上所述,是本發(fā)明的較佳實施例,而本發(fā)明所主張的權(quán)利范圍,并不局限于此,凡本領(lǐng)域所屬技術(shù)人員,依據(jù)本發(fā)明所揭露的技術(shù)內(nèi)容,可輕易思及的等效變化,均應(yīng)屬于不脫離本發(fā)明的保護范疇。
權(quán)利要求
1.一種實現(xiàn)不規(guī)則片語快速查找的方法,該方法是藉抽取一關(guān)鍵字庫中所有關(guān)鍵字的多個共通特征,對其進行編碼,并依其關(guān)連性分別建立多個索引表,從而當針對當前計算機屏幕上待查找的片語或字符串進行查找時,中央處理單元可依據(jù)該共通特征的規(guī)則,利用逆向排除的運算法,自該索引表中針對該特征進行查找對比,以判斷該關(guān)鍵字庫中各關(guān)鍵字的對比價值,排除該關(guān)鍵字庫中絕大多數(shù)特征不符的關(guān)鍵字,直到透過該索引表自該關(guān)鍵字庫中篩選出少數(shù)該特征相同的關(guān)鍵字后,再逐一對針該關(guān)鍵字進行細部比對,以查找出所欲查找的關(guān)鍵字。
2.如權(quán)利要求1所述的實現(xiàn)不規(guī)則片語快速查找的方法,其中該關(guān)鍵字庫中所有關(guān)鍵字的多個共通特征,主要包含(1)關(guān)鍵字的第一個單詞的首字母;(2)關(guān)鍵字的第一個單詞的長度;(3)關(guān)鍵字的第二個單詞的首字母;(4)關(guān)鍵字的尾字符;(5)關(guān)鍵字的長度;其中第1及2項組成關(guān)鍵字的第一特征值,第3項組成關(guān)鍵字的第二特征值。
3.如權(quán)利要求1所述的實現(xiàn)不規(guī)則片語快速查找的方法,其中該關(guān)鍵字庫中所有中文關(guān)鍵字的多個共通特征,主要包含(1)中文關(guān)鍵字的第一個單詞內(nèi)碼的低12位;(2)中文關(guān)鍵字的第一個單詞內(nèi)碼的低12位的長度;(3)中文關(guān)鍵字的第二個單詞內(nèi)碼的高8位;(4)中文關(guān)鍵字的最后一單詞內(nèi)碼的低8位;(5)關(guān)鍵字的總長度;其中第1及2項組成關(guān)鍵字的第一特征值,第3項組成關(guān)鍵字的第二特征值。
4.如權(quán)利要求2或3所述的實現(xiàn)不規(guī)則片語快速查找的方法,其中該索引表包含關(guān)鍵字表,該關(guān)鍵字表包含關(guān)鍵字、關(guān)鍵字的尾字符、關(guān)鍵字的長度等三項,對關(guān)鍵字需依第一特征值排列,若第一特征值相同,則再依第二特征值排列,若第二特征值仍相同,則依長度排列,若各項均相同,則排列順序為任意;二級索引表,該二級索引表是用以記錄所有包含第一及第二特征值的關(guān)鍵字在關(guān)鍵字表中的位置,該索引表包括關(guān)鍵字中第二單詞的首字母、所有包含該第一及第二特征值的關(guān)鍵字在關(guān)鍵字表中的起始位置,及所有包含該第一及第二特征值的關(guān)鍵字在關(guān)鍵字表中的結(jié)束位置等三項;一級索引表,該一級索引表的大小固定,其內(nèi)容包含第一特征值的所有關(guān)鍵字在二級索引表中的起始位置及第二特征值的所有關(guān)鍵字在二級索引表中的結(jié)束位置,所有關(guān)鍵字的第一特征值均可藉由公式計算出其在該一級索引表中的位置,此位置的內(nèi)容是指向該二級索引表中該關(guān)鍵字的第二特征值。
5.如權(quán)利要求4所述的實現(xiàn)不規(guī)則片語快速查找的方法,其中該逆向排除運算法的步驟包括(1)由待查找片語的第一特征值求出其在一級索引表中的位置,檢查對應(yīng)項的內(nèi)容,若空白,則該關(guān)鍵字庫中沒有以此單詞為首的關(guān)鍵字,結(jié)束該運算法的處理;否則,依該對應(yīng)的起始位置及結(jié)束位置項中的內(nèi)容,查找二級索引表中的相應(yīng)內(nèi)容;(2)繼續(xù)以該待查找片語的第二特征和先前由二級索引表中查到的相應(yīng)第一項內(nèi)容比較,若不相同,則表示該關(guān)鍵字庫中沒有以此二單詞為首的關(guān)鍵字,結(jié)束該運算法的處理;否則,依二級索引表中查到的相應(yīng)起始位置及結(jié)束位置的內(nèi)容,查找關(guān)鍵字表中的相應(yīng)內(nèi)容;(3)由該關(guān)鍵字表中取出相應(yīng)位置的該關(guān)鍵字的長度和尾字節(jié),并與屏幕上待查片語的長度和尾字節(jié)進行對比,并判斷二者是否相符,若否,則表示該關(guān)鍵字庫中沒有此待查片語的關(guān)鍵字,結(jié)束該運算法的處理;否則,逐一取出關(guān)鍵字表中的關(guān)鍵字,進一步與屏幕上待查片語的每一字符進行逐一對比,若仍無相符的關(guān)鍵字,則確定該關(guān)鍵字庫中沒有此待查片語的關(guān)鍵字,結(jié)束該運算法的處理;否則,繼續(xù)步驟(4);(4)確認屏幕上待查片語即關(guān)鍵字,再對其進行單詞標注等各項操作。
6.如權(quán)利要求4所述的實現(xiàn)不規(guī)則片語快速查找的方法,其中西文關(guān)鍵字的第一特征值可依下列公式計算其在一級索引表中的位置位置=(單詞的長度-1)×A+單詞的首字母的ASCII碼值,其中A是西文ASCII碼表的大小。
7.如權(quán)利要求4所述的實現(xiàn)不規(guī)則片語快速查找的方法,其中中文關(guān)鍵字的第一特征值可依下列公式計算其在一級索引表中的位置位置=(中文內(nèi)碼的低十二位)+(A×B),其中A是西文ASCII碼表的大小,B是定義該關(guān)鍵字的最大長度。
全文摘要
實現(xiàn)不規(guī)則片語快速查找的方法,該法藉抽取一關(guān)鍵字庫中所有關(guān)鍵字的多個共通特征進行編碼,依特征間關(guān)連性分別建立多個索引表,針對當前計算機屏幕上待查的片語或字符串進行查找時,依據(jù)特征的規(guī)則,利用逆向排除運算法,自索引表中針對該共通特征進行查找對比,以判斷該關(guān)鍵字庫中各關(guān)鍵字的對比價值,排除該關(guān)鍵字庫中絕大多數(shù)特征不符的關(guān)鍵字,直到通過索引表自該關(guān)鍵字庫中篩選出少數(shù)該等共通時特征相同的關(guān)鍵字后,再逐一針對該等關(guān)鍵字進行細部對比,以查找出所欲查找的關(guān)鍵字。
文檔編號G06F17/00GK1190216SQ98104140
公開日1998年8月12日 申請日期1998年3月11日 優(yōu)先權(quán)日1998年3月11日
發(fā)明者王東勝, 穆立源, 宋建福, 林光信 申請人:英業(yè)達股份有限公司