專利名稱:一種基于復(fù)合詞的搜索方法和搜索引擎服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,尤其涉及一種基于復(fù)合詞的搜索方法和搜索引擎服務(wù)器。
背景技術(shù):
隨著互聯(lián)網(wǎng)的發(fā)展,互聯(lián)網(wǎng)上的信息越來(lái)越豐富,在用戶日常生活以及工作學(xué)習(xí)中的作用越來(lái)越明顯,逐漸成為用戶從互聯(lián)網(wǎng)獲取信息的主要途徑。而在其中,通過(guò)搜索引擎獲取信息的占了極大的比重。因此搜索引擎成為當(dāng)前競(jìng)爭(zhēng)非常激烈的領(lǐng)域,其競(jìng)爭(zhēng)的重要點(diǎn)除了內(nèi)容的豐富以外,還有需要提高用戶體驗(yàn)。一般來(lái)說(shuō),搜索引擎除了要保證搜索信息的質(zhì)量,另一個(gè)重要的因素是搜索的速度。用戶使用搜索引擎都希望其搜索請(qǐng)求能夠得到快速的響應(yīng),因此搜索的速度已經(jīng)成為用戶體驗(yàn)好壞的決定性因素之一。搜索引擎處理用戶的搜索請(qǐng)求,需要對(duì)用戶的檢索語(yǔ)進(jìn)行拆分,然后對(duì)拆分后的詞語(yǔ)分別索引查詢,分別求出每個(gè)詞語(yǔ)的搜索結(jié)果。具體的,通過(guò)下面例子進(jìn)行說(shuō)明。比如用戶搜索“摘取番茄”,搜索引擎的處理流程為把用戶的搜索請(qǐng)求進(jìn)行同義詞歸一化后,把上面的檢索語(yǔ)拆分為“摘取”和“番
茄”;對(duì)“摘取”進(jìn)行索引查詢,得到結(jié)果集合A ;對(duì)“番茄”進(jìn)行索引查詢,得到結(jié)果集合B ;根據(jù)“摘取”和“番茄”的索引結(jié)果進(jìn)行搜索運(yùn)算對(duì)A和B進(jìn)行求交集運(yùn)算,得到 AB的交集X ;對(duì)A和B進(jìn)行求并運(yùn)算,得到AB的并集合Y ;最后向用戶輸出搜索結(jié)果,排序順序?yàn)榧蟈中的網(wǎng)頁(yè)排在最前面,其次是Y中的不在X的元素,最后是A和B不在Y集合中存在的元素?,F(xiàn)有技術(shù)中,對(duì)于用戶輸入的較長(zhǎng)的檢索語(yǔ),需要拆分成較多的一元詞語(yǔ),然后分別對(duì)拆分獲得的一元詞語(yǔ)進(jìn)行索引查詢,并進(jìn)行兩兩的進(jìn)行運(yùn)算,然后再輸出結(jié)果。例如, 用戶輸入的檢索語(yǔ)為中國(guó)人民銀行,則需要對(duì)拆分獲得的“中國(guó)”、“人民”、“銀行”分別進(jìn)行索引查詢,然后兩兩進(jìn)行搜索運(yùn)算。這種方法需要進(jìn)行多次的搜索運(yùn)算,而且由于有些一元詞之間的組合是沒(méi)有實(shí)際意義的詞語(yǔ)組合,也需要建立索引和進(jìn)行運(yùn)算,浪費(fèi)了存儲(chǔ)空間和處理資源,同時(shí)增加了整過(guò)搜索過(guò)程的時(shí)間。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的技術(shù)問(wèn)題在于,提供一種基于復(fù)合詞的搜索方法的方法。能夠通過(guò)建立復(fù)合詞索引,減少對(duì)用戶輸入的檢索語(yǔ)的拆分粒度,降低運(yùn)算時(shí)間,從而能夠較快的響應(yīng)用戶的搜索請(qǐng)求。為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了一種基于復(fù)合詞的搜索方法的方法,該方法包括對(duì)網(wǎng)頁(yè)庫(kù)保存的各網(wǎng)頁(yè)的詞語(yǔ)組合進(jìn)行頻度統(tǒng)計(jì),所述詞語(yǔ)組合由對(duì)該網(wǎng)頁(yè)進(jìn)行分詞處理獲得的一元詞語(yǔ)組成;為 頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合建立復(fù)合詞索引;所述頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合為復(fù)合詞;當(dāng)獲取搜索請(qǐng)求中含有與所述復(fù)合詞匹配的關(guān)鍵詞時(shí),根據(jù)所述復(fù)合詞索引返回搜索結(jié)果。相應(yīng)的,本發(fā)明實(shí)施例提供了一種搜索引擎服務(wù)器,該服務(wù)器包括頻度統(tǒng)計(jì)單元,用于對(duì)網(wǎng)頁(yè)庫(kù)保存的各網(wǎng)頁(yè)的詞語(yǔ)組合進(jìn)行頻度統(tǒng)計(jì),所述詞語(yǔ)組合由對(duì)該網(wǎng)頁(yè)進(jìn)行分詞處理獲得的一元詞語(yǔ)組成;篩選單元,用于篩選頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合,所述頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合為復(fù)合詞;生成單元,用于為所述復(fù)合詞建立復(fù)合詞索引;搜索處理單元,當(dāng)獲取搜索請(qǐng)求中含有與所述復(fù)合詞匹配的關(guān)鍵詞時(shí),根據(jù)所述復(fù)合詞索引返回搜索結(jié)果。本發(fā)明實(shí)施例通過(guò)根據(jù)統(tǒng)計(jì)詞語(yǔ)組合的頻度來(lái)篩選復(fù)合詞,并為復(fù)合詞建立復(fù)合詞索引,當(dāng)獲取搜索請(qǐng)求中含有與所述復(fù)合詞匹配的關(guān)鍵詞時(shí),根據(jù)所述復(fù)合詞索引返回搜索結(jié)果。能夠減少對(duì)用戶輸入的檢索語(yǔ)的拆分粒度,節(jié)約處理資源,降低運(yùn)算時(shí)間,從而能夠較快的響應(yīng)用戶的搜索請(qǐng)求。
圖1是本發(fā)明實(shí)現(xiàn)基于復(fù)合詞的搜索方法的第一實(shí)施例流程圖;圖2是本發(fā)明實(shí)現(xiàn)基于復(fù)合詞的搜索方法的第二實(shí)施例流程圖;圖3為本發(fā)明實(shí)施例搜索引擎服務(wù)器第一實(shí)施例的結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例搜索引擎服務(wù)器第二實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步地詳細(xì)描述。圖1是本發(fā)明實(shí)現(xiàn)基于復(fù)合詞的搜索方法的第一實(shí)施例流程圖。如圖1所示,該方法具體包括步驟S101,對(duì)網(wǎng)頁(yè)庫(kù)保存的各網(wǎng)頁(yè)的詞語(yǔ)組合進(jìn)行頻度統(tǒng)計(jì),所述詞語(yǔ)組合由對(duì)該網(wǎng)頁(yè)進(jìn)行分詞處理獲得的一元詞語(yǔ)組成;步驟S102,為頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合建立復(fù)合詞索引;所述頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合為復(fù)合詞;步驟S103,當(dāng)獲取搜索請(qǐng)求中含有與所述復(fù)合詞匹配的關(guān)鍵詞時(shí),根據(jù)所述復(fù)合詞索引返回搜索結(jié)果。本發(fā)明實(shí)施例通過(guò)根據(jù)統(tǒng)計(jì)詞語(yǔ)組合的頻度來(lái)篩選復(fù)合詞,并為復(fù)合詞建立復(fù)合詞索引,當(dāng)獲取搜索請(qǐng)求中含有與所述復(fù)合詞匹配的關(guān)鍵詞時(shí),根據(jù)所述復(fù)合詞索引返回搜索結(jié)果。能夠減少對(duì)用戶輸入的檢索語(yǔ)的拆分粒度,節(jié)約處理資源,降低運(yùn)算時(shí)間,從而能夠較快的響應(yīng)用戶的搜索請(qǐng)求。
圖2是本發(fā)明實(shí)現(xiàn)基于復(fù)合詞的搜索方法的第二實(shí)施例流程圖。如圖2所示,該方法具體包括步驟S201,設(shè)置準(zhǔn)備用于統(tǒng)計(jì)詞語(yǔ)組合的復(fù)合詞候選庫(kù),所述復(fù)合詞候選庫(kù)用于存放詞語(yǔ)組合,以及對(duì)應(yīng)各詞語(yǔ)組合的計(jì)數(shù)器。本實(shí)施例中,通過(guò)初始化一個(gè)空的復(fù)合詞候選庫(kù)來(lái)實(shí)現(xiàn)上述設(shè)置。具體方式為定義一個(gè)復(fù)合詞候選庫(kù)M,是一個(gè)集合,其作用是存放如下元素A A = struct {String復(fù)合詞條Int32iCounter復(fù)合詞條的計(jì)數(shù)器}實(shí)際上M在程序?qū)崿F(xiàn)就是一個(gè)結(jié)構(gòu)A的數(shù)組。步驟S202,對(duì)于網(wǎng)頁(yè)庫(kù)中的每一網(wǎng)頁(yè),先讀取該網(wǎng)頁(yè)并對(duì)該網(wǎng)頁(yè)進(jìn)行分詞處理本實(shí)施中,分詞是把句子按詞語(yǔ)進(jìn)行切分的過(guò)程叫分詞。對(duì)網(wǎng)頁(yè)進(jìn)行分詞處理主要策略是去掉停用詞,并進(jìn)行同義詞歸一化,然后獲取分詞處理后的結(jié)果。例如,讀取的網(wǎng)頁(yè)內(nèi)容為“中國(guó)知識(shí)產(chǎn)權(quán)的國(guó)際戰(zhàn)略選擇與國(guó)內(nèi)戰(zhàn)略安排”。去掉停用詞,并且進(jìn)行同義詞歸一化進(jìn)行分詞,獲得的一元詞語(yǔ)為“中國(guó)”、“知識(shí)”、“產(chǎn)權(quán)”、“國(guó)際”、“戰(zhàn)略”、“選擇”、“國(guó)內(nèi)”、“戰(zhàn)略”、“安排”。步驟S203,對(duì)所述分詞處理獲得的一元詞語(yǔ)進(jìn)行排列組合,獲得詞語(yǔ)組合。本實(shí)施例中,對(duì)分詞處理獲得的一元詞語(yǔ)進(jìn)行排列組合,獲得詞語(yǔ)組合。所述一元詞為組成詞組或語(yǔ)句的基礎(chǔ)詞語(yǔ)或詞匯,以步驟S202中舉例獲得的一元詞為例進(jìn)行排列組合,可以獲得“中國(guó)知識(shí)”、“知識(shí)產(chǎn)權(quán)”、“國(guó)際戰(zhàn)略”、“國(guó)內(nèi)戰(zhàn)略”、“戰(zhàn)略安排”、“選擇國(guó)內(nèi)”、“戰(zhàn)略選擇”等各種二元詞排列組合,在此不一一列舉。還可以獲得“中國(guó)知識(shí)產(chǎn)權(quán)”、 “選擇國(guó)內(nèi)戰(zhàn)略”等各種二元詞排列組合,在此不一一列舉。同樣的可以獲得更多元的詞語(yǔ)組合,可以通過(guò)設(shè)置排列規(guī)則來(lái)設(shè)置組合詞語(yǔ)的最大的元次。所述排列規(guī)則用于指示對(duì)所述分詞處理獲得的一元詞語(yǔ)按照設(shè)置的規(guī)則進(jìn)行排列組合,除了設(shè)置的組合詞語(yǔ)的最大的元次,還可以進(jìn)行是否進(jìn)行隨機(jī)組合等設(shè)置。步驟S204,判斷所述復(fù)合詞候選庫(kù)中是否存在獲得的詞語(yǔ)組合,如果判斷為是,則把對(duì)應(yīng)該詞語(yǔ)組合的計(jì)數(shù)器數(shù)值加一;否則,在所述復(fù)合詞候選庫(kù)用于增加該詞語(yǔ)組合,并把對(duì)應(yīng)該詞語(yǔ)組合的計(jì)數(shù)器數(shù)值設(shè)定為一。本實(shí)施中,詞語(yǔ)組合在網(wǎng)頁(yè)庫(kù)的網(wǎng)頁(yè)中出現(xiàn)的次數(shù)叫此詞語(yǔ)組合的頻度,比如一個(gè)詞語(yǔ)在網(wǎng)頁(yè)庫(kù)的網(wǎng)頁(yè)中出現(xiàn)30次,則說(shuō)此詞語(yǔ)組合對(duì)這個(gè)網(wǎng)頁(yè)庫(kù)的頻度為30。對(duì)排列組合獲得的每個(gè)詞語(yǔ)組合進(jìn)行判斷,如果所述復(fù)合詞候選庫(kù)中存在獲得的詞語(yǔ)組合,則把對(duì)應(yīng)該詞語(yǔ)組合的計(jì)數(shù)器數(shù)值加一;如果所述復(fù)合詞候選庫(kù)中不存在獲得的詞語(yǔ)組合,則在所述復(fù)合詞候選庫(kù)用于增加該詞語(yǔ)組合,并把對(duì)應(yīng)該詞語(yǔ)組合的計(jì)數(shù)器數(shù)值設(shè)定為一。對(duì)每個(gè)詞語(yǔ)組合,設(shè)為Xi,具體算法如下IF (Xi在候選庫(kù)M中){訪問(wèn)M中關(guān)于Xi的記錄把M中關(guān)于Xi的記錄的iCounter計(jì)數(shù)器加一;
}Else{在M中增加記錄Xi.把M中關(guān)于Xi的記錄的iCoimter計(jì)數(shù)器值設(shè)定為一.}在對(duì)一個(gè)網(wǎng)頁(yè)中的詞語(yǔ)組合進(jìn)行統(tǒng)計(jì)后,查看是否統(tǒng)計(jì)完網(wǎng)頁(yè)庫(kù)中的所有網(wǎng)頁(yè), 如果是則執(zhí)行步驟S205,如果否則讀取未進(jìn)行統(tǒng)計(jì)的網(wǎng)頁(yè),進(jìn)行分詞處理,并執(zhí)行步驟 S204-步驟 S204。步驟S205,為頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合建立復(fù)合詞索引;所述頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合為復(fù)合詞。本實(shí)施例中,如果統(tǒng)計(jì)完網(wǎng)頁(yè)庫(kù)中所用網(wǎng)頁(yè)的組合詞的頻度后,設(shè)定一個(gè)閾值,遍歷所有復(fù)合詞候選庫(kù),輸出所有大于此閾值的詞語(yǔ)組合,所述頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合為復(fù)合詞。其中,閾值可以根據(jù)統(tǒng)計(jì)的詞語(yǔ)組合的頻度最大值作為參考,根據(jù)實(shí)際的操作需要按照該最大值來(lái)設(shè)置?;蛘邔?duì)復(fù)合詞候選庫(kù)中的所用詞語(yǔ)組合的頻度進(jìn)行歸一化處理,獲取各個(gè)詞語(yǔ)組合出現(xiàn)的概率,然后根據(jù)實(shí)際的操作需要按照該最大值來(lái)設(shè)置選取大于一定概率值的詞語(yǔ)組合作為復(fù)合詞,并將所述選取的復(fù)合詞組合成復(fù)合詞庫(kù)。步驟S206,將獲取的搜索請(qǐng)求與復(fù)合詞匹配。本實(shí)施例,在獲取用戶的搜索請(qǐng)求后,將該請(qǐng)求中檢索語(yǔ)與上述的復(fù)合詞庫(kù)中復(fù)合詞進(jìn)行匹配。如果該檢索語(yǔ)中含有復(fù)合詞庫(kù)的中復(fù)合詞,則匹配成功。步驟S207,匹配成功后,利用所述復(fù)合詞索引進(jìn)行搜索運(yùn)算,并返回該搜索運(yùn)算后的結(jié)果。本實(shí)施例中,在復(fù)合詞匹配成功后。對(duì)該搜索請(qǐng)求中的檢索語(yǔ)進(jìn)行拆分如果該檢索語(yǔ)只拆分成一個(gè)復(fù)合詞,則根據(jù)該復(fù)合詞的索引返回搜索結(jié)果;如果該檢索語(yǔ)只拆分成多個(gè)復(fù)合詞,則對(duì)各個(gè)復(fù)合詞的索引得到的結(jié)果結(jié)合進(jìn)行求交集和求并集運(yùn)算,并返回運(yùn)算后的結(jié)果;如果該檢索語(yǔ)只拆分成復(fù)合詞和一元詞,則對(duì)復(fù)合詞的索引得到的結(jié)果集合和一元詞索引得到的結(jié)果集合進(jìn)行求交集和求并集運(yùn)算,并返回運(yùn)算后的結(jié)果。本發(fā)明實(shí)施例通過(guò)根據(jù)統(tǒng)計(jì)詞語(yǔ)組合的頻度來(lái)篩選復(fù)合詞,并為復(fù)合詞建立復(fù)合詞索引,當(dāng)獲取搜索請(qǐng)求中含有與所述復(fù)合詞匹配的關(guān)鍵詞時(shí),根據(jù)所述復(fù)合詞索引返回搜索結(jié)果。能夠減少對(duì)用戶輸入的檢索語(yǔ)的拆分粒度,節(jié)約處理資源,降低運(yùn)算時(shí)間,提高檢索效率,從而能夠較快的響應(yīng)用戶的搜索請(qǐng)求。圖3為本發(fā)明實(shí)施例搜索引擎服務(wù)器第一實(shí)施例的結(jié)構(gòu)示意圖。如圖3所示,該搜索引擎服務(wù)器包括頻度統(tǒng)計(jì)單元310、篩選單元320、生成單元330和搜索處理單元340。頻度統(tǒng)計(jì)單元310,用于對(duì)網(wǎng)頁(yè)庫(kù)保存的各網(wǎng)頁(yè)的詞語(yǔ)組合進(jìn)行頻度統(tǒng)計(jì),所述詞語(yǔ)組合由對(duì)該網(wǎng)頁(yè)進(jìn)行分詞處理獲得的一元詞語(yǔ)組成。
篩選單元320,用于篩選頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合,所述頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合為復(fù)合詞。生成單元330,用于為所述復(fù)合詞建立復(fù)合詞索引。
搜索處理單元340,當(dāng)獲取搜索請(qǐng)求 中含有與所述復(fù)合詞匹配的關(guān)鍵詞時(shí),根據(jù)所述復(fù)合詞索引返回搜索結(jié)果。本發(fā)明實(shí)施例通過(guò)根據(jù)統(tǒng)計(jì)詞語(yǔ)組合的頻度來(lái)篩選復(fù)合詞,并為復(fù)合詞建立復(fù)合詞索引,當(dāng)獲取搜索請(qǐng)求中含有與所述復(fù)合詞匹配的關(guān)鍵詞時(shí),根據(jù)所述復(fù)合詞索引返回搜索結(jié)果。能夠減少對(duì)用戶輸入的檢索語(yǔ)的拆分粒度,節(jié)約處理資源,降低運(yùn)算時(shí)間,提高檢索效率,從而能夠較快的響應(yīng)用戶的搜索請(qǐng)求。圖4為本發(fā)明實(shí)施例搜索引擎服務(wù)器第二實(shí)施例的結(jié)構(gòu)示意圖。如圖4所示,該搜索引擎服務(wù)器包括設(shè)置存儲(chǔ)單元410、頻度統(tǒng)計(jì)單元420、篩選單元430、生成單元440 和搜索處理單元450。設(shè)置存儲(chǔ)單元410,用于設(shè)置準(zhǔn)備用于統(tǒng)計(jì)詞語(yǔ)組合的復(fù)合詞候選庫(kù),所述復(fù)合詞候選庫(kù)用于存放詞語(yǔ)組合,以及對(duì)應(yīng)各詞語(yǔ)組合的計(jì)數(shù)器。本實(shí)施例中,設(shè)置存儲(chǔ)單元410通過(guò)初始化一個(gè)空的復(fù)合詞候選庫(kù)來(lái)實(shí)現(xiàn)上述設(shè)置。設(shè)置存儲(chǔ)單元410具體執(zhí)行方式為定義一個(gè)復(fù)合詞候選庫(kù)M,是一個(gè)集合,其作用是存放如下元素A A = struct {String復(fù)合詞條Int32iCounter復(fù)合詞條的計(jì)數(shù)器}實(shí)際上M在程序?qū)崿F(xiàn)就是一個(gè)結(jié)構(gòu)A的數(shù)組。頻度統(tǒng)計(jì)單元420,用于篩選頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合,所述頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合為復(fù)合詞。該頻度統(tǒng)計(jì)單元420包括分詞模塊421、排列模塊422、判斷模塊 423和統(tǒng)計(jì)模塊424。分詞模塊421用于讀取網(wǎng)頁(yè)庫(kù)中的每一網(wǎng)頁(yè)并對(duì)該網(wǎng)頁(yè)進(jìn)行分詞處理。本實(shí)施中,分詞是把句子按詞語(yǔ)進(jìn)行切分的過(guò)程叫分詞。分詞模塊421對(duì)網(wǎng)頁(yè)進(jìn)行分詞處理主要策略是去掉停用詞,并進(jìn)行同義詞歸一化,然后獲取分詞處理后的結(jié)果。例如,讀取的網(wǎng)頁(yè)內(nèi)容為“中國(guó)知識(shí)產(chǎn)權(quán)的國(guó)際戰(zhàn)略選擇與國(guó)內(nèi)戰(zhàn)略安排”。去掉停用詞,并且進(jìn)行同義詞歸一化進(jìn)行分詞,獲得的一元詞語(yǔ)為“中國(guó)”、“知識(shí)”、“產(chǎn)權(quán)”、“國(guó)際”、“戰(zhàn)略”、 “選擇”、“國(guó)內(nèi)”、“戰(zhàn)略”、“安排”。排列模塊422用于對(duì)所述分詞處理獲得的一元詞語(yǔ)進(jìn)行排列組合,獲得詞語(yǔ)組
I=I O本實(shí)施例中,對(duì)分詞處理獲得的一元詞語(yǔ)進(jìn)行排列組合,獲得詞語(yǔ)組合。以上述分詞模塊421獲得的一元詞為例進(jìn)行排列組合,可以獲得“中國(guó)知識(shí)”、“知識(shí)產(chǎn)權(quán)”、“國(guó)際戰(zhàn)略”、“國(guó)內(nèi)戰(zhàn)略”、“戰(zhàn)略安排”、“選擇國(guó)內(nèi)”、“戰(zhàn)略選擇”等各種二元詞排列組合,在此不一一列舉。還可以獲得“中國(guó)知識(shí)產(chǎn)權(quán)”、“選擇國(guó)內(nèi)戰(zhàn)略”等各種二元詞排列組合,在此不一一列舉。同樣的可以獲得更多元的詞語(yǔ)組合,可以通過(guò)設(shè)置一用于設(shè)置排列組合的排列規(guī)則的規(guī)則設(shè)置模塊425,通過(guò)設(shè)置排列規(guī)則來(lái)設(shè)置組合詞語(yǔ)的最大的元次。所述排列規(guī)則用于指示對(duì)所述分詞處理獲得的一元詞語(yǔ)按照設(shè)置的規(guī)則進(jìn)行排列組合,除了設(shè)置的組合詞語(yǔ)的最大的元次,還可以進(jìn)行是否進(jìn)行隨機(jī)組合等設(shè)置。判斷模塊423用于在所述排列模塊獲得詞語(yǔ)組合后,判斷所述復(fù)合詞候選庫(kù)中是否存在獲得的詞語(yǔ)組合;統(tǒng)計(jì)模塊424,用于在所述判斷模塊判斷復(fù)合詞候選庫(kù)中存在獲得的詞語(yǔ)組合,則把對(duì)應(yīng)該詞語(yǔ)組合的計(jì)數(shù)器數(shù)值加一;否則,在所述復(fù)合詞候選庫(kù)用于增加該詞語(yǔ)組合,并把對(duì)應(yīng)該詞語(yǔ)組合的計(jì)數(shù)器數(shù)值設(shè)定為一。本 實(shí)施例中,判斷模塊423對(duì)排列組合獲得的每個(gè)詞語(yǔ)組合進(jìn)行判斷,如果所述復(fù)合詞候選庫(kù)中存在獲得的詞語(yǔ)組合,則統(tǒng)計(jì)模塊424把對(duì)應(yīng)該詞語(yǔ)組合的計(jì)數(shù)器數(shù)值加一;如果所述復(fù)合詞候選庫(kù)中不存在獲得的詞語(yǔ)組合,則統(tǒng)計(jì)模塊424在所述復(fù)合詞候選庫(kù)用于增加該詞語(yǔ)組合,并把對(duì)應(yīng)該詞語(yǔ)組合的計(jì)數(shù)器數(shù)值設(shè)定為一。對(duì)每個(gè)詞語(yǔ)組合,設(shè)為Xi,具體算法如下IF (Xi在候選庫(kù)M中){訪問(wèn)M中關(guān)于Xi的記錄把M中關(guān)于Xi的記錄的iCounter計(jì)數(shù)器加一;}Else{在M中增加記錄Xi.把M中關(guān)于Xi的記錄的iCounter計(jì)數(shù)器值設(shè)定為一.}在對(duì)一個(gè)網(wǎng)頁(yè)中的詞語(yǔ)組合進(jìn)行統(tǒng)計(jì)后,查看是否統(tǒng)計(jì)玩網(wǎng)頁(yè)庫(kù)中的所有網(wǎng)頁(yè), 如果統(tǒng)計(jì)玩則由篩選單元430進(jìn)行進(jìn)一步處理;否則繼續(xù)由分詞模塊421對(duì)未統(tǒng)計(jì)的網(wǎng)頁(yè)進(jìn)行分詞處理,并分別由排列模塊422、判斷模塊423、統(tǒng)計(jì)模塊424完成自語(yǔ)組合的頻度統(tǒng)計(jì)。篩選單元430,用于篩選頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合,所述頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合為復(fù)合詞。本實(shí)施例中,如果統(tǒng)計(jì)完網(wǎng)頁(yè)庫(kù)中所用網(wǎng)頁(yè)的組合詞的頻度后,通過(guò)篩選單元430 設(shè)定一個(gè)閾值,遍歷所有復(fù)合詞候選庫(kù),輸出所有大于此閾值的詞語(yǔ)組合,所述頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合為復(fù)合詞。其中,閾值可以根據(jù)統(tǒng)計(jì)的詞語(yǔ)組合的頻度最大值作為參考, 根據(jù)實(shí)際的操作需要按照該最大值來(lái)設(shè)置?;蛘邔?duì)復(fù)合詞候選庫(kù)中的所用詞語(yǔ)組合的頻度進(jìn)行歸一化處理,獲取各個(gè)詞語(yǔ)組合出現(xiàn)的概率,然后根據(jù)實(shí)際的操作需要按照該最大值來(lái)設(shè)置選取大于一定概率值的詞語(yǔ)組合作為復(fù)合詞,并將所述選取的復(fù)合詞組合成復(fù)合詞庫(kù)。 生成單元440,用于為所述復(fù)合詞建立復(fù)合詞索引。搜索處理單元450,當(dāng)獲取搜索請(qǐng)求中含有與所述復(fù)合詞匹配的關(guān)鍵詞時(shí),根據(jù)所述復(fù)合詞索引返回搜索結(jié)果。所述搜索處理單元450具體包括獲取模塊451、匹配模塊452 以及運(yùn)算模塊453。獲取模塊451用于獲取用戶的搜索請(qǐng)求;匹配模塊452用于將獲取的搜索請(qǐng)求與復(fù)合詞匹配;運(yùn)算模塊753用于利用所述復(fù)合詞索引進(jìn)行搜索運(yùn)算,并返回該搜索運(yùn)算后的結(jié)果。本實(shí)施例中,獲取模塊451獲取用戶的搜索請(qǐng)求后,匹配模塊452將該請(qǐng)求中檢索語(yǔ)與上述的復(fù)合詞庫(kù)中復(fù)合詞進(jìn)行匹配。如果該檢 索語(yǔ)中含有復(fù)合詞庫(kù)的中復(fù)合詞,則匹配成功。將檢索語(yǔ)在復(fù)合詞匹配成功后。對(duì)該搜索請(qǐng)求中的檢索語(yǔ)進(jìn)行拆分如果該檢索語(yǔ)只拆分成一個(gè)復(fù)合詞,則運(yùn)算模塊453根據(jù)該復(fù)合詞的索引返回搜
索結(jié)果;如果該檢索語(yǔ)只拆分成多個(gè)復(fù)合詞,則運(yùn)算模塊453對(duì)各個(gè)復(fù)合詞的索引得到的結(jié)果結(jié)合進(jìn)行求交集和求并集運(yùn)算,并返回運(yùn)算后的結(jié)果;如果該檢索語(yǔ)只拆分成復(fù)合詞和一元詞,則運(yùn)算模塊453對(duì)復(fù)合詞的索引得到的結(jié)果集合和一元詞索引得到的結(jié)果集合進(jìn)行求交集和求并集運(yùn)算,并返回運(yùn)算后的結(jié)果。本發(fā)明實(shí)施例通過(guò)根據(jù)統(tǒng)計(jì)詞語(yǔ)組合的頻度來(lái)篩選復(fù)合詞,并為復(fù)合詞建立復(fù)合詞索引,當(dāng)獲取搜索請(qǐng)求中含有與所述復(fù)合詞匹配的關(guān)鍵詞時(shí),根據(jù)所述復(fù)合詞索引返回搜索結(jié)果。能夠減少對(duì)用戶輸入的檢索語(yǔ)的拆分粒度,節(jié)約處理資源,降低運(yùn)算時(shí)間,提高檢索效率,從而能夠較快的響應(yīng)用戶的搜索請(qǐng)求。以上所列舉的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來(lái)限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
權(quán)利要求
1.一種基于復(fù)合詞的搜索方法的方法,其特征在于,包括對(duì)網(wǎng)頁(yè)庫(kù)保存的各網(wǎng)頁(yè)的詞語(yǔ)組合進(jìn)行頻度統(tǒng)計(jì),所述詞語(yǔ)組合由對(duì)該網(wǎng)頁(yè)進(jìn)行分詞處理獲得的一元詞語(yǔ)組成;為頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合建立復(fù)合詞索引;所述頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合為復(fù)合詞;當(dāng)獲取搜索請(qǐng)求中含有與所述復(fù)合詞匹配的關(guān)鍵詞時(shí),根據(jù)所述復(fù)合詞索引返回搜索結(jié)果。
2.如權(quán)利要求1所述的方法,其特征在于,所述對(duì)網(wǎng)頁(yè)庫(kù)保存的網(wǎng)頁(yè)中的詞語(yǔ)組合進(jìn)行頻度統(tǒng)計(jì)前包括設(shè)置準(zhǔn)備用于統(tǒng)計(jì)詞語(yǔ)組合的復(fù)合詞候選庫(kù),所述復(fù)合詞候選庫(kù)用于存放詞語(yǔ)組合, 以及對(duì)應(yīng)各詞語(yǔ)組合的計(jì)數(shù)器。
3.如權(quán)利要求2所述的方法,其特征在于,所述對(duì)網(wǎng)頁(yè)庫(kù)保存的各網(wǎng)頁(yè)的詞語(yǔ)組合進(jìn)行頻度統(tǒng)計(jì)包括對(duì)于網(wǎng)頁(yè)庫(kù)中的每一網(wǎng)頁(yè),先讀取該網(wǎng)頁(yè)并對(duì)該網(wǎng)頁(yè)進(jìn)行分詞處理;對(duì)所述分詞處理獲得的一元詞語(yǔ)進(jìn)行排列組合,獲得詞語(yǔ)組合;如果所述復(fù)合詞候選庫(kù)中存在獲得的詞語(yǔ)組合,則把對(duì)應(yīng)該詞語(yǔ)組合的計(jì)數(shù)器數(shù)值加 如果所述復(fù)合詞候選庫(kù)中不存在獲得的詞語(yǔ)組合,則在所述復(fù)合詞候選庫(kù)用于增加該詞語(yǔ)組合,并把對(duì)應(yīng)該詞語(yǔ)組合的計(jì)數(shù)器數(shù)值設(shè)定為一。
4.如權(quán)利要求3所述的方法,其特征在于,所述對(duì)所述分詞處理獲得的一元詞語(yǔ)進(jìn)行排列組合,獲得詞語(yǔ)組合前還包括設(shè)置排列組合的排列規(guī)則,所述排列規(guī)則用于指示對(duì)所述分詞處理獲得的一元詞語(yǔ)按照設(shè)置的規(guī)則進(jìn)行排列組合。
5.如權(quán)利要求1-4任一項(xiàng)所述的方法,其特征在于,所述當(dāng)獲取搜索請(qǐng)求中含有與所述復(fù)合詞匹配的關(guān)鍵詞時(shí)根據(jù)所述復(fù)合詞索引返回搜索結(jié)果包括將獲取的搜索請(qǐng)求與復(fù)合詞匹配;匹配成功后,利用所述復(fù)合詞索引進(jìn)行搜索運(yùn)算,并返回該搜索運(yùn)算后的結(jié)果。
6.一種搜索引擎服務(wù)器,其特征在于,包括頻度統(tǒng)計(jì)單元,用于對(duì)網(wǎng)頁(yè)庫(kù)保存的各網(wǎng)頁(yè)的詞語(yǔ)組合進(jìn)行頻度統(tǒng)計(jì),所述詞語(yǔ)組合由對(duì)該網(wǎng)頁(yè)進(jìn)行分詞處理獲得的一元詞語(yǔ)組成;篩選單元,用于篩選頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合,所述頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合為復(fù)合詞;生成單元,用于為所述復(fù)合詞建立復(fù)合詞索引;搜索處理單元,當(dāng)獲取搜索請(qǐng)求中含有與所述復(fù)合詞匹配的關(guān)鍵詞時(shí),根據(jù)所述復(fù)合詞索引返回搜索結(jié)果。
7.如權(quán)利要求6所述的搜索引擎服務(wù)器,其特征在于,還包括設(shè)置存儲(chǔ)單元,用于設(shè)置準(zhǔn)備用于統(tǒng)計(jì)詞語(yǔ)組合的復(fù)合詞候選庫(kù),所述復(fù)合詞候選庫(kù)用于存放詞語(yǔ)組合,以及對(duì)應(yīng)各詞語(yǔ)組合的計(jì)數(shù)器。
8.如權(quán)利要求7所述的搜索引擎服務(wù)器,其特征在于,所述頻度統(tǒng)計(jì)單元包括分詞模塊,用于讀取網(wǎng)頁(yè)庫(kù)中的每一網(wǎng)頁(yè)并對(duì)該網(wǎng)頁(yè)進(jìn)行分詞處理; 排列模塊,用于對(duì)所述分詞模塊分詞處理獲得的一元詞語(yǔ)進(jìn)行排列組合,獲得詞語(yǔ)組合;判斷模塊,用于在所述排列模塊獲得詞語(yǔ)組合后,判斷所述復(fù)合詞候選庫(kù)中是否存在獲得的詞語(yǔ)組合;統(tǒng)計(jì)模塊,用于在所述判斷模塊判斷復(fù)合詞候選庫(kù)中存在獲得的詞語(yǔ)組合,則把對(duì)應(yīng)該詞語(yǔ)組合的計(jì)數(shù)器數(shù)值加一;否則,在所述復(fù)合詞候選庫(kù)用于增加該詞語(yǔ)組合,并把對(duì)應(yīng)該詞語(yǔ)組合的計(jì)數(shù)器數(shù)值設(shè)定為一。
9.如權(quán)利要求8所述的搜索引擎服務(wù)器,其特征在于,所述頻度統(tǒng)計(jì)單元還包括規(guī)則設(shè)置模塊,用于設(shè)置排列組合的排列規(guī)則,所述排列規(guī)則用于指示對(duì)所述分詞處理獲得的一元詞語(yǔ)按照設(shè)置的規(guī)則進(jìn)行排列組合。
10.如權(quán)利要求6-9任一項(xiàng)所述的搜索引擎服務(wù)器,其特征在于,所述搜索處理單元還包括獲取模塊,用于獲取用戶的搜索請(qǐng)求; 匹配模塊,用于將獲取的搜索請(qǐng)求與復(fù)合詞匹配;運(yùn)算模塊,用于利用所述復(fù)合詞索引進(jìn)行搜索運(yùn)算,并返回該搜索運(yùn)算后的結(jié)果。
全文摘要
本發(fā)明公開(kāi)了一種基于復(fù)合詞的搜索方法的方法,包括對(duì)網(wǎng)頁(yè)庫(kù)保存的各網(wǎng)頁(yè)的詞語(yǔ)組合進(jìn)行頻度統(tǒng)計(jì),所述詞語(yǔ)組合由對(duì)該網(wǎng)頁(yè)進(jìn)行分詞處理獲得的一元詞語(yǔ)組成;為頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合建立復(fù)合詞索引;所述頻度大于預(yù)設(shè)閾值的詞語(yǔ)組合為復(fù)合詞;當(dāng)獲取搜索請(qǐng)求中含有與所述復(fù)合詞匹配的關(guān)鍵詞時(shí),根據(jù)所述復(fù)合詞索引返回搜索結(jié)果。相應(yīng)的,本發(fā)明公開(kāi)了一種搜索引擎服務(wù)器。能夠通過(guò)建立復(fù)合詞索引,減少對(duì)用戶輸入的檢索語(yǔ)的拆分粒度,提高搜索效率,降低運(yùn)算時(shí)間,從而能夠較快的響應(yīng)用戶的搜索請(qǐng)求。
文檔編號(hào)G06F17/30GK102200984SQ20101013807
公開(kāi)日2011年9月28日 申請(qǐng)日期2010年3月24日 優(yōu)先權(quán)日2010年3月24日
發(fā)明者劉致遠(yuǎn) 申請(qǐng)人:深圳市騰訊計(jì)算機(jī)系統(tǒng)有限公司