專利名稱:搜索文本中關(guān)鍵詞的系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及搜索文本中關(guān)鍵詞的系統(tǒng)及其方法,并且更具體地涉及通過使用預(yù)先準(zhǔn)備的索引有效地搜索關(guān)鍵詞的系統(tǒng)及其方法。
背景技術(shù):
隨著最近通信網(wǎng)絡(luò)和信息處理設(shè)備的發(fā)展,許多文本被存儲為數(shù)字?jǐn)?shù)據(jù)。因此,文本挖掘作為從這些文本中獲得有用信息的技術(shù)已經(jīng)引起注意。在文本挖掘中,存在一個實際的問題,即“從在任何搜索條件下已經(jīng)被限制的文本的集合中,以出現(xiàn)頻率的降序檢測屬于任何范疇的N個關(guān)鍵詞(參見非專利文獻1)”。
以上問題的一個解決方案可以通過以文本的標(biāo)識符和關(guān)鍵詞的標(biāo)識符作為主要的關(guān)鍵構(gòu)造RDB(關(guān)系數(shù)據(jù)庫)獲得。該RDB是,例如,以關(guān)鍵詞對應(yīng)文本的方式記錄包含在特定文本中的關(guān)鍵詞的數(shù)據(jù)庫。然而,在使用這種RDB的情況下,如果文本數(shù)量變得巨大,則搜索時間也變得極長。因此,迄今為止,已經(jīng)提出通過使用多個信息處理設(shè)備并行地計算以上問題的技術(shù)(參見非專利文獻1)。
稍后描述非專利文獻2和3。
Yu C,Philip G,Meng WY.Distributed top-nquery processing with possibly uncooperative local system(以可能不合作的本地系統(tǒng)處理的分布式的前n個查詢),Proc.Of the 29thInt’1Conf.on Very Large Data Bases. BerlinMorgan KaufmannPublishers,2003.117-128。
Wei Wang,Jiong Yang,Richard MuntzSTINGA Statistical Information Grid Approach to Spatial Data Mining(空間數(shù)據(jù)挖掘的統(tǒng)計信息柵格途徑),Proceedings of the 23rdVLDBConference,Athens,Greece Aug 1997。
Nasukawa,T.and Nagano,T.“Text analysis andknowledge mining system(文本分析和知識挖掘系統(tǒng))”,IBM systemsJournal 40(4)967-984(2001)。
然而,上述非專利文獻1的方法需要并行/分布式的計算系統(tǒng),并且花費大量的金錢和時間。即,例如,必須建立多個信息處理設(shè)備,并且這些信息處理設(shè)備必須以快速的通信網(wǎng)絡(luò)連接。因此,需要開發(fā)有效的搜索技術(shù),使得可能通過使用單個的信息處理設(shè)備進行搜索。例如可能會想到,通過應(yīng)用傳統(tǒng)的文本搜索技術(shù),通過使用文本和關(guān)鍵詞的標(biāo)識符作為號碼,以及通過基于該號碼預(yù)先準(zhǔn)備用于索引的數(shù)據(jù)和散列(hash)結(jié)構(gòu),有可能加速搜索。特別地,可以考慮以下兩種索引。
(1)KEY_TO_DOC索引該索引是從以出現(xiàn)頻率的降序排列的關(guān)鍵詞的標(biāo)識符到包含關(guān)鍵詞的文本的標(biāo)識符列表的引用。
(2)DOC_TO_KEY索引索引是從文本標(biāo)識符到包含在文本中的關(guān)鍵詞的列表的引用。
在使用上述的索引(1)的過程中,例如,以出現(xiàn)頻率的降序順序選擇關(guān)鍵詞,并且確定包含關(guān)鍵詞的文本的列表是否滿足文本搜索條件。以滿足文本搜索條件的文本數(shù)量的降序選擇N個關(guān)鍵詞,并且選擇結(jié)果變?yōu)樗阉鹘Y(jié)果。然而,在存在許多種類的關(guān)鍵詞作為搜索目標(biāo)的情況下,需要依賴于關(guān)鍵詞種類數(shù)的搜索時間。
在使用上述索引(2)的過程中,例如,選擇滿足文本搜索條件的文本,并且獲取相應(yīng)于文本標(biāo)識符的關(guān)鍵詞列表。然后,為各個關(guān)鍵詞計數(shù)包含關(guān)鍵詞的文本的數(shù)量。然而,在存在許多種類的文本作為搜索目標(biāo)的情況下,需要依賴于文本種類數(shù)的搜索時間。盡管可想像通過采樣一些文本加速搜索,但是在沒有準(zhǔn)備足夠數(shù)量的文本的情況下,搜索精確度減小。
發(fā)明內(nèi)容
因此,本發(fā)明的目的是提供一種系統(tǒng)、方法和程序,使得能夠解決上述的問題。通過組合在權(quán)利要求范圍內(nèi)的獨立權(quán)利要求中敘述的特征實現(xiàn)此目的。此外,從屬權(quán)利要求定義本發(fā)明的更有利的特定實例。
為了解決上述問題,在本發(fā)明的第一實施方案中,提供了一種用于搜索文本中關(guān)鍵詞的系統(tǒng),該系統(tǒng)包括第一索引存儲單元,用于存儲從各個文本的標(biāo)識符指明包含在文本中的關(guān)鍵詞的列表的第一索引;第二索引存儲單元,用于存儲以第二索引對應(yīng)于包含各個關(guān)鍵詞的文本的數(shù)量的方式、從各個關(guān)鍵詞的標(biāo)識符指明包含關(guān)鍵詞的文本的列表的第二索引;輸入單元,用于接收作為關(guān)鍵詞的搜索目標(biāo)的文本條件的文本搜索條件的輸入;確定單元,基于在作為搜索目標(biāo)的多個文本中滿足文本搜索條件的文本數(shù)量,并且基于以該數(shù)量對應(yīng)于第二索引的方式所存儲的文本的數(shù)量,計算通過第一索引的搜索時間的估計和通過第二索引的搜索時間的估計,并確定第一和第二索引哪一個使得搜索更快;以及搜索單元,通過使用被確定為使得搜索更快的索引,搜索并輸出以高于預(yù)定標(biāo)準(zhǔn)的頻率出現(xiàn)在滿足文本搜索條件的文本中的關(guān)鍵詞。也提供了由該系統(tǒng)搜索關(guān)鍵詞的方法,以及用于使信息處理設(shè)備作為該系統(tǒng)運行的程序。
本發(fā)明的第二方面提供一種用于搜索文本中關(guān)鍵詞的系統(tǒng),該系統(tǒng)包括第二索引存儲單元,用于存儲從各個關(guān)鍵詞的標(biāo)識符指明包含關(guān)鍵詞的文本的列表的第二索引;輸入單元,用于接收作為關(guān)鍵詞的搜索目標(biāo)的文本條件的文本搜索條件的輸入;以及搜索單元,通過以文本數(shù)量的降序來選擇關(guān)鍵詞的預(yù)定標(biāo)準(zhǔn)數(shù)量來搜索高頻詞,該文本包含多個關(guān)鍵詞中的關(guān)鍵詞并且滿足文本搜索條件,該搜索單元進一步包括候選詞存儲單元,用于存儲候選詞出現(xiàn)的數(shù)量,以該數(shù)量對應(yīng)于待候選為高頻詞的候選詞的方式存儲,該數(shù)量是包含候選詞并且滿足文本搜索條件的文本的數(shù)量;選擇單元,用于以包含關(guān)鍵詞的文本數(shù)量的降序順序地選擇多個關(guān)鍵詞,多個關(guān)鍵詞中的每個被選作目標(biāo)詞以作為被確定是否是高頻詞之一的目標(biāo);比較單元,用于從第二索引存儲單元讀取包含目標(biāo)詞的文本的數(shù)量,并且將所讀取的文本數(shù)量與候選詞出現(xiàn)的數(shù)量相比較;計算單元,倘若所讀取的文本的數(shù)量大于任何一個候選詞出現(xiàn)的數(shù)量,則從第二索引存儲單元讀取包含目標(biāo)詞的文本的列表,并且計算所讀取的文本列表中滿足文本搜索條件的文本的數(shù)量;以及更新單元,倘若所計算的文本的數(shù)量大于任何一個候選詞出現(xiàn)的數(shù)量,則添加目標(biāo)詞作為候選詞到候選詞存儲單元,并且從候選詞存儲單元中去除存儲在候選詞存儲單元中的另一候選詞,其中,倘若包含由選擇單元順序地選擇的目標(biāo)詞的文本的數(shù)量小于任何一個候選詞出現(xiàn)的數(shù)量,則搜索單元輸出作為高頻詞存儲在候選詞存儲單元中的關(guān)鍵詞。也提供了一種由該系統(tǒng)搜索關(guān)鍵詞的方法,以及使信息處理設(shè)備作為該系統(tǒng)運行的程序。
附帶地,本發(fā)明的上述概要不列舉本發(fā)明的全部方面,并且這些方面的子組合也可以作為本發(fā)明。
本發(fā)明使得比現(xiàn)有技術(shù)更有效地搜索在滿足預(yù)定條件的文本中以高頻率使用的關(guān)鍵詞。
圖1是示出搜索系統(tǒng)10的整體結(jié)構(gòu)的框圖。
圖2是示出第一索引存儲單元200的數(shù)據(jù)結(jié)構(gòu)的實例的框圖。
圖3是示出第二索引存儲單元300的數(shù)據(jù)結(jié)構(gòu)的實例的框圖。
圖4是示出搜索單元400的功能結(jié)構(gòu)的框圖。
圖5是示出確定單元500的功能結(jié)構(gòu)的框圖。
圖6是使用搜索系統(tǒng)10搜索關(guān)鍵詞的流程圖。
圖7是示出S650中的過程細節(jié)的流程圖。
圖8是示出S620中的過程細節(jié)的流程圖。
圖9是示出S810中計算的函數(shù)的曲線圖。
圖10是示出由本實施方案搜索關(guān)鍵詞的搜索結(jié)果的表格。
圖11是示出傳統(tǒng)技術(shù)搜索關(guān)鍵詞所需的時間與提議的技術(shù)搜索關(guān)鍵詞所需時間之間的對比的表格。
圖12是示出使用第一索引搜索所需的時間與使用第二索引搜索所需的時間之間的對比的表格。
圖13是示出作為本實施方案的搜索系統(tǒng)10運行的信息處理設(shè)備900的硬件結(jié)構(gòu)的實例的框圖。
附圖中10 搜索系統(tǒng)15 文本DB100 輸入單元200 第一索引存儲單元210 散列文件220 關(guān)鍵詞列表文件300 第二索引存儲單元310 摘要文件320 分布文件400 搜索單元405 候選詞存儲單元410 選擇單元420 比較單元440 計算單元450 更新單元500 確定單元510 比率計算單元520 函數(shù)計算單元530 閾值計算單元540 第二搜索時間計算單元550 第一搜索時間計算單元900 信息處理設(shè)備
具體實施例方式
盡管在下文中將使用實施方案來描述本發(fā)明,但實施方案不意在限制依據(jù)權(quán)利要求范圍的本發(fā)明,并且在實施方案中描述的特征的所有組合對本發(fā)明的解決手段來說不一定是必要的。
圖1是示出搜索系統(tǒng)10的整體結(jié)構(gòu)的框圖。搜索系統(tǒng)10是從存儲在文本DB 15中的多個文本中檢測關(guān)鍵詞、并且輸出這樣檢測出的關(guān)鍵詞的列表給用戶的系統(tǒng)。特別地,搜索系統(tǒng)10是通過以文本的數(shù)量的降序選擇關(guān)鍵詞的預(yù)定標(biāo)準(zhǔn)數(shù)目而搜索高頻詞的系統(tǒng),該文本包含多個關(guān)鍵詞中的該關(guān)鍵詞并且滿足特定的文本搜索條件。通過指明用于指定用戶自己感興趣的目標(biāo)作為文本搜索條件,用戶能夠發(fā)現(xiàn)在用戶感興趣的領(lǐng)域中經(jīng)常使用的關(guān)鍵詞。
本實施方案的搜索系統(tǒng)10的目的是比以前更有效地執(zhí)行這種關(guān)鍵詞的搜索過程。
搜索系統(tǒng)10包括輸入單元100、第一索引存儲單元200、第二索引存儲單元300、搜索單元400,和確定單元500。輸入單元100從用戶接收文本搜索條件的輸入作為將成為搜索目標(biāo)的文本的條件用于搜索關(guān)鍵詞。特別地,輸入單元10可接收期望包含在文本中的關(guān)鍵詞的輸入,作為文本搜索條件。另外,輸入單元10接收將成為搜索目標(biāo)的關(guān)鍵詞種類的輸入。特別地,輸入單元10可接收其中使用作為搜索目標(biāo)的關(guān)鍵詞的字段,或示出關(guān)鍵詞的詞類的信息,作為種類。
第一索引存儲單元200為關(guān)鍵詞的每個種類存儲第一索引,第一索引通過使用各個文本的標(biāo)識符指明包含在文本中的關(guān)鍵詞的列表?;诖鎯υ谖谋綝B 15中的多個文本預(yù)先產(chǎn)生第一索引,并且在關(guān)鍵詞的搜索之前將其存儲在第一索引存儲單元200中。第二索引存儲單元300為關(guān)鍵詞的每個種類存儲第二索引,第二索引通過使用各個關(guān)鍵詞的標(biāo)識符指明包含關(guān)鍵詞的文本的列表。此外,第二索引存儲單元300以數(shù)量對應(yīng)于第二索引的方式存儲包含各個關(guān)鍵詞的文本的數(shù)量。如第一索引的情況,也基于存儲在文本DB 15中的多個文本預(yù)先產(chǎn)生第二索引。
確定單元500從第二索引存儲單元300讀取包含各個關(guān)鍵詞的文本的數(shù)量,以該數(shù)量對應(yīng)于第二索引的方式存儲該數(shù)量。確定單元500基于包含相應(yīng)于所輸入的種類的關(guān)鍵詞的文本的數(shù)量,并且基于作為搜索目標(biāo)的多個文本中滿足文本搜索條件的文本的數(shù)量,計算使用通過第一索引的搜索時間的估計和使用通過第二索引的搜索時間的估計。然后,確定單元500基于這些計算出的估計確定第一和第二索引中的哪一個使得搜索更快。
搜索單元400通過使用已經(jīng)被確定為使得搜索更快的索引,為具有比預(yù)定標(biāo)準(zhǔn)更高的出現(xiàn)頻率的關(guān)鍵詞搜索滿足文本搜索條件的文本,并且將關(guān)鍵詞輸出給用戶。如上所述,此標(biāo)準(zhǔn)是例如,依包含關(guān)鍵詞的文本數(shù)量的降序的關(guān)鍵詞的預(yù)定標(biāo)準(zhǔn)數(shù)量。搜索單元400輸出滿足這樣的標(biāo)準(zhǔn)的關(guān)鍵詞的列表。
圖2是示出第一索引存儲單元200的數(shù)據(jù)結(jié)構(gòu)的實例的視圖。第一索引存儲單元200存儲分別為各個種類而提供的散列文件210-1到210-N,和分別為各個種類而提供的關(guān)鍵詞列表文件220-1到220-N。在本實施方案中,為了避免冗余的描述,描述散列文件210-1以代表散列文件210-1到210-N,并且描述關(guān)鍵詞列表文件220-1以代表關(guān)鍵詞列表文件220-2到220-N。附帶地,各個散列文件210-2到210-N的結(jié)構(gòu)基本上與散列文件210-1的結(jié)構(gòu)相同,并且各個關(guān)鍵詞列表文件220-2到220-N的結(jié)構(gòu)基本上與關(guān)鍵詞列表文件220-1的結(jié)構(gòu)相同。
散列文件210-1記錄分別指示包含在文本中的關(guān)鍵詞的列表的指針,以指針對應(yīng)于各個文本的識別符的方式記錄。例如,對應(yīng)于文本0的指針AAAA是包含在文本0中的關(guān)鍵詞列表的指針。此指針可以是例如,在稍后描述的關(guān)鍵詞列表文件220-1中記錄的列表的記錄位置。
關(guān)鍵詞列表文件220-1為每個文本記錄包含在該文本中的關(guān)鍵詞的列表。例如,關(guān)鍵詞列表文件220-1以關(guān)鍵詞列表對應(yīng)于文本0的方式記錄由OS、Linux和ssh組成的關(guān)鍵詞列表。此外,關(guān)鍵詞列表文件220-1以值對應(yīng)于文本1的方式存儲指示文本1中關(guān)鍵詞不存在的值(例如,NULL)。在本實施例中,盡管出于描述的方便將關(guān)鍵詞顯示為字符串,但各個關(guān)鍵詞的標(biāo)識符實際上記錄在關(guān)鍵詞列表文件220-1中。
這里,希望散列文件210-1具有散列結(jié)構(gòu),其中文本的每個標(biāo)識符是散列密鑰(hash key),并且其中指向關(guān)鍵詞的每個指針是散列值。這使得可能快速地獲得包含在指定文本中的關(guān)鍵詞列表。另一方面,關(guān)鍵詞列表220-1可以記錄列表結(jié)構(gòu)中的數(shù)據(jù)作為關(guān)鍵詞列表,在列表結(jié)構(gòu)中多個關(guān)鍵詞順序連接。在此情況中,當(dāng)從關(guān)鍵詞列表獲取各個關(guān)鍵詞時,需要依賴于關(guān)鍵詞列表長度的處理時間。
圖3是示出第二索引存儲單元300的數(shù)據(jù)結(jié)構(gòu)的實例的視圖。第二索引存儲單元300存儲摘要文件310-1到310-N和分布文件320-1到320-N。第二索引存儲單元300存儲分別為各個種類而提供的摘要文件310-1到310-N、和分別為各個種類而提供的分布文件320-1到320-N。在本實施方案中,為了避免冗余的描述,描述摘要文件310-1以代表摘要文件310-1到310-N,并且描述分布文件320-1以代表分布文件320-1到320-N。附帶地,摘要文件310-2到310-N的結(jié)構(gòu)基本上與摘要文件310-1的結(jié)構(gòu)相同,并且分布文件320-1到320-N的結(jié)構(gòu)基本上與分布文件320-1的結(jié)構(gòu)相同。
摘要文件310-1為每個關(guān)鍵詞記錄包含該關(guān)鍵詞的文本的數(shù)量,以該數(shù)量對應(yīng)于關(guān)鍵詞標(biāo)識符的方式記錄。例如,關(guān)鍵詞15245對應(yīng)于“問題”,并且存在999000個文本包含該關(guān)鍵詞。分布文件320-1為每個關(guān)鍵詞記錄包含該關(guān)鍵詞的文本的列表。例如,分布文件320-1記錄包含關(guān)鍵詞15245的文本的標(biāo)識符(0,1,2,3,...),以該標(biāo)識符對應(yīng)于關(guān)鍵詞15245的方式記錄。即,關(guān)鍵詞“問題”包含在文本0,文本1和文本2中。
這里,希望摘要文件310-1具有散列結(jié)構(gòu),其中關(guān)鍵詞的每個標(biāo)識符是散列密鑰,并且其中包含關(guān)鍵詞的文本的每個數(shù)量是散列值。這使得能夠快速地獲取包含指定關(guān)鍵詞的文本的列表。此外,希望摘要文件310-1以關(guān)鍵詞的標(biāo)識符按照包含該關(guān)鍵詞的文本的數(shù)量的降序排列的方式記錄關(guān)鍵詞的標(biāo)識符。這使得能夠提高按照在稍后描述的選擇單元410的處理過程中出現(xiàn)的頻率的降序選擇關(guān)鍵詞的處理過程的效率。另一方面,分布文件320-1可以記錄列表結(jié)構(gòu)中的數(shù)據(jù)作為文本列表,在該列表結(jié)構(gòu)中直接連接多個文本的標(biāo)識符。在此情況中,當(dāng)從文本列表獲取各個文本的標(biāo)識符時,需要依賴于文本列表長度的處理時間。
附帶地,作為圖3實例的備選,或除了該實例以外,摘要文件310-1可記錄包含所有關(guān)鍵詞的文本的總數(shù),以該總數(shù)對應(yīng)于特定關(guān)鍵詞的標(biāo)識符的方式記錄,包含關(guān)鍵詞的文本的數(shù)量大于包含該特定關(guān)鍵詞的文本的數(shù)量。即,摘要文件310-1可以進一步記錄相應(yīng)于安排為后面跟隨特定關(guān)鍵詞的所有關(guān)鍵詞的文本的總數(shù),以該總數(shù)對應(yīng)于特定關(guān)鍵詞的方式記錄。這使得能夠加速由稍后描述的第二搜索時間計算單元540進行的估計搜索時間的處理進程。
圖4是示出搜索單元400的功能結(jié)構(gòu)的框圖。在圖4中,描述了通過使用第二索引由搜索單元400執(zhí)行的搜索功能。搜索單元400包括候選詞存儲單元405,選擇單元410,比較單元420,計算單元440,以及更新單元450。在多個關(guān)鍵詞中,搜索單元400致力于搜索那些包含在包含關(guān)鍵詞并滿足文本搜索條件的文本中的預(yù)定標(biāo)準(zhǔn)數(shù)量的關(guān)鍵詞,搜索的關(guān)鍵詞以文本數(shù)量的降序排列。這樣的待搜索的關(guān)鍵詞被稱作高頻詞。
候選詞存儲單元405存儲候選詞出現(xiàn)的數(shù)量,該數(shù)量是包含候選詞并滿足文本搜索條件的文本的數(shù)量,以出現(xiàn)數(shù)量對應(yīng)于作為高頻詞的候選的候選詞的方式存儲。即,例如,當(dāng)意圖搜索N個高頻詞時,候選詞存儲單元405存儲N個候選詞。這些候選詞在初始階段可以是任何關(guān)鍵詞。選擇單元410按照包含關(guān)鍵詞的文本的數(shù)量的降序順序地選擇多個關(guān)鍵詞作為搜索目標(biāo),所選的關(guān)鍵詞被選為目標(biāo)詞,目標(biāo)詞是確定它們是否是高頻詞的目標(biāo)。例如,選擇單元410可以以所排列的次序順序地獲取在第二索引存儲單元300的摘要文件310-1中排列和記錄的多個關(guān)鍵詞的標(biāo)識符。
比較單元420從第二索引存儲單元300的摘要文件310-1讀取包含特定目標(biāo)詞的文本的數(shù)量。然后,比較單元420比較所讀取的文本的數(shù)量與存儲在候選詞存儲單元405中的候選詞出現(xiàn)的數(shù)量。倘若所讀取的文本的數(shù)量大于候選詞中任何一個出現(xiàn)的數(shù)量,計算單元440從第二索引存儲單元300讀取包含此目標(biāo)詞的文本的列表。然后,計算單元440計算文本列表中滿足文本搜索條件的文本數(shù)量。倘若所計算的文本數(shù)量大于候選詞中任何一個所出現(xiàn)的數(shù)量,更新單元450將該目標(biāo)詞作為候選詞添加到候選詞存儲單元405中。然后,更新單元450從候選詞存儲單元405去除存儲在候選詞存儲單元405中的候選詞之一。例如,在N個候選詞已經(jīng)存儲在候選詞存儲單元405中的情況下,更新單元450從候選詞存儲單元405以候選詞出現(xiàn)數(shù)量的降序去除第N個候選詞。
每次目標(biāo)詞由選擇單元410選出時,比較單元420、計算單元440、和更新單元450重復(fù)地執(zhí)行上述過程。倘若包含由選擇單元410選出的目標(biāo)詞的文本的數(shù)量小于候選詞中任何一個出現(xiàn)的數(shù)量,搜索單元400輸出存儲在候選詞存儲單元405中的關(guān)鍵詞作為高頻詞。
圖5是示出確定單元500的功能結(jié)構(gòu)的框圖。確定單元500包括比率計算單元510、函數(shù)計算單元520、閾值計算單元530、第二搜索時間計算單元540、和第一搜索時間計算單元550。比率計算單元510計算指示作為搜索目標(biāo)的所有文本中滿足文本搜索條件的文本的占有率的條件滿足率。對于各個關(guān)鍵詞,函數(shù)計算單元520基于所計算的條件滿足率近似地計算指示包含關(guān)鍵詞并且滿足文本搜索條件的文本的數(shù)量的隨機變量的概率分布。特別地,函數(shù)計算單元520使用上述的條件滿足率,估計包含各個關(guān)鍵詞的文本滿足文本搜索條件的概率,并且作為二項式分布計算隨機變量的概率分布。
然后,函數(shù)計算單元520計算閾值的函數(shù)以獲取各個關(guān)鍵詞的隨機變量不小于特定閾值的概率的和。閾值計算單元530計算一閾值,在該閾值處這樣計算出來的函數(shù)值大約與標(biāo)準(zhǔn)量相等。第二搜索時間計算單元540使用第二索引存儲單元300的摘要文件310-1,選擇包含在其數(shù)量大于所計算的閾值的文本中的各個關(guān)鍵詞。然后,使用摘要文件310-1,第二搜索時間計算單元540計算包含所選關(guān)鍵詞的文本的總數(shù)。附帶地,如上所述,包含特定關(guān)鍵詞的文本的總數(shù)、該關(guān)鍵詞的出現(xiàn)頻率大于其他關(guān)鍵詞的出現(xiàn)頻率,可以預(yù)先計算,并記錄在摘要文件310-1中。在此情況中,第二搜索時間計算單元540可以從摘要文件310-1獲取以上總和。
然后,第二搜索時間計算單元540計算所計算的總和與預(yù)定的訪問時間的乘積,作為通過第二索引的搜索時間的估計。第一搜索時間計算單元550計算滿足文本搜索條件的文本數(shù)量與預(yù)定訪問時間的乘積,作為通過第一索引的搜索時間的估計。此預(yù)定的訪問時間例如,通過將從關(guān)鍵詞列表順序讀取關(guān)鍵詞的時間(順序訪問時間)和文本的關(guān)鍵詞數(shù)量的乘積,加到通過包含在第一索引中的文本的標(biāo)識符中找到一個標(biāo)識符來獲取關(guān)鍵詞列表的時間(隨機訪問時間)而獲取?;蛘?,可以由上述的隨機訪問時間或由另一預(yù)定值估計預(yù)定訪問時間。一旦計算出搜索時間的估計,倘若由第二搜索時間計算單元540計算的搜索時間的估計小于由第一搜索時間計算單元550計算的搜索時間的估計,確定單元500確定由第二索引搜索更快。
圖6是使用搜索系統(tǒng)10搜索關(guān)鍵詞的流程圖。輸入單元100接收文本搜索條件的輸入(S600)和種類的輸入(S610)。確定單元500基于滿足文本搜索條件的文本的數(shù)量和包含各個關(guān)鍵詞的文本的數(shù)量計算通過第一索引的搜索時間的估計和通過第二索引的搜索時間的估計(S620)。確定單元500比較通過第一索引的搜索時間的估計和通過第二索引的搜索時間的估計,并且確定哪個索引使得搜索更快(S630)。
然后,如果確定使用第一索引的搜索快于使用第二索引的搜索(S630是),則搜索單元400使用第一索引進行搜索(S640)。另一方面,如果確定了使用第二索引的搜索快于使用第一索引的搜索(S630否),則搜索單元400使用第二索引進行搜索(S650)。
圖7是示出S650中的處理過程的細節(jié)的流程圖。選擇單元410確定在所輸入的種類中是否存在尚未被選作目標(biāo)詞的關(guān)鍵詞(S700)。在存在這樣的關(guān)鍵詞的情況下(S700是),選擇單元410從尚未被選作目標(biāo)詞的關(guān)鍵詞中選擇一個關(guān)鍵詞作為目標(biāo)詞,該關(guān)鍵詞包含在數(shù)量最大的文本中(S710)。然后,比較單元420比較包含此目標(biāo)詞的文本的數(shù)量和存儲在候選詞存儲單元405中的候選詞出現(xiàn)的數(shù)量(S720)。
倘若包含此目標(biāo)詞的文本的數(shù)量大于候選詞的任何一個出現(xiàn)的數(shù)量(S730是),則計算單元440從第二索引存儲單元300獲取包含此目標(biāo)詞的文本列表(S740)。然后,計算單元440計算在包含在以上的文本列表中的文本中滿足文本搜索條件的文本的數(shù)量(S750)。倘若所計算的文本數(shù)量大于候選詞中任何一個的出現(xiàn)數(shù)量,則更新單元450從此目標(biāo)詞和候選詞中,以候選詞的數(shù)量限制在標(biāo)準(zhǔn)數(shù)量以內(nèi)的方式,按照包含各詞的文本的數(shù)量的降序,選擇新的候選詞,并且更新候選詞存儲單元405(S760)。特別地,更新單元450將此目標(biāo)詞作為候選詞添加到候選詞存儲單元405(S760)。在上述條件使得候選詞的數(shù)量超過標(biāo)準(zhǔn)量的情況下,更新單元450從候選詞存儲單元405去除存儲在候選詞存儲單元405中的候選詞之一。
在所輸入種類的所有關(guān)鍵詞都已經(jīng)被選為目標(biāo)詞的情況下(S700否),搜索單元400使進程進行到S770。此外,倘若包含目標(biāo)詞的文本的數(shù)量小于候選詞中任何一個出現(xiàn)的數(shù)量(S730否),則搜索單元400使進程進行到S770。在S770中,搜索單元400輸出存儲在候選詞存儲單元405中的候選詞作為高頻詞(S770)。
如上所述,在圖7的S730中示出的過程中,即使在并非所有關(guān)鍵詞都被選作目標(biāo)詞的情況下,當(dāng)確定在接下來的過程中不搜索高頻詞時,也終止過程。這使得可能令圖7示出的重復(fù)過程的數(shù)量少于關(guān)鍵詞的數(shù)量,從而使得可能提高搜索高頻詞的效率。由發(fā)明者進行的實驗表明,在實踐應(yīng)用的大多數(shù)情況下,圖7中的過程比使用第一索引的搜索執(zhí)行得更快。
附帶地,通過檢查圖7中過程的效率,發(fā)現(xiàn)在下面兩種情況下此過程的效率降低(1)由于目標(biāo)詞的數(shù)量大,重復(fù)的過程的數(shù)量的上限高的情況。
這是所輸入的種類包含許多關(guān)鍵詞的情況。這樣的種類的典型實例是“名詞”等。
(2)由于S730中的確定不是“否”,重復(fù)的過程的數(shù)量大約等于目標(biāo)詞的數(shù)量的情況。
這是所輸入的種類包含許多關(guān)鍵詞,其數(shù)量基本上等于文本的數(shù)量的情況。例如,在呼叫中心通過電話接收關(guān)于產(chǎn)品的評論和請求,接線員在文本上記錄客戶姓名、評論等。為各個用戶管理文本,并且為了用于將來改進產(chǎn)品而靜態(tài)地分析。在這種情況下,如果罕見地,接線員從相同的客戶得到了多條評論,屬于客戶姓名的種類的關(guān)鍵詞是情況(2)的典型實例。
本實施方案的搜索系統(tǒng)10基于關(guān)鍵詞等出現(xiàn)的數(shù)量的分布,預(yù)先確定比如上述的搜索環(huán)境,并且合適地確定使用第二索引的搜索是否更快。以下,參考圖8描述其過程。
圖8是示出S620中的過程的細節(jié)的流程圖。圖9是示出在S810中計算的函數(shù)的視圖。比率計算單元510計算條件滿足率(S800)。分別以#D表示作為搜索目標(biāo)的所有文本的數(shù)量并且以#Ds表示滿足文本搜索條件的文本的數(shù)量,則條件滿足率由#Ds/#D表示。
接下來,函數(shù)計算單元520計算閾值的函數(shù),用于獲取各個關(guān)鍵詞的隨機變量不少于特定閾值的概率的和(S810)。特別地,首先,對于各個關(guān)鍵詞,函數(shù)計算單元520基于所計算的條件滿足率近似地計算指示包含關(guān)鍵詞并且滿足文本搜索條件的文本數(shù)量的隨機變量的概率分布。此概率分布的實例是二項式分布。通過對關(guān)鍵詞的任何一個假設(shè),包含關(guān)鍵詞的文本滿足文本搜索條件的概率是上述的條件滿足率,確定概率分布。
這里,為關(guān)鍵詞i定義隨機變量Xi。指示包含關(guān)鍵詞i的文本的數(shù)量的分布的二項式分布是由B(n,p)=B(#Di,#Ds/#D)表達的。注意包含關(guān)鍵詞i的文本的數(shù)量由#Di表示。此外,對于關(guān)鍵詞i和指示特定閾值的整數(shù)M,定義下面的隨機變量Yi。
Yi=1(Xi≥M)Yi=0(Xi<M)使用此隨機變量Yi,函數(shù)計算單元520計算閾值M的函數(shù)用于獲取各個關(guān)鍵詞的隨機變量不小于該閾值M的概率的和。此函數(shù)由E(Y)表示如下E(Y)=E(∑i=1,2,...,IYi)=∑i=1,2,...,IE(Yi)=∑i=1,2,...,IP(Yi≥M)閾值計算單元530計算函數(shù)E(Y)約等于標(biāo)準(zhǔn)量N的閾值M(S820)。此時的閾值M由M*表示。如圖9所示,對于該閾值M函數(shù)E(Y)變?yōu)閱握{(diào)減函數(shù)。因此,例如,閾值計算單元530可采用對分搜索計算函數(shù)E(Y)的值變?yōu)镹處的M的值。此外,閾值計算單元530可采用例如,所謂的STING算法(非專利文獻2的第6頁中)的計算過程,計算對于特定閾值M的P(Yi≥M)的值。這使得可能實現(xiàn)S820中閾值M計算的加速。
隨后,第二搜索時間計算單元540使用此閾值計算使用第二索引搜索的過程時間的估計(S830)。特別地,首先,第二搜索時間計算單元540通過使用第二索引存儲單元300的摘要文件310-1選擇包含在數(shù)量大于所計算的閾值的文本中的各個關(guān)鍵詞。然后,第二搜索時間計算單元540計算包含通過使用摘要文件310-1這樣選擇的關(guān)鍵詞的文本總數(shù)。附帶地,如已經(jīng)提及的,包含其出現(xiàn)數(shù)量大于特定關(guān)鍵詞的出現(xiàn)數(shù)量的關(guān)鍵詞的文本總數(shù)可以被預(yù)先計算,并且記錄在摘要文件310-1中。在這種情況下,第二搜索時間計算單元540可從摘要文件310-1獲取該總數(shù)。第二搜索時間計算單元540輸出上面計算出的總數(shù)與預(yù)定訪問時間的乘積,作為搜索的過程時間的估計。
這里,希望預(yù)定訪問時間是選擇各個關(guān)鍵詞、而同時從如圖3所示的分布文件320-1中的一個文本中的關(guān)鍵詞列表的頭部順序追蹤關(guān)鍵詞的過程所需的時間。例如,第二搜索時間計算單元540可計算關(guān)鍵詞列表長度的平均值,并且計算追蹤關(guān)鍵詞列表過程的時間作為訪問時間,該列表的長度與其平均值相等?;蛘撸A(yù)定訪問時間可以由預(yù)定常數(shù)值估計并設(shè)置。
然后,第一搜索時間計算單元550計算使用第一索引搜索的過程時間的估計(S840)。例如,第一搜索時間計算單元550計算滿足文本搜索條件的文本數(shù)量與預(yù)定訪問時間的乘積,作為通過第一索引的搜索時間的估計。這里,例如由以下的等式計算預(yù)定訪問時間隨機訪問時間+包含在一個文本中的關(guān)鍵詞數(shù)量的平均值×順序訪問時間這里,隨機訪問時間是選擇滿足文本搜索條件的各個文本和選擇相應(yīng)于所選各個文本的關(guān)鍵詞列表的過程所需的時間。此外,順序訪問時間是對于一個文本順序選擇該文本中包含的關(guān)鍵詞和合計每個關(guān)鍵詞的每個出現(xiàn)數(shù)量的過程所需的時間。隨機訪問時間和順序訪問時間可由預(yù)定的常數(shù)值近似,獨立于作為搜索目標(biāo)的關(guān)鍵詞估計。
如上參考圖8和9所述,確定單元500能夠快速地計算使用第一索引的搜索所需的時間和使用第二索引的搜索所需的時間,而不進行實際的搜索過程。結(jié)果,在實際的搜索過程之前,可能適當(dāng)?shù)卮_定應(yīng)使用哪個索引用于搜索關(guān)鍵詞。
圖10是示出由本實施方案搜索關(guān)鍵詞的搜索結(jié)果的表格。在文本的集合中,圖10的垂直軸示出在指定詞類的“實詞”作為種類的情況下由搜索系統(tǒng)10搜索的高頻詞列表。此外,在相同文本的集合中,圖10的水平軸示出在指定文本內(nèi)容的“主題”作為種類的情況下由搜索系統(tǒng)10搜索的高頻詞列表。
關(guān)于實詞,比如中國、路透社、日本和東京的關(guān)鍵詞作為以此順序頻繁出現(xiàn)的關(guān)鍵詞而被搜索。關(guān)于主題,比如社會、體育、商業(yè)和國際的關(guān)鍵詞作為以此順序頻繁出現(xiàn)的關(guān)鍵詞而被搜索。以這種方式,本實施方案的搜索系統(tǒng)10使得可能快速地搜索頻繁出現(xiàn)在各個種類中的關(guān)鍵詞。
此外,在垂直軸和水平軸的每個交叉點,指示了各個關(guān)鍵詞一起出現(xiàn)的文本的數(shù)量。在指示文本數(shù)量的行下面的每一行上,指示示出各個關(guān)鍵詞的相關(guān)性級別的索引值。既然本實施方案的搜索系統(tǒng)10能夠通過使用第二索引獲取包含各個關(guān)鍵詞的文本列表,那么也可能有效地計算其中多個關(guān)鍵詞一起出現(xiàn)的文本數(shù)量。
圖11是示出通過傳統(tǒng)技術(shù)搜索關(guān)鍵詞所需的時間和通過提議的技術(shù)搜索關(guān)鍵詞所需的時間之間的比較的表格。在此搜索中,包含在文本中的關(guān)鍵詞被用作文本搜索條件。即,在此搜索中,包含“WIN95”作為關(guān)鍵詞的文本是搜索的目標(biāo)。此外,在此搜索中,通用名詞、名詞、固有名詞、命令、硬件、軟件和技術(shù)術(shù)語分別被用作關(guān)鍵詞的種類。然后,對于各個種類,進行搜索所需的測量時間的實驗。
圖11示出由本實施方案的搜索系統(tǒng)10搜索所需的時間與由非專利文獻3中描述的技術(shù)搜索所需的時間之間的比較??梢源_認(rèn)的是,在任何種類中,由搜索系統(tǒng)10搜索關(guān)鍵詞比傳統(tǒng)技術(shù)快很多。
圖12是示出使用第一索引(DOC_TO_KEY索引)搜索所需的時間與使用第二索引(KEY_TO_DOC索引)搜索所需的時間之間的比較的表格。如圖12中所示的所需時間是在相同條件下執(zhí)行使用第一索引的搜索和使用第二索引的搜索兩者所需的時間,獨立于由確定單元500作出的確定結(jié)果。圖12中下劃線的所需時間示出使用由確定單元500確定的使得更快搜索關(guān)鍵詞的索引搜索所需的時間。如圖12中清楚見到的,確認(rèn)了在五種情況中的四種中作出了關(guān)于更快搜索的正確決定。此外,盡管對于剩余的一種情況作出了不正確的決定,也確認(rèn)了該搜索所需的時間非常接近正確決定的情況中的時間。
圖13是示出作為本實施方案的搜索系統(tǒng)10運行的信息處理設(shè)備900的硬件結(jié)構(gòu)的實例的框圖。信息處理設(shè)備900包括CPU外圍單元,其具有通過主控制器1082相互連接的CPU 1000、RAM 1020、和圖形控制器1075;輸入/輸出單元,其具有通過輸入/輸出控制器1084連接到主控制器1082的通信接口1030、硬磁盤驅(qū)動器1040、和CD-ROM驅(qū)動器1060;和冗余的輸入/輸出單元,其具有連接到輸入/輸出控制器1084的BIOS 1010、軟盤驅(qū)動器1050、和輸入/輸出芯片1070。
主控制器1082連接RAM 1020、以高傳輸速度訪問RAM 1020的CPU 1000、和圖形控制器1075。CPU 1000基于BIOS 1010和RAM 1020中存儲的程序工作,并且控制各個單元。圖形控制器1075獲取在提供到RAM 1020的幀緩沖器上由CPU 1000等產(chǎn)生的圖像數(shù)據(jù),并且在顯示設(shè)備1080上顯示該圖像數(shù)據(jù)。或者,圖形控制器1075可在其中包括存儲由CPU 1000等產(chǎn)生的圖像數(shù)據(jù)的幀緩沖器。
輸入/輸出控制器1084連接主控制器1082、作為相對快速的輸入/輸出設(shè)備的通信接口1030、硬磁盤驅(qū)動器1040、和CD-ROM驅(qū)動器1060。通信接口1030通過網(wǎng)絡(luò)與外部設(shè)備通信。硬磁盤驅(qū)動器1040存儲由信息處理設(shè)備900使用的程序和數(shù)據(jù)。CD-ROM驅(qū)動器1060從CD-ROM 1095讀取程序或數(shù)據(jù),并且提供程序或數(shù)據(jù)給RAM 1020或硬磁盤驅(qū)動器1040。
此外,BIOS 1010和相對慢的輸入/輸出設(shè)備,比如軟盤驅(qū)動器1050或輸入/輸出芯片1070,被連接到輸入/輸出控制器1084。BIOS 1010存儲當(dāng)啟動信息處理設(shè)備900時由CPU 1000執(zhí)行的引導(dǎo)程序、依賴于信息處理設(shè)備900的硬件的程序等。軟盤驅(qū)動器1050從軟盤1090讀取程序或數(shù)據(jù),并且經(jīng)輸入/輸出芯片1070將程序或數(shù)據(jù)提供給RAM 1020或硬磁盤驅(qū)動器1040。輸入/輸出芯片1070通過例如,并行端口、串行端口、鍵盤端口、鼠標(biāo)端口等連接軟盤1090和各種輸入/輸出設(shè)備。
提供給信息處理設(shè)備900的程序被存儲在比如軟盤1090、CD-ROM 1095或IC卡的記錄介質(zhì)中,并由用戶提供。通過輸入/輸出芯片1070和/或輸入/輸出控制器1084從記錄介質(zhì)讀取程序,在信息處理設(shè)備900中安裝并且執(zhí)行。依靠程序的執(zhí)行由信息處理設(shè)備900等執(zhí)行的操作與由圖1到12中描述的搜索系統(tǒng)10執(zhí)行的操作一樣,因此省略其描述。
可以在外部記錄介質(zhì)中存儲上述程序。作為記錄介質(zhì),除了軟盤1090和CD-ROM 1095以外,可以使用比如DVD或PD的光學(xué)記錄介質(zhì)、比如MD的磁光記錄介質(zhì)、磁帶記錄介質(zhì)、比如IC卡的半導(dǎo)體存儲器等。此外,可以使用比如提供給連接到專用通信網(wǎng)絡(luò)和因特網(wǎng)的服務(wù)器系統(tǒng)的硬盤或RAM的存儲設(shè)備作為記錄介質(zhì),并且可通過網(wǎng)絡(luò)給信息處理設(shè)備900提供程序。
如上所述,盡管已經(jīng)通過使用實施方案描述了本發(fā)明,但本發(fā)明的技術(shù)范圍不限于在上述實施方案中敘述的范圍。很顯然對本領(lǐng)域的技術(shù)人員來說,可以添加各種變更或改進到上述的實施方案。例如,本實施方案中描述的搜索系統(tǒng)10可以不但應(yīng)用于文本挖掘而且應(yīng)用于由具有包括種類信息的注解的記錄組成的數(shù)據(jù)庫的數(shù)據(jù)挖掘。即,在其中每個種類之間定義分級結(jié)構(gòu)的數(shù)據(jù)庫中,將上類作為本實施方案的種類,并且將下類作為關(guān)鍵詞,從而可能依靠種類的可能性的級別列舉用戶感興趣的下類。從權(quán)利要求的范圍的描述可顯見,添加這種更改或改進的實施方案也包括在本發(fā)明的技術(shù)范圍中。
權(quán)利要求
1.一種用于搜索文本中的關(guān)鍵詞的系統(tǒng),該系統(tǒng)包括第一索引存儲單元,用于存儲從各個文本的標(biāo)識符指明包含在文本中的關(guān)鍵詞的列表的第一索引;第二索引存儲單元,用于以第二索引對應(yīng)于包含各個關(guān)鍵詞的文本的數(shù)量的方式,存儲從各個關(guān)鍵詞的標(biāo)識符指明包含關(guān)鍵詞的文本的列表的第二索引;輸入單元,用于接收作為關(guān)鍵詞的搜索目標(biāo)的文本條件的文本搜索條件的輸入;確定單元,基于在作為搜索目標(biāo)的多個文本中滿足文本搜索條件的文本數(shù)量,并且基于以該數(shù)量對應(yīng)于第二索引的方式存儲的文本的數(shù)量,計算通過第一索引的搜索時間的估計和通過第二索引的搜索時間的估計,并確定第一和第二索引哪一個使得搜索更快;和搜索單元,通過使用被確定為使得搜索更快的索引,搜索并輸出以高于預(yù)定標(biāo)準(zhǔn)的頻率出現(xiàn)在滿足文本搜索條件的文本中的關(guān)鍵詞。
2.按照權(quán)利要求1的系統(tǒng),其中系統(tǒng)通過以文本數(shù)量的降序選擇關(guān)鍵詞的預(yù)定標(biāo)準(zhǔn)數(shù)量搜索高頻詞,該文本包含多個關(guān)鍵詞中的關(guān)鍵詞并且滿足文本搜索條件,其中在通過第二索引搜索的情況中,該搜索單元包括候選詞存儲單元,用于存儲候選詞出現(xiàn)的數(shù)量,以該數(shù)量對應(yīng)于候選為高頻詞的候選詞的方式存儲,該數(shù)量是包含候選詞并且滿足文本搜索條件的文本的數(shù)量;選擇單元,用于以包含關(guān)鍵詞的文本數(shù)量的降序順序地選擇多個關(guān)鍵詞,多個關(guān)鍵詞中的每個被選作目標(biāo)詞以作為被確定是否是高頻詞之一的目標(biāo);比較單元,用于從第二索引存儲單元讀取包含目標(biāo)詞的文本的數(shù)量,并且將所讀取的文本數(shù)量與候選詞出現(xiàn)的數(shù)量相比較;計算單元,倘若所讀取的文本的數(shù)量大于任何一個候選詞出現(xiàn)的數(shù)量,則從第二索引存儲單元讀取包含目標(biāo)詞的文本的列表,并且計算所讀取的文本列表中滿足文本搜索條件的文本的數(shù)量;和更新單元,倘若所計算的文本的數(shù)量大于任何一個候選詞出現(xiàn)的數(shù)量,則以新候選詞的數(shù)量限制在標(biāo)準(zhǔn)數(shù)量以內(nèi)的方式,從目標(biāo)詞和候選詞中以包含各個關(guān)鍵詞的文本數(shù)量的降序選擇新的候選詞,并且更新候選詞存儲單元,其中倘若包含由選擇單元順序地選擇的目標(biāo)詞的文本的數(shù)量小于任何一個候選詞出現(xiàn)的數(shù)量,則搜索單元輸出存儲在候選詞存儲單元中的關(guān)鍵詞作為高頻詞。
3.按照權(quán)利要求2的系統(tǒng),其中確定單元包括比率計算單元,用于計算指示作為搜索目標(biāo)的所有文本中滿足文本搜索條件的文本的占有率的條件滿足率;函數(shù)計算單元,用于基于該條件滿足率近似地計算指示包含各個關(guān)鍵詞并且滿足文本搜索條件的文本的數(shù)量的隨機變量的概率分布,并且基于所計算的概率分布,計算閾值的函數(shù)以獲取各個關(guān)鍵詞的隨機變量不小于該閾值的概率和;閾值計算單元,用于計算算出的函數(shù)基本上等于標(biāo)準(zhǔn)數(shù)量處的閾值;第二搜索時間計算單元,基于存儲在第二索引存儲單元中的文本的數(shù)量,計算包含各個關(guān)鍵詞的文本的數(shù)量,其中關(guān)鍵詞包含在其數(shù)量大于所計算的閾值的文本中,并且計算算出的文本數(shù)量與預(yù)定訪問時間的乘積,作為通過第二索引的搜索時間的估計;和第一搜索時間計算單元,用于計算作為搜索目標(biāo)的多個文本中滿足文本搜索條件的文本數(shù)量與預(yù)定訪問時間的乘積,作為通過第一索引的搜索時間的估計,其中倘若由第二搜索時間計算單元計算的搜索時間的估計小于由第一搜索時間計算單元計算的搜索時間的估計,則預(yù)定單元確定由第二索引搜索更快。
4.按照權(quán)利要求3的系統(tǒng),其中函數(shù)計算單元通過使用條件滿足率估計包含關(guān)鍵詞的各個文本滿足文本搜索條件的概率,計算作為二項式分布的隨機變量的概率分布,并且基于算出的概率分布計算閾值的函數(shù)。
5.按照權(quán)利要求1的系統(tǒng),其中第一索引存儲單元為關(guān)鍵詞的每個種類存儲從各個文本的標(biāo)識符指明包含在文本中的種類的關(guān)鍵詞的列表的第一索引;第二索引存儲單元為關(guān)鍵詞的每個種類存儲包含在該種類中的關(guān)鍵詞的第二索引、和包含該種類中包含的各個關(guān)鍵詞的文本的數(shù)量;輸入單元進一步接收作為搜索目標(biāo)的關(guān)鍵詞的種類的輸入;和確定單元基于包含對應(yīng)于該種類的各個關(guān)鍵詞的文本的數(shù)量確定第一和第二索引的哪一個使得搜索更快,兩個索引都對應(yīng)于輸入的種類。
6.一種用于搜索文本中關(guān)鍵詞的系統(tǒng),該系統(tǒng)包括第二索引存儲單元,用于存儲從各個關(guān)鍵詞的標(biāo)識符指明包含關(guān)鍵詞的文本的列表的第二索引;輸入單元,用于接收是作為關(guān)鍵詞的搜索目標(biāo)的文本條件的文本搜索條件的輸入;和搜索單元,通過以文本數(shù)量的降序選擇關(guān)鍵詞的預(yù)定標(biāo)準(zhǔn)數(shù)量來搜索高頻詞,該文本包含多個關(guān)鍵詞中的關(guān)鍵詞并且滿足文本搜索條件,該搜索單元進一步包括候選詞存儲單元,用于存儲候選詞出現(xiàn)的數(shù)量,以該數(shù)量對應(yīng)于候選為高頻詞的候選詞的方式存儲,該數(shù)量是包含候選詞并且滿足文本搜索條件的文本的數(shù)量;選擇單元,用于以包含關(guān)鍵詞的文本數(shù)量的降序順序地選擇多個關(guān)鍵詞,多個關(guān)鍵詞中的每個被選作目標(biāo)詞以作為被確定是否是高頻詞之一的目標(biāo);比較單元,用于從第二索引存儲單元讀取包含目標(biāo)詞的文本的數(shù)量,并且將所讀取的文本數(shù)量與候選詞出現(xiàn)的數(shù)量相比較;計算單元,倘若所讀取的文本的數(shù)量大于任何一個候選詞出現(xiàn)的數(shù)量,則從第二索引存儲單元讀取包含目標(biāo)詞的文本的列表,并且計算所讀取的文本列表中滿足文本搜索條件的文本的數(shù)量;和更新單元,倘若所計算的文本的數(shù)量大于任何一個候選詞出現(xiàn)的數(shù)量,則以新候選詞的數(shù)量限制在標(biāo)準(zhǔn)數(shù)量以內(nèi)的方式,從目標(biāo)詞和候選詞中以包含各個關(guān)鍵詞的文本數(shù)量的降序選擇新候選詞,并且更新候選詞存儲單元,其中倘若包含由選擇單元順序地選擇的目標(biāo)詞的文本的數(shù)量小于任何一個候選詞出現(xiàn)的數(shù)量,則搜索單元輸出存儲在候選詞存儲單元中的關(guān)鍵詞作為高頻詞。
7.按照權(quán)利要求6的系統(tǒng),其中第二索引存儲單元以文本數(shù)量對應(yīng)于第二索引的方式,并且進一步以第二索引對應(yīng)于包含各個關(guān)鍵詞的文本的數(shù)量的方式,存儲文本的數(shù)量,第二索引存儲單元進一步包括比率計算單元,用于計算指示作為搜索目標(biāo)的所有文本中滿足文本搜索條件的文本的占有率的條件滿足率;函數(shù)計算單元,用于基于該條件滿足率近似地計算指示包含各個關(guān)鍵詞并且滿足文本搜索條件的文本的數(shù)量的隨機變量的概率分布,并且基于所計算的概率分布,計算閾值的函數(shù)以獲取各個關(guān)鍵詞的隨機變量不小于該閾值的概率和;閾值計算單元,用于計算算出的函數(shù)基本上等于標(biāo)準(zhǔn)數(shù)量處的閾值;和第二搜索時間計算單元,基于存儲在第二索引存儲單元中的文本的數(shù)量,計算包含各個關(guān)鍵詞的文本的數(shù)量,其中關(guān)鍵詞包含在其數(shù)量大于所計算的閾值的文本中,并且計算算出的文本數(shù)量與預(yù)定訪問時間的乘積,作為通過第二索引的搜索時間的估計。
8.一種通過使用用于搜索文本中的關(guān)鍵詞的系統(tǒng)搜索關(guān)鍵詞的方法,該系統(tǒng)包括第一索引存儲單元,用于存儲從各個文本的標(biāo)識符指明包含在文本中的關(guān)鍵詞的列表的第一索引;和第二索引存儲單元,用于以第二索引對應(yīng)于包含各個關(guān)鍵詞的文本的數(shù)量的方式,存儲從各個關(guān)鍵詞的標(biāo)識符指明包含關(guān)鍵詞的文本的列表的第二索引;該系統(tǒng)包括以下步驟接收作為關(guān)鍵詞的搜索目標(biāo)的文本條件的文本搜索條件的輸入;基于在作為搜索目標(biāo)的多個文本中滿足文本搜索條件的文本數(shù)量,并且基于以該數(shù)量對應(yīng)于第二索引的方式存儲的文本的數(shù)量,計算通過第一索引的搜索時間的估計和通過第二索引的搜索時間的估計,并確定第一和第二索引哪一個使得搜索更快;和通過使用被確定為使得搜索更快的索引,搜索并輸出以高于預(yù)定標(biāo)準(zhǔn)的頻率出現(xiàn)在滿足文本搜索條件的文本中的關(guān)鍵詞。
9.一種用于使信息處理設(shè)備作為搜索文本中的關(guān)鍵詞的系統(tǒng)運行的程序,該程序使信息處理設(shè)備作為第一索引存儲單元,用于存儲從各個文本的標(biāo)識符指明包含在文本中的關(guān)鍵詞的列表的第一索引;第二索引存儲單元,用于以第二索引對應(yīng)于包含各個關(guān)鍵詞的文本的數(shù)量的方式,存儲從各個關(guān)鍵詞的標(biāo)識符指明包含關(guān)鍵詞的文本的列表的第二索引;輸入單元,用于接收作為關(guān)鍵詞的搜索目標(biāo)的文本條件的文本搜索條件的輸入;確定單元,基于在作為搜索目標(biāo)的多個文本中滿足文本搜索條件的文本數(shù)量,并且基于以該數(shù)量對應(yīng)于第二索引的方式存儲的文本的數(shù)量,計算通過第一索引的搜索時間的估計和通過第二索引的搜索時間的估計,并確定第一和第二索引哪一個使得搜索更快;和搜索單元,通過使用被確定為使得搜索更快的索引,搜索并輸出以高于預(yù)定標(biāo)準(zhǔn)的頻率出現(xiàn)在滿足文本搜索條件的文本中的關(guān)鍵詞。
10.一種通過使用用于搜索文本中的關(guān)鍵詞的系統(tǒng)搜索關(guān)鍵詞的方法,該系統(tǒng)包括用于存儲從各個關(guān)鍵詞的標(biāo)識符指明包含關(guān)鍵詞的文本的列表的第二索引的第二索引存儲單元,該系統(tǒng)包括以下步驟接收作為關(guān)鍵詞的搜索目標(biāo)的文本條件的文本搜索條件的輸入;和通過以文本數(shù)量的降序選擇關(guān)鍵詞的預(yù)定標(biāo)準(zhǔn)數(shù)量來搜索高頻詞,該文本包含多個關(guān)鍵詞中的關(guān)鍵詞并且滿足文本搜索條件,該系統(tǒng)進一步包括候選詞存儲單元,用于存儲候選詞出現(xiàn)的數(shù)量,以該數(shù)量對應(yīng)于候選為高頻詞的候選詞的方式存儲,該數(shù)量是包含候選詞并且滿足文本搜索條件的文本的數(shù)量,其中搜索并輸出候選詞的步驟進一步包括以下步驟以包含關(guān)鍵詞的文本數(shù)量的降序順序地選擇多個關(guān)鍵詞,多個關(guān)鍵詞中的每個被選作目標(biāo)詞以作為被確定是否是高頻詞之一的目標(biāo);從第二索引存儲單元讀取包含目標(biāo)詞的文本的數(shù)量,并且將所讀取的文本數(shù)量與候選詞出現(xiàn)的數(shù)量相比較;倘若所讀取的文本的數(shù)量大于任何一個候選詞出現(xiàn)的數(shù)量,則從第二索引存儲單元讀取包含目標(biāo)詞的文本的列表,并且計算所讀取的文本列表中滿足文本搜索條件的文本的數(shù)量;和倘若所計算的文本的數(shù)量大于任何一個候選詞出現(xiàn)的數(shù)量,則以新候選詞的數(shù)量限制在標(biāo)準(zhǔn)數(shù)量以內(nèi)的方式,從目標(biāo)詞和候選詞中以包含各個關(guān)鍵詞的文本數(shù)量的降序選擇新候選詞,并且更新候選詞存儲單元,該方法中倘若包含在比較的步驟中作為比較目標(biāo)的目標(biāo)詞的文本的數(shù)量小于任何一個候選詞出現(xiàn)的數(shù)量,則搜索單元輸出存儲在候選詞存儲單元中的關(guān)鍵詞作為高頻詞。
11.一種用于使信息處理設(shè)備作為搜索文本中的關(guān)鍵詞的系統(tǒng)運行的程序,該程序使信息處理設(shè)備作為第二索引存儲單元,用于存儲從各個關(guān)鍵詞的標(biāo)識符指明包含關(guān)鍵詞的文本的列表的第二索引;輸入單元,用于接收是作為關(guān)鍵詞的搜索目標(biāo)的文本條件的文本搜索條件的輸入;和搜索單元,通過以文本數(shù)量的降序選擇關(guān)鍵詞的預(yù)定標(biāo)準(zhǔn)數(shù)量來搜索高頻詞,該文本包含多個關(guān)鍵詞中的關(guān)鍵詞并且滿足文本搜索條件,其中該搜索單元包括候選詞存儲單元,用于存儲候選詞出現(xiàn)的數(shù)量,以該數(shù)量對應(yīng)于候選為高頻詞的候選詞的方式存儲,該數(shù)量是包含候選詞并且滿足文本搜索條件的文本的數(shù)量;選擇單元,用于以包含關(guān)鍵詞的文本數(shù)量的降序順序地選擇多個關(guān)鍵詞,多個關(guān)鍵詞中的每個被選作目標(biāo)詞以作為被確定是否是高頻詞之一的目標(biāo);比較單元,用于從第二索引存儲單元讀取包含目標(biāo)詞的文本的數(shù)量,并且將所讀取的文本數(shù)量與候選詞出現(xiàn)的數(shù)量相比較;計算單元,倘若所讀取的文本的數(shù)量大于任何一個候選詞出現(xiàn)的數(shù)量,則從第二索引存儲單元讀取包含目標(biāo)詞的文本的列表,并且計算所讀取的文本列表中滿足文本搜索條件的文本的數(shù)量;和更新單元,倘若所計算的文本的數(shù)量大于任何一個候選詞出現(xiàn)的數(shù)量,則以新候選詞的數(shù)量限制在標(biāo)準(zhǔn)數(shù)量以內(nèi)的方式,從目標(biāo)詞和候選詞中以包含各個關(guān)鍵詞的文本數(shù)量的降序選擇新候選詞,并且更新候選詞存儲單元,其中倘若包含由選擇單元順序地選擇的目標(biāo)詞的文本的數(shù)量小于任何一個候選詞出現(xiàn)的數(shù)量,則搜索單元輸出存儲在候選詞存儲單元中的關(guān)鍵詞作為高頻詞。
全文摘要
本發(fā)明的目的是比以前更有效地搜索關(guān)鍵詞,該關(guān)鍵詞在文本中以高頻率使用,每個關(guān)鍵詞滿足預(yù)定的條件。本發(fā)明的系統(tǒng)存儲第一索引,其從各個文本的標(biāo)識符指明包含在文本中的關(guān)鍵詞的列表;第二索引,其從各個關(guān)鍵詞的標(biāo)識符指明包含關(guān)鍵詞的文本的列表;以及包含各個關(guān)鍵詞的文本的數(shù)量。然后,接收到文本搜索條件的輸入,系統(tǒng)計算通過第一索引的搜索時間的估計和通過第二索引的搜索時間的估計,并且確定第一和第二索引的哪一個使得搜索更快。然后,通過使用已經(jīng)被確定的使得搜索更快的索引,系統(tǒng)搜索以更高頻率出現(xiàn)在滿足文本搜索條件的文本中的關(guān)鍵詞。
文檔編號G06F17/30GK1975729SQ20061014639
公開日2007年6月6日 申請日期2006年11月13日 優(yōu)先權(quán)日2005年12月2日
發(fā)明者宅間大介, 坪井裕太, 吉田一星 申請人:國際商業(yè)機器公司