專利名稱:數(shù)據(jù)搜索方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本申請涉及數(shù)據(jù)搜索技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)搜索方法及設(shè)備。
背景技術(shù):
基于搜索關(guān)鍵詞進行檢索,是指預(yù)先針對數(shù)據(jù)建立索引,然后再由搜索引擎服務(wù)器根據(jù)用戶輸入的搜索關(guān)鍵詞(也稱查詢關(guān)鍵詞,即query),從建立的索引中搜索與query相匹配的索引,并將該索引所對應(yīng)的數(shù)據(jù)呈現(xiàn)給用戶。在實際應(yīng)用中,即使存在與用戶欲搜索的數(shù)據(jù)相匹配的索弓丨,但由于用戶輸入的query具有隨意性、不規(guī)范性的特性,所以可能出現(xiàn)雖然用戶在query中表達出了欲搜索內(nèi)容的含義,但由于該query不規(guī)范,導(dǎo)致搜索引擎仍然無法從索引中找到與該query匹配的 索引,從而最終無法搜索到相應(yīng)的搜索結(jié)果。針對該情況,現(xiàn)有技術(shù)中有方案提出對用戶輸入的query進行一定處理后再進行搜索的思想。比如,目前現(xiàn)有技術(shù)就提供了一種在搜索前對query進行處理的方案。該方案的核心思想在于,通過利用與query所包含的某詞語含義相近的且比較規(guī)范的同義詞或者利用與query所包含的該詞語有一定相關(guān)關(guān)系且比較規(guī)范的相關(guān)詞,替換query相應(yīng)的詞語,或者利用一些具體的詞對query所包含的一些不規(guī)范的簡化詞進行擴展說明,使得處理后的query能具備一定的規(guī)范性,從而搜索引擎能夠搜索到與處理后的query相匹配的索引,進而得到相應(yīng)的搜索結(jié)果。根據(jù)現(xiàn)有技術(shù)提供的上述方案可知,其是以盡可能完整準(zhǔn)確地表達用戶的意圖為目的對query進行處理,然而,這樣的方案在實際應(yīng)用中被證明存在下述缺陷采用同義詞替換的方式無法從實質(zhì)上改變query的含義,因此仍然可能出現(xiàn)無法得到搜索結(jié)果的問題;而對query進行擴展說明的方式會導(dǎo)致query包含的詞更多,而基于包含更多詞的query進行搜索會導(dǎo)致更難搜索到相應(yīng)的索引,從而也可能無法得到搜索結(jié)果O
發(fā)明內(nèi)容
本申請實施例提供一種數(shù)據(jù)搜索方法與設(shè)備,用以解決基于采用現(xiàn)有技術(shù)處理后的搜索關(guān)鍵詞進行搜索時難以得到搜索結(jié)果的問題。本申請實施例采用以下技術(shù)方案一種數(shù)據(jù)搜索方法,包括確定組成輸入的搜索關(guān)鍵詞的關(guān)鍵詞單元;并根據(jù)預(yù)設(shè)的關(guān)鍵詞單元組合方式,確定由組成所述輸入的搜索關(guān)鍵詞的關(guān)鍵詞單元所組成的第一關(guān)鍵詞單元組合;以及從預(yù)先存儲的關(guān)鍵詞單元組合與為關(guān)鍵詞單元組合所對應(yīng)的搜索關(guān)鍵詞分配的標(biāo)識的對應(yīng)關(guān)系中,確定與第一關(guān)鍵詞單元組合相匹配的關(guān)鍵詞單元組合,并確定所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識,其中,為不同搜索關(guān)鍵詞分配的標(biāo)識互不相同;以及根據(jù)所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識,從確定的所述相匹配的關(guān)鍵詞單元組合中,確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合;并針對所述相匹配的關(guān)鍵詞單元組合對應(yīng)的每一標(biāo)識,分別確定由確定出的對應(yīng)于該標(biāo)識的所有關(guān)鍵詞單元組合所包含的關(guān)鍵詞單元組成的搜索關(guān)鍵詞;以及從確定的搜索關(guān)鍵詞中確定一個搜索關(guān)鍵詞,并根據(jù)確定的該搜索關(guān)鍵詞搜索數(shù)據(jù)。可選的,從確定的搜索關(guān)鍵詞中確定一個搜索關(guān)鍵詞,具體包括根據(jù)預(yù)先設(shè)置的用于衡量關(guān)鍵詞單元表意能力的得分?jǐn)?shù)據(jù),分別確定所述確定的搜索關(guān)鍵詞中各搜索關(guān)鍵詞的得分;以及根據(jù)確定的各搜索關(guān)鍵詞的得分,從確定的搜索關(guān)鍵詞中確定一個搜索關(guān)鍵詞??蛇x的,根據(jù)所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識,從確定的所述相匹配的關(guān)鍵詞單元組合中,確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合,具體包括按照每次抽取符合指定條件的標(biāo)識以及抽取出的標(biāo)識遵循無放回的原則,逐個從所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識中抽取標(biāo)識;并在每次抽取出標(biāo)識且判斷出相鄰兩次抽取出的標(biāo)識相同 時,記錄抽取的標(biāo)識所對應(yīng)的關(guān)鍵詞單元組合,直至判斷出相鄰兩次抽取的標(biāo)識不同時,從記錄的關(guān)鍵詞單元組合中確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合;刪除記錄的關(guān)鍵詞單元組合,并記錄在所述相鄰兩次抽取的后一次抽取中抽取到的標(biāo)識對應(yīng)的關(guān)鍵詞單元組合;以及重復(fù)執(zhí)行上述三個步驟,直至滿足抽取結(jié)束條件時,從記錄的關(guān)鍵詞單元組合中確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合,并刪除記錄的關(guān)鍵詞單元組合。可選的,所述抽取結(jié)束條件為所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的所有標(biāo)識被抽取完畢??蛇x的,上述方法還包括對出現(xiàn)連續(xù)兩次抽取的標(biāo)識對應(yīng)不同關(guān)鍵詞單元組合的情況的次數(shù)進行記錄;以及所述抽取結(jié)束條件為確定記錄的次數(shù)大于預(yù)定次數(shù)閾值。一種數(shù)據(jù)搜索設(shè)備,包括關(guān)鍵詞單元確定單元,用于確定組成輸入的搜索關(guān)鍵詞的關(guān)鍵詞單元;第一組合確定單元,用于根據(jù)預(yù)設(shè)的關(guān)鍵詞單元組合方式,確定由關(guān)鍵詞單元確定單元確定的關(guān)鍵詞單元所組成的第一關(guān)鍵詞單元組合;組合與標(biāo)識確定單元,用于從預(yù)先存儲的關(guān)鍵詞單元組合與為關(guān)鍵詞單元組合所對應(yīng)的搜索關(guān)鍵詞分配的標(biāo)識的對應(yīng)關(guān)系中,確定與第一組合確定單元確定的第一關(guān)鍵詞單元組合相匹配的關(guān)鍵詞單元組合,并確定所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識,其中,為不同搜索關(guān)鍵詞分配的標(biāo)識互不相同;第二組合確定單元,用于根據(jù)組合與標(biāo)識確定單元確定的所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識,從組合與標(biāo)識確定單元確定的確定的所述相匹配的關(guān)鍵詞單元組合中,確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合;第一搜索關(guān)鍵詞確定單元,用于針對組合與標(biāo)識確定單元確定的所述相匹配的關(guān)鍵詞單元組合對應(yīng)的每一標(biāo)識,分別確定由第二組合確定單元確定的對應(yīng)于該標(biāo)識的所有關(guān)鍵詞單元組合所包含的關(guān)鍵詞單元組成的搜索關(guān)鍵詞;第二搜索關(guān)鍵詞確定單元,用于從第一搜索關(guān)鍵詞確定單元確定的搜索關(guān)鍵詞中確定一個搜索關(guān)鍵詞;數(shù)據(jù)搜索單元,用于根據(jù)第二搜索關(guān)鍵詞確定單元確定的搜索關(guān)鍵詞搜索數(shù)據(jù)。本申請實施例的有益效果如下通過執(zhí)行本申請實施例提供的方案,可以實現(xiàn)對組成輸入的搜索關(guān)鍵詞的關(guān)鍵詞單元的省略,從而基于省略了關(guān)鍵詞單元后的搜索關(guān)鍵詞進行搜索就更容易得到搜索結(jié)果,解決可基于采用現(xiàn)有技術(shù)處理后的搜索關(guān)鍵詞進行搜索時難以得到搜索結(jié)果的問題。
圖I為本申請實施例提供的一種數(shù)據(jù)搜索方法的具體流程示意圖;圖2為本申請實施例中構(gòu)建倒排鏈的具體流程示意圖;圖3為本申請實施例中Online計算與搜索子過程的具體實現(xiàn)流程示意圖;圖4為本申請實施例中提供的一種用于確定構(gòu)成“共現(xiàn)關(guān)系”的key的方式的實現(xiàn)流程示意圖;圖5為本申請實施例提供的一種數(shù)據(jù)搜索設(shè)備的具體結(jié)構(gòu)示意圖。
具體實施方式
為了解決基于采用現(xiàn)有技術(shù)處理后的搜索關(guān)鍵詞進行搜索時難以得到搜索結(jié)果的問題,本申請實施例提供了一種數(shù)據(jù)搜索方案。該數(shù)據(jù)搜索方案的基本思路在于,通過對組成輸入的搜索關(guān)鍵詞的關(guān)鍵詞單兀進行省略,并基于省略了關(guān)鍵詞單兀后的搜索關(guān)鍵詞進行搜索,從而更容易得到搜索結(jié)果。以下結(jié)合附圖,對本申請實施例提供的方案進行詳細(xì)說明。本申請實施例首先提供一種如圖I所示的數(shù)據(jù)搜索方法,該方法的具體流程主要包括下述步驟步驟11,確定組成輸入的搜索關(guān)鍵詞的關(guān)鍵詞單元;—般地,通過對用戶輸入的搜索關(guān)鍵詞執(zhí)行分詞處理,就可以得到組成輸入的搜索關(guān)鍵詞的各個關(guān)鍵詞單元。這里的關(guān)鍵詞單元一般包括字、詞或詞組(詞組是指由兩個以上的詞語組合而成的語法單位)。比如,通過對輸入的一個搜索關(guān)鍵詞“世界衛(wèi)生聯(lián)合組織”執(zhí)行分詞處理,就可以得到組成該搜索關(guān)鍵詞的關(guān)鍵詞單元,包括“世界”、“衛(wèi)生”、“聯(lián)合”、“組織”。步驟12,根據(jù)預(yù)設(shè)的關(guān)鍵詞單元組合方式,確定由組成所述輸入的搜索關(guān)鍵詞的關(guān)鍵詞單元所組成的第一關(guān)鍵詞單元組合;本申請實施例中,對一個關(guān)鍵詞單元組合中包含的關(guān)鍵詞單元個數(shù)不做限定。比如可以為2個,也可以為3個等等。以“世界、衛(wèi)生、聯(lián)合、組織”這幾個關(guān)鍵詞單元為例,若預(yù)設(shè)的關(guān)鍵詞單元組合方式為“兩兩組合”,那么就可以得到6個關(guān)鍵詞單元組合,分別為“世界+衛(wèi)生”、“世界+聯(lián)合”、“世界+組織”、“衛(wèi)生+聯(lián)合”、“衛(wèi)生+組織”、“聯(lián)合+組織”。而若預(yù)設(shè)的關(guān)鍵詞單元組合方式為“三個關(guān)鍵詞單元組合”,那么就的可以得到4個關(guān)鍵詞單元組合,分別為“世界+衛(wèi)生+聯(lián)合”、“世界+衛(wèi)生+組織”、“衛(wèi)生+聯(lián)合+組織”、“世界+聯(lián)合+組織”。步驟13,從預(yù)先存儲的關(guān)鍵詞單元組合與為關(guān)鍵詞單元組合所對應(yīng)的搜索關(guān)鍵詞分配的標(biāo)識的對應(yīng)關(guān)系中,確定與第一關(guān)鍵詞單元組合相匹配的關(guān)鍵詞單元組合,并確定與第一關(guān)鍵詞單元組合相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識,其中,為不同搜索關(guān)鍵詞分配的標(biāo)識互不相同;可選的,上述對應(yīng)關(guān)系可以但不限于通過下述子步驟I 子步驟5確定子步驟1,獲得在指定時間段內(nèi)輸入的多個搜索關(guān)鍵詞;子步驟2,從獲得的多個搜索關(guān)鍵詞中確定對應(yīng)有搜索結(jié)果的第一搜索關(guān)鍵詞;
由于沒有對應(yīng)有搜索結(jié)果的搜索關(guān)鍵詞可以視為沒有意義的搜索關(guān)鍵詞,因此,在子步驟2中,可以只從獲得的多個搜索關(guān)鍵詞中確定對應(yīng)有搜索結(jié)果的第一搜索關(guān)鍵詞進行后續(xù)處理。子步驟3,分別確定各個第一搜索關(guān)鍵詞所包含的關(guān)鍵詞單元以及關(guān)鍵詞單元個數(shù),并根據(jù)預(yù)設(shè)的關(guān)鍵詞單元組合方式,分別確定由第一搜索關(guān)鍵詞包含的關(guān)鍵詞單元所組成的關(guān)鍵詞單元組合;一般地,這里所說的預(yù)設(shè)的關(guān)鍵詞組合方式與步驟12中的關(guān)鍵詞組合方式是相同的。子步驟4,按照為確定的由多至少的關(guān)鍵詞單元個數(shù)對應(yīng)的第一搜索關(guān)鍵詞分別對應(yīng)分配由小至大的標(biāo)識的方式,分別為各個第一搜索關(guān)鍵詞分配標(biāo)識;子步驟5,對應(yīng)存儲為各第一搜索關(guān)鍵詞分配的標(biāo)識和各第一搜索關(guān)鍵詞所包含 的關(guān)鍵詞單元組成的關(guān)鍵詞單元組合。在實際應(yīng)用中,這里所說的關(guān)鍵詞單元組合與為關(guān)鍵詞單元組合所對應(yīng)的搜索關(guān)鍵詞分配的標(biāo)識可以是根據(jù)指定的搜索關(guān)鍵詞集合(比如用戶在一天或預(yù)定時間長度內(nèi)輸入搜索引擎的全部搜索關(guān)鍵詞組成的集合)來設(shè)置并對應(yīng)存儲的。比如,若指定的搜索關(guān)鍵詞集合包含的搜索關(guān)鍵詞有“衛(wèi)生組織”、“世界衛(wèi)生組織”、“聯(lián)合國安全理事會”、“世界安全組織”、“安全理事會”,那么根據(jù)該搜索關(guān)鍵詞集合,若關(guān)鍵詞單元組合方式為“兩兩組合”,則可以確定“衛(wèi)生組織”這一搜索關(guān)鍵詞對應(yīng)的關(guān)鍵詞單元組合為“衛(wèi)生+組織”;“世界衛(wèi)生組織”這一搜索關(guān)鍵詞對應(yīng)的關(guān)鍵詞單元組合為“世界+衛(wèi)生”、“世界+組織”、“衛(wèi)生+組織”;“聯(lián)合國安全理事會”這一搜索關(guān)鍵詞對應(yīng)的關(guān)鍵詞單元組合為“聯(lián)合國+安全”、“聯(lián)合國+理事會”、“安全+理事會”。依次類推,可以得到如表I所示的關(guān)鍵詞單元組合。表I :
搜索關(guān)鍵詞關(guān)鍵詞單元組合
衛(wèi)生組織衛(wèi)生+組織
世界衛(wèi)生組織世界+衛(wèi)生、世界+組織、衛(wèi)生+組織
聯(lián)合國安全理事會聯(lián)合國+安全、聯(lián)合國+理事會、安全+理事會 世界安全組織世界+安全、安全+組織、世界+組織
安全理事會安全+理事會進一步地,若為搜索關(guān)鍵詞集合中包含的搜索關(guān)鍵詞分別分配的標(biāo)識如表2所示,則關(guān)鍵詞單元組合與為關(guān)鍵詞單元組合所對應(yīng)的搜索關(guān)鍵詞分配的標(biāo)識的對應(yīng)關(guān)系如表3所示。表2 搜索關(guān)鍵詞標(biāo)識
衛(wèi)生組織4^
世界衛(wèi)生組織I^
聯(lián)合國安全理事會O^
世界安全組織2^
安全理事會3^表3
關(guān)鍵詞單元組合標(biāo)識
衛(wèi)生+組織4~
世界+衛(wèi)生、世界+組織、衛(wèi)生+組織I^
聯(lián)合國+安全、聯(lián)合國+理事會、安全+理事會O~
世界+安全、安全+組織、世界+組織2^
安全+理事會3~基于表3,若當(dāng)前輸入的搜索關(guān)鍵詞為“世界衛(wèi)生聯(lián)合組織”,那么,根據(jù)與該搜索關(guān)鍵詞相應(yīng)的關(guān)鍵詞單元組合“世界+衛(wèi)生”、“世界+聯(lián)合”、“世界+組織”、“衛(wèi)生+聯(lián)合”、“衛(wèi)生+組織”、“聯(lián)合+組織”,就能夠從表3中確定與這6個關(guān)鍵詞單元組合之一相匹配的關(guān)鍵詞單元組合有“世界+衛(wèi)生”、“衛(wèi)生+組織”、世界+組織”,其分別依次對應(yīng)標(biāo)識1、4、
Io步驟14,根據(jù)所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識,從確定的所述相匹配的關(guān)鍵詞單元組合中,確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合;比如,針對確定出的關(guān)鍵詞單元組合為“世界+衛(wèi)生”、“衛(wèi)生+組織”、世界+組織”,且其分別依次對應(yīng)標(biāo)識1、4、1的情況,就可以確定出對應(yīng)于同一標(biāo)識“I”的關(guān)鍵詞單元組合為“世界+衛(wèi)生”和“世界+組織”,而對應(yīng)于標(biāo)識“4”的關(guān)鍵詞單元組合為“衛(wèi)生+組織”。在本申請實施例中,可以通過下述幾個子步驟,實現(xiàn)確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合子步驟I :按照每次抽取符合指定條件的標(biāo)識以及抽取出的標(biāo)識遵循無放回的原貝U,逐個從確定出的與輸入的搜索關(guān)鍵詞相應(yīng)的關(guān)鍵詞單元組合相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識中抽取標(biāo)識;其中,這里所說的抽取符合指定條件的標(biāo)識可以為抽取最小的標(biāo)識,也可以為抽取最大的標(biāo)識。當(dāng)為包含的關(guān)鍵字單元由多到少的搜索關(guān)鍵詞分別對應(yīng)分配由小至大的標(biāo)識時,那么可以每次抽取最小的標(biāo)識;反之,當(dāng)為包含的關(guān)鍵字單元由多到少的搜索關(guān)鍵詞分別對應(yīng)分配由大至小的標(biāo)識時,那么可以每次抽取最大的標(biāo)識。子步驟2 :在每次抽取出標(biāo)識且判斷出相鄰兩次抽取出的標(biāo)識相同時,記錄抽取的標(biāo)識所對應(yīng)的關(guān)鍵詞單元組合,直至判斷出相鄰兩次抽取的標(biāo)識不同時,從記錄的關(guān)鍵詞單元組合中確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合;子步驟3 :刪除記錄的關(guān)鍵詞單元組合,并記錄在上述相鄰兩次抽取的后一次抽取中抽取到的標(biāo)識對應(yīng)的關(guān)鍵詞單元組合;子步驟4:重復(fù)依次執(zhí)行上述子步驟I 3,直至滿足抽取結(jié)束條件時,從記錄的關(guān)鍵詞單元組合中確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合,并刪除記錄的關(guān)鍵詞單元組合。采用上述子步驟I 4這樣的方案確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合的好處在于,由于在判斷出相鄰兩次抽取的標(biāo)識不同時,在從記錄的關(guān)鍵詞單元組合中確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合后會刪除記錄的關(guān)鍵詞單元組合,因此,可以實現(xiàn)利用有限 的存儲空間來記錄關(guān)鍵詞單元組合,以避免需要同時對所有的關(guān)鍵詞單元組合和對應(yīng)的標(biāo)識進行記錄而需要較大的存儲空間的問題??蛇x的,在抽取標(biāo)識的過程中,還可以對出現(xiàn)連續(xù)兩次抽取的標(biāo)識對應(yīng)不同關(guān)鍵詞單元組合的情況的次數(shù)進行記錄,從而可以將上述抽取結(jié)束條件設(shè)置為確定記錄的次數(shù)大于預(yù)定次數(shù)閾值。或者,上述抽取結(jié)束條件也可以為上述相匹配的關(guān)鍵詞單元組合所對應(yīng)的所有標(biāo)識都被抽取完畢。步驟15,針對與輸入的搜索關(guān)鍵詞相應(yīng)的關(guān)鍵詞單元組合相匹配的關(guān)鍵詞單元組合對應(yīng)的每一標(biāo)識,分別確定由確定出的對應(yīng)于該標(biāo)識的所有關(guān)鍵詞單元組合所包含的關(guān)鍵詞單元組成的搜索關(guān)鍵詞;比如,針對上述標(biāo)識1、4,就可以確定出對應(yīng)于“I”的關(guān)鍵詞單元組合“世界+衛(wèi)生”和“世界+組織”所組成的搜索關(guān)鍵詞為“世界衛(wèi)生組織”,同時確定出對應(yīng)于“4”的關(guān)鍵詞單元組合為“衛(wèi)生+組織”所組成的搜索關(guān)鍵詞為“衛(wèi)生組織”。步驟16,從確定的搜索關(guān)鍵詞中確定一個搜索關(guān)鍵詞,并根據(jù)確定的該搜索關(guān)鍵詞搜索數(shù)據(jù)。比如,針對上述確定出的兩個搜索關(guān)鍵詞“世界衛(wèi)生組織”和“衛(wèi)生組織”,就可以從中隨機確定一個搜索關(guān)鍵詞,或者按照本申請實施例提供的一種選取規(guī)則從中選取一個搜索關(guān)鍵詞。本申請實施例給出的一種選取規(guī)則是根據(jù)預(yù)先設(shè)置的用于衡量關(guān)鍵詞單元表意能力的得分?jǐn)?shù)據(jù),來實現(xiàn)從確定的搜索關(guān)鍵詞中確定一個搜索關(guān)鍵詞。需要說明的是,關(guān)鍵詞單元的表意能力是指關(guān)鍵詞單元對用戶搜索意圖的一種體現(xiàn)能力??梢哉f,一個搜索關(guān)鍵詞對用戶搜索意圖的體現(xiàn)能力是由組成這個搜索關(guān)鍵詞的所有關(guān)鍵詞單元的表意能力共同支撐的。一個關(guān)鍵詞單元的表意能力越強,則它在其所在的搜索關(guān)鍵詞中的地位自然就越聞。一般地,關(guān)鍵詞單兀的表意能力是與其在多個搜索關(guān)鍵詞中出現(xiàn)的頻率有一定關(guān)系的,因此,本申請實施例中,可以考慮根據(jù)該出現(xiàn)頻率來確定關(guān)鍵詞單元的表意能力,從而為其設(shè)置相應(yīng)的得分?jǐn)?shù)據(jù)。為關(guān)鍵詞單元設(shè)置得分?jǐn)?shù)據(jù)的一個具體的實施例將在后文進行詳細(xì)說明,在此不再贅述。此外,本申請實施例給出的另一種選取規(guī)則是從確定的搜索關(guān)鍵詞中隨機選取一個搜索關(guān)鍵詞?;蛘撸x取規(guī)則還可以是根據(jù)確定的搜索關(guān)鍵詞的長度(這里所說的搜索關(guān)鍵詞的長度可以理解為搜索關(guān)鍵詞所包含的單字的個數(shù)),選取具有最長長度的搜索關(guān)鍵詞,即選取包含單字個數(shù)最多的搜索關(guān)鍵詞。比較用戶輸入的搜索關(guān)鍵詞“世界衛(wèi)生聯(lián)合組織”的長度和執(zhí)行步驟16后選取出的搜索關(guān)鍵詞“世界衛(wèi)生組織”(或“衛(wèi)生組織”)的長度可知,通過執(zhí)行如圖I所示的上述步驟,實現(xiàn)了對搜索關(guān)鍵詞包含的關(guān)鍵詞單元的省略,而本領(lǐng)域技術(shù)人員可以了解,根據(jù)包含關(guān)鍵詞單元較少的搜索關(guān)鍵詞進行搜索時,更容易搜索到相應(yīng)的數(shù)據(jù),這也是本申請實施例提供的上述方案的技術(shù)效果。以下以一個具體的實施例為例,詳細(xì)說明本申請實施例提供的上述方案在實際中的應(yīng)用過程。在本實施例中,對數(shù)據(jù)進行搜索的過程可以分為兩個子過程。第一個子過程可以稱為離線(Offline)數(shù)據(jù)挖掘子過程;第二個子過程可以稱為在線(Online)計算與搜索子過程。以下分別對這兩個子過程進行介紹。
Offline數(shù)據(jù)挖掘子過程該子過程主要是要完成對兩個詞典的挖掘,并基于挖掘得到的這兩個詞典,確定指定query集合中各query所包含的term的得分,并確定由term組成的term組合與相應(yīng)的query的序號的對應(yīng)關(guān)系。其中,這里所說的term為字、詞或詞組(詞組是指由兩個以上的詞語組合而成的語法單位),而組成query的字、詞和詞組也可以統(tǒng)稱為搜索關(guān)鍵詞單
J Li ο被挖掘的第一個詞典叫做term rank詞典,該詞典是從搜索日志(search log)中挖掘得到的。該詞典記錄的內(nèi)容為用戶歷史輸入的query中包含的各個term。由于query承載著用戶的搜索意圖,所以query必然具備一定的表意能力。一個query的表意能力由組成這個query的所有term共同支撐??梢院唵握J(rèn)為,一個query的表意能力等于組成該query的各term的表意能力之和。其中,一個term的表意能力越強,則它在其所在的query中的地位自然就越高。本申請實施例中,可以把用于衡量term在query中的表意能力的值稱為該term的termrank值,簡稱TR值。一般說來,如果一個term出現(xiàn)在一個query中的次數(shù)越多,說明這個term的表意能力越強;如果這個term又頻繁的出現(xiàn)在其他的query中,說明這個term的表意過于通用,就會損失一部分表意能力?;谏鲜龇治?本申請實施例提供了一種計算term的TR值的公式,該公式如下式[I]所示term_score (i) = tf (i) *idf (i) [I]其中,term_score (i)代表序號為i的term的TR值,tf (i)為序號為i的term在指定的query (比如指定query集合所含的所有query)所包含的全部term中出現(xiàn)的總次數(shù),idf (i)為對指定query集合中包含的query的總個數(shù)x除以包含有序號為i的該term的query總個數(shù)y所得到的商取對數(shù)而得到的結(jié)果,即有如下式[2]所示的公式term - score{i) = tf{i) * log(-)[2]
少需要說明的是,針對某個(或某些)term,可能出現(xiàn)X = y的情況,那么此時有 = 0。在該情況下,可以考慮采用下述公式[3]來計算term的得分
X + Zterm _ score(i) = tf(i) * log(——)[3 ]
其中,z為大于O而小于I的一個常數(shù),其作用在于修正x/y的值,以避免出現(xiàn)lo§^ = Q的情況。在計算同一指定query集合的query包含的各個term的得分時,z應(yīng)該保持不變。按照上述公式計算出的TR值的特點在于具有較高的TR值的term的表意能力較強,反之,具有相對較低的TR值的term的表意能力也相對較弱。需要說明的是,在按照公式[I]對term的TR值進行計算之前,可以先對指定query集合進行處理。比如可以從該query集合中刪除掉在該query集合中的出現(xiàn)次數(shù)小于預(yù)定出現(xiàn)次數(shù)閾值的query后,再針對處理后得到的query集合所對應(yīng)的各個term執(zhí)行上述操作。這樣做的原因在于,出現(xiàn)次數(shù)太少的query對于計算term的TR值的貢獻度較小,甚至?xí)頍o用的噪聲數(shù)據(jù)。因此,即使對該些term進行刪除,也對最終計算出的TR值影響不大,甚至是有益的,而且還能提高處理效率。被挖掘的第二個詞典叫做All-occurrence詞典,該詞典用于保存指定query集合 中的各query所包含的term組成的term組合與相應(yīng)的query的序號的對應(yīng)關(guān)系。其中,這里的指定query集合可以為搜索引擎在一天之內(nèi)(也可以是其他時間段內(nèi))接收到的由用戶輸入的query組成的集合。這里的指定query集合與term rank詞典中記錄的query所在的query集合可以相同也可以不同。針對該指定query集合,通過執(zhí)行如圖2所示的下述步驟,以構(gòu)建一個用于記錄term組合與相應(yīng)的query序號的對應(yīng)關(guān)系的倒排鏈步驟21,從該query集合中提取出對應(yīng)有相應(yīng)搜索結(jié)果的query ;因為一些無法獲得搜索結(jié)果的query基本是毫無意義的,因此,本實施例中著重考察能夠得到搜索結(jié)果的query。步驟22,對提取出的query執(zhí)行分詞操作,將各個query拆分成相應(yīng)的term ;比如,若提取出了多個query,分別為A、B、C、D,其中,A包含的term為(a、b),B包含的term為(a、b、c), C包含的term為(a、b、d、e), D包含的term為(a、f),那么對A、B、C、D執(zhí)行分詞操作后得到的相應(yīng)的term分別為(a、b)、(a、b、c)、(a、b、d、e)、(a、f)。步驟23,根據(jù)各個query所包含的term,確定包含的所有term被其他任意query完全包含的query,并刪除掉確定出的該query ;如,根據(jù)上述A、B、C、D所分別包含的term可知,A所包含的所有term(即a、b)就完全包含在B所包含的term(即a、b、c)中,此時就可以刪掉A?;蛘?,也可以以A所包含的所有term完全包含在C所包含的term中為依據(jù),刪掉A。這樣做的原因在于,由于A所包含的所有term完全包含在B或C所包含的term中,因此,省略掉A不會影響構(gòu)建關(guān)鍵詞單元組合,而且由于要處理的query減少,還會加速關(guān)鍵詞單元組合的構(gòu)建過程。步驟24,在刪除掉滿足步驟23所述條件的query后,按照query所包含的term的個數(shù)由多至少的順序,對執(zhí)行步驟23后剩余的query依次進行排序,并根據(jù)query包含的term個數(shù),為剩余的query分別分配序號;如,在刪除掉A后,按照B、C、D所包含的term個數(shù)的多少對其進行排序并分配序號,可以得到C排在第一位,為其分配的序號為O ;B排在第二位,為其分配的序號為I ;D排在第三位,為其分配的序號為2。
步驟25,按照選取任意兩個term進行組合的方式,分別從所述剩余的每個query
包含的term中選取term進行組合,并將所有可能得到的組合方式進行記錄,其中,term組
成的組合可以稱為key,而query的序號可以稱為相應(yīng)的key的value ;針對C、B、D這幾個query,按照步驟25所述的方式,可以得到如下表4所示的記
錄表4
權(quán)利要求
1.一種數(shù)據(jù)搜索方法,其特征在于,包括 確定組成輸入的搜索關(guān)鍵詞的關(guān)鍵詞單兀;并 根據(jù)預(yù)設(shè)的關(guān)鍵詞單元組合方式,確定由組成所述輸入的搜索關(guān)鍵詞的關(guān)鍵詞單元所組成的第一關(guān)鍵詞單元組合;以及 從預(yù)先存儲的關(guān)鍵詞單元組合與為關(guān)鍵詞單元組合所對應(yīng)的搜索關(guān)鍵詞分配的標(biāo)識的對應(yīng)關(guān)系中,確定與第一關(guān)鍵詞單元組合相匹配的關(guān)鍵詞單元組合,并確定所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識,其中,為不同搜索關(guān)鍵詞分配的標(biāo)識互不相同;以及根據(jù)所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識,從確定的所述相匹配的關(guān)鍵詞單元組合中,確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合;并 針對所述相匹配的關(guān)鍵詞單元組合對應(yīng)的每一標(biāo)識,分別確定由確定出的對應(yīng)于該標(biāo)識的所有關(guān)鍵詞單元組合所包含的關(guān)鍵詞單元組成的搜索關(guān)鍵詞;以及 從確定的搜索關(guān)鍵詞中確定一個搜索關(guān)鍵詞,并根據(jù)確定的該搜索關(guān)鍵詞搜索數(shù)據(jù)。
2.如權(quán)利要求I所述的方法,其特征在于,通過下述方式預(yù)先設(shè)置并存儲關(guān)鍵詞單元組合與為關(guān)鍵詞單元組合所對應(yīng)的搜索關(guān)鍵詞分配的標(biāo)識的對應(yīng)關(guān)系 獲得在指定時間段內(nèi)輸入的多個搜索關(guān)鍵詞; 從獲得的多個搜索關(guān)鍵詞中確定對應(yīng)有搜索結(jié)果的第一搜索關(guān)鍵詞; 分別確定各個第一搜索關(guān)鍵詞所包含的關(guān)鍵詞單元以及關(guān)鍵詞單元個數(shù),并根據(jù)預(yù)設(shè)的關(guān)鍵詞單元組合方式,分別確定由第一搜索關(guān)鍵詞包含的關(guān)鍵詞單元所組成的關(guān)鍵詞單元組合; 按照為確定的由多至少的關(guān)鍵詞單元個數(shù)對應(yīng)的第一搜索關(guān)鍵詞分別對應(yīng)分配由小至大的標(biāo)識的方式,分別為各個第一搜索關(guān)鍵詞分配標(biāo)識;以及 對應(yīng)存儲為各第一搜索關(guān)鍵詞分配的標(biāo)識和各第一搜索關(guān)鍵詞所包含的關(guān)鍵詞單元組成的關(guān)鍵詞單元組合。
3.如權(quán)利要求I所述的方法,其特征在于,從確定的搜索關(guān)鍵詞中確定一個搜索關(guān)鍵詞,具體包括 根據(jù)預(yù)先設(shè)置的用于衡量關(guān)鍵詞單元表意能力的得分?jǐn)?shù)據(jù),分別確定所述確定的搜索關(guān)鍵詞中各搜索關(guān)鍵詞的得分;以及 根據(jù)確定的各搜索關(guān)鍵詞的得分,從確定的搜索關(guān)鍵詞中確定一個搜索關(guān)鍵詞。
4.如權(quán)利要求I所述的方法,其特征在于,根據(jù)所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識,從確定的所述相匹配的關(guān)鍵詞單元組合中,確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合,具體包括 按照每次抽取符合指定條件的標(biāo)識以及抽取出的標(biāo)識遵循無放回的原則,逐個從所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識中抽取標(biāo)識;并 在每次抽取出標(biāo)識后,判斷出相鄰兩次抽取出的標(biāo)識相同時,記錄抽取的標(biāo)識所對應(yīng)的關(guān)鍵詞單元組合,直至判斷出相鄰兩次抽取的標(biāo)識不同時,從記錄的關(guān)鍵詞單元組合中確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合; 刪除記錄的關(guān)鍵詞單元組合,并記錄在所述相鄰兩次抽取的后一次抽取中抽取到的標(biāo)識對應(yīng)的關(guān)鍵詞單元組合;以及 重復(fù)執(zhí)行上述步驟,直至滿足抽取結(jié)束條件時,從記錄的關(guān)鍵詞單元組合中確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合,并刪除記錄的關(guān)鍵詞單元組合。
5.如權(quán)利要求4所述的方法,其特征在于,所述抽取結(jié)束條件為 所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的所有標(biāo)識被抽取完畢。
6.如權(quán)利要求4所述的方法,其特征在于,還包括 對出現(xiàn)連續(xù)兩次抽取的標(biāo)識對應(yīng)不同關(guān)鍵詞單元組合的情況的次數(shù)進行記錄;以及 所述抽取結(jié)束條件為確定記錄的次數(shù)大于預(yù)定次數(shù)閾值。
7.一種數(shù)據(jù)搜索設(shè)備,其特征在于,包括 關(guān)鍵詞單元確定單元,用于確定組成輸入的搜索關(guān)鍵詞的關(guān)鍵詞單元; 第一組合確定單元,用于根據(jù)預(yù)設(shè)的關(guān)鍵詞單元組合方式,確定由關(guān)鍵詞單元確定單元確定的關(guān)鍵詞單元所組成的第一關(guān)鍵詞單元組合; 組合與標(biāo)識確定單元,用于從預(yù)先存儲的關(guān)鍵詞單元組合與為關(guān)鍵詞單元組合所對應(yīng)的搜索關(guān)鍵詞分配的標(biāo)識的對應(yīng)關(guān)系中,確定與第一組合確定單元確定的第一關(guān)鍵詞單元組合相匹配的關(guān)鍵詞單元組合,并確定所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識,其中,為不同搜索關(guān)鍵詞分配的標(biāo)識互不相同; 第二組合確定單元,用于根據(jù)組合與標(biāo)識確定單元確定的所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識,從組合與標(biāo)識確定單元確定的確定的所述相匹配的關(guān)鍵詞單元組合中,確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合; 第一搜索關(guān)鍵詞確定單元,用于針對組合與標(biāo)識確定單元確定的所述相匹配的關(guān)鍵詞單元組合對應(yīng)的每一標(biāo)識,分別確定由第二組合確定單元確定的對應(yīng)于該標(biāo)識的所有關(guān)鍵詞單元組合所包含的關(guān)鍵詞單元組成的搜索關(guān)鍵詞; 第二搜索關(guān)鍵詞確定單元,用于從第一搜索關(guān)鍵詞確定單元確定的搜索關(guān)鍵詞中確定一個搜索關(guān)鍵詞; 數(shù)據(jù)搜索單元,用于根據(jù)第二搜索關(guān)鍵詞確定單元確定的搜索關(guān)鍵詞搜索數(shù)據(jù)。
8.如權(quán)利要求7所述的設(shè)備,其特征在于,還包括用于存儲關(guān)鍵詞單元組合與為關(guān)鍵詞單元組合所對應(yīng)的搜索關(guān)鍵詞分配的標(biāo)識的對應(yīng)關(guān)系的存儲單元;以及 所述存儲單元具體包括 獲得模塊,用于獲得在指定時間段內(nèi)輸入的多個搜索關(guān)鍵詞; 第一確定模塊,用于從獲得模塊獲得的多個搜索關(guān)鍵詞中確定對應(yīng)有搜索結(jié)果的第一搜索關(guān)鍵詞; 第二確定模塊,用于分別確定第一確定模塊確定的各個第一搜索關(guān)鍵詞所包含的關(guān)鍵詞單元以及關(guān)鍵詞單元個數(shù),并根據(jù)預(yù)設(shè)的關(guān)鍵詞單元組合方式,分別確定由第一搜索關(guān)鍵詞包含的關(guān)鍵詞單元所組成的關(guān)鍵詞單元組合; 標(biāo)識分配模塊,用于按照為第二確定模塊確定的由多至少的關(guān)鍵詞單元個數(shù)對應(yīng)的第一搜索關(guān)鍵詞分別對應(yīng)分配由小至大的標(biāo)識的方式,分別為第一確定模塊確定的各個第一搜索關(guān)鍵詞分配標(biāo)識; 存儲模塊,用于對應(yīng)存儲標(biāo)識分配模塊為各第一搜索關(guān)鍵詞分配的標(biāo)識和第二確定模塊確定的關(guān)鍵詞單元組合。
9.如權(quán)利要求7所述的設(shè)備,其特征在于,所述第二搜索關(guān)鍵詞確定單元具體包括 得分確定模塊,用于根據(jù)預(yù)先設(shè)置的用于衡量關(guān)鍵詞單元表意能力的得分?jǐn)?shù)據(jù),分別確定所述確定的搜索關(guān)鍵詞中各搜索關(guān)鍵詞的得分; 搜索關(guān)鍵詞確定模塊,用于根據(jù)得分確定模塊確定的各搜索關(guān)鍵詞的得分,從確定的搜索關(guān)鍵詞中確定一個搜索關(guān)鍵詞。
10.如權(quán)利要求7所述的設(shè)備,其特征在于,所述第二組合確定單元具體包括 抽取模塊,用于按照每次抽取符合指定條件的標(biāo)識以及抽取出的標(biāo)識遵循無放回的原貝U,逐個從所述相匹配的關(guān)鍵詞單元組合所對應(yīng)的標(biāo)識中抽取標(biāo)識; 標(biāo)識判斷模塊,用于在抽取模塊每次抽取出標(biāo)識后,判斷抽取模塊相鄰兩次抽取出的標(biāo)識是否相同; 記錄模塊,用于在標(biāo)識判斷模塊得到的判斷結(jié)果為是時,記錄抽取模塊抽取的標(biāo)識所對應(yīng)的關(guān)鍵詞單元組合; 確定模塊,用于在標(biāo)識判斷模塊得到的判斷結(jié)果為否時,從記錄模塊記錄的關(guān)鍵詞單元組合中確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合; 刪除與記錄執(zhí)行模塊,用于在確定模塊確定關(guān)鍵詞單元組合后,刪除記錄模塊記錄的關(guān)鍵詞單元組合,并將在所述相鄰兩次抽取的后一次抽取中抽取到的標(biāo)識對應(yīng)的關(guān)鍵詞單元組合記錄在所述記錄模塊中; 抽取結(jié)束條件判斷模塊,用于在刪除與記錄執(zhí)行模塊將關(guān)鍵詞單元組合記錄在所述記錄模塊中后,判斷抽取模塊對標(biāo)識的抽取是否滿足抽取結(jié)束條件; 確定與刪除執(zhí)行模塊,用于在抽取結(jié)束條件判斷模塊得到的判斷結(jié)果為是時,從記錄模塊記錄的關(guān)鍵詞單元組合中確定對應(yīng)于同一標(biāo)識的關(guān)鍵詞單元組合,并刪除記錄模塊記錄的關(guān)鍵詞單元組合。
全文摘要
本申請公開了一種數(shù)據(jù)搜索方法及設(shè)備,以解決基于采用現(xiàn)有技術(shù)處理后的搜索關(guān)鍵詞難以得到搜索結(jié)果的問題。方法包括確定組成輸入的搜索關(guān)鍵詞的關(guān)鍵詞單元;確定由關(guān)鍵詞單元所組成的第一關(guān)鍵詞單元組合;從關(guān)鍵詞單元組合與標(biāo)識的對應(yīng)關(guān)系中,確定與第一關(guān)鍵詞單元組合相匹配的關(guān)鍵詞單元組合對應(yīng)的標(biāo)識;根據(jù)所述對應(yīng)的標(biāo)識,從所述相匹配的關(guān)鍵詞單元組合中確定對應(yīng)同一標(biāo)識的關(guān)鍵詞單元組合;并針對所述相匹配的關(guān)鍵詞單元組合對應(yīng)的每一標(biāo)識,確定對應(yīng)于該標(biāo)識的所有關(guān)鍵詞單元組合所包含的關(guān)鍵詞單元組成的搜索關(guān)鍵詞;從確定的搜索關(guān)鍵詞中確定一個搜索關(guān)鍵詞,并根據(jù)確定的該搜索關(guān)鍵詞搜索數(shù)據(jù)。
文檔編號G06F17/30GK102880614SQ20111019824
公開日2013年1月16日 申請日期2011年7月15日 優(yōu)先權(quán)日2011年7月15日
發(fā)明者常超 申請人:阿里巴巴集團控股有限公司