專利名稱:基于倒排表進(jìn)行檢索提示的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)信息檢索技術(shù),特別是指一種基于倒排表的檢索提示方法。
背景技術(shù):
搜索引擎的用戶經(jīng)常需要尋找自己本不熟悉的內(nèi)容(新穎的內(nèi)容),即他并不明確自己的需要,或者不知如何表達(dá)這種需要。除了某些流行的詞語(yǔ)以外(如明星的名字,新聞事件的名字等),用戶所輸入的查詢?cè)~并不總是最適當(dāng)?shù)牟樵冊(cè)~。另一種情況是用戶并沒(méi)有明確的目標(biāo),只是想大概了解一下某個(gè)范圍內(nèi)自己感興趣的未知內(nèi)容,這樣,他就更加不知道如何通過(guò)查詢?cè)~表達(dá)這種需求了。最后一種情況是用戶根本就不知道相關(guān)內(nèi)容的存在,他不可能想起去找尋它們,而這些內(nèi)容卻是他所想要得到的;或者用戶認(rèn)為有相關(guān)內(nèi)容,但索引庫(kù)中確實(shí)沒(méi)有相關(guān)內(nèi)容,例如某些信息沒(méi)有被自動(dòng)獲取或者某些信息被當(dāng)作有害信息被禁止訪問(wèn)或丟棄了。
上述情況的存在,使得用戶表達(dá)需求困難,不能讓搜索引擎方便的找到用戶所需要的內(nèi)容,我們稱之為用戶需求與內(nèi)容的不一致性。這種不一致性的解決需要系統(tǒng)根據(jù)內(nèi)容提示出相關(guān)的詞,讓用戶選擇或點(diǎn)擊來(lái)進(jìn)行搜索而不是要求用戶輸入正確的查詢?cè)~。研究表明,用戶通常從一個(gè)短查詢開(kāi)始,查看查詢結(jié)果后,修改查詢,再進(jìn)行檢索,如此反復(fù),直到找到目標(biāo),若在查詢結(jié)果中給予更多的提示將加速這一過(guò)程。
目前的搜索引擎主要都是基于對(duì)用戶輸入的查詢?cè)~進(jìn)行統(tǒng)計(jì)而生成檢索提示的,即通過(guò)對(duì)所有用戶輸入的查詢?cè)~進(jìn)行統(tǒng)計(jì),得到所有查詢?cè)~的熱門(mén)程度,然后選擇與當(dāng)前用戶輸入的查詢?cè)~類似的且最熱門(mén)的一批檢索詞作為檢索提示。這種檢索提示方法提示給用戶的總是最熱門(mén)的那批檢索詞,雖有其合理性,但并不一定就是用戶真正想要的。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的是提供一種基于倒排表進(jìn)行檢索提示的方法,它可基于待檢索文檔的內(nèi)容來(lái)進(jìn)行檢索提示。
為此,本發(fā)明采用以下方法一種基于倒排表進(jìn)行檢索提示的方法,它包括如下步驟●建立主搜索引擎使用的主倒排表把全部待檢索文檔切分成詞,對(duì)切分后的詞進(jìn)行索引,建立以詞為索引、包含此詞的文檔編號(hào)列表為值的倒排表,稱之為主倒排表。使用主倒排表對(duì)文檔進(jìn)行索引和檢索的部分即為主搜索引擎,主搜索引擎用于根據(jù)查詢串中的詞檢索包含該詞的文檔;●建立次搜索引擎使用的次倒排表把上一步驟中切分后的詞再切分成字,對(duì)切分后的字進(jìn)行索引,建立以字為索引、包含此字的詞為值的倒排表,稱之為次倒排表,使用次倒排表對(duì)詞進(jìn)行索引和檢索的部分即為次搜索引擎,次搜索引擎用于根據(jù)查詢串中的字檢索包含該字的詞;●用主搜索引擎檢索文檔將用戶輸入的檢索串切分成詞,用主搜索引擎檢索出包含這些詞的文檔,再對(duì)所有檢索出的文檔進(jìn)行相關(guān)度排序,得到排序后的檢出文檔序列;●用次搜索引擎檢索詞將用戶輸入的檢索串切分成字,用次搜索引擎檢索出包含檢索串中每一個(gè)字的詞,再對(duì)所有檢索出的詞進(jìn)行優(yōu)先度排序,得到排序后的檢出詞序列;●檢索提示向用戶提供檢索提示時(shí),按照從次搜索引擎中檢索出的檢出詞序列的順序顯示每個(gè)檢出詞,并在每個(gè)檢出詞后面顯示出包含這個(gè)詞的文檔數(shù)目。
此外在所述建立次搜索引擎使用的次倒排表步驟前,可先對(duì)主搜索引擎使用的主倒排表中的詞進(jìn)行篩選,以去除不需要的詞。
篩選時(shí),可以以詞長(zhǎng)和包含此詞的文檔個(gè)數(shù)作為篩選條件。
在所述用主搜索引擎檢索文檔步驟中,對(duì)檢索出的文檔采用TF*IDF算法或PageRank算法進(jìn)行相關(guān)度排序。
在所述用次搜索引擎對(duì)檢索串中的字進(jìn)行檢索的步驟中,采用以下優(yōu)先度算法進(jìn)行排序首先分別計(jì)算檢索串中的各字與次倒排表中的該詞的相似度,即TF*IDF檢索串中的某字與該詞的相似度=檢索串中的某字在該詞中出現(xiàn)的次數(shù)×log(次倒排表中包含某字的詞的個(gè)數(shù)的倒數(shù)),然后計(jì)算該詞的優(yōu)先度,即該詞的優(yōu)先度=該詞在主搜索引擎的所有文檔中出現(xiàn)的頻率的平方根×檢索串中的各字與該詞的相似度之和。
本發(fā)明方法實(shí)際上就是基于待檢索文檔的內(nèi)容來(lái)進(jìn)行檢索提示,它較基于查詢?cè)~統(tǒng)計(jì)的檢索提示有如下優(yōu)點(diǎn)(1)從信息論的角度,一個(gè)詞在各場(chǎng)合出現(xiàn)的頻度越高,它所包含的信息量就越少。基于內(nèi)容的檢索提示可以把少見(jiàn)的、信息量大的詞給提示出來(lái),而基于查詢統(tǒng)計(jì)的提示則只能提示出些眾所周知的包含信息量少的詞。
(2)基于內(nèi)容所提示的詞一定會(huì)有內(nèi)容對(duì)應(yīng)?;诓樵?cè)~的提示則不然,用戶可能輸入檢索不到結(jié)果或有誤導(dǎo)性的查詢?cè)~。
(3)基于內(nèi)容檢索提示,由于文檔內(nèi)容中用語(yǔ)的相對(duì)一致性,所提示的詞冗余數(shù)量少,跨越范圍大,能夠給用戶更加廣度的提示。基于查詢?cè)~的提示則不然,由于事先不知道目標(biāo)文檔所采用的詞,不同用戶對(duì)流行的主題會(huì)采用不同的查詢?cè)~,不同的組合,不同的順序,這種現(xiàn)象導(dǎo)致基于查詢?cè)~的提示被大量意義重復(fù)的流行詞所填充。
(4)基于內(nèi)容的提示能提示出鮮為人知的檢索詞,從而擴(kuò)展用戶的知識(shí)面。基于查詢?cè)~的提示則不然,只有被用戶使用過(guò)且滿足統(tǒng)計(jì)要求的查詢?cè)~才會(huì)被提示出來(lái),即便所索引的內(nèi)容中有相關(guān)主題,但只要用戶不知道,就不會(huì)去查詢或只有很少的用戶查詢,系統(tǒng)也不會(huì)提示用戶去查詢,它們也就永遠(yuǎn)不為人知或僅為少數(shù)人知道。
(5)基于內(nèi)容的提示能準(zhǔn)確提示相關(guān)文檔的數(shù)目,且效率相對(duì)較高。由于基于內(nèi)容的檢索提示,直接提示的就是倒排表中的詞,可以很容易獲取對(duì)應(yīng)文檔的數(shù)目。而基于查詢?cè)~的提示,若要獲取對(duì)應(yīng)的文檔數(shù)則需要進(jìn)行對(duì)應(yīng)的查詢或通過(guò)額外的緩存來(lái)記錄檢索結(jié)果數(shù)目,完成相同的功能所需開(kāi)銷巨大。并且按照查詢?cè)~解析后的查詢結(jié)果反映的是包含檢索詞各種排列組合的可能文檔,所獲取結(jié)果并不準(zhǔn)確(嚴(yán)重偏大)。
圖1為本發(fā)明的體系結(jié)構(gòu)圖;圖2為本發(fā)明的流程圖;圖3為本發(fā)明的主倒排表示意圖;圖4為本發(fā)明的次倒排表示意圖;圖5為Google Suggest基于查詢統(tǒng)計(jì)給出的提示;圖6為百度的相關(guān)搜索基于查詢統(tǒng)計(jì)給出的提示;圖7為依據(jù)本發(fā)明構(gòu)造的新搜索引擎基于內(nèi)容所給出的檢索提示。
具體實(shí)施例方式
倒排表是搜索引擎中的一種常用的數(shù)據(jù)結(jié)構(gòu),倒排表以詞為索引,以包含這些詞的文檔集合為項(xiàng),可以快速找到包含某個(gè)詞或某些詞的文檔集合。倒排表不僅存放了每個(gè)詞所對(duì)應(yīng)的文檔編號(hào)列表,還存儲(chǔ)了該詞對(duì)應(yīng)的文檔的數(shù)目(稱之為文檔頻率df)、該詞在某文檔中的出現(xiàn)的次數(shù)(稱之為詞頻tf),甚至該詞在某文檔中的出現(xiàn)的位置等信息。因此倒排表中的詞和它所對(duì)應(yīng)的文檔數(shù)目實(shí)質(zhì)上構(gòu)造了一個(gè)以大規(guī)模語(yǔ)料為基礎(chǔ)的詞頻詞典,可以作為檢索提示的一個(gè)依據(jù)。當(dāng)用戶不知道該使用什么樣的檢索詞來(lái)搜索他感興趣的內(nèi)容時(shí),他可以輸入與他想檢索的內(nèi)容有關(guān)的字詞,系統(tǒng)能夠搜索倒排表中已有的詞,提示出與用戶輸入相關(guān)的詞,并能列出每個(gè)詞會(huì)在多少篇文檔中出現(xiàn)。用戶根據(jù)檢索提示,可以做進(jìn)一步的精確搜索。
北京航空航天大學(xué)軟件工程研究所研發(fā)出一種中文分詞軟件BUAASEISEG,該分詞軟件傾向于長(zhǎng)詞切分,具有很強(qiáng)的新詞識(shí)別能力,對(duì)術(shù)語(yǔ)、人名、地名、組織名、機(jī)構(gòu)名等命名實(shí)體有很強(qiáng)的識(shí)別能力。BUAASEISEG采用迭代式二元切分方法,結(jié)合候選詞在文章中出現(xiàn)的局部概率以及候選詞在詞頻詞典中出現(xiàn)的全局概率,以及候選詞向后續(xù)詞的轉(zhuǎn)移次數(shù),能夠在線進(jìn)行上下文相關(guān)的新詞識(shí)別和歧義消解,只要具備一定的上下文,它就具有識(shí)別各種類型的新詞的能力(不局限于人名、地名、組織名)和消解各類歧義的能力。對(duì)于一些在文章中出現(xiàn)頻率較高的命名實(shí)體,BUAASEISEG會(huì)將其切分成一個(gè)整詞,比如“北京航空航天大學(xué)”,BUAASEISEG也把它切分成一個(gè)整詞,而一般的中文分詞算法則會(huì)把它切分成“北京”,“航空”,“航天”,“大學(xué)”4個(gè)詞。BUAASEISEG同時(shí)支持英文的命名實(shí)體識(shí)別,比如“software engineering”會(huì)作為一個(gè)完整的詞加入倒排表中,而不會(huì)分為”software”和”engineering”兩個(gè)詞。(關(guān)于BUAASEISEG分詞系統(tǒng)的詳細(xì)說(shuō)明可以參見(jiàn)論文曹勇剛,曹羽中,金茂忠,劉超.面向信息檢索的自適應(yīng)中文分詞系統(tǒng).軟件學(xué)報(bào),2006,17(3)356-363)。
本發(fā)明是一種基于倒排表進(jìn)行檢索提示的方法,下面結(jié)合圖1所示的本發(fā)明的體系結(jié)構(gòu)和圖2所示的流程圖,描述本發(fā)明的實(shí)施步驟。
步驟a)建立主搜索引擎使用的主倒排表把全部待檢索文檔或網(wǎng)頁(yè)切分成詞,對(duì)切分后的詞進(jìn)行索引,在索引的過(guò)程中建立以詞為索引、包含此詞的文檔編號(hào)列表為值的倒排表,其結(jié)構(gòu)如附圖3所示。我們把對(duì)文檔進(jìn)行索引和檢索的部分,稱為主搜索引擎,主搜索引擎用于根據(jù)查詢串中的詞檢索包含該詞的文檔。
如果待檢索文檔中包含中文,可以使用任意中文分詞算法或中文分詞軟件(分詞器)來(lái)進(jìn)行中文分詞。如果使用特定的分詞算法,比如使用中文分詞軟件BUAASEISEG,將會(huì)得到更佳的檢索提示。
步驟b)對(duì)步驟a)中主倒排表中的詞進(jìn)行篩選可以以詞長(zhǎng)和包含此詞的文檔個(gè)數(shù)作為篩選條件,去除不需要的詞(如單個(gè)詞或出現(xiàn)極少的詞)。根據(jù)不同的需要可以采用各種篩選手段,也可以不進(jìn)行篩選。篩選的原則是詞長(zhǎng)必須大于等于2并且詞必須在至少五個(gè)文檔中出現(xiàn)過(guò)(即DF≥5)。選擇何種篩選條件主要依據(jù)要索引的文檔集的大小以及內(nèi)容,根據(jù)實(shí)驗(yàn)效果來(lái)確定。
步驟c)建立次搜索引擎使用的次倒排表把切分后的詞(如經(jīng)過(guò)篩選,則指篩選后的詞)進(jìn)行單字切分(即把英文切分成一個(gè)個(gè)的單詞,中文切分成一個(gè)個(gè)的漢字)并進(jìn)行索引,建立以字為索引、包含此字的詞為值的倒排表,稱之為“次倒排表”,其結(jié)構(gòu)如附圖4所示。我們把使用次倒排表對(duì)詞進(jìn)行索引和檢索的部分稱為次搜索引擎。次搜索引擎用于根據(jù)查詢串中的字檢索包含這些字的詞匯(不限次序)。次倒排表中同時(shí)也存儲(chǔ)了每個(gè)詞的文檔頻率(即有多少篇文檔中包含此詞)。
步驟d)用主搜索引擎檢索文檔用戶檢索時(shí),先把檢索串按步驟a)中使用的切詞算法切分成詞,用主搜索引擎檢索出包含這些詞的文檔,再對(duì)所有檢索出的文檔進(jìn)行相關(guān)度排序(依據(jù)搜索引擎所通用的向量空間模型進(jìn)行計(jì)算),得到檢索結(jié)果,即排序后的檢出文檔序列。此處可以采用信息檢索領(lǐng)域的各種相關(guān)度排序算法,如TF*IDF,PageRank等,所使用的具體排序算法只會(huì)影響文檔檢索結(jié)果的查準(zhǔn)率和查全率,而不會(huì)影響檢索提示的效果。
步驟e)用次搜索引擎檢索詞在步驟d)的同時(shí)將用戶輸入的檢索串切分成字,然后到次搜索引擎中檢索出所有包含檢索串中每一個(gè)字的詞以及該詞的文檔頻率,再對(duì)所有檢索出的詞進(jìn)行優(yōu)先度排序,得到排序后的檢出詞序列。
步驟f)提供檢索提示向用戶提供檢索提示時(shí),按照從次搜索引擎中檢索出的檢出詞序列的順序顯示每個(gè)檢出詞,并在每個(gè)詞后面顯示該詞的文檔頻率(即有多少篇文檔中包含此詞)。
在步驟e)中本發(fā)明使用了一種檢索提示詞優(yōu)先度排序算法(此算法將在后面詳細(xì)描述)對(duì)全部檢索結(jié)果進(jìn)行優(yōu)先度排序,得到優(yōu)先度最高的10個(gè)(可以根據(jù)需要調(diào)整數(shù)目)檢索提示詞,顯示在步驟d)所得到的檢索結(jié)果頁(yè)面中(一般適合放在上方、下方或兩處全有)。每個(gè)檢索提示詞都對(duì)應(yīng)有超鏈接,前方也可以有一個(gè)復(fù)選框,用戶可以單擊單個(gè)或選中多個(gè)自己感興趣的檢索詞,進(jìn)行進(jìn)一步的精確搜索。用戶也可以通過(guò)點(diǎn)擊”更多檢索提示”這個(gè)鏈接,得到全部檢索提示詞。
本發(fā)明所使用的檢索提示詞優(yōu)先度排序算法如下把用戶輸入的檢索串sequence切分成單字,即sequence={char[1],char[2],.....,char[n]},然后用char[1],char[2]....,char[n]到次倒排表中去進(jìn)行匹配,如果次倒排表中的某個(gè)詞word[j]包含了char[1],char[2],....,char[n](不限各個(gè)字的出現(xiàn)順序),那么word[j]就是一個(gè)檢索提示詞。然后對(duì)char[1],char[2],.....,char[n]分別計(jì)算與word[j]的相似度得分,計(jì)算公式是sim(char[i],word[j])=TF*IDF其中sim(char[i],word[j])字char[i]與檢索提示詞word[j]的相似度得分TF字char[i]在詞word[j]中出現(xiàn)的次數(shù)。
IDF次倒排索引中包含字char[i]的詞的個(gè)數(shù)的倒數(shù)取log值。
然后檢索提示詞的優(yōu)先度計(jì)算公式如下Priority(word[j])=boost(word[j])*∑sim(char[i],word[j])即把char[1],char[2],......,char[n]與word[j]的相似度得分求和后再乘以word[j]本身的加權(quán)值boost(word[j]),即得到了word[j]的優(yōu)先度得分Priority(word[j])。其中加權(quán)值boost的計(jì)算公式如下boost(word[j])=sqrt(docFreq(word[j]))其中docFreq(word[j])指檢索提示詞word[j]在主搜索引擎的所有文檔中出現(xiàn)的頻率,即主搜索引擎中有多少個(gè)文檔包含word[j],sqrt指取平方根。
使用檢索提示詞加權(quán)值的好處是可以優(yōu)先提示文檔頻率高的詞,這樣一方面可以避免把步驟a)中少數(shù)切分錯(cuò)誤的詞排在前面提示出來(lái)(因?yàn)榍蟹皱e(cuò)誤的詞通常具有很低的文檔頻率),另一方面由于文檔中最經(jīng)常出現(xiàn)的詞可能也是人們最常使用、最感興趣的詞,這樣可以讓用戶很快找到自己所需要的詞。
本發(fā)明不依賴于特定的軟硬件環(huán)境,它可以采用目前已有的搜索引擎的硬件配置。按照本說(shuō)明書(shū)的步驟,可在任何已有的具有倒排表索引和查詢能力的搜索引擎基礎(chǔ)上加以改造從而實(shí)現(xiàn)本發(fā)明要達(dá)到的目標(biāo)——基于內(nèi)容的檢索提示。
本發(fā)明的所產(chǎn)生的提示和已有搜索引擎的基于查詢統(tǒng)計(jì)的差別在發(fā)明內(nèi)容中已經(jīng)闡述,附圖5-7給出了一個(gè)具體的例子(檢索“機(jī)器人”)來(lái)和流行的搜索引擎Google和百度進(jìn)行提示效果比較,其中DiMoor是發(fā)明人在開(kāi)源搜索引擎Nutch(http://lucene.Apache.org/nutch/)的基礎(chǔ)上按本說(shuō)明書(shū)的步驟構(gòu)造的新搜索引擎。由圖5-圖6可看出,基于查詢統(tǒng)計(jì)的檢索提示會(huì)由于用戶反復(fù)采用不同的查詢?cè)~檢索同一個(gè)熱門(mén)話題而使得提示面很窄且不規(guī)范(圖5-圖6中由于游戲愛(ài)好者數(shù)量大于科學(xué)愛(ài)好者,提示出來(lái)的基本上都是跟游戲有關(guān)的詞,而科學(xué)中的機(jī)器人相關(guān)詞匯被埋沒(méi)了)。圖7則能從更普遍意義上揭示所索引的文檔所包含的各種與查詢?cè)~相關(guān)的詞匯,并揭示了包含對(duì)應(yīng)提示詞的文檔數(shù)目(從圖7可以看到,實(shí)際上網(wǎng)上介紹機(jī)器人技術(shù)的科普文章并不少于用機(jī)器人作弊的游戲攻略)。
如使用我們的發(fā)明方法系統(tǒng),用戶輸入檢索詞“北航”,系統(tǒng)將能夠提示出“北京航空航天大學(xué)”,“北方航空公司”等,也能夠提示出北京航空航天大學(xué)的下級(jí)機(jī)構(gòu)名如“北京航空航天大學(xué)計(jì)算機(jī)學(xué)院”,“北京航空航天大學(xué)軟件工程研究所”,“北京航空航天大學(xué)宇航學(xué)院”等等,如果用戶是想要利用搜索引擎了解北京航空航天大學(xué)下屬的某一個(gè)單位,但又并不確切知道該單位的名稱,這樣的檢索提示就非常有價(jià)值了。
權(quán)利要求
1.一種基于倒排表進(jìn)行檢索提示的方法,其特征在于它包括如下步驟●建立主搜索引擎使用的主倒排表把全部待檢索文檔切分成詞,對(duì)切分后的詞進(jìn)行索引,建立以詞為索引、包含此詞的文檔編號(hào)列表為值的倒排表,稱之為主倒排表。使用主倒排表對(duì)文檔進(jìn)行索引和檢索的部分即為主搜索引擎,主搜索引擎用于根據(jù)查詢串中的詞檢索包含該詞的文檔;●建立次搜索引擎使用的次倒排表把上一步驟中切分后的詞再切分成字,對(duì)切分后的字進(jìn)行索引,建立以字為索引、包含此字的詞為值的倒排表,稱之為次倒排表,使用次倒排表對(duì)詞進(jìn)行索引和檢索的部分即為次搜索引擎,次搜索引擎用于根據(jù)查詢串中的字檢索包含該字的詞;●用主搜索引擎檢索文檔將用戶輸入的檢索串切分成詞,用主搜索引擎檢索出包含這些詞的文檔,再對(duì)所有檢索出的文檔進(jìn)行相關(guān)度排序,得到排序后的檢出文檔序列;●用次搜索引擎檢索詞將用戶輸入的檢索串切分成字,用次搜索引擎檢索出包含檢索串中每一個(gè)字的詞,再對(duì)所有檢索出的詞進(jìn)行優(yōu)先度排序,得到排序后的檢出詞序列;●檢索提示向用戶提供檢索提示時(shí),按照從次搜索引擎中檢索出的檢出詞序列的順序顯示每個(gè)檢出詞,并在每個(gè)檢出詞后面顯示出包含這個(gè)詞的文檔數(shù)目。
2.如權(quán)利要求1所述的基于倒排表進(jìn)行檢索提示的方法,其特征在于在所述建立次搜索引擎使用的次倒排表步驟前,先對(duì)主搜索引擎使用的主倒排表中的詞進(jìn)行篩選,以去除不需要的詞。
3.如權(quán)利要求2所述的基于倒排表進(jìn)行檢索提示的方法,其特征在于對(duì)所述主搜索引擎使用的主倒排表中的詞進(jìn)行篩選時(shí),可以以詞長(zhǎng)和包含此詞的文檔個(gè)數(shù)作為篩選條件。
4.如權(quán)利要求3所述的基于倒排表進(jìn)行檢索提示的方法,其特征在于所述篩選的條件是詞長(zhǎng)必須大于等于2并且詞必須在至少五個(gè)文檔中出現(xiàn)過(guò)。
5.如權(quán)利要求1所述的基于倒排表進(jìn)行檢索提示的方法,其特征在于在所述用主搜索引擎檢索文檔步驟中,對(duì)檢索出的文檔采用TF*IDF算法或PageRank算法進(jìn)行相關(guān)度排序。
6.如權(quán)利要求1所述的基于倒排表進(jìn)行檢索提示的方法,其特征在于在所述用次搜索引擎對(duì)檢索串中的字進(jìn)行檢索的步驟中,采用以下優(yōu)先度算法進(jìn)行排序首先分別計(jì)算檢索串中的各字與次倒排表中的該詞的相似度,即TF*IDF檢索串中的某字與該詞的相似度=檢索串中的某字在該詞中出現(xiàn)的次數(shù)×log(次倒排表中包含某字的詞的個(gè)數(shù)的倒數(shù)),然后計(jì)算該詞的優(yōu)先度,即該詞的優(yōu)先度=該詞在主搜索引擎的所有文檔中出現(xiàn)的頻率的平方根×檢索串中的各字與該詞的相似度之和。
全文摘要
本發(fā)明是一種基于倒排表進(jìn)行檢索提示的方法,它包括如下步驟建立主搜索引擎使用的主倒排表和次搜索引擎使用的次倒排表;將用戶輸入的檢索串切分成詞,用主搜索引擎檢索出包含這些詞的文檔,并將這些文檔進(jìn)行相關(guān)度排序,得到檢索結(jié)果。再將檢索串切分成字,用次搜索引擎檢索出包含檢索串中每一個(gè)字的詞,再對(duì)所有檢索出的詞匯進(jìn)行優(yōu)先度排序,得到排序后的檢出詞序列;向用戶提供檢索提示時(shí),按照從次搜索引擎中檢索出的檢出詞序列的順序顯示每個(gè)檢出詞,并在每個(gè)檢出詞后面顯示出包含這個(gè)檢出詞的文檔數(shù)目。本發(fā)明基于待檢索文檔的內(nèi)容來(lái)進(jìn)行檢索提示,它較基于查詢?cè)~統(tǒng)計(jì)的檢索提示有如下優(yōu)點(diǎn)可以把少見(jiàn)的、信息量大的詞給提示出來(lái);所提示的詞冗余數(shù)量少,跨越范圍大,能夠給用戶更加廣度的提示;能提示出鮮為人知的檢索詞,并能列出每個(gè)檢索提示詞會(huì)在多少篇文檔中出現(xiàn),從而擴(kuò)展用戶的知識(shí)面,幫助用戶進(jìn)行更準(zhǔn)確的檢索。
文檔編號(hào)G06F17/30GK1916905SQ20061011282
公開(kāi)日2007年2月21日 申請(qǐng)日期2006年9月4日 優(yōu)先權(quán)日2006年9月4日
發(fā)明者曹勇剛, 曹羽中, 金茂忠, 劉超 申請(qǐng)人:北京航空航天大學(xué)