專利名稱::文檔搜索方法和裝置及文檔處理器的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明總體上涉及文檔處理的
技術(shù)領(lǐng)域:
,更具體地說,涉及文檔搜索方法和裝置及文檔處理器。
背景技術(shù):
:諸如AdobeReader,MSWord,UltraEditor和web瀏覽器是當(dāng)前被廣泛地^"吏用的文檔處理器(下面統(tǒng)稱為"文檔處理器")。文檔處理器最常用的功能之一是"搜索",即,在文檔中查找詞或詞組。然而,幾乎所有的文檔處理器都只能根據(jù)由用戶指定的完整的擴(kuò)展詞組來進(jìn)行查找,而不能根據(jù)詞組的片段,例如縮寫字符串來進(jìn)行查找。換句話說,如果用戶僅僅知道一個(gè)詞組的縮寫而不能完整地拼寫出其擴(kuò)屑少:i組,則上述"搜索"功能是無法工作的。例如,如果用戶利用文檔處理器閱讀DB2SQL參考手冊,要查詢有關(guān)遞歸通用表表達(dá)式"RCTE"(對應(yīng)于擴(kuò)展詞組"Recursivecommontableexpression")的討論,但是用戶只知道該詞組的縮寫字符串"RCTE"而無法拼寫出該縮寫所對應(yīng)的擴(kuò)展詞組,則當(dāng)前AdobeReader、MSWord等文檔處理器中的"搜索"功能無法根據(jù)用戶提供的待查找的縮寫字符串"RCTE"在指定文檔中搜索到其所對應(yīng)的擴(kuò)展詞組"Recursivecommontableexpression9*0針對如何通過縮寫字符串在文檔中搜索擴(kuò)展詞組的問題,以下是現(xiàn)有技術(shù)中一些解決方案。在UltraEditor中,可使用"正則表達(dá)式(RegularExpression),,來通過縮寫字符串查找到其對應(yīng)的擴(kuò)展詞組。由于UltraEditor在其搜索工具中集成了"正則表達(dá)式,,,因此可使用"正則表達(dá)式,,的規(guī)則,通過詞組的首字母縮寫和其它一些特殊的字符來構(gòu)建正則表達(dá)式,并利用該正則表達(dá)式在文檔中搜索縮寫字符串所對應(yīng)的擴(kuò);ll詞組。但是,不熟悉計(jì)算機(jī)技術(shù)的用戶掌握"正則表達(dá)式"是很困難的,因此UltraEditor中的該項(xiàng)功能難以在通常用戶中普及。而且,AdobeReader,MSWord,以及幾乎所有的web瀏覽器都不支持"正則表達(dá)式"。美國專利No.6934767提供了一種方法,該方法基于在前和在后的字定義符來自動查找到一個(gè)縮寫的子串,確定其是一組縮寫子串中的一個(gè),并通過以該縮寫子串的擴(kuò)展子串代替該縮寫子串來產(chǎn)生擴(kuò)展字符串。這種方法需要事先準(zhǔn)備縮寫子串和擴(kuò)展子串之間的對應(yīng)表,并且這種對應(yīng)^t于特定的用戶可能是不同的,所以該方法不適于用作為通常的搜索功能。
發(fā)明內(nèi)容鑒于上述現(xiàn)有技術(shù)中存在的問題,根據(jù)本發(fā)明的第一方面,提供一種文檔搜索方法,包括步驟按照預(yù)定提取規(guī)則提取降搜索文檔中相應(yīng)詞的首字符以形成首字符串;構(gòu)建所提取的首字符串與待搜索文檔的對應(yīng)關(guān)系;在首字符串與待查找的縮寫字符串之間進(jìn)行匹配;以及根據(jù)匹配結(jié)果和對應(yīng)關(guān)系,確定待查找的縮寫字符串所對應(yīng)的擴(kuò)展詞組及其在待搜索文檔中的位置。##本發(fā)明的第二方面,提供一種文檔搜索裝置,包括提取單元,用于按照預(yù)定提取規(guī)則提取待搜索文檔中相應(yīng)詞的首字符以形成首字符串;構(gòu)建單元,用于構(gòu)建所提取的首字符串與待搜索文檔的對應(yīng)關(guān)系;匹配單元,用于在首字符串與待查找的縮寫字符串之間進(jìn)行匹配;以及定位單元,用于根據(jù)匹配結(jié)果和對應(yīng)關(guān)系,確定待查找的縮寫字符串所對應(yīng)的擴(kuò)vH詞組及其在待搜索文檔中的位置。根據(jù)本發(fā)明的第三方面,提供一種包括有上述本發(fā)明第二方面的文檔搜索裝置的文檔處理器。通it^發(fā)明,即使用戶僅僅知道縮寫詞組而不能完整地拼寫出其擴(kuò)展詞組,也可精確、高效地實(shí)現(xiàn)搜索功能,在待搜索文檔中定位縮寫詞組的擴(kuò)展詞組。通過結(jié)合附圖對本發(fā)明的具體實(shí)施方式的描述,本發(fā)明的以上的和其它目的、特點(diǎn)和優(yōu)點(diǎn)將變得明顯,在附圖中圖l是示出了根據(jù)本發(fā)明的文檔搜索方法的一個(gè)實(shí)施例的流程簡圖;以及圖2是示出了根據(jù)本發(fā)明的文檔搜索裝置的一個(gè)實(shí)施例的方框圖。具體實(shí)施方式圖l是示出了根據(jù)本發(fā)明的文檔搜索方法的一個(gè)實(shí)施例的流程簡圖。如圖所示,若已知一個(gè)縮寫字符串,需要在待搜索文檔中搜索該縮寫字符串所對應(yīng)的擴(kuò)展詞組,則根據(jù)本發(fā)明的方法的具體流程如下依據(jù)預(yù)定的提取規(guī)則,從待搜索文檔中提^Nl應(yīng)詞的首字符以形成首字符串(S20)。取決于不同的提取規(guī)則,可以對文檔中所有的詞進(jìn)行提取,或者可以對例如表示文檔主要意思的詞進(jìn)行提取。用戶可按實(shí)際需要自定義提取規(guī)則,后文將對此點(diǎn)進(jìn)行進(jìn)一步詳述。構(gòu)建被提取的首字符串以及待搜索文檔之間的對應(yīng)關(guān)系,包括首字符中每一個(gè)字符所對應(yīng)的擴(kuò)展詞及其在待搜索文檔中的具體位置(S30)。例如可4吏用映射表等數(shù)據(jù)結(jié)構(gòu)來記錄這種對應(yīng)關(guān)系。執(zhí)行待查找的縮寫字符串與所提取的首字符串之間的匹配,以從首字符串中查找到該縮寫字符串(S40)。可使用本領(lǐng)域通用的各種字符串匹配方法來實(shí)現(xiàn)該匹配。根據(jù)上述匹配處理的結(jié)果,結(jié)合所構(gòu)建的首字符串與待搜索文檔之間的對應(yīng)關(guān)系,確定與待查找的縮寫字符串對應(yīng)的擴(kuò)展詞組及其在待搜索文檔中的具體位置,從而可在待搜索文檔中定位該縮寫字符串對應(yīng)的擴(kuò)展詞組(S50),如果需JW對下一個(gè)待查找的縮寫字符串進(jìn)行搜索(步驟S60中的判斷結(jié)果為"是"),則流程返回到步驟S40重復(fù)執(zhí)行;否則,流程結(jié)束(S70)。下面給出本發(fā)明上述的文檔搜索方法的一個(gè)具體例子。假設(shè)用戶正在瀏覽有關(guān)Java線程的文章,并需要在該文章中如下所示的文檔部分中利用待查找的縮寫字符串"JVM,,搜索其對應(yīng)的擴(kuò)展詞組"JavaVirtualMachine",但用戶不知道如何正確拼寫該擴(kuò)雇^詞組。Chapter1.IntroductiontoThreadingThisisabookaboutusingthreadsintheJavaprogramminglanguageandtheJavavirtualmachine.Thetopicofthreadsisveryimportantin9Java—soimportantthatmanyfeaturesofathreadedsystemarebuiltintotheJavalanguageitself,whileotherfeaturesofathreadedsystemarerequiredbytheJavavirtualmachine.ThreadingisanintegralpartofusingJava.根據(jù)本發(fā)明,第一步,根據(jù)預(yù)定的提取規(guī)則,從上述待搜索文檔中提取相應(yīng)詞的首字符以構(gòu)建如下首字符串CIT...TbutJDlJvmttiJitmftsbJliwoftsrJvmTipuJ...提取所依據(jù)的預(yù)^則可以由用戶根據(jù)需要設(shè)定。例如,名詞、動詞、形容詞、副詞是文檔的內(nèi)容的主要組成元素,這些詞表示文檔的主要意思。因此,可將提取規(guī)則設(shè)定為只提M搜索文檔中名詞、動詞、形容詞、副詞的首字符?;蛘撸墒孪榷x"小詞庫",然后提取待搜索文檔中不在該"小詞庫"中的詞的首字符。用戶可以自定義"小詞庫",庫中存儲一些用戶不希望被提取的小詞,如a,an,the,仇is等.如果用戶將提取規(guī)則設(shè)定為"去除小詞",則在提取過程中將不提取"小詞庫"中出現(xiàn)的小詞的首字符,當(dāng)然,用戶也可以不設(shè)定"去除小詞"的換_取規(guī)則,則提取過程也提取小詞的首字符。如EOF(EndOfFile),如果用戶不設(shè)定"去除小詞"的提取規(guī)則,則of的"o"將被提取到首字符串中,本例子中就是將提取規(guī)則設(shè)定為不對某些小詞,例如"a","the","and","about","in,,等執(zhí)行提取處理。另外,注意到在本例中將數(shù)字規(guī)定為是提取時(shí)需要忽略的小詞,但是,在某些待查找的縮寫字符串中本身包^^數(shù)字的情況下,例如"3GPP",在掮_取時(shí)也應(yīng)當(dāng)考慮提取數(shù)字首字符。對于文檔中的包含文字的圖片,一般不需要搜索,對于表格,可以設(shè)定特別的預(yù)定規(guī)則來支持本發(fā)明的通過縮寫字符串在文檔中搜索擴(kuò)展詞組的功能。例如,將表格的不同單元設(shè)定為不同的段落,使用和段落文;M目同的方法進(jìn)行縮寫字符串搜索。對于待搜索文檔中存在首字符為大寫字母的詞的情形,如果用戶認(rèn)定只有這些首字符為大寫字母的詞為縮寫字符串的潛在對應(yīng)的擴(kuò)JL詞組,則可將提取規(guī)則設(shè)定為"只提取首字符是大寫字母的詞".如此,在提取過程中只處理這類詞。當(dāng)然,如果用戶認(rèn)定首字符為小寫字母的詞也為縮寫字符串的潛在對應(yīng)的擴(kuò)展詞組,則提取過程將不區(qū)分首字符大小寫,例如當(dāng)用戶指定首字符為小寫字母的詞也為潛在的對應(yīng)的擴(kuò)展詞組,則當(dāng)文檔中含有詞組"unidentifiedflyingobject"時(shí),首字符串"ufo"提取出來.此外,文檔中可能存在一些本身就是縮寫詞的詞,如"JVM"。用戶可以通過自定義提取規(guī)則去認(rèn)定這些詞,例如設(shè)定提取規(guī)則為將連續(xù)三個(gè)以上的大寫字母認(rèn)定為縮寫詞,則提取過程將這些縮寫詞的每個(gè)字母都提取出來(而不是只提取首字母),如"JVM","FVT"等。容易理解,用戶可根據(jù)文檔搜索的目的和效率設(shè)定合適的提取規(guī)則,并且可應(yīng)用上述提^t規(guī)則中的一種或者多種的組合。第二步,構(gòu)建所提取的首字符串和提取所依據(jù)的待搜索文檔之間的對應(yīng)關(guān)系,例如如表l所示的映射表。表1所提取的首字符串和待搜索文檔的映射關(guān)系1CChapter+Loc(1)2IIntroduction+Loc(2)NJava+Loc(N)N+lVvirtual+Loc(N+l)N+2mmachine+Loc(N+2)Ml中可以清楚地看出,該表中左起第一欄是所提取的首字符串中每個(gè)字符在該首字符串中的編號,左起第二欄是所4C取的首字符串中各個(gè)首字符,左起第三欄是各首字符所對應(yīng)的待搜索文檔中的擴(kuò)展詞及其在待搜索文檔中的位置。例如,表1中第一行的信息表示所提取的首字符串中的字符"c"是該首字符串中第一個(gè)字符,其在待搜索文檔中對應(yīng)的擴(kuò)展詞為"Ch叩ter",并且該詞在待搜索文檔中的位置是Loc(l)。該位置Loc(l)例如可以表示是待搜索文檔中第幾個(gè)詞,或者也可以擴(kuò)展詞在待搜索文檔窗口中的坐標(biāo)(第幾行第幾列)。只要這種位置能夠用來在待搜索文檔中定位該擴(kuò)展詞即可。本領(lǐng)域技術(shù)人員理解,還可以采取除了圖1中的映射表以外的其它形式的數(shù)據(jù)結(jié)構(gòu)來記錄所提取的首字符串和待搜索文檔的對應(yīng)關(guān)系,例如關(guān)系型數(shù)據(jù)庫、數(shù)據(jù)鏈表、數(shù)組等。容易理解,表l中左起第一欄的信息并不是實(shí)現(xiàn)本發(fā)明的方法所必需的。笫三步,根據(jù)上述的映射關(guān)系,使用字符串匹配方法在待查找的縮寫字符串"JVM"和所提取的首字符串之間執(zhí)行匹配,即,在映射表l中找到與待查找的縮寫字符串"JVM"匹配的首字符,例如所^取首字符串中編號為"N","N+r,"N+2"的首字符,并得到這些首字符所對應(yīng)的擴(kuò)展詞分別為"Java","virtual","machine".可分別通過映射表中位置信息Loc(N),Loc(N+l)和Loc(N+2)來定位這些擴(kuò)展詞在待搜索文檔中的位置。所使用的字符串匹配方法可以是本領(lǐng)域常用的方法,例如,本領(lǐng)域技術(shù)人員常用的直接匹配方法,又名為BruteForce方法,或者文獻(xiàn)中給出的Knuth-Morris-Pratt方法[參考D.E.Knuth,J.H.MorrisJrandV.R.Pratt,Fastpatternmatchinginstrings,SIAMJ.Comput.6(1)(1977)323-350、Boyer-Moore方法[參考R.S.BoyerandJ.S.Moore,Afaststringsearchingalgorithm.,Comm.ACM20(10)(1977)762-772以及Aho-Corasick方法[參考A.V.AhoandM.Corasick,Efficientstringmatching:anaidtobibliographicsearch,Comm.ACM18(6)(1975)333-340,等等,只要該方法法能夠從首字符串中找到待查找的縮寫字符串,都可以應(yīng)用于本發(fā)明。第四步,得到待查找的縮寫字符串所對應(yīng)的擴(kuò)展詞及其在待搜索文檔中的位置后,即可在待搜索文檔中定位并突出顯示搜索結(jié)果"Javavirtualmachine"。如此,如果用戶想要在文檔中查找"JVM",則其可在搜索輸入?yún)^(qū)域中^A待查找的縮寫字符串"JVM",然后例如通過點(diǎn)擊鼠標(biāo)啟動本發(fā)明的文檔搜索方法,就可以容易地從首字符串中查找到縮寫字符串"Jvm"兩次,并且可以根據(jù)映射表l在待搜索文檔中定位縮寫字符串"JVM"所對應(yīng)的擴(kuò)展詞詞組"Javavirtualmachine",如上述文檔中下劃線所示,本領(lǐng)域技術(shù)人員理解,本發(fā)明的方法并不限于上述的具體例子中描述的細(xì)節(jié),而是可以做出許多改變。如下所述。本發(fā)明的方法可將待搜索文檔按段落分成若干部分,針對各部分分別提取成幾個(gè)首字符串進(jìn)行處理。其優(yōu)點(diǎn)是可提高搜索速度,且可避免將跨段的幾個(gè)詞認(rèn)定為待查找的縮寫字符串的對應(yīng)擴(kuò)展詞組.為此,在提取過程中以文檔段落為單位分別提取首字符串;當(dāng)遇到換行符視為一個(gè)段落結(jié)束。每個(gè)段^取后分別對應(yīng)一個(gè)單獨(dú)的首字符串,并對整個(gè)文檔提取出的所有首字符串按照段落順序進(jìn)行編號。在搜索過程中,根據(jù)段落編號能夠快速實(shí)現(xiàn)段落和擴(kuò)展詞組的雙向定位。在上述例子中,可以針對每個(gè)段落分別構(gòu)建各自的映射表,或者針對所有段落構(gòu)建一個(gè)總的映射表,但是增加有關(guān)段落編號的參數(shù)來區(qū)分映射表中與待搜索文檔中各斜目關(guān)聯(lián)的對應(yīng)關(guān)系信息。例如,在上述的映射表l中,可在左起第一欄的首字符編號中增加段落編號信息,可用M"(M,N)"表示從文檔的第M個(gè)段落中提取的首字符串中第N個(gè)首字符,M即是段號信息。對于每個(gè)段落,具^1取過程按上述的處理進(jìn)行,不再贅述。通過這種方式,對于從前段末尾和后段開頭的幾個(gè)單詞(跨段詞)提取的首字符,由于存在段落編號信息進(jìn)行區(qū)分,不a定其與待查找的縮寫字符串相匹配,因此減少了錯(cuò)誤的搜索結(jié)果.當(dāng)然,用戶可以對文檔中的指定部分進(jìn)行搜索,該指定部分不一定是一個(gè)或者多個(gè)完整的段落,而可以是文檔中的任意部分??梢酝ㄟ^各種方式來指定待搜索文檔的范圍,例如設(shè)定搜索范圍是從文檔的第M段第L行笫N個(gè)詞至第M,段第L,行第N,個(gè)詞結(jié)束的內(nèi)容,或者,直接用指點(diǎn)裝置,例如鼠標(biāo)拖拽來選定搜索范圍。本發(fā)明的方法中提取處理和對應(yīng)關(guān)系構(gòu)建處理的執(zhí)行時(shí)機(jī)可根據(jù)需要由用戶確定。例如,可在實(shí)際執(zhí)行文檔搜索之前進(jìn)行l(wèi)l取首字符串和構(gòu)建對應(yīng)關(guān)系等預(yù)處理.也可以自定義預(yù)處理在后臺進(jìn)行,即,4吏得在系統(tǒng)的閑時(shí)事先自動處理系統(tǒng)內(nèi)的所有文檔,以提高搜索度。若預(yù)處理過程在后臺進(jìn)行,則涉及到如何更新的問題。也就是說,預(yù)處理過的文檔,可能在實(shí)際批ft文檔搜索之前又被用戶修改,此時(shí)搜索結(jié)果將出現(xiàn)m??墒褂玫慕鉀Q方案是一_9>#搜索文檔被更新,自動根據(jù)對文檔的修改來更新執(zhí)行提取和構(gòu)建對應(yīng)關(guān)系的處理結(jié)果;或者,記^Jt應(yīng)關(guān)系構(gòu)建時(shí)間,在實(shí)際執(zhí)行文檔搜索之時(shí)或之前比較當(dāng)前文檔的最后修改時(shí)間和對應(yīng)關(guān)系構(gòu)建時(shí)間,如果對應(yīng)關(guān)系構(gòu)建時(shí)間晚于當(dāng)前文檔的最后4務(wù)改時(shí)間,則更新執(zhí)行提取和構(gòu)建對應(yīng)關(guān)系的處理結(jié)果;或者,用戶顯式更新,以取得當(dāng)前文檔的實(shí)際內(nèi)容并對修改的文檔執(zhí)行提取和構(gòu)建對應(yīng)關(guān)系的處理,當(dāng)然也可以在進(jìn)行搜索時(shí)啟動提取和構(gòu)建對應(yīng)關(guān)系的處理。在這種方式中,既可對修改的文檔的整體重新執(zhí)行提取和構(gòu)建對應(yīng)關(guān)系的處理,也可以根據(jù)修改的內(nèi)容,只針對修改部分來更新提取和構(gòu)建對應(yīng)關(guān)系處理的結(jié)果,圖2是示出根據(jù)本發(fā)明的文檔搜索裝置200的方框圖。如圖所示,文檔搜索裝置200包括依次耦合在一起的提取單元210、構(gòu)建單元220、匹配單元230和定位單元240。提取單元210依據(jù)預(yù)定的提取規(guī)則,從待搜索文檔中提^UN應(yīng)詞的首字符以形成首字符串。該提取單元210可實(shí)現(xiàn)如上述本發(fā)明的文檔搜索方法中步驟S20的處理。可根據(jù)用戶所設(shè)定的提取規(guī)則來確定的相應(yīng)詞。這種提取規(guī)則例如是在上述步驟S20中所使用的各種提取規(guī)則,構(gòu)建單元220構(gòu)建被提取的首字符串以及待搜索文檔之間的對應(yīng)關(guān)系。該構(gòu)建單元220可實(shí)現(xiàn)如上述本發(fā)明的文檔搜索方法中步驟S30的處理。這種對應(yīng)關(guān)系包括首字符串中每一個(gè)字符所對應(yīng)的擴(kuò)展詞及其在待搜索文檔中的具體位置,并且例如可采取如上iiAl所述的映射表、關(guān)系型數(shù)據(jù)庫、數(shù)據(jù)M、數(shù)組等數(shù)據(jù)結(jié)構(gòu)的形式來記錄。匹配單元230執(zhí)行待查找的縮寫字符串與所提取的首字符串之間的匹配,以從首字符串中查找到該縮寫字符串.該匹配單元230可實(shí)現(xiàn)如上述本發(fā)明的文檔搜索方法中步驟S40的處理??墒褂帽绢I(lǐng)域通用的各種字符串匹配方法來實(shí)現(xiàn)該匹配。例如在上述步寐S40中所使用的直接匹配方法,Knuth-Morris-Pratt方法、Boyer-Moore方法以及Aho-Corasick方法等。定位單元240根據(jù)匹配單元的處理結(jié)果,結(jié)合所構(gòu)建的首字符串與搜索文檔之間的對應(yīng)關(guān)系,確定與待查找的縮寫字符串對應(yīng)的擴(kuò)展詞組及其在待搜索文檔中的具體位置。該定位單元240可實(shí)現(xiàn)如上述本發(fā)明的文檔搜索方法中步驟S50的處理,從而可在待搜索文檔中定位與該待查找的縮寫字符串對應(yīng)的擴(kuò)Jl詞組。提取單元210和構(gòu)建單元220執(zhí)行提取處理和對應(yīng)關(guān)系構(gòu)建處理的時(shí)機(jī)可根據(jù)需要由用戶確定。例如,提取單元210和構(gòu)建單元220可被配置成在實(shí)際執(zhí)行文檔搜索之前進(jìn)行提取首字符串和構(gòu)建對應(yīng)關(guān)系的預(yù)處理。具體處理方式例如可參照上述本發(fā)明的方法步驟中描述的各種實(shí)施方式,在此不再贊述。此外,提取單元210可配置成將待搜索文檔按段落分成若干部分,針對各部分分別拔:取成幾個(gè)首字符串來進(jìn)行處理。構(gòu)建單元220可針對每個(gè)段落分別構(gòu)建各自的對應(yīng)關(guān)系,或者針對所有段落構(gòu)建總體的對應(yīng)關(guān)系,以段落編號作為標(biāo)識信息。具體處理方式例如可參照上述本發(fā)明的文檔搜索方法中分段落對待搜索文檔執(zhí)行步驟S20和步驟S30的方式,在此不再贅述。本領(lǐng)域技術(shù)人員理解,本發(fā)明的文檔搜索裝置200中的各個(gè)組成功能單元例如可通過軟件、硬件或兩者相結(jié)合的方式來實(shí)現(xiàn)。可在現(xiàn)有技術(shù)中通用的文檔處理器中結(jié)合本發(fā)明上述的文檔搜索裝置200,從而可完成如圖1中所示的本發(fā)明的通過縮寫字符串在文檔中進(jìn)行搜索的方法。因此,這種可實(shí)現(xiàn)本發(fā)明的文檔搜索方法的文檔處理器也應(yīng)被認(rèn)為包括在本發(fā)明的公開內(nèi)容中。此外,本發(fā)明還提出一種機(jī)器可讀程序,當(dāng)該程序安裝到機(jī)器,例如計(jì)算機(jī)中并運(yùn)行時(shí),可執(zhí)行上述本發(fā)明的文檔搜索方法。用于承載上述機(jī)器可讀程序的存儲介質(zhì)也包括在本發(fā)明的公開中。所述存儲介質(zhì)包括但不限于軟盤、光盤、磁光盤、存儲卡、存儲棒,等等。盡管上面已經(jīng)通it^本發(fā)明的具體實(shí)施例的描i^t本發(fā)明進(jìn)行了披露,但是,應(yīng)該理解,本領(lǐng)域的技術(shù)人員可在所附權(quán)利要求的精神和范圍內(nèi)設(shè)計(jì)對本發(fā)明的各種修改、改進(jìn)或者等同物。這些修改、改進(jìn)或者等同物也應(yīng)當(dāng)被認(rèn)為包括在本發(fā)明的保護(hù)范圍內(nèi)。權(quán)利要求1.一種文檔搜索方法,包括步驟按照預(yù)定提取規(guī)則提取待搜索文檔中相應(yīng)詞的首字符以形成首字符串;構(gòu)建所提取的首字符串與待搜索文檔的對應(yīng)關(guān)系;在首字符串與待查找的縮寫字符串之間進(jìn)行匹配;以及根據(jù)匹配結(jié)果和對應(yīng)關(guān)系,確定待查找的縮寫字符串所對應(yīng)的擴(kuò)展詞組及其在待搜索文檔中的位置。2.如權(quán)利要求1所述的文檔搜索方法,其中所述提取步驟中的預(yù)定提取規(guī)則為如下中的至少一種提取待搜索文檔中所有詞的首字符;對待搜索文檔中不表示主要意思的小詞不進(jìn)行提取處理;只提取待搜索文檔中首字符是大寫字母的詞的首字符;和提取待搜索文檔中連續(xù)多個(gè)以上的大寫字母中的每一個(gè)字母。3.如權(quán)利要求l所述的文檔搜索方法,其中所提取的首字符串與待搜索文檔的對應(yīng)關(guān)系包括首字符串中各個(gè)字符在待搜索文檔中對應(yīng)的擴(kuò)展詞及其在待搜索文檔中的位置。4.如權(quán)利要求3所述的文檔搜索方法,其中所述對應(yīng)關(guān)系采用如下形式中的至少一種來記錄映射表、關(guān)系型lt據(jù)庫、數(shù)據(jù)M、數(shù)組。5.如權(quán)利要求l所述的文檔搜索方法,其中在實(shí)際執(zhí)行文檔搜索之前預(yù)先執(zhí)行所述提取步驟和對應(yīng)關(guān)系構(gòu)建步驟,一4搜索文檔被更新,根據(jù)對文檔的修改來更新執(zhí)行提取和構(gòu)建對應(yīng)關(guān)系的處理結(jié)果。6.如權(quán)利要求l所述的文檔搜索方法,其中在實(shí)際執(zhí)行文檔搜索之前預(yù)先執(zhí)行所述提取步驟和對應(yīng)關(guān)系構(gòu)建步驟,所述方法還包括步驟記錄對應(yīng)關(guān)系構(gòu)建時(shí)間;在實(shí)際執(zhí)行文檔搜索之時(shí)或者之前比較當(dāng)前文檔的最后修改時(shí)間和對應(yīng)關(guān)系構(gòu)建時(shí)間;如果對應(yīng)關(guān)系構(gòu)建時(shí)間晚于當(dāng)前文檔的最后修改時(shí)間,則更新執(zhí)行提取和構(gòu)建對應(yīng)關(guān)系的處理結(jié)果。7.如權(quán)利要求l所述的文檔搜索方法,其中使用如下字符串匹配方法中的至少一種來執(zhí)行所提取的首字符串與待查找的縮寫字符串之間的匹配BruteForce方法,Knuth誦Morris-Pratt方'法、Boyer-Moore方'法以及Aho國Corasick方法。8.如權(quán)利要求l所述的文檔搜索方法,其中所述提取步驟以待搜索文檔的段落為單位分別提取首字符串,將換行符作為一個(gè)段落結(jié)束的標(biāo)志,每個(gè)段M取后分別對應(yīng)一個(gè)單獨(dú)的首字符串,并對整個(gè)文檔提取出的所有首字符串按照段落順序進(jìn)行編號;以及在對應(yīng)關(guān)系構(gòu)建步驟中針對每個(gè)段落分別構(gòu)建各自的對應(yīng)關(guān)系,或者針對所有段落構(gòu)建總體的對應(yīng)關(guān)系,其中根據(jù)有關(guān)段落編號的信息來識別總體的對應(yīng)關(guān)系中針對各個(gè)段落的對應(yīng)關(guān)系部分。9.一種文檔搜索裝置,包括提取單元,用于按照預(yù)定提取規(guī)則提WWt索文檔中相應(yīng)詞的首字符以形成首字符串;構(gòu)建單元,用于構(gòu)建所提取的首字符串與待搜索文檔的對應(yīng)關(guān)系;匹配單元,用于在首字符串與待查找的縮寫字符串之間進(jìn)行匹配;以及定位單元,用于根據(jù)匹配結(jié)果和對應(yīng)關(guān)系,確定待查找的縮寫字符串所對應(yīng)的擴(kuò)展詞組及其在待搜索文檔中的位置。10.如權(quán)利要求9所述的文檔搜索裝置,其中,所述提取單元被配置成按照下述預(yù)定^C取規(guī)則中的至少一種來執(zhí)行4^取提W^搜索文檔中所有詞的首字符;對待搜索文檔中不表示主要意思的小詞不進(jìn)行提取處理;只提M搜索文檔中首字符是大寫字母的詞的首字符;和提取待搜索文檔中連續(xù)多個(gè)以上的大寫字母中的每一個(gè)字母。11.如權(quán)利要求9所述的文檔搜索裝置,其中所述構(gòu)建單元構(gòu)建的首字符串與待搜索文檔的對應(yīng)關(guān)系包括首字符串中各個(gè)字符在待搜索文檔中對應(yīng)的擴(kuò)廣Jg及其在待搜索文檔中的位置。12.如權(quán)利要求ll所述的文檔搜索裝置,其中所述對應(yīng)關(guān)系采用如下形式中的至少一種來記錄映射表、關(guān)系型數(shù)據(jù)庫、數(shù)據(jù)M、數(shù)組。13.如權(quán)利要求9所述的文檔搜索裝置,其中所述提取單元和所述對應(yīng)關(guān)系構(gòu)建單元被配置成在實(shí)際執(zhí)行文檔搜索之前預(yù)先進(jìn)行所述的提取處理和對應(yīng)關(guān)系構(gòu)建處理,一旦待搜索文檔被更新,則根據(jù)對文檔的修改來更新執(zhí)行4I:取和構(gòu)建對應(yīng)關(guān)系的處理結(jié)果.14.如權(quán)利要求9所述的文檔搜索裝置,其中所述提取單元和所述對應(yīng)關(guān)系構(gòu)建單元被配置成在實(shí)際執(zhí)行文檔搜索之前預(yù)先進(jìn)行所述的提取處理和對應(yīng)關(guān)系構(gòu)建處理,以及,所述文檔搜索裝置被配置成執(zhí)行以下操作記錄對應(yīng)關(guān)系構(gòu)建時(shí)間;在實(shí)際執(zhí)行文檔搜索之時(shí)或者之前比較當(dāng)前文檔的最后修改時(shí)間和對應(yīng)關(guān)系構(gòu)建時(shí)間;以及如果對應(yīng)關(guān)系構(gòu)建時(shí)間晚于當(dāng)前文檔的最后修改時(shí)間,則更新執(zhí)行^1取處理和構(gòu)建對應(yīng)關(guān)系處理的結(jié)果。15.如權(quán)利要求9所述的文檔搜索裝置,其中所述匹配單元被配置成^^用如下字符串匹配方法中的至少一種來執(zhí)行所提取的首字符串與待查找的縮寫字符串之間的匹配BruteForce方法,Knuth-Morris-Pratt方法、Boyer-Moore方法以及Aho國Corasick方法。16.如權(quán)利要求9所述的文檔搜索裝置,其中,所述提取單元被配置成以待搜索文檔的段落為單位分別提取首字符串,將換行符作為一個(gè)段落結(jié)束的標(biāo)志,每個(gè)段落提取后分別對應(yīng)一個(gè)單獨(dú)的首字符串,并對整個(gè)文檔^l:取出的所有首字符串按照段落順序進(jìn)行編號;以及,所述構(gòu)建單元被配置成針對每個(gè)段落分別構(gòu)建各自的對應(yīng)關(guān)系,或者針對所有段落構(gòu)建總體的對應(yīng)關(guān)系,其中根據(jù)有關(guān)段落編號的信息來識別總體的對應(yīng)關(guān)系中針對各個(gè)段落的對應(yīng)關(guān)系部分。17.—種文檔處理器,包括如權(quán)利要求9-16中任一項(xiàng)所述的文檔搜索裝置。全文摘要本發(fā)明提供了一種文檔搜索方法,包括步驟按照預(yù)定提取規(guī)則提取待搜索文檔中相應(yīng)詞的首字符以形成首字符串;構(gòu)建所提取的首字符串與待搜索文檔的對應(yīng)關(guān)系;在首字符串與待查找的縮寫字符串之間進(jìn)行匹配;以及根據(jù)匹配結(jié)果和對應(yīng)關(guān)系,確定待查找的縮寫字符串所對應(yīng)的擴(kuò)展詞組及其在待搜索文檔中的位置。還提供一種用于實(shí)現(xiàn)上述方法的文檔搜索裝置,以及包含有這種文檔搜索裝置的文檔處理器。通過本發(fā)明,即使用戶僅僅知道縮寫詞組而不能完整地拼寫出其擴(kuò)展詞組,也可精確、高效地實(shí)現(xiàn)搜索功能,在待搜索文檔中定位縮寫詞組的擴(kuò)展詞組。文檔編號G06F17/30GK101593179SQ20081009817公開日2009年12月2日申請日期2008年5月26日優(yōu)先權(quán)日2008年5月26日發(fā)明者財(cái)周,楊建龍,沈星星,鐘嘉田申請人:國際商業(yè)機(jī)器公司