欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

詞庫(kù)模糊查詢方法及詞庫(kù)模糊查詢系統(tǒng)的制作方法

文檔序號(hào):6612767閱讀:305來(lái)源:國(guó)知局

專利名稱::詞庫(kù)模糊查詢方法及詞庫(kù)模糊查詢系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及詞庫(kù)查詢技術(shù),特別是涉及詞庫(kù)查詢方法及詞庫(kù)查詢系統(tǒng)。技術(shù)背景目前,信息檢索已經(jīng)發(fā)展到網(wǎng)絡(luò)化和智能化的階段。信息檢索的對(duì)象從相對(duì)封閉、穩(wěn)定一致、由獨(dú)立數(shù)據(jù)庫(kù)集中管理的信息內(nèi)容擴(kuò)展到開(kāi)放、動(dòng)態(tài)、更新更快、分布廣泛、管理松散的Web內(nèi)容;信息檢索的用戶也由原來(lái)的情報(bào)專業(yè)人員擴(kuò)展到包括商務(wù)人員、管理人員、教師學(xué)生、各專業(yè)人士等在內(nèi)的普通大眾,他們對(duì)信息檢索從結(jié)果到方式提出了更高、更多樣化的要求。適應(yīng)網(wǎng)絡(luò)化、智能化以及個(gè)性化的需要是目前信息檢索技術(shù)發(fā)展的新趨勢(shì)。對(duì)于大量數(shù)據(jù)的存儲(chǔ)和檢索,目前通常采用索引結(jié)構(gòu)來(lái)實(shí)現(xiàn),一般常用的索引結(jié)構(gòu)包括順序索引、散列(Hash)索引和分級(jí)索引。順序索引是早期經(jīng)常采用的一種靜態(tài)的索引結(jié)構(gòu),搜索數(shù)據(jù)時(shí)是按順序搜索或者折半搜索,其優(yōu)點(diǎn)是索引結(jié)構(gòu)簡(jiǎn)單,占用空間小,但是順序索引查詢速度慢,且每增加一個(gè)新詞都需要重新排序,插入或刪除數(shù)據(jù)時(shí)效低。后來(lái)相關(guān)研究人員提出一種散列(Hash)索引,散列(Hash)索引是在表項(xiàng)的存儲(chǔ)位置與它的關(guān)鍵碼之間建立一個(gè)確定的對(duì)應(yīng)函數(shù)關(guān)系,使每個(gè)關(guān)鍵碼與結(jié)構(gòu)中的一個(gè)存儲(chǔ)位置相對(duì)應(yīng)。搜索時(shí)只需要對(duì)表項(xiàng)的關(guān)鍵碼進(jìn)行函數(shù)計(jì)算,求得的函數(shù)值即是表項(xiàng)的存儲(chǔ)位置。避免了多次關(guān)鍵碼的比較,因此搜索速度比較快。但是在數(shù)據(jù)量比較大時(shí),要生成一個(gè)完美的Hash函M^列表是很費(fèi)時(shí)間的,并且會(huì)造成嚴(yán)重的空間浪費(fèi)。分級(jí)索引是現(xiàn)在較為常用的搜索方法,它是將詞分成若干部分,為每一部分分別建立索引,Trie索引樹(shù)法是典型的分級(jí)搜索方法,它來(lái)自英文單詞"retrieval"的縮寫(xiě),Trie索引樹(shù)法可以建立有效的數(shù)據(jù);險(xiǎn)索組織結(jié)構(gòu),雖然其結(jié)構(gòu)較為復(fù)雜,但是好的Trie索引樹(shù)法用在合適的環(huán)境下可以具有很高的查詢效率。國(guó)家專利局專利號(hào)為200510130690.3的發(fā)明專利^Hf了一種完美雙數(shù)組Trie樹(shù)詞典管理與檢索方法,它是將Trie樹(shù)轉(zhuǎn)換成兩個(gè)線性數(shù)組表示,并在構(gòu)造過(guò)程中提出了一種優(yōu)化策略。請(qǐng)參見(jiàn)圖1,其為現(xiàn)有的雙數(shù)組Trie樹(shù)的結(jié)構(gòu)示意圖。雙數(shù)組Trie樹(shù)是由兩個(gè)整數(shù)數(shù)組構(gòu)成,一個(gè)是基值數(shù)組base[],另一個(gè)是校驗(yàn)值數(shù)組check[]。base[]數(shù)組中的每一個(gè)元素相當(dāng)于Trie樹(shù)的一個(gè)節(jié)點(diǎn),其值做狀態(tài)轉(zhuǎn)移的基值,圖1中base[]數(shù)組的字母S、表示一個(gè)詞的第一個(gè)字,字母A、B表示以字母S作為首字的詞的第二個(gè)字,字母C、D、E表示、以字母S作為首字、字母A作為第二個(gè)字的詞的第三個(gè)字,字母F表示以字母S作為首字、字母B作為第二個(gè)字的詞的第三個(gè)字。check[]數(shù)組與base[]數(shù)組——對(duì)應(yīng),check值相當(dāng)于校驗(yàn)值,用于檢查該狀態(tài)是否存在,即表示對(duì)應(yīng)狀態(tài)的前一狀態(tài),圖1中base[]數(shù)組的字母A、B對(duì)應(yīng)于check[]數(shù)組中的字母S,說(shuō)明字母A所在的詞的前一字母為S,字母B所在的詞的前一字母為S。對(duì)于從狀態(tài)i到狀態(tài)t的一個(gè)轉(zhuǎn)移,必須滿足如下兩個(gè)條件1.base[i]+c=t2.check[t;|=i其中c是輸入變量。因?yàn)閿?shù)組中的狀態(tài)標(biāo)志是預(yù)先進(jìn)行編碼的,有其各自的序列號(hào),因此,只需按照狀態(tài)標(biāo)志進(jìn)行狀態(tài)轉(zhuǎn)移即可完成詞語(yǔ)的查詢。并且,該專利還提出在構(gòu)建數(shù)組時(shí)優(yōu)先處理分支較多的節(jié)點(diǎn),有利于減少?zèng)_突,避免數(shù)組增長(zhǎng)過(guò)大,減少數(shù)據(jù)稀疏。由此可以看出,運(yùn)用雙數(shù)組Trie樹(shù)進(jìn)行搜索對(duì)于一個(gè)詞的查詢時(shí)間只與它的長(zhǎng)度有關(guān),與數(shù)據(jù)庫(kù)中數(shù)據(jù)量的大小無(wú)關(guān),因此其查詢速度是非??斓?。但是它存在著以下的缺陷由于雙數(shù)組Trie樹(shù)搜索樹(shù)只能根據(jù)輸入狀態(tài)判斷是否為下個(gè)狀態(tài),而無(wú)法預(yù)測(cè)潛在的下個(gè)狀態(tài),因此無(wú)法實(shí)現(xiàn)模糊查詢功能,也就是說(shuō)其只能判斷字母A是否是詞或詞的前面一部分,而無(wú)法給出以字母A為關(guān)鍵字得到的一系列相關(guān)的詞,例如在google中輸入"蘋(píng)果"就會(huì)出現(xiàn)"蘋(píng)果網(wǎng)"、"蘋(píng)果電腦"、"蘋(píng)果手機(jī)"等等的下拉列表,而雙數(shù)組Trie樹(shù)搜索樹(shù)卻無(wú)法實(shí)現(xiàn)這個(gè)功能,這在搜索技術(shù)日趨完善的今天是一個(gè)缺乏竟?fàn)幜Φ娜毕?。為此,現(xiàn)有技術(shù)提出了模糊查詢這個(gè)概念,也就是說(shuō),通過(guò)"蘋(píng)果"能模糊查詢到"蘋(píng)果網(wǎng)"、"蘋(píng)果電腦"、"蘋(píng)果手機(jī)"等等。這也是現(xiàn)有的百度、google等搜索引擎已實(shí)現(xiàn)的一個(gè)技術(shù),以此來(lái)方便用戶的使用。現(xiàn)有實(shí)現(xiàn)模糊查詢功能的一種常見(jiàn)做法是構(gòu)建一個(gè)小型的詞庫(kù)的搜索引擎應(yīng)用,并利用倒排表來(lái)進(jìn)行查詢。具體包括(1)建立搜索詞庫(kù)引擎的索引結(jié)構(gòu),所述搜索詞庫(kù)引擎的索引結(jié)構(gòu)是指對(duì)詞庫(kù)中的每個(gè)詞里面的每個(gè)字都建立索引,并且保存字所在詞中的位置信息。請(qǐng)參閱圖2,其為詞庫(kù)搜索引擎的索引結(jié)構(gòu)的一示例圖。(2)查詢,找到索引結(jié)構(gòu)中要求查詢的查詢語(yǔ)的每個(gè)字的倒排表,然后再對(duì)該些倒排表做"和"運(yùn)算,得到的即為包含該查詢語(yǔ)的模糊查詢。舉個(gè)例子來(lái)說(shuō),如果關(guān)鍵詞為"ab",則去索引結(jié)構(gòu)中查詢第一個(gè)位置為"a,,和第二個(gè)位置為"b"的倒排表,得到二個(gè)有序列表,然后對(duì)這兩個(gè)有序列表做帶有位置比較的"和"操作,得到的即為以"ab,,開(kāi)頭的所有詞,其為"ab"模糊查詢所得到的詞。上述查詢方法雖然能查詢出"ab"相關(guān)的詞,但是存在著以下的缺陷對(duì)于有一定規(guī)模的詞庫(kù),用這種技術(shù)實(shí)現(xiàn)模糊查詢時(shí),序列表進(jìn)行"和"運(yùn)算的操作將是查詢速度的瓶頸,其查詢速度非常慢。
發(fā)明內(nèi)容本發(fā)明的目的在于提供一種詞庫(kù)模糊查詢方法及詞庫(kù)模糊查詢系統(tǒng),以解決現(xiàn)有的模糊查詢速度慢的技術(shù)問(wèn)題。為了達(dá)到上述目的,本發(fā)明提供了公開(kāi)了一種詞庫(kù)模糊查詢方法,包括(l)建立詞條數(shù)據(jù)結(jié)構(gòu)(1-1)將詞庫(kù)中的所有詞條順序存儲(chǔ)在詞條數(shù)據(jù)結(jié)構(gòu)的詞條存儲(chǔ)單元;(l-2)構(gòu)建詞條數(shù)據(jù)結(jié)構(gòu)的正向詞條索引結(jié)構(gòu)先將所有詞條的所有字一一對(duì)應(yīng)一唯一編碼,再構(gòu)建雙數(shù)組Trie,確定基值數(shù)組和對(duì)應(yīng)的校驗(yàn)值數(shù)組,后存儲(chǔ)每一詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息,詞綴和基值數(shù)組、校驗(yàn)值數(shù)組的一數(shù)組單元——對(duì)應(yīng);(2)當(dāng)接收到查詢語(yǔ)時(shí),先獲得查詢語(yǔ)中所有字的編碼,再利用雙數(shù)組Trie找到該查詢語(yǔ)所在的基值數(shù)組單元,后找到該基值數(shù)組單元對(duì)應(yīng)的詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息,在所述詞條存儲(chǔ)單元找到對(duì)應(yīng)的所有詞。步驟(l-2)為建立一slot數(shù)組,slot數(shù)組的每一數(shù)組單元表示一詞綴,所述每一數(shù)組單詞綴對(duì)應(yīng)的基值數(shù)組數(shù)值、校驗(yàn)值數(shù)組數(shù)值。存儲(chǔ)每一詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息進(jìn)一步為存儲(chǔ)每一詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的第一個(gè)詞的偏移地址信息和以本詞綴開(kāi)頭的最后一個(gè)詞的偏移地址信息,所述偏移地址信息為所述詞基于詞條存儲(chǔ)單元首地址的偏移地址。在步驟(l)中還包括(l-3)構(gòu)建詞條數(shù)據(jù)結(jié)構(gòu)的反向詞條索引結(jié)構(gòu)先將所有詞條的所有字一一對(duì)應(yīng)一唯一編碼,再將詞庫(kù)中的詞反轉(zhuǎn)后用Trie樹(shù)結(jié)構(gòu)表示,隨后構(gòu)建雙數(shù)組Trie,確定基值數(shù)組和對(duì)應(yīng)的校驗(yàn)值數(shù)組,然后存儲(chǔ)每一反轉(zhuǎn)后的反轉(zhuǎn)詞綴在詞條存儲(chǔ)單元中以本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息,反轉(zhuǎn)詞綴和基值數(shù)組、校驗(yàn)值數(shù)組的一數(shù)組單元--對(duì)應(yīng)。本發(fā)明還包括當(dāng)接收到查詢語(yǔ)時(shí),反轉(zhuǎn)查詢語(yǔ),后獲得反轉(zhuǎn)后查詢語(yǔ)中各個(gè)字的編碼,查找反向詞條索引結(jié)構(gòu)獲得對(duì)應(yīng)的基值數(shù)組單元,后找到該基值數(shù)組單元對(duì)應(yīng)的詞綴在詞條存儲(chǔ)單元中本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息,在所述詞條存儲(chǔ)單元找到所有詞。建立一第二slot數(shù)組,第二slot數(shù)組的每一數(shù)組單元表示一反轉(zhuǎn)后的反轉(zhuǎn)詞綴,所述每一數(shù)組單元中存儲(chǔ)該詞綴在詞條存儲(chǔ)單元中本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息、該反轉(zhuǎn)詞綴對(duì)應(yīng)的基值數(shù)組數(shù)值、校驗(yàn)值數(shù)組數(shù)值。一種詞庫(kù)模糊查詢系統(tǒng),它包括一詞條數(shù)據(jù)結(jié)構(gòu),包括詞條存儲(chǔ)單元和正向詞條索引結(jié)構(gòu),一詞條存儲(chǔ)單元,用于以詞條為單元順序存儲(chǔ)詞庫(kù)中的所有詞條;一正向詞條索引結(jié)構(gòu),其包括一編碼映射單元用于存儲(chǔ)所有詞條的所有字與唯一編碼的——對(duì)應(yīng);一slot數(shù)組,slot數(shù)組的每一數(shù)組單元表示一詞綴,所述每一數(shù)組單元中存儲(chǔ)該詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息、該詞綴對(duì)應(yīng)的基值數(shù)組數(shù)值、校驗(yàn)值數(shù)組數(shù)值;一查詢處理器,進(jìn)一步包括正向詞條查詢單元,用于接收到查詢語(yǔ)時(shí),先獲得查詢語(yǔ)中所有字的編碼,再利用雙數(shù)組Trie找到該查詢語(yǔ)所在的基值數(shù)組單元,后找到該基值數(shù)組單元對(duì)應(yīng)的詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息,在所述詞條存儲(chǔ)單元找到對(duì)應(yīng)的所有詞。詞條數(shù)據(jù)結(jié)構(gòu)還包括一反向詞條索引結(jié)構(gòu)包括一第二slot數(shù)組,第二slot數(shù)組的每一數(shù)組單元表示一反轉(zhuǎn)后的反轉(zhuǎn)詞綴,所述每一數(shù)組單元中存儲(chǔ)該詞綴在詞條存儲(chǔ)單元中本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息、該反轉(zhuǎn)詞綴對(duì)應(yīng)的基值數(shù)組數(shù)值、校驗(yàn)值數(shù)組數(shù)值。查詢處理器,進(jìn)一步還包括反向詞條查詢單元,當(dāng)接收到查詢語(yǔ)時(shí),反轉(zhuǎn)查詢語(yǔ),后獲得反轉(zhuǎn)后查詢語(yǔ)中各個(gè)字的編碼,查找反向詞條索引結(jié)構(gòu)獲得對(duì)應(yīng)的基值數(shù)組單元,后找到該基值數(shù)組單元對(duì)應(yīng)的詞綴在詞條存儲(chǔ)單元中本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息,在所述詞條存儲(chǔ)單元找到所有詞。一種詞庫(kù)模糊查詢方法,包括(l)建立詞條數(shù)據(jù)結(jié)構(gòu)(l-l)將詞庫(kù)中的所有詞條順序存儲(chǔ)在詞條數(shù)據(jù)結(jié)構(gòu)的詞條存儲(chǔ)單元;(l-2)構(gòu)建詞條數(shù)據(jù)結(jié)構(gòu)的反向詞條索引結(jié)構(gòu)先將所有詞條的所有字一一對(duì)應(yīng)一唯一編碼,再構(gòu)建雙lt組Trie,確定基值數(shù)組和對(duì)應(yīng)的校驗(yàn)值數(shù)組,后存儲(chǔ)每一詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息,詞綴和基值數(shù)組、校驗(yàn)值數(shù)組的一數(shù)組單元——對(duì)應(yīng);(2)當(dāng)接收到查詢語(yǔ)時(shí),反轉(zhuǎn)查詢語(yǔ),后獲得反轉(zhuǎn)后查詢語(yǔ)中各個(gè)字的編碼,查找反向詞條索引結(jié)構(gòu)獲得對(duì)應(yīng)的基值數(shù)組單元,后找到該基值數(shù)組單元對(duì)應(yīng)的詞綴在詞條存儲(chǔ)單元中本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息,在所述詞條存儲(chǔ)單元找到所有詞。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下的優(yōu)點(diǎn)首先,本發(fā)明的查詢系統(tǒng)中利用了雙數(shù)組Trie技術(shù)查詢速度快的優(yōu)勢(shì)來(lái)實(shí)現(xiàn)模糊查詢的功能,克服了現(xiàn)有技術(shù)查詢速度慢的缺陷。接著,本發(fā)明提供的正向詞條索引結(jié)構(gòu)中,僅存儲(chǔ)以該詞綴開(kāi)始的第一個(gè)詞條的偏移地址和最后一個(gè)詞條的偏移地址,大量減少了存儲(chǔ)空間。最后,本發(fā)明還提供反向詞條索引功能,使本發(fā)明方案的查詢更全面。圖1為現(xiàn)有的雙數(shù)組Trie樹(shù)的結(jié)構(gòu)示意圖;圖2為現(xiàn)有的為詞庫(kù)搜索引擎的索引結(jié)構(gòu)的一示例圖;圖3為一種Trie樹(shù)的結(jié)構(gòu)示例圖;圖4為本發(fā)明一種詞庫(kù)模糊查詢方法的流程圖;圖5為詞條數(shù)據(jù)結(jié)構(gòu)示意圖;圖6為本發(fā)明的正向詞條索引結(jié)構(gòu)的一示例圖;圖7為本發(fā)明的反向詞條索引結(jié)構(gòu)的一示例圖。具體實(shí)施方式以下結(jié)合附圖,具體說(shuō)明本發(fā)明。,由于本發(fā)明人吸取了雙數(shù)組Trie的精華后進(jìn)行的發(fā)明創(chuàng)造,因此在具體介紹本發(fā)明的詞庫(kù)模糊查詢之前,先介紹一下雙數(shù)組Trie。如果要進(jìn)行雙數(shù)組Trie的查詢,首先需要構(gòu)建雙數(shù)組Trie,確定基值數(shù)組和對(duì)應(yīng)的校纟企值數(shù)組。假定詞庫(kù)中只有"啊,阿根廷,阿膠,阿拉伯,阿拉伯人,埃及,,這幾個(gè)詞。首先,對(duì)詞庫(kù)中所有出現(xiàn)的IO個(gè)漢字進(jìn)行編碼啊-1,阿-2,埃-3,根-4,膠-5,拉-6,及-7,廷-8,伯-9,人-10。這種編碼并非是唯一的,只需要將詞庫(kù)中的所有字——對(duì)應(yīng)一唯一編碼即可,可以是順序編碼,也可以是釆用計(jì)算機(jī)中本身就已存在的每個(gè)漢字的對(duì)應(yīng)編碼。如果是前者,需要重新創(chuàng)建一編碼映射單元,用于存儲(chǔ)漢字和編碼的一一對(duì)應(yīng)關(guān)系,如果是采用后者編碼方式,即可省略該編碼映射單元,節(jié)省存儲(chǔ)空間。然后,將詞庫(kù)用Trie結(jié)構(gòu)進(jìn)行表示,如圖3所示。隨后,一構(gòu)建雙數(shù)組Trie,確定基值數(shù)組base[]和對(duì)應(yīng)的校驗(yàn)值數(shù)組check[]。對(duì)于每一個(gè)漢字,需要確定一個(gè)base值,使得對(duì)于所有以該漢字開(kāi)頭的詞,在雙數(shù)組中都能放下。例如,現(xiàn)在要確定"阿"字的base值,假設(shè)以"阿"開(kāi)頭的詞的第二個(gè)字序列碼依次為al,a2,a3......an,我們必須找到一個(gè)值i,使得base[i+a1],check[i+a1],base[i+a2],check[i+a2]......base[i+an],check[i+an]均為0。一旦找到了這個(gè)i,"阿"的base值就確定為i。用這種方法構(gòu)建雙數(shù)組Trie(Doublearraytrie),經(jīng)過(guò)若干次遍歷,將所有的詞語(yǔ)放入雙數(shù)組中,然后還要遍歷一遍詞表,修改base值。假設(shè)用負(fù)的base值表示該位置為詞語(yǔ)。如果狀態(tài)i對(duì)應(yīng)某一個(gè)詞,而且Base[i]=0,那么令Base[i]=(-l)*i,如果Base[i〗的值不是0,那么令Base[i]氣-lfBase[i]。得到雙數(shù)組如下表所示。需要說(shuō)明的是,表l僅一種雙數(shù)組的示例。表1<table>tableseeoriginaldocumentpage11</column></row><table>用上述方法生成的雙數(shù)組,將"啊","阿","埃","阿根","阿拉","阿膠","埃及","阿拉伯","阿拉伯人","阿根廷"這些詞綴均視為狀態(tài)。詞綴不同于傳統(tǒng)意義的詞綴概念,它可以是字"啊","阿","埃",也可以是詞"阿膠","埃及","阿拉伯","阿拉伯人","阿根廷",也可以僅僅是前綴或后綴,如"阿根"、"阿拉"。每個(gè)狀態(tài)均對(duì)應(yīng)于數(shù)組的一個(gè)下標(biāo)。例如設(shè)"阿根"的下標(biāo)為i=8,那么check[i]的內(nèi)容是"阿"的下標(biāo),而base[i]是"阿根廷"的下標(biāo)的基值。"廷"的序列碼為x=8,那么"阿根廷"的下標(biāo)為base[i]+x=base[8]+8=12。也就是說(shuō),每個(gè)詞綴和基值數(shù)組、校驗(yàn)值數(shù)組的一數(shù)組單元--對(duì)應(yīng)。最后,具體查詢過(guò)程為Do油learraytrie的查詢過(guò)程其實(shí)就是一個(gè)DFA的狀態(tài)轉(zhuǎn)移過(guò)程,在Doublearraytrie中實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單只需按照狀態(tài)標(biāo)志進(jìn)行狀態(tài)轉(zhuǎn)移即可.例如查詢"阿根廷",先根據(jù)"阿"的序列碼b=2,找到狀態(tài)"阿,,的下標(biāo)2,再根據(jù)"根"的序列碼d=4找到"阿根"的下標(biāo)base[b]+d=8,同時(shí)根據(jù)check[base[b]+d]=b,表明"阿根"是某個(gè)詞的一部分,可以繼續(xù)查詢。然后再找到狀態(tài)"阿根廷"。它的下標(biāo)為y-12,此時(shí)base[y]O,check[y]=base[b]+d=8,表明"阿根廷"在詞表中,查詢完畢。查詢過(guò)程中我們可以看到,對(duì)于一個(gè)詞語(yǔ)的查詢時(shí)間是只與它的長(zhǎng)度相關(guān)的,也就是說(shuō)它的時(shí)間復(fù)雜度為O(l),因此其速度是極快的.本申請(qǐng)人經(jīng)過(guò)長(zhǎng)期思考,可以利用該雙數(shù)組Trie查詢速度快的優(yōu)勢(shì),并能實(shí)現(xiàn)模糊查詢的功能。請(qǐng)參閱圖4,其為本發(fā)明一種詞庫(kù)模糊查詢方法的流程圖。它包括S110:建立詞條數(shù)據(jù)結(jié)構(gòu)Sll:將詞庫(kù)中的所有詞條順序存儲(chǔ)在詞條數(shù)據(jù)結(jié)構(gòu)的詞條存儲(chǔ)單元;S12:構(gòu)建詞條數(shù)據(jù)結(jié)構(gòu)的正向詞條索引結(jié)構(gòu)先將所有詞條的所有字一一對(duì)應(yīng)一唯一編碼,再構(gòu)建雙數(shù)組Trie,確定基值數(shù)組和對(duì)應(yīng)的校驗(yàn)值數(shù)組,后存儲(chǔ)每一詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息,詞綴和基值數(shù)組、校驗(yàn)值數(shù)組的一數(shù)組單元——對(duì)應(yīng)。請(qǐng)參閱圖5,其為詞條數(shù)據(jù)結(jié)構(gòu)示意圖。它包括詞庫(kù)頭11和詞庫(kù)內(nèi)容12組成。其中,詞庫(kù)頭是詞條的索引信息,而詞庫(kù)內(nèi)容保存有詞條的詳細(xì)信息。詞庫(kù)內(nèi)容即為詞條存儲(chǔ)單元,其存儲(chǔ)單元中每個(gè)詞條可以按關(guān)鍵字從小到大排序。這樣,在正向查詢時(shí),只需要給出滿足條件的第一個(gè)詞條的存儲(chǔ)地址信息和最后一個(gè)詞條的存儲(chǔ)地址信息,即可獲得滿足條件的所有詞,從而節(jié)省了詞庫(kù)的索引空間。由于詞條是按關(guān)鍵字從小大到排序的,因此以"蘋(píng)果,,開(kāi)始的關(guān)鍵字如"蘋(píng)果","蘋(píng)果汁,,,"蘋(píng)果樹(shù)"在詞庫(kù)內(nèi)容中的位置都是緊挨著的,這樣只需給出"蘋(píng)果"和"蘋(píng)果樹(shù)"的存儲(chǔ)地址信息,就可獲取"蘋(píng)果","蘋(píng)果汁","蘋(píng)果樹(shù)"的詳細(xì)信息。詞庫(kù)頭11至少包括正向詞條索引結(jié)構(gòu)111。請(qǐng)參閱圖6,其為本發(fā)明的正向詞條索引結(jié)構(gòu)的一示例圖。它包括一編碼映射單元,對(duì)詞庫(kù)中所有出現(xiàn)的每個(gè)字進(jìn)行編碼。這種編碼并非是唯一的,只需要將詞庫(kù)中的所有字--對(duì)應(yīng)一唯一編碼即可,可以是順序編碼,也可以是采用計(jì)算機(jī)中本身就已存在的每個(gè)漢字的對(duì)應(yīng)編碼。如果是前者,需要重新創(chuàng)建一編碼映射單元,用于存儲(chǔ)漢字和編碼的——對(duì)應(yīng)關(guān)系,如果是采用后者編碼方式,即可省略該編碼映射單元,節(jié)省存儲(chǔ)空間。它包括一slot數(shù)組,slot數(shù)組的每一數(shù)組單元表示一詞綴,所述每一數(shù)組單元中存儲(chǔ)該詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息、該詞綴對(duì)應(yīng)的基值數(shù)組數(shù)值、校驗(yàn)值數(shù)組數(shù)值。存儲(chǔ)每一詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息進(jìn)一步為存儲(chǔ)每一詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的第一個(gè)詞的偏移地址信息startoffset和以本詞綴開(kāi)頭的最后一個(gè)詞的偏移地址信息endoffset,所述偏移地址信息為所述詞基于詞條存儲(chǔ)單元首地址的偏移地址。還是以圖3的詞庫(kù)為例,則生成的正向詞條索引結(jié)構(gòu)可以為表2。表2<table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table>構(gòu)建詞條數(shù)據(jù)結(jié)構(gòu)的正向詞條索引結(jié)構(gòu)先將所有詞條的所有字一一對(duì)應(yīng)一唯一編碼,再構(gòu)建雙數(shù)組Trie,確定基值數(shù)組和對(duì)應(yīng)的校驗(yàn)值數(shù)組,后存儲(chǔ)每一詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息,詞綴和基值數(shù)組、校驗(yàn)值數(shù)組的一數(shù)組單元——對(duì)應(yīng)。而上述表2僅為正向詞條索引結(jié)構(gòu)的一示例圖。構(gòu)建正向詞條索引結(jié)構(gòu)的步驟具體可以如下首先,對(duì)查詢的詞的關(guān)鍵字進(jìn)行編碼,每個(gè)字(中文,英文)都對(duì)應(yīng)一個(gè)唯一的編碼,設(shè)編碼后為a0,al,...,aN-l。接著,循環(huán)依次遍歷每個(gè)編碼,如果是第一個(gè)字,同時(shí)slots[aO]的check值為-1,則表示該字存在,保存slots[a0]的base值和a0值分別為preBase和preldx,繼續(xù),否則退出。(注:如果slots[i].check=-2,表示i這個(gè)位置沒(méi)有被利用;如果slots[i].check--l,表示是首字;如果slots[i].checlO-0,表述i這個(gè)位置的字的前個(gè)位置是slots[i].check表示的位置)如果不是首字,i殳該字的編碼為al,求出下個(gè)位置pos-al+abs(preBase)。如果slots[pos].check等于preldx,表示找到以ala2......al開(kāi)始的串,保存slots[pos]的base值和pos值分別為preBase和preldx,繼續(xù),否則退出。隨后,獲取以編碼為a0,al,...,aN-l所表示的關(guān)鍵字開(kāi)始的所有詞條的偏移量范圍。如果處理完最后一個(gè)字,獲取slots[preldx].StartOffset和slots[preldx].endOffset,這兩個(gè)值表示了以編碼為a0,al,...,aN-1所表示的關(guān)鍵字開(kāi)始的所有詞條的偏移量的范圍。本發(fā)明可以通過(guò)偏移量idx定位到詞條詳細(xì)信息位置的算法得到詞條詳細(xì)信息,此時(shí)idx的值為slots[preIdx].StartOffset<=idx<=slots[preIdx].endOffset.如果中途退出,沒(méi)有處理完最后一個(gè)字,則表明沒(méi)有以al,a2,...,aN所表示的關(guān)鍵字開(kāi)始的詞條?!120:當(dāng)接收到查詢語(yǔ)時(shí),先獲得查詢語(yǔ)中所有字的編碼,再利用雙數(shù)組Trie找到該查詢語(yǔ)所在的基值數(shù)組單元,后找到該基值數(shù)組單元對(duì)應(yīng)的詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息,在所述詞條存儲(chǔ)單元找到對(duì)應(yīng)的所有詞。還是以表2為例,例如查詢"阿根",先根據(jù)"阿"的序列碼b-2,找到狀態(tài)"阿"的下標(biāo)2,再根據(jù)"根"的序列碼d=4找到"阿根"的下標(biāo)base[b]+d=8,找到slot[8]對(duì)應(yīng)的"startoffset"和"endoffset",查詢?cè)~條存儲(chǔ)單元,即可獲得對(duì)應(yīng)的詞,該些詞即為"阿根"的模糊查詢結(jié)果。本發(fā)明除了提供正向查詢之外,還提供反向查詢。在詞庫(kù)頭中還包括反向詞條索引結(jié)構(gòu)。反向詞條索引結(jié)構(gòu)包括一第二slot數(shù)組,第二slot數(shù)組的每一數(shù)組單元表示一反轉(zhuǎn)后的反轉(zhuǎn)詞綴,所述每一數(shù)組單元中存儲(chǔ)該詞綴在詞條存儲(chǔ)單元中本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息、該反轉(zhuǎn)詞綴對(duì)應(yīng)的基值數(shù)組數(shù)值、校驗(yàn)值數(shù)組數(shù)值。請(qǐng)參閱圖7,其為反向詞條索引結(jié)構(gòu)的一示例圖。構(gòu)建詞條數(shù)據(jù)結(jié)構(gòu)的反向詞條索引結(jié)構(gòu)先將所有詞條的所有字一一對(duì)應(yīng)一唯一編碼(可以利用正向詞條索引結(jié)構(gòu)的編碼方法),再將詞庫(kù)中的詞反轉(zhuǎn)后用Trie樹(shù)結(jié)構(gòu)表示,隨后構(gòu)建雙數(shù)組Trie,確定基值數(shù)組和對(duì)應(yīng)的校驗(yàn)值數(shù)組,然后存儲(chǔ)每一反轉(zhuǎn)后的反轉(zhuǎn)詞綴在詞條存儲(chǔ)單元中以本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息,反轉(zhuǎn)詞綴和基值數(shù)組、校驗(yàn)值數(shù)組的一數(shù)組單元一一對(duì)應(yīng)。當(dāng)接收到查詢語(yǔ)時(shí),反轉(zhuǎn)查詢語(yǔ),后獲得反轉(zhuǎn)后查詢語(yǔ)中各個(gè)字的編碼,查找反向詞條索引結(jié)構(gòu)獲得對(duì)應(yīng)的基值數(shù)組單元,后找到該基值數(shù)組單元對(duì)應(yīng)的詞綴在詞條存儲(chǔ)單元中本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息,在所述詞條存儲(chǔ)單元找到所有詞。事實(shí)上,反向查詢和正向查詢類似,唯一的區(qū)別是由于含有共同結(jié)束部分的關(guān)鍵字的在詞庫(kù)存儲(chǔ)單元中的偏移量并不有序,因此不能用startOffet, endOffset來(lái)表示一段范圍,而必須窮舉每個(gè)詞綴在詞庫(kù)存儲(chǔ)單元中的偏移量,因此結(jié)構(gòu)稍微有些改變。此結(jié)構(gòu)也是對(duì)Doublearraytrie索51結(jié)構(gòu)的改進(jìn),在base和check的基礎(chǔ)上增加了Offset和Offset所指向的偏移量列表。其構(gòu)建、查詢過(guò)程和標(biāo)準(zhǔn)的Doublearraytrie雷同,唯一的區(qū)別是在構(gòu)建時(shí)增加了對(duì)Offset和Offset所指向的偏移量列表的賦值,查詢過(guò)程中,在完成標(biāo)準(zhǔn)的Doublearraytrie查詢以后,獲取當(dāng)前slot的Offset所指的偏移量列表(從小到大排列)為Doublearraytrie的最終查詢結(jié)果。如假設(shè)以"手機(jī)"結(jié)束的關(guān)鍵字有"手機(jī)","mp3手機(jī)","蘋(píng)果手機(jī)","諾基亞手機(jī),,。由于含有相同結(jié)束成分的關(guān)鍵字在puredata中的位置并不連續(xù),因此其在puredata的偏移量并不連續(xù),假設(shè)為2,6,11,78。在反向詞條索引結(jié)構(gòu),"手機(jī)"的"手"字所在的slot的offset所指的偏移量列表的個(gè)數(shù)N為4,偏移量分別為2,6,11,78。另外,還需要說(shuō)明的是,在構(gòu)建雙數(shù)組Trie,確定基值數(shù)組和對(duì)應(yīng)的校驗(yàn)值數(shù)組時(shí),是反轉(zhuǎn)構(gòu)建的"機(jī)手"、"機(jī)手3pm"、"機(jī)手果蘋(píng)"、"機(jī)手亞基諾"這樣來(lái)用Trie樹(shù)結(jié)構(gòu)表示,進(jìn)而確定基值數(shù)組和校驗(yàn)值數(shù)組。因此,查詢查詢語(yǔ)的時(shí),先要將查詢語(yǔ)反轉(zhuǎn)后,再確定查詢語(yǔ)中每個(gè)字對(duì)應(yīng)的編碼,查找反向詞條索引結(jié)構(gòu)獲得對(duì)應(yīng)的基值數(shù)組單元,后找到該基值數(shù)組單元對(duì)應(yīng)的詞綴在詞條存儲(chǔ)單元中本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息,在所述詞條存儲(chǔ)單元找到所有詞。通過(guò)上述的方式,查詢即可以是正向查詢,也可以是反向查詢,使得查詢更為全面,查詢效果更好。這種既可以正向查詢,也可以是反向查詢的方式我們稱之為雙向查詢,在雙向查詢時(shí),可以先利用正向查詢獲得偏移量范圍,再利用反向查詢獲得對(duì)應(yīng)的偏移量列表,再根據(jù)該些偏移量信息到詞庫(kù)存儲(chǔ)單元中找到每一對(duì)應(yīng)的詞,所述詞即是查詢語(yǔ)模糊查詢到的詞。需要說(shuō)明的是,由于本發(fā)明對(duì)詞(詞綴)的編碼是唯一的,因此本發(fā)明的搜索結(jié)果具有唯一性,而由于Hash算法具有一定的沖突率,通常不能保證Hash函數(shù)序列表的唯一性,因此需要有其它的措施(如開(kāi)鏈、閉鏈等)來(lái)保證其搜索結(jié)果的唯一性,因此本發(fā)明的搜索方法具有更快的搜索速度。如用本發(fā)明,"蘋(píng)果"的編碼是12223,可以確定編碼為12223的只對(duì)應(yīng)關(guān)鍵字"蘋(píng)果".但用Hash算法時(shí),"蘋(píng)果"的編碼是12223,"栗子"的編碼也可能是12223,所以這個(gè)時(shí)候得需用其它措施來(lái)保證查詢的是"蘋(píng)果,,還是"栗子",因此本發(fā)明的搜索方法更有更快的速度。本發(fā)明除了僅支持正向查詢、雙向查詢之外,還可以僅支持詞庫(kù)反向查詢。一種詞庫(kù)模糊查詢方法,包括(1)建立詞條數(shù)據(jù)結(jié)構(gòu)(1-1)將詞庫(kù)中的所有詞條順序存儲(chǔ)在詞條數(shù)據(jù)結(jié)構(gòu)的詞條存儲(chǔ)單元;(l-2)構(gòu)建詞條數(shù)據(jù)結(jié)構(gòu)的反向詞條索引結(jié)構(gòu)先將所有詞條的所有字一一對(duì)應(yīng)一唯一編碼,再構(gòu)建雙數(shù)組Trie,確定基值數(shù)組和對(duì)應(yīng)的校驗(yàn)值數(shù)組,后存儲(chǔ)每一詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息,詞綴和基值數(shù)組、校驗(yàn)值數(shù)組的一數(shù)組單元——對(duì)應(yīng);(2)當(dāng)接收到查詢語(yǔ)時(shí),反轉(zhuǎn)查詢語(yǔ),后獲得反轉(zhuǎn)后查詢語(yǔ)中各個(gè)字的編碼,查找反向詞條索引結(jié)構(gòu)獲得對(duì)應(yīng)的基值數(shù)組單元,后找到該基值數(shù)組單元對(duì)應(yīng)的詞綴在詞條存儲(chǔ)單元中本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息,在所述詞條存儲(chǔ)單元找到所有詞。反向查詢上述已公開(kāi),在此就不再贅述。以上公開(kāi)的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化,都應(yīng)落在本發(fā)明的保護(hù)范圍內(nèi)。權(quán)利要求1、一種詞庫(kù)模糊查詢方法,其特征在于,包括(1)建立詞條數(shù)據(jù)結(jié)構(gòu)(1-1)將詞庫(kù)中的所有詞條順序存儲(chǔ)在詞條數(shù)據(jù)結(jié)構(gòu)的詞條存儲(chǔ)單元;(1-2)構(gòu)建詞條數(shù)據(jù)結(jié)構(gòu)的正向詞條索引結(jié)構(gòu)先將所有詞條的所有字一一對(duì)應(yīng)一唯一編碼,再構(gòu)建雙數(shù)組Trie,確定基值數(shù)組和對(duì)應(yīng)的校驗(yàn)值數(shù)組,后存儲(chǔ)每一詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息,詞綴和基值數(shù)組、校驗(yàn)值數(shù)組的一數(shù)組單元一一對(duì)應(yīng);(2)當(dāng)接收到查詢語(yǔ)時(shí),先獲得查詢語(yǔ)中所有字的編碼,再利用雙數(shù)組Trie找到該查詢語(yǔ)所在的基值數(shù)組單元,后找到該基值數(shù)組單元對(duì)應(yīng)的詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息,在所述詞條存儲(chǔ)單元找到對(duì)應(yīng)的所有詞。2、如權(quán)利要求l所述的方法,其特征在于,步驟(l-2)為建立一slot數(shù)組,slot數(shù)組的每一數(shù)組單元表示一詞綴,所述每一數(shù)組單元中存儲(chǔ)該詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息、該詞綴對(duì)應(yīng)的基值數(shù)組數(shù)值、校驗(yàn)值數(shù)組數(shù)值。3、如權(quán)利要求1或2所述的方法,其特征在于,存儲(chǔ)每一詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息進(jìn)一步為存儲(chǔ)每一詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的第一個(gè)詞的偏移地址信息和以本詞綴開(kāi)頭的最后一個(gè)詞的偏移地址信息,所述偏移地址信息為所述詞基于詞條存儲(chǔ)單元首地址的偏移地址。4、如權(quán)利要求l所述的方法,其特征在于,在步驟(l)中還包括(l-3)構(gòu)建詞條數(shù)據(jù)結(jié)構(gòu)的反向詞條索引結(jié)構(gòu)先將所有河條的所有字一一對(duì)應(yīng)一唯一編碼,再將詞庫(kù)中的詞反轉(zhuǎn)后用Trie樹(shù)結(jié)構(gòu)表示,隨后構(gòu)建雙數(shù)組Trie,確定基值數(shù)組和對(duì)應(yīng)的校驗(yàn)值數(shù)組,然后存儲(chǔ)每一反轉(zhuǎn)后的反轉(zhuǎn)詞綴在詞條存儲(chǔ)單元中以本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息,反轉(zhuǎn)詞綴和基值數(shù)組、校驗(yàn)值數(shù)組的一數(shù)組單元——對(duì)應(yīng)。5、如權(quán)利要求4所述的方法,其特征在于,還包括當(dāng)接收到查詢語(yǔ)時(shí),反轉(zhuǎn)查詢語(yǔ),后獲得反轉(zhuǎn)后查詢語(yǔ)中各個(gè)字的編碼,查找反向詞條索引結(jié)構(gòu)獲得對(duì)應(yīng)的基值數(shù)組單元,后找到該基值數(shù)組單元對(duì)應(yīng)的詞綴在詞條存儲(chǔ)單元中本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息,在所述詞條存儲(chǔ)單元找到所有詞。6、如權(quán)利要求5所述的方法,其特征在于,建立一第二slot數(shù)組,第二slot數(shù)組的每一數(shù)組單元表示一反轉(zhuǎn)后的反轉(zhuǎn)詞綴,所述每一數(shù)組單元中存儲(chǔ)該詞綴在詞條存儲(chǔ)單元中本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息、該反轉(zhuǎn)詞綴對(duì)應(yīng)的基值數(shù)組數(shù)值、校驗(yàn)值數(shù)組數(shù)值。7、一種詞庫(kù)^t糊查詢系統(tǒng),它包括一詞條數(shù)據(jù)結(jié)構(gòu),包括詞條存儲(chǔ)單元和正向詞條索引結(jié)構(gòu),一詞條存儲(chǔ)單元,用于以詞條為單元順序存儲(chǔ)詞庫(kù)中的所有詞條;一正向詞條索引結(jié)構(gòu),其包括一編碼映射單元用于存儲(chǔ)所有詞條的所有字與唯一編碼的——對(duì)應(yīng);一slot數(shù)組,slot數(shù)組的每一數(shù)組單元表示一詞綴,所述每一數(shù)組單元中存儲(chǔ)該詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息、該詞綴對(duì)應(yīng)的基值數(shù)組數(shù)值、校驗(yàn)值數(shù)組數(shù)值;一查詢處理器,進(jìn)一步包括正向詞條查詢單元,用于接收到查詢語(yǔ)時(shí),先獲得查詢語(yǔ)中所有字的編碼,再利用雙數(shù)組Trie找到該查詢語(yǔ)所在的基值數(shù)組單元,后找到該基值數(shù)組單元對(duì)應(yīng)的詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息,在所述詞條存儲(chǔ)單元找到對(duì)應(yīng)的所有詞。8、如權(quán)利要求7所述的系統(tǒng),其特征在于,詞條數(shù)據(jù)結(jié)構(gòu)還包括一反向詞條索引結(jié)構(gòu)包括一第二slot數(shù)組,第二slot數(shù)組的每一數(shù)組單元表示一反轉(zhuǎn)后的反轉(zhuǎn)詞綴,所述每一數(shù)組單元中存儲(chǔ)該詞綴在詞條存儲(chǔ)單元中本詞綴結(jié)尾的所有詞的存儲(chǔ)地址信息、該反轉(zhuǎn)詞綴對(duì)應(yīng)的基值數(shù)組數(shù)值、校驗(yàn)值數(shù)組數(shù)值。9、如權(quán)利要求8所述的系統(tǒng),其特征在于,查詢處理器,進(jìn)一步還包括反向詞條查詢單元,當(dāng)接收到查詢語(yǔ)時(shí),反轉(zhuǎn)查詢語(yǔ),后獲得反轉(zhuǎn)后查詢語(yǔ)中各個(gè)字的編碼,查找反向詞條索引結(jié)構(gòu)獲得對(duì)應(yīng)的基值數(shù)組單元,后找到址信息,在所述詞條存儲(chǔ)單元找到所有詞。10、一種詞庫(kù)模糊查詢方法,其特征在于,包括(1)建立詞條數(shù)據(jù)結(jié)構(gòu)(1-1)將詞庫(kù)中的所有詞條順序存儲(chǔ)在詞條數(shù)據(jù)結(jié)構(gòu)的詞條存儲(chǔ)單元;(l-2)構(gòu)建詞條數(shù)據(jù)結(jié)構(gòu)的反向詞條索引結(jié)構(gòu)先將所有詞條的所有字一一對(duì)應(yīng)一唯一編碼,再構(gòu)建雙數(shù)組Trie,確定基值數(shù)組和對(duì)應(yīng)的校驗(yàn)值數(shù)組,后存儲(chǔ)每一詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息,詞綴和基值數(shù)組、校驗(yàn)值數(shù)組的一數(shù)組單元——對(duì)應(yīng);(2)當(dāng)接收到查詢語(yǔ)時(shí),反轉(zhuǎn)查詢語(yǔ),后獲得反轉(zhuǎn)后查詢語(yǔ)中各個(gè)字的編碼,查找反向詞條索引結(jié)構(gòu)獲得對(duì)應(yīng)的基值數(shù)組單元,后找到該基值數(shù)組單述詞條存儲(chǔ)單元找到所有詞。全文摘要一種詞庫(kù)模糊查詢方法,包括(1)建立詞條數(shù)據(jù)結(jié)構(gòu)(1-1)將詞庫(kù)中的所有詞條順序存儲(chǔ)在詞條數(shù)據(jù)結(jié)構(gòu)的詞條存儲(chǔ)單元;(1-2)構(gòu)建詞條數(shù)據(jù)結(jié)構(gòu)的正向詞條索引結(jié)構(gòu)先將所有詞條的所有字對(duì)應(yīng)一編碼,再構(gòu)建雙數(shù)組Trie,確定基值數(shù)組和對(duì)應(yīng)的校驗(yàn)值數(shù)組,后存儲(chǔ)每一詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息,詞綴和基值數(shù)組、校驗(yàn)值數(shù)組的一數(shù)組單元對(duì)應(yīng);(2)當(dāng)接收到查詢語(yǔ)時(shí),先獲得查詢語(yǔ)中所有字的編碼,再利用雙數(shù)組Trie找到該查詢語(yǔ)所在的基值數(shù)組單元,后找到該基值數(shù)組單元對(duì)應(yīng)的詞綴在詞條存儲(chǔ)單元中本詞綴開(kāi)頭的所有詞的存儲(chǔ)地址信息,在詞條存儲(chǔ)單元找到對(duì)應(yīng)的所有詞。本方法的查詢速度非??臁N臋n編號(hào)G06F17/30GK101398830SQ20071016231公開(kāi)日2009年4月1日申請(qǐng)日期2007年9月27日優(yōu)先權(quán)日2007年9月27日發(fā)明者孫海濤,施行向申請(qǐng)人:阿里巴巴集團(tuán)控股有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
渭源县| 宣城市| 无锡市| 建昌县| 南平市| 兰州市| 双城市| 祥云县| 通化市| 芮城县| 清流县| 泗水县| 嵊泗县| 西藏| 铁岭市| 新河县| 宜州市| 化德县| 北海市| 乌鲁木齐市| 渑池县| 沙田区| 邯郸县| 甘德县| 营口市| 平和县| 忻州市| 大荔县| 察隅县| 天镇县| 霍山县| 西丰县| 邛崃市| 东安县| 个旧市| 敦煌市| 察隅县| 会同县| 兰考县| 周口市| 寿阳县|