專利名稱:一種基于用戶行為信息的搜索引擎檢索結(jié)果重排序方法
技術(shù)領(lǐng)域:
本發(fā)明屬于互聯(lián)網(wǎng)信息處理領(lǐng)域,特別是涉及信息檢索系統(tǒng),具體說(shuō)是利用群體用戶行為信息,對(duì)搜索引擎檢索結(jié)果進(jìn)行重排序,提高檢索排序性能的處理方法。
背景技術(shù):
搜索引擎是以一定的策略收集互聯(lián)網(wǎng)上的信息,對(duì)信息進(jìn)行組織和處理后為用戶提供網(wǎng)絡(luò)信息服務(wù)的計(jì)算機(jī)系統(tǒng),它包括計(jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)硬件系統(tǒng)以及在硬件系統(tǒng)上運(yùn)行的軟件程序三個(gè)部分。它的主要作用是幫助用戶快捷、高效的獲取存在于互聯(lián)網(wǎng)信息環(huán)境中的能夠滿足用戶需求的高質(zhì)量信息。
目前,通用網(wǎng)絡(luò)搜索引擎主要包含信息收集、信息處理和用戶查詢服務(wù)三部分。搜索引擎通過(guò)被稱為網(wǎng)絡(luò)蜘蛛(Spider)的工具根據(jù)站點(diǎn)或頁(yè)面的URL信息和網(wǎng)頁(yè)之間的鏈接關(guān)系進(jìn)行信息收集,用鏈接信息分析器、文本分析器以及索引器對(duì)抓取的頁(yè)面信息進(jìn)行整理,進(jìn)而通過(guò)查詢服務(wù)器負(fù)責(zé)與用戶交交互,根據(jù)用戶提交的查詢關(guān)鍵詞進(jìn)行檢索,并返回相關(guān)結(jié)果列表,提供相關(guān)信息以滿足用戶的查詢需求。
從使用者的角度看,搜索引擎提供一個(gè)包含搜索框的頁(yè)面,用戶在搜索框輸入能反映自己需求的查詢關(guān)鍵詞,通過(guò)瀏覽器提交給搜索引擎后,搜索引擎返回和用戶輸入的內(nèi)容相關(guān)的搜索結(jié)果信息列表,用戶進(jìn)行點(diǎn)擊相關(guān)結(jié)果頁(yè)面,查找所需要的信息。
查詢服務(wù)器中的一個(gè)關(guān)鍵技術(shù)是對(duì)相關(guān)的文檔進(jìn)行有效排序,使得用戶想要的頁(yè)面排在返回結(jié)果的前列位置,相關(guān)信息更容易被訪問(wèn)到。從20世紀(jì)60年代中期以來(lái),人們提出了大量的文本相似度模型。90年代后,隨著Web頁(yè)面的大規(guī)模出現(xiàn),部分相似度模型應(yīng)用到了網(wǎng)絡(luò)信息搜索引擎上,其主要的思想就是“TF*IDF”。當(dāng)前應(yīng)用廣泛的模型主要有布爾模型(Boolean Model),統(tǒng)計(jì)模型(Statistical Model)和語(yǔ)言知識(shí)模型(Linguistic andKnowledge-based Model)。由于這類相似度模型基本上都是基于普通文本檢索提出的,和真實(shí)網(wǎng)絡(luò)環(huán)境上的Web文本信息有一定的區(qū)別。另外,各Web站點(diǎn)為提高搜索結(jié)果排名,利用相關(guān)Spam技術(shù),如在各自的頁(yè)面中添加各種關(guān)鍵詞,欺騙搜索引擎,提升搜索結(jié)果排名,提高站點(diǎn)知名度。
由于網(wǎng)絡(luò)檢索的特殊性,用戶提交關(guān)鍵詞進(jìn)行搜索時(shí),其目標(biāo)頁(yè)面并不一定完全是和查詢關(guān)鍵詞相關(guān)的內(nèi)容,用戶一般也難于用簡(jiǎn)單的幾個(gè)關(guān)鍵詞對(duì)其想要的目標(biāo)頁(yè)面進(jìn)行合理描述,很多實(shí)際檢索任務(wù)往往轉(zhuǎn)化為查找相關(guān)的關(guān)鍵資源頁(yè)面。關(guān)鍵資源頁(yè)面通常是指一系列相關(guān)信息頁(yè)面的入口頁(yè)面,即用戶能通過(guò)該頁(yè)面很容易找到自己想要的信息,和傳統(tǒng)的文本信息檢索有很大的不同。
90年代中后期,針對(duì)已有的網(wǎng)絡(luò)環(huán)境和網(wǎng)絡(luò)用戶的需求特點(diǎn),人們開(kāi)始對(duì)Web頁(yè)面的質(zhì)量問(wèn)題進(jìn)行相關(guān)研究和考察,其中最主要的依據(jù)是網(wǎng)絡(luò)頁(yè)面上的超鏈接結(jié)構(gòu)。超鏈接結(jié)構(gòu)是網(wǎng)絡(luò)信息環(huán)境與傳統(tǒng)的信息媒介的最大區(qū)別之一,是指兩個(gè)頁(yè)面或頁(yè)面的兩個(gè)不同部分之間的一種指向關(guān)系,包含源頁(yè)面和目標(biāo)頁(yè)面,基于鏈接結(jié)構(gòu)提出的技術(shù)主要有Pagerank和Hits等算法。Pagerank算法是Google公司的Brin等人根據(jù)因特網(wǎng)用戶瀏覽模型建立的超鏈接分析算法,其主要利用超鏈接關(guān)系對(duì)不同頁(yè)面進(jìn)行一定的質(zhì)量評(píng)級(jí),用頁(yè)面對(duì)應(yīng)的評(píng)級(jí)結(jié)果對(duì)搜索引擎的搜索結(jié)果進(jìn)行改進(jìn),把頁(yè)面質(zhì)量高且相關(guān)性好的頁(yè)面排在結(jié)果前列返回給用戶,能很大程度的提高了實(shí)際用戶檢索的滿意度。Pagerank算法的基本架構(gòu)和實(shí)現(xiàn)思路因此也在實(shí)際商用搜索引擎的應(yīng)用中取得了巨大成功。
事實(shí)上,盡管各種新模型新技術(shù)在搜索引擎中被使用,但還是沒(méi)法很好的滿足檢索用戶對(duì)信息查詢的滿意度。為盡量提高搜索引擎的搜索性能,很多實(shí)際的搜索引擎站點(diǎn)使用一些人工挑選的手段的來(lái)提高部分查詢?cè)~的檢索性能,挑選那些用戶經(jīng)常使用且目標(biāo)唯一的查詢?cè)~(通常為導(dǎo)航類查詢?cè)~,如“搜狐www.sohu.com”,)。當(dāng)用戶檢索時(shí),把人工挑選的相關(guān)檢索目標(biāo)頁(yè)面融合在自動(dòng)檢索的頁(yè)面中,通常如放在返回結(jié)果頁(yè)面前幾位。但由于人工挑選帶來(lái)的投入代價(jià)太大,而且很難對(duì)更大規(guī)模的查詢進(jìn)行人工挑選。
在實(shí)際商用搜索引擎中,用戶對(duì)查詢返回結(jié)果會(huì)按照自己的理解和滿意程度進(jìn)行點(diǎn)擊,很容易對(duì)用戶的該點(diǎn)擊行為進(jìn)行記錄,該記錄通常也被稱為搜索引擎日志。查詢記錄點(diǎn)擊信息不但體現(xiàn)了用戶的查詢興趣,也包含了用戶對(duì)查詢結(jié)果判斷和挑選,蘊(yùn)含了大量的群體用戶的知識(shí)和信息,從用戶的查詢點(diǎn)擊信息中篩選相關(guān)的查詢和結(jié)果頁(yè)面是可行的。已有統(tǒng)計(jì)研究表明,在日常的用戶搜索中,查詢最頻繁的1%的查詢?cè)~占了70%以上的查詢次數(shù),因此只要對(duì)用戶點(diǎn)擊信息進(jìn)行統(tǒng)計(jì),找出那些常用的用戶查詢,則能代表大多數(shù)用戶查詢需求,分析其相關(guān)用戶點(diǎn)擊行為信息,并融合到搜索引擎結(jié)果中去,則能自動(dòng)利用群體用戶的知識(shí)提高檢索性能。
發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有各種檢索排序算法存在的不足以及人工挑選所需要的大量勞動(dòng)力和時(shí)效性的不足,提出了基于用戶行為信息的搜索引擎檢索結(jié)果重排序方法。該方法利用已有的在一家或多家搜索引擎上的用戶查詢及其點(diǎn)擊行為信息,對(duì)其進(jìn)行宏觀統(tǒng)計(jì)分析,對(duì)那些用戶近期常用的查詢挑選用戶最關(guān)注的幾個(gè)目標(biāo)頁(yè)面,融合到搜索引擎返回的原始結(jié)果之中對(duì)其結(jié)果頁(yè)面改進(jìn),作為最終查詢結(jié)果返回給用戶。利用多家搜索引擎的用戶查詢點(diǎn)擊行為信息能很好的避免因單個(gè)搜索引擎索引數(shù)據(jù)規(guī)模和檢索排序策略給用戶點(diǎn)擊帶來(lái)的偏向性和不足,但收集多家搜索引擎用戶日志信息有一定的難度;利用近期的信息能很好的保持一定的時(shí)效性;利用用戶點(diǎn)擊的信息返回的結(jié)果頁(yè)面有一定的用戶認(rèn)同感,把其作為結(jié)果頁(yè)面的一部分,能提高結(jié)果的準(zhǔn)確度和用戶的滿意度。上述處理過(guò)程都是由計(jì)算機(jī)自動(dòng)完成,因此,在提高性能的基礎(chǔ)上大量的減少了人工輔助檢索勞動(dòng),并能及時(shí)、準(zhǔn)確、有效、客觀的返回結(jié)果頁(yè)面和滿足用戶需求。
該方法的具體內(nèi)容如下1.利用查詢的用戶數(shù)等信息,自動(dòng)篩選出具有時(shí)效性,能包含大部分用戶查詢需求,且能夠較準(zhǔn)確標(biāo)注的查詢;2.根據(jù)用戶行為信息,計(jì)算各查詢對(duì)應(yīng)的用戶點(diǎn)擊頁(yè)面的點(diǎn)擊率,若利用多搜索引擎的用戶行為日志,則進(jìn)行相關(guān)合并,得到合并后各查詢的用戶點(diǎn)擊率;3.根據(jù)各查詢對(duì)應(yīng)頁(yè)面的用戶點(diǎn)擊率,篩選出該查詢的結(jié)果頁(yè)面;4.當(dāng)用戶查詢時(shí),將標(biāo)出的查詢結(jié)果融合到搜索引擎返回的結(jié)果中去,并最終顯示給用戶。
本發(fā)明的特征在于它是在計(jì)算機(jī)上自動(dòng)完成的,依次含有如下步驟步驟1用戶常用查詢集篩選步驟1.1數(shù)據(jù)預(yù)處理用于利用用戶行為信息的搜索引擎檢索結(jié)果重排序所使用的查詢集、查詢對(duì)應(yīng)的結(jié)果頁(yè)面以及頁(yè)面篩選過(guò)程中所使用的相關(guān)信息來(lái)源于一個(gè)或多個(gè)搜索引擎的用戶日志,對(duì)于這些搜索引擎用戶日志,它至少需要包含以下內(nèi)容信息才能用于搜索引擎結(jié)果重排序的方法中表1 供基于用戶行為信息的搜索引擎檢索結(jié)果重排序所使用的用戶日志需包含的內(nèi)容
一般搜索引擎服務(wù)提供商都可以很容易的通過(guò)搜索引擎網(wǎng)絡(luò)服務(wù)器得到以上信息,從而保證了本方法的可行性。由于各個(gè)搜索引擎對(duì)其用戶日志存儲(chǔ)格式和表現(xiàn)形式上有所不同,具體處理過(guò)程略有差別,但基本上都需要如下步驟對(duì)用戶日志進(jìn)行預(yù)處理步驟1.1.1進(jìn)行用戶日志編碼轉(zhuǎn)換,將服務(wù)器記錄的編碼格式轉(zhuǎn)換成國(guó)家標(biāo)準(zhǔn)漢字編碼的GBK格式。
步驟1.1.2利用表1中列出的內(nèi)容項(xiàng)對(duì)用戶日志進(jìn)行整理,去除表1內(nèi)容項(xiàng)之外的信息,并將日志整理成以上內(nèi)容項(xiàng)字符串的形式。
步驟1.1.3利用字符串匹配技術(shù)(如KMP算法)過(guò)濾用戶查詢中的噪聲信息,包括違禁查詢?cè)~、某些在線商品推廣使用的查詢?cè)~等,僅保留直接反映搜索引擎普通用戶查詢需求與行為的內(nèi)容項(xiàng)。
經(jīng)過(guò)數(shù)據(jù)預(yù)處理過(guò)程,可以從中提取表1中列舉的內(nèi)容,并應(yīng)用于方法的以下步驟。
步驟1.2查詢用戶數(shù)信息提取按以下規(guī)則統(tǒng)計(jì)各個(gè)查詢的用戶數(shù)信息對(duì)于日志中用戶提交的某查詢Q,對(duì)提交過(guò)該查詢Q的用戶數(shù)進(jìn)行計(jì)數(shù)得到。
對(duì)于每一個(gè)提交的查詢,其用戶數(shù)都是一個(gè)大于等于1的值。查詢的用戶數(shù)信息包含了人們對(duì)該查詢的關(guān)注度。由于查詢的用戶數(shù)和日志記錄的時(shí)間有很大關(guān)系,為保持一定的時(shí)效性,選擇最近一個(gè)月或半個(gè)月的日志作為數(shù)據(jù)源。
步驟1.3常用查詢集篩選按照以下規(guī)則挑選常用查詢集合S若某查詢Q在搜索引擎日志中其查詢用戶數(shù)小于20,則排除在S之外;否則把該查詢Q放入常用查詢集合S中。
用查詢的用戶數(shù)對(duì)查詢主題進(jìn)行一定的篩選,挑選那些用戶數(shù)較多的查詢是因?yàn)檫@些查詢占據(jù)了大量的用戶查詢,用少量的用戶查詢?cè)~集合滿足大部分用戶的查詢需求,并能保證所選擇的查詢反應(yīng)當(dāng)前用戶的關(guān)注趨勢(shì)和熱點(diǎn),保證時(shí)效性和關(guān)注度,有一定的代表性。另外,挑選那些用戶數(shù)較多的查詢,能提高步驟2中計(jì)算用戶點(diǎn)擊率信息的可靠性和穩(wěn)定性,減少因個(gè)別用戶的點(diǎn)擊行為帶來(lái)較大的波動(dòng)。
步驟2用戶點(diǎn)擊率信息提取步驟2.1用戶點(diǎn)擊率信息提取對(duì)于查詢集合S中的每個(gè)查詢Q,都有一系列被點(diǎn)擊的結(jié)果頁(yè)面,通過(guò)表1提供的用戶查詢和點(diǎn)擊信息,可以得到這一系列被點(diǎn)擊頁(yè)面的地址URL,并針對(duì)該查詢計(jì)算每個(gè)頁(yè)面URL的“用戶點(diǎn)擊率”,即頁(yè)面被點(diǎn)擊的概率。查詢Q的某一結(jié)果頁(yè)面URL的“用戶點(diǎn)擊率”計(jì)算公式是 其中,“查詢Q用戶點(diǎn)擊查詢結(jié)果URL的次數(shù)”可以通過(guò)對(duì)查詢Q中點(diǎn)擊結(jié)果URL的用戶行為計(jì)數(shù)得到,而“查詢Q用戶的點(diǎn)擊總次數(shù)”可以通過(guò)對(duì)查詢Q的所有用戶點(diǎn)擊行為計(jì)數(shù)得到。
按照其定義,由于“查詢Q用戶點(diǎn)擊查詢結(jié)果URL的次數(shù)”必然小于等于“查詢Q用戶的點(diǎn)擊總次數(shù)”,因此“用戶點(diǎn)擊率”的取值范圍在0和1之間。對(duì)查詢Q,所有被點(diǎn)擊的結(jié)果頁(yè)面URL的“用戶點(diǎn)擊率”之和為1。
“用戶點(diǎn)擊率”描述對(duì)于查詢Q,該結(jié)果頁(yè)面URL的認(rèn)可度,其值越大,表示更多用戶對(duì)該頁(yè)面URL和查詢Q關(guān)系認(rèn)可,可作為該查詢和URL相關(guān)度的一個(gè)有效度量。
步驟2.2多搜索引擎用戶點(diǎn)擊率信息合并使用單搜索引擎日志信息在日志數(shù)據(jù)獲取上相對(duì)比較容易,但其存在著檢索數(shù)據(jù)有限和搜索引擎排序引導(dǎo)偏向的不足,如果能使用多搜索引擎的用戶日志,其性能提高將更加理想。
用概率表達(dá)式P(URL|查詢Q)表示合并后對(duì)查詢Q結(jié)果頁(yè)面URL的“用戶點(diǎn)擊率”信息,使用條件分布的全概率公式得到其計(jì)算公式如下 由概率的相關(guān)概念可以知道P(URL|查詢Q)的取值范圍必然在0至1之間。其中,P(URL|SEi,查詢Q)表示在搜索引擎日志SEi中,對(duì)于查詢Q,點(diǎn)擊結(jié)果頁(yè)面URL的點(diǎn)擊率,用(1)式計(jì)算該結(jié)果頁(yè)面URL在搜索引擎SEi上的“用戶點(diǎn)擊率”得到。P(SEi|查詢Q)表示對(duì)于查詢Q,搜索引擎用戶日志SEi給出的支持度,用如下(3)式計(jì)算的“SEi查詢可信度”得到 由(3)可知該“查詢可信度”是一取值范圍在0至1之間,且該查詢的各搜索引擎“查詢可信度”之和為1,該值是各搜索引擎日志關(guān)于該查詢用戶點(diǎn)擊率的合并權(quán)重。
合并后查詢的“用戶點(diǎn)擊率”排除了單個(gè)搜索引擎日志上得到的“用戶點(diǎn)擊率”存在的不足,對(duì)于檢索排序性能提高效果更好(見(jiàn)相關(guān)驗(yàn)證實(shí)驗(yàn))。
步驟3利用用戶行為信息進(jìn)行搜索引擎檢索結(jié)果改進(jìn)步驟3.1查詢結(jié)果頁(yè)面篩選對(duì)于某一查詢Q對(duì)應(yīng)的結(jié)果頁(yè)面集,按以下兩種方法之一確定相關(guān)結(jié)果頁(yè)面固定點(diǎn)擊率和法對(duì)于查詢Q,其“用戶點(diǎn)擊率”最大的連續(xù)前M個(gè)頁(yè)面即是其查詢Q對(duì)應(yīng)的從搜索引擎用戶日志中得到的結(jié)果頁(yè)面,其中M滿足從融合后“用戶點(diǎn)擊率”最大的頁(yè)面開(kāi)始,連續(xù)前M個(gè)頁(yè)面的融合后“用戶點(diǎn)擊點(diǎn)擊率”之和大于0.8,但連續(xù)前M-1個(gè)頁(yè)面的融合后“用戶點(diǎn)擊率”之和小于0.8,且該M個(gè)頁(yè)面的“用戶點(diǎn)擊率”都大于0.1。
該方法確定的各個(gè)查詢對(duì)應(yīng)的結(jié)果數(shù)可能有所不同,對(duì)于用戶點(diǎn)擊率集中度高的查詢,一般只返回極少個(gè)別的頁(yè)面;對(duì)于用戶點(diǎn)擊率相對(duì)比較分散的查詢,可能返回較多的頁(yè)面。
固定結(jié)果頁(yè)面數(shù)法對(duì)于查詢Q,其“用戶點(diǎn)擊率”最大的連續(xù)前n個(gè)頁(yè)面是其對(duì)應(yīng)的所需結(jié)果頁(yè)面,其中n滿足該n個(gè)頁(yè)面對(duì)應(yīng)的“用戶點(diǎn)擊率”都大于0.1,且n為小于等于N的最大整數(shù),N為一常數(shù),通常為3。
該方法確定結(jié)果的頁(yè)面?zhèn)€數(shù),對(duì)所有的查詢其結(jié)果頁(yè)面數(shù)都不超過(guò)N個(gè),且每一個(gè)查詢結(jié)果都有一定的可信度。
實(shí)際中,對(duì)于導(dǎo)航類查詢,其結(jié)果頁(yè)面比較唯一且確定,因此使用固定結(jié)果頁(yè)面數(shù)法比較合適;對(duì)于信息類查詢,其結(jié)果頁(yè)面多樣化,數(shù)目不確定,因此使用固定點(diǎn)擊率和法比較合適。
通過(guò)上述步驟確定了能夠融合用戶行為信息檢索排序的查詢,以及其對(duì)應(yīng)的從日志中獲得的結(jié)果頁(yè)面,將其以一定形式存儲(chǔ)起來(lái)(如數(shù)據(jù)庫(kù))。
步驟3.2指定搜索引擎原始檢索結(jié)果的獲取當(dāng)用戶向指定搜索引擎提交相關(guān)查詢關(guān)鍵詞進(jìn)行查詢時(shí),把該查詢提交給指定的搜索引擎,搜索引擎將返回查詢相關(guān)的排好序的結(jié)果頁(yè)面集,并有計(jì)算得到的頁(yè)面相關(guān)度信息。
若沒(méi)有獨(dú)立的搜索引擎,可抓取特定的搜索引擎結(jié)果頁(yè)面(實(shí)驗(yàn)中使用了該方法),抓取方法如下首先選用一種互聯(lián)網(wǎng)網(wǎng)頁(yè)抓取程序,如wget,F(xiàn)lashGet等,以便利用這個(gè)工具對(duì)相應(yīng)的URL的網(wǎng)頁(yè)進(jìn)行抓取。其次根據(jù)查詢Q的不同,利用模式替換的方式生成對(duì)應(yīng)Q的搜索引擎結(jié)果頁(yè)面的URL。不同搜索引擎結(jié)果頁(yè)面URL記錄Q的方式不同。但搜索引擎都需要在URL中記錄Q以便向服務(wù)器傳遞Q的信息。如使用Baidu搜索引擎,其對(duì)應(yīng)Q的結(jié)果頁(yè)面URL是http//www.baidu.com/baidu?wd=Q。最后,調(diào)用網(wǎng)頁(yè)抓取程序,自動(dòng)抓取該URL對(duì)應(yīng)的頁(yè)面,并獲取查詢Q對(duì)應(yīng)的查詢結(jié)果頁(yè)面。
步驟3.3基于用戶行為信息的檢索結(jié)果合并當(dāng)用戶提交查詢Q進(jìn)行查詢時(shí),將其分別提交給搜索引擎(步驟3.2)和從步驟3.1篩選得到的查詢結(jié)果集數(shù)據(jù)庫(kù)中,返回得到該查詢的兩個(gè)結(jié)果頁(yè)面序列,分別命名為序列SEQ和序列LOG。若從用戶日志得到的查詢集數(shù)據(jù)庫(kù)中不包含該查詢Q,則不進(jìn)行如下處理,直接返回搜索引擎查詢結(jié)果序列SE。否則,按如下方法融合上述兩個(gè)序列的結(jié)果頁(yè)面,并作為最終返回結(jié)果頁(yè)面集返回給用戶首先,按“用戶點(diǎn)擊率”的大小依次取序列LOG中的每一個(gè)結(jié)果頁(yè)面,放入最終返回結(jié)果頁(yè)面集中,至取完為止;其次,按SEQ序列中已有的順序,依次取其中的每一個(gè)結(jié)果頁(yè)面,至取完為止,如果該頁(yè)面已經(jīng)出現(xiàn)在最終返回結(jié)果頁(yè)面集中,則不再取該頁(yè)面。
經(jīng)過(guò)上述步驟,完成了將用戶的點(diǎn)擊行為信息融合到搜索引擎返回的結(jié)果中去,包含了大量用戶的知識(shí)和信息,通過(guò)實(shí)驗(yàn)可以看到其能提高搜索引擎的檢索排序性能。
為了驗(yàn)證本發(fā)明的有效性、可靠性和應(yīng)用性,我們?cè)O(shè)計(jì)和測(cè)試了相關(guān)的驗(yàn)證實(shí)驗(yàn)。
從數(shù)據(jù)源上,我們使用了4個(gè)常用搜索引擎的用戶查詢?nèi)罩?。另外,選擇了約320個(gè)用戶查詢,并使用結(jié)果池過(guò)濾技術(shù)(Pooling,由美國(guó)國(guó)家技術(shù)研究所NIST組織的文本檢索會(huì)議TREC提出),對(duì)這些查詢進(jìn)行了人工答案集標(biāo)注,作為測(cè)試答案。Pooling池包括國(guó)內(nèi)搜狗,百度,Google,中搜,雅虎,新浪等各大著名搜索引擎,每個(gè)搜索引擎返回前20個(gè)結(jié)果作為池中的備選答案。在驗(yàn)證實(shí)驗(yàn)中使用信息檢索中常用的平均檢索精度(MAP)進(jìn)行性能的評(píng)價(jià)。
搜索引擎很容易記錄其自身用戶訪問(wèn)的情況,進(jìn)而可以得到關(guān)于該單個(gè)搜索引擎的用戶行為信息,進(jìn)行相關(guān)檢索結(jié)果重排序。利用獲取的2007年3月1日至4月8日的搜索引擎用戶日志,利用對(duì)搜狗搜索引擎結(jié)果頁(yè)面抓取的方式驗(yàn)證本方法的性能。表2列出了使用固定結(jié)果頁(yè)面數(shù)法篩選查詢結(jié)果頁(yè)面時(shí),使用不同N值融合后的性能提高情況,可以看到其基本上有5%以上的提高。
表2 融合單搜索引擎用戶行為信息的檢索性能提高情況
另外,利用多家搜索用戶日志,對(duì)融合多搜索引擎用戶行為信息查詢排序進(jìn)行驗(yàn)證??疾炝似鋵?duì)6家常用搜索引擎結(jié)果重排序后性能改進(jìn)情況,使用了固定結(jié)果頁(yè)面數(shù)法篩選查詢結(jié)果頁(yè)面,取N為3。表3顯示各搜索引擎性能提高情況,可以看到該方法能平均提高15%的評(píng)價(jià)性能,尤其對(duì)原有性能較差的搜索引擎,其提高幅度非常明顯,如新浪和中搜。同樣比較搜狗搜索引擎的情況,使用單搜索引擎用戶行為信息時(shí),其提高了6.9%(見(jiàn)表2),使用多搜索引擎用戶行為信息后其提高了13.6%(見(jiàn)表3),提高效果更加明顯。
表3 融合多搜索引擎用戶行為信息的檢索性能提高情況
本發(fā)明能夠自動(dòng)的從單個(gè)或多個(gè)搜索引擎日志中篩選出用戶關(guān)注的查詢以及這些查詢對(duì)應(yīng)的可信度高的結(jié)果頁(yè)面,進(jìn)而當(dāng)用戶進(jìn)行查詢時(shí),把相關(guān)結(jié)果融合在搜索引擎返回的結(jié)果中,提供給用戶。該方法處理簡(jiǎn)單,算法復(fù)雜度低,能有效的利用已有的搜索引擎用戶行為信息,使用群體用戶的智慧來(lái)改進(jìn)搜索引擎的檢索結(jié)果,提高性能。在測(cè)試數(shù)據(jù)上取得了很好的結(jié)果,提高了搜索引擎的檢索性能。這說(shuō)明本發(fā)明具有較好的推廣性和適應(yīng)性,能對(duì)搜索引擎的搜索結(jié)果有效改進(jìn),具有良好的應(yīng)用前景。
圖1.搜索引擎基本流程架構(gòu);圖2.基于用戶行為信息的搜索引擎檢索結(jié)果重排序方法的流程;圖3.多搜索引擎用戶點(diǎn)擊率合并算法;圖4.結(jié)果頁(yè)面篩選的兩種方法流程;圖5.用戶行為信息結(jié)構(gòu)。
具體實(shí)施例方式
附圖2描述了本方法的流程。本發(fā)明對(duì)于搜索引擎性能的提高,具有廣泛的適應(yīng)性和應(yīng)用性。下面利用四個(gè)常用搜索引擎的日志進(jìn)行融合多搜索引擎用戶行為信息的檢索結(jié)果重排序,就以上方法進(jìn)行詳細(xì)的流程說(shuō)明1.數(shù)據(jù)預(yù)處理所使用的日志包括在2007年3月18號(hào)至2007年4月23號(hào)的37天時(shí)間內(nèi)收集到的四個(gè)常用搜索引擎的用戶查詢點(diǎn)擊信息記錄,共有非空查詢點(diǎn)擊信息58,092,696條(四個(gè)搜索引擎分別有32,983,339條,11,159,594條,3,450,045條,10,499,718條)。記錄中的包括的信息有表4搜狗搜索引擎提供的4個(gè)常用搜索引擎用戶日志包含信息項(xiàng)
FromUrl信息中包含了該日志所屬的搜索引擎。通常,該地址的變量中包含了相關(guān)的查詢關(guān)鍵詞。ToUrl即用戶點(diǎn)擊結(jié)果頁(yè)面。因此,這些日志包含了表1所對(duì)應(yīng)的數(shù)據(jù)信息項(xiàng),可以提供融合排序中所需的用戶行為信息。
日志的預(yù)處理包括過(guò)濾非搜索引擎日志記錄(如搜索引擎的站內(nèi)互相跳轉(zhuǎn)等);對(duì)搜索引擎日志按搜索引擎進(jìn)行分類,得到四個(gè)常用搜索引擎各自的用戶查詢點(diǎn)擊信息記錄;從FromUrl的變量中提取相關(guān)的查詢關(guān)鍵詞部分,進(jìn)行URL轉(zhuǎn)碼,并最終統(tǒng)一轉(zhuǎn)碼成GBK編碼;過(guò)濾記錄中非表1所需要的無(wú)用信息以及相關(guān)噪音信息;對(duì)相同查詢的用戶點(diǎn)擊信息進(jìn)行組織,計(jì)算各查詢的用戶數(shù),查詢對(duì)應(yīng)的各點(diǎn)擊頁(yè)面的用戶點(diǎn)擊數(shù)等信息。
2.常用查詢集篩選搜索引擎的用戶查詢有一定的重復(fù)性和密集性,對(duì)于用戶關(guān)心的查詢,會(huì)經(jīng)常被查詢用戶提交。查詢的密集性和重復(fù)性也是我們利用已有的用戶行為信息提高檢索性能的依據(jù)和保障。
以下為查詢集合的篩選過(guò)程,如果使用多家搜索引擎日志,則在各個(gè)日志上獨(dú)立進(jìn)行考察和篩選。
單搜索引擎日志上的常用查詢篩選流程每個(gè)搜索引擎日志經(jīng)過(guò)預(yù)處理后,對(duì)于每個(gè)查詢Q根據(jù)其查詢用戶數(shù)進(jìn)行篩選,如果總查詢次數(shù)少于20,則認(rèn)為這個(gè)查詢沒(méi)有足夠的宏觀用戶點(diǎn)擊行為信息,無(wú)法進(jìn)行有效的分析,同時(shí)該查詢也缺少足夠的代表性來(lái)描述用戶所關(guān)心的話題,剔除該查詢。否則,將該查詢進(jìn)行保留。根據(jù)以前對(duì)搜狗日志進(jìn)行分析后發(fā)現(xiàn),用戶查詢次數(shù)大于100的查詢超過(guò)3萬(wàn)個(gè),而用戶在這部分查詢上的總點(diǎn)擊次數(shù)占到全部點(diǎn)擊次數(shù)的70%左右。這與前人的一些研究結(jié)果相同,即較少數(shù)量的查詢被用戶反復(fù)查詢,占據(jù)了大部分的搜索引擎服務(wù)。
3.用戶點(diǎn)擊率信息獲取對(duì)于每一個(gè)查詢的用戶點(diǎn)擊率,其表示了在同一查詢下,用戶對(duì)各個(gè)結(jié)果頁(yè)面的偏好度。對(duì)于單搜索引擎日志,直接利用(1)式計(jì)算得到每個(gè)查詢下的各個(gè)頁(yè)面的用戶點(diǎn)擊率大小。如果利用多搜索引擎日志,則根據(jù)單搜索引擎的用戶點(diǎn)擊率,通過(guò)(2)式進(jìn)行合并計(jì)算。圖3描述了合并算法,可以得到合并后的用戶點(diǎn)擊率大小。
用戶點(diǎn)擊率包含了宏觀用戶群對(duì)于特定查詢各個(gè)結(jié)果頁(yè)面的判斷信息?;趩嗡阉饕娴挠脩酎c(diǎn)擊率信息其存在著檢索結(jié)果排序引導(dǎo)的偏向和單搜索引擎因資源有限而帶來(lái)的數(shù)據(jù)集的偏向,但其用戶日志收集相對(duì)比較簡(jiǎn)單,易于實(shí)現(xiàn)。基于多搜索引擎的用戶點(diǎn)擊率信息則能很好的避免存在的偏向問(wèn)題,但相對(duì)來(lái)說(shuō)由于各商用搜索引擎存在這競(jìng)爭(zhēng)關(guān)系,獲取日志信息相對(duì)較難。
4.用戶日志結(jié)果篩選和搜索引擎檢索結(jié)果重排序有了每個(gè)查詢及其對(duì)應(yīng)結(jié)果頁(yè)面的用戶點(diǎn)擊率后,需要對(duì)用戶點(diǎn)擊頁(yè)面進(jìn)行篩選。圖4描述了兩種利用已有的用戶點(diǎn)擊率信息對(duì)用戶點(diǎn)擊頁(yè)面進(jìn)行篩選的方法,即固定點(diǎn)擊率和法和固定結(jié)果頁(yè)面數(shù)法。經(jīng)過(guò)篩選后把常用查詢及其對(duì)應(yīng)的標(biāo)出來(lái)的結(jié)果頁(yè)面進(jìn)行數(shù)據(jù)庫(kù)保存,并提供查詢服務(wù)。當(dāng)用戶提交某查詢Q時(shí),將其提交給保存的常用查詢集和對(duì)應(yīng)結(jié)果頁(yè)面的數(shù)據(jù)庫(kù),如果包含該查詢Q,則返回相關(guān)的結(jié)果頁(yè)面,否則,返回為空。同時(shí)將該查詢提交給搜索引擎,得到搜索引擎返回的結(jié)果,按照先挑選由用戶行為信息得到的結(jié)果頁(yè)面,再挑選搜索引擎返回的頁(yè)面的順序生成最終的查詢Q的查詢結(jié)果,返回給用戶。
按照以上步驟,就可以利用宏觀群體搜索引擎用戶的查詢行為信息和智慧,改進(jìn)搜索引擎檢索結(jié)果,提高搜索引擎檢索性能。
權(quán)利要求
1.一種基于用戶行為信息的搜索引擎檢索結(jié)果重排序方法,其特征在于該方法是在搜索引擎的計(jì)算機(jī)上依次按以下步驟實(shí)現(xiàn)的步驟(1).用戶常用查詢集的篩選步驟(1.1).數(shù)據(jù)預(yù)處理通過(guò)搜索引擎網(wǎng)絡(luò)服務(wù)器從至少一個(gè)搜索引擎的用戶日志中提取供基于用戶行為進(jìn)行搜索結(jié)果重排序的用戶信息,形成的用戶信息至少包含以下內(nèi)容Query用戶提交的查詢;URL該查詢對(duì)應(yīng)的用戶點(diǎn)擊的結(jié)果頁(yè)面地址;Id系統(tǒng)自動(dòng)分配給每個(gè)用戶每次使用搜索引擎時(shí)的標(biāo)識(shí)號(hào);所述步驟(1.1)依次含有以下各子步驟步驟(1.1.1).把搜索引擎網(wǎng)絡(luò)服務(wù)器記錄的編碼格式轉(zhuǎn)換成國(guó)家標(biāo)準(zhǔn)漢字編碼的GBK格式;步驟(1.1.2).去除所述Query、URL、Id以外的信息,并把日志信息整理成所述用戶日志的三個(gè)內(nèi)容項(xiàng)字符串的形式;步驟(1.1.3).在步驟(1.1.2)的范圍內(nèi),再利用如KMP的字符串匹配算法過(guò)濾用戶查詢中的噪聲信息,僅保留直接反映搜索引擎普通用戶查詢需求行為的內(nèi)容項(xiàng);步驟(1.2).提取查詢用戶數(shù)信息對(duì)于在設(shè)定的最近時(shí)間段內(nèi)用戶日志中的用戶提交的每一個(gè)查詢Q,統(tǒng)計(jì)提交過(guò)該查詢Q的用戶數(shù),該數(shù)值表示了用戶對(duì)該查詢的關(guān)注度;步驟(1.3).常用查詢集的篩選若某查詢Q在搜索引擎用戶日志中其查詢用戶數(shù)小于設(shè)定值,則排除在常用查詢集合之外;否則,把該查詢Q放在所述常用查詢集合S中;步驟(2).用戶點(diǎn)擊率信息的提取步驟(2.1).單搜索引擎用戶點(diǎn)擊率的提取 步驟(2.2).多搜索引擎下用戶點(diǎn)擊率信息合并,用一個(gè)概率表達(dá)式P(URL|查詢Q)來(lái)表示在合并后對(duì)查詢Q的用戶點(diǎn)擊率的結(jié)果頁(yè)面地址URL的用戶點(diǎn)擊率 其中,P(SEi|查詢Q)表示在第i個(gè)搜索引擎SEi中查詢Q的概率,用SEi查詢可信度表示 P(URL|SEi,查詢Q)表示在搜索引擎日志SEi中,對(duì)于查詢Q,用戶點(diǎn)擊結(jié)果頁(yè)面地址URL的點(diǎn)擊率,用步驟(2.1)中所述的方法求出,i=1,2,...,I,因而P(URL|SEi,查詢Q)取值范圍在0~1之間;步驟(3).利用用戶行為信息進(jìn)行搜索引擎結(jié)果改進(jìn)步驟(3.1).用以下兩種方法之一對(duì)用戶點(diǎn)擊的結(jié)果頁(yè)面進(jìn)行篩選,再把結(jié)果頁(yè)面集保存;固定點(diǎn)擊率和法對(duì)于查詢Q,尋找根據(jù)搜索引擎用戶行為信息的用戶點(diǎn)擊率最大的前M個(gè)頁(yè)面,該M個(gè)頁(yè)面滿足以下條件連續(xù)前M個(gè)頁(yè)面合并后的用戶點(diǎn)擊率之和大于0.8,但連續(xù)前M-1個(gè)頁(yè)面的合并后的用戶點(diǎn)擊率之和小于0.8,而且該M個(gè)頁(yè)面的用戶點(diǎn)擊率都大于0.1;固定結(jié)果頁(yè)面數(shù)法對(duì)于查詢Q,尋找用戶點(diǎn)擊率最大的連續(xù)前n個(gè)頁(yè)面該n個(gè)頁(yè)面對(duì)應(yīng)的用戶點(diǎn)擊率都大于0.1,且n≤3;步驟(3.2).搜索引擎原始檢索結(jié)果的獲取對(duì)于查詢Q,將其提交給指定的搜索引擎得到該搜索引擎的檢索結(jié)果序列;步驟(3.3).基于用戶行為信息的檢索結(jié)果合并當(dāng)用戶向指定搜索引擎提交查詢Q進(jìn)行查詢時(shí),根據(jù)步驟(3.2)得到搜索引擎原始結(jié)果序列SEQ,同時(shí)提交給步驟(3.1)根據(jù)用戶日志信息確定的結(jié)果頁(yè)面集合中查詢得到結(jié)果頁(yè)面序列LOG,按如下方法合并該兩個(gè)序列,將最終結(jié)果返回給用戶按用戶點(diǎn)擊率大小依次取序列LOG中的每一個(gè)結(jié)果頁(yè)面,放入最終返回結(jié)果頁(yè)面集,至取完為止;再取序列SEQ中的每一個(gè)結(jié)果頁(yè)面,放入最終返回結(jié)果頁(yè)面集,至取完為止,若最終返回結(jié)果頁(yè)面集中已經(jīng)存在該結(jié)果頁(yè)面,則放棄該頁(yè)面。
全文摘要
本發(fā)明屬于互聯(lián)網(wǎng)信息處理領(lǐng)域,其特征在于它根據(jù)單個(gè)或多個(gè)搜索引擎日志,首先利用查詢對(duì)應(yīng)的用戶數(shù)信息,從中篩選出用戶關(guān)注的常用查詢集合;隨后計(jì)算常用查詢集中各查詢對(duì)應(yīng)的用戶點(diǎn)擊頁(yè)面對(duì)應(yīng)的用戶點(diǎn)擊率,若利用多搜索引擎日志信息,則對(duì)用戶點(diǎn)擊率進(jìn)行合并;根據(jù)用戶點(diǎn)擊率對(duì)用戶點(diǎn)擊頁(yè)面進(jìn)行有效篩選,并把相關(guān)查詢和對(duì)應(yīng)的結(jié)果頁(yè)面地址保存到相關(guān)數(shù)據(jù)庫(kù);最后,當(dāng)用戶提交查詢需求時(shí),把從用戶信息得到的結(jié)果和搜索引擎搜索得到的結(jié)果進(jìn)行有效融合,重新排序后返回給用戶。該方法具有計(jì)算機(jī)自動(dòng)完成,實(shí)時(shí)有效客觀地提交搜索引擎性能的優(yōu)點(diǎn)。
文檔編號(hào)G06F17/30GK101055587SQ20071009959
公開(kāi)日2007年10月17日 申請(qǐng)日期2007年5月25日 優(yōu)先權(quán)日2007年5月25日
發(fā)明者岑榮偉, 劉奕群, 張敏, 金奕江, 馬少平 申請(qǐng)人:清華大學(xué)