本發(fā)明涉及一種基于用戶興趣學(xué)習(xí)的垂直搜索方法,特別是涉及在垂直搜索網(wǎng)站中存儲用戶瀏覽信息或查詢行為的垂直搜索方法,屬于垂直搜索技術(shù)領(lǐng)域。
背景技術(shù):
當(dāng)今是一個信息爆炸的時代,信息已經(jīng)不是稀缺資源,各種信息層出不窮的情況下,用戶的注意力反而變得稀缺了。搜索引擎技術(shù)的進(jìn)一步發(fā)展,給予用戶很大便利。根據(jù)中國互聯(lián)網(wǎng)絡(luò)信息中心cnnic最新發(fā)布的《第39次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告》數(shù)據(jù),截至2016年12月,中國搜索引擎用戶規(guī)模達(dá)6.02億,使用率為82.4%,搜索引擎深度融合人工智能,垂直專業(yè)化成發(fā)展趨勢。一方面,搜索信息的種類更加豐富;另一方面,搜索引擎針對用戶在不同領(lǐng)域的搜索需求,推出更加智能、全面、專業(yè)的搜索實(shí)體。由此引發(fā)了搜索引擎行業(yè)出現(xiàn)新的垂直、專業(yè)化發(fā)展趨勢。
用戶的檢索途徑主要包括自由詞全文檢索、關(guān)鍵詞檢索、分類檢索及其他特殊信息的檢索。與傳統(tǒng)的搜索引擎相比,垂直搜索引擎需要按照內(nèi)容而不是通過分析網(wǎng)頁之間的鏈接關(guān)系進(jìn)行檢索結(jié)果排序。而個性化的垂直搜索需要對用戶行為進(jìn)行分析,并建立用戶個性化模型,滿足個性化需求的排序結(jié)果。目前,大多數(shù)垂直搜索引擎網(wǎng)站都提供了實(shí)體屬性篩選的高級搜索,但是篩選的結(jié)果排序往往是按照某種條件的升序或降序。
在已有的個性化搜索方法中,主流搜索方式是基于社會化標(biāo)注搜索,通過用戶收藏、標(biāo)注和共享等行為而產(chǎn)生的社會性標(biāo)注數(shù)據(jù),直接反映了用戶對網(wǎng)頁的質(zhì)量評價和內(nèi)容理解。利用社會性標(biāo)注數(shù)據(jù)對網(wǎng)頁排序來改善網(wǎng)頁檢索性能。
但現(xiàn)階段垂直搜索引擎提供的信息檢索服務(wù)仍存在以下不足。首先,垂直搜索引擎只能進(jìn)行被動查詢匹配。只有用戶提交了查詢詞以后,搜索引擎才能做出反應(yīng)。這隱含著兩大問題,一方面是用戶很多時候難以明確地總結(jié)出自己的需求,另一方面即使查詢詞可以體現(xiàn)用戶當(dāng)前需求,但是大多數(shù)垂直搜索引擎網(wǎng)站并沒有考慮到將用戶的興趣提取,并進(jìn)行個性化搜索,或主動做出信息推薦服務(wù);其次,在提供用戶對資源進(jìn)行社會化標(biāo)注的垂直搜索引擎中,一般情況下,容易受到垃圾標(biāo)注的影響:惡意用戶可能大量使用廣泛出現(xiàn)的標(biāo)簽來不正當(dāng)?shù)奶嵘溆绊懥?,更是給搜索結(jié)果的有效性帶來了巨大挑戰(zhàn)。
因此,在垂直搜索引擎中需要追求一種更高精度的個性化垂直搜索。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:提供一種基于用戶興趣學(xué)習(xí)的垂直搜索方法,通過對用戶搜索行為的學(xué)習(xí),挖掘用戶的興趣,主動提供給用戶當(dāng)前興趣一致的結(jié)果。
本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案:
一種基于用戶興趣學(xué)習(xí)的垂直搜索方法,包括如下步驟:
步驟1,在包含屬性篩選高級搜索的垂直搜索引擎網(wǎng)站中,根據(jù)初始化時與用戶的交互,確定用戶的興趣偏好;
步驟2,根據(jù)用戶的興趣偏好,建立初始化用戶興趣模型,初始化用戶興趣模型表示為:xi=(屬性取值:屬性取值被用戶關(guān)注的次數(shù)-屬性取值最近一次被用戶關(guān)注的時間),xi表示第i個屬性;
步驟3,若用戶按照屬性進(jìn)行查詢,則根據(jù)用戶選擇的屬性取值,對用戶興趣模型進(jìn)行實(shí)時更新;若用戶按照關(guān)鍵字進(jìn)行查詢,則不更新用戶興趣模型;
步驟4,若用戶發(fā)生瀏覽行為,設(shè)定瀏覽時間作為閾值,若瀏覽某實(shí)體資源的時間超過閾值,則獲取該實(shí)體資源的屬性值,并對用戶興趣模型進(jìn)行實(shí)時更新;
步驟5,利用多屬性效用理論,結(jié)合用戶的偏好因子和遺忘因子,對所有實(shí)體資源進(jìn)行興趣度值計算并按興趣度值由高到低進(jìn)行排序;
步驟6,根據(jù)用戶選擇的按關(guān)鍵字或?qū)傩赃M(jìn)行篩選查詢,生成初始的查詢結(jié)果列表;
步驟7,針對初始的查詢結(jié)果列表中的實(shí)體資源,結(jié)合用戶對這些實(shí)體資源的興趣度值,將初始的查詢結(jié)果列表中的實(shí)體資源按興趣度值由高到低進(jìn)行排序,生成最終的查詢結(jié)果列表。
作為本發(fā)明的一種優(yōu)選方案,步驟1所述具體過程為:在用戶首次進(jìn)入包含屬性篩選高級搜索的垂直搜索引擎網(wǎng)站時,針對每個屬性與用戶進(jìn)行交互,獲取用戶關(guān)于各屬性的興趣偏好。
作為本發(fā)明的一種優(yōu)選方案,步驟3所述若用戶按照屬性進(jìn)行查詢,則根據(jù)用戶選擇的屬性取值,對用戶興趣模型進(jìn)行實(shí)時更新具體過程為:若用戶選擇的屬性取值已經(jīng)在用戶興趣模型中,則將該屬性取值被用戶關(guān)注的次數(shù)加1,并更新該屬性取值最近一次被用戶關(guān)注的時間,否則,將該屬性取值、該屬性取值被用戶關(guān)注的次數(shù)及該屬性取值最近一次被用戶關(guān)注的時間增加至用戶興趣模型中。
作為本發(fā)明的一種優(yōu)選方案,所述步驟5的具體過程為:
步驟51,利用af-idf算法計算偏好因子,計算公式為:
ki=af(x/t)*loga(n/df(ki))
其中,ki表示用戶對第j個實(shí)體資源第i個屬性的偏好因子,af(x/t)為用戶在周期t內(nèi)對第j個實(shí)體資源第i個屬性關(guān)注的平均次數(shù),x為關(guān)注該屬性的總次數(shù),n為垂直搜索引擎網(wǎng)站中實(shí)體資源的總數(shù),df(ki)為與第j個實(shí)體資源第i個屬性取值相同的實(shí)體資源的總數(shù),a為超參數(shù);
步驟52,在偏好因子中引入遺忘因子fi,則引入遺忘因子后的偏好因子ki′為:
k′i=ki*fi
步驟53,設(shè)定垂直搜索引擎網(wǎng)站包含的屬性為n個,即i=1,2,…,n,則用戶對第j個實(shí)體資源的興趣度值用乘法效用函數(shù)表示:
uj=k′1+k′2+…+k′n+k′1k′2+k′1k′3+…+k′1k′n+k′2k′3+k′2k′4+…+k′2k′n+k′3k′4+k′3k′5+…+k′3k′n+……+k′n-1k′n
其中,uj表示用戶對第j個實(shí)體資源的興趣度值;
步驟54,將所有實(shí)體資源的興趣度值由高到低進(jìn)行排序,并輸出排序結(jié)果。
作為本發(fā)明的一種優(yōu)選方案,所述遺忘因子fi計算公式為:
fi=exp(-logb(t)/f)
其中,t為第j個實(shí)體資源第i個屬性的取值最后一次被關(guān)注的時間與當(dāng)前時間之差,f為半衰期,b為超參數(shù)。
本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
1、本發(fā)明算法復(fù)雜度的數(shù)量級較小,若屬性個數(shù)為n,每個實(shí)體資源只在n2級就能計算出該實(shí)體資源的興趣度值。
2、本發(fā)明算法的大部分計算在線下,小部分實(shí)時計算,即使該垂直搜索系統(tǒng)的實(shí)體資源和注冊用戶較多,一般企業(yè)級服務(wù)器均可完全滿足算法的運(yùn)行實(shí)現(xiàn)。
3、本發(fā)明算法通用性強(qiáng),能在各種垂直搜索引擎上實(shí)現(xiàn),并有很好的擴(kuò)充性。
附圖說明
圖1是本發(fā)明一種基于用戶興趣學(xué)習(xí)的垂直搜索方法的流程示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施方式,所述實(shí)施方式的示例在附圖中示出。下面通過參考附圖描述的實(shí)施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
如圖1所示,為一種基于用戶興趣學(xué)習(xí)的垂直搜索方法的流程示意圖,具體步驟如下:
步驟1:在包含屬性篩選高級搜索的垂直搜索引擎網(wǎng)站中,根據(jù)初始化時與用戶交互來確定用戶的興趣偏好,以避免冷啟動的問題出現(xiàn)。
步驟2:建立初始化用戶興趣模型,并實(shí)時通過用戶的屬性篩選查詢記錄和瀏覽記錄對模型進(jìn)行調(diào)整。記錄每一次用戶使用屬性篩選查詢和瀏覽行為,將屬性查詢信息和瀏覽的實(shí)體資源屬性信息增加至用戶個性化模型中。
步驟3:利用多屬性效用理論,結(jié)合用戶的偏好因子,在后臺對所有實(shí)體資源進(jìn)行個性化興趣度值計算,生成用戶個性化興趣的實(shí)體資源排序列表。具體為:
步驟301:設(shè)垂直搜索引擎中的給定的n個屬性,用戶的個性化偏好效用方程可以用乘法效用函數(shù)來描述:uj=k1+k2+……+kn+k1k2+k2k3+k1k3+……+kn-1kn。其中uj表示第j個實(shí)體在當(dāng)前用戶的興趣度值,ki表示用戶對實(shí)體的第i個屬性值的偏好因子。公式表述為每個實(shí)體屬性值偏好因子獨(dú)立計算后的結(jié)果相加,并且每個實(shí)體屬性值偏好因子要與其它每個實(shí)體屬性值偏好因子進(jìn)行乘積后再相加。
步驟302:計算偏好因子ki基于用戶對實(shí)體的興趣度不同,本發(fā)明采用平均averagefrequency/inversedocumentfrequency(af-idf)算法來表征用戶對實(shí)體的第i個屬性值喜好程度,ki=af(x/t)*loga(n/df(ki)),其中af(x/t)為用戶在t周期內(nèi)對實(shí)體的第i個屬性值的關(guān)注的平均次數(shù)(查詢或?yàn)g覽次數(shù)),x為關(guān)注的該屬性值總次數(shù),n為該垂直搜索系統(tǒng)中實(shí)體的總數(shù),df(ki)為屬性取值為ki實(shí)體個數(shù),依次計算每個屬性權(quán)重后,得到用戶基于屬性分類的興趣偏好向量。
步驟303:用戶的興趣往往是發(fā)生變化,將偏好因子中引入興趣遺忘因子f,即:k′i=ki*fi,fi=exp(-logb(t)/f),其中t為屬性值最后一次被關(guān)注到當(dāng)前的時間差,f為半衰期。
步驟304:對垂直搜索系統(tǒng)中的每個實(shí)體依次計算個性化興趣度值,直至最后一個實(shí)體計算完畢。
步驟305:根據(jù)個性化興趣度值進(jìn)行由高到低排序,并輸出排序結(jié)果,存入用戶個人興趣模型下。
步驟4:根據(jù)用戶搜索條件,按照關(guān)鍵字或?qū)傩院Y選查詢,生成初始的查詢結(jié)果列表。
步驟5:針對已生成的初始查詢結(jié)果列表中的實(shí)體資源,結(jié)合用戶個性化興趣的實(shí)體資源排序列表,將初始查詢結(jié)果列表中的實(shí)體資源按照興趣度值從高到低重新排序。
以國內(nèi)某大型汽車垂直網(wǎng)站的搜索為例(但不僅限于此例),該網(wǎng)站除了有一個搜索框提供用戶按關(guān)鍵字搜索外,還提供一個按分類的精準(zhǔn)選車模塊,包括按價格、按車型、按品牌、按排量4個屬性。
s1、若要實(shí)現(xiàn)個性化搜索,需要學(xué)習(xí)用戶興趣。首先需要用戶注冊信息,建立個性化模型。用戶注冊時填寫針對用戶個人興趣需求的4個基本屬性的內(nèi)容。根據(jù)初始化時與用戶交互來確定用戶的興趣偏好,以避免冷啟動的問題出現(xiàn)。用戶的初始化個性化興趣模型由4個基本屬性的向量組成。
s2、假設(shè)用戶1的初始化個性化興趣模型為:
價格=(8-10萬:1-t),車型=(suv:1-t),品牌=(長城:1-t)排量=(1.1-1.6l:1-t)。
注:價格屬性向量的取值為“8-10萬”,“1”為其值,表示被用戶關(guān)注一次,“-”為連接符,“t”為最近一次被用戶關(guān)注的時間。
s3、用戶的查詢方式有兩種,若按照屬性類別篩選,則表明用戶對該屬性類別的關(guān)注,體現(xiàn)用戶的偏好,需要進(jìn)行更新用戶個人興趣模型。若不是按照屬性類別篩選,也就是關(guān)鍵字查詢,則不記錄用戶的偏好,也不更新用戶個人興趣模型。
更新過程是記錄每一次用戶的搜索或?yàn)g覽行為,存儲至個性化信息記錄中,以完成個性化信息的更新。個人的興趣不是固定的,而是動態(tài)變化的。隨著用戶個人的自身和外在的影響,用戶的偏好會發(fā)生轉(zhuǎn)移。以情景為例,當(dāng)一個用戶初始化時可能是該用戶剛剛參加工作,對車的要求是代步即可,可能對價格的要求不高,但隨著個人成長和生活質(zhì)量的提高,需要提升對車的要求,這時用戶的個性化興趣就發(fā)生轉(zhuǎn)變,那么用戶的搜索和瀏覽內(nèi)容也會發(fā)生變化。
s4、將所選的屬性類別增加至用戶個性化模型中,對已有的類別的情況,其值增加1,并更新最后關(guān)注的時間。
假設(shè)用戶1,發(fā)起屬性類別的篩選查詢?yōu)椋?/p>
價格:8-10萬;車型:兩廂轎車;品牌:福特;排量:1.1-1.6l。
則對應(yīng)的個性化模型進(jìn)行更新為:價格=(8-10萬:2-t),車型=(suv:1-t,兩廂轎車:1-t),品牌=(長城:1-t,福特:1-t),排量=(1.1-1.6l:2-t)。
s5、利用多屬性效用理論,結(jié)合用戶的偏好因子,在后臺對所有實(shí)體資源進(jìn)行個性化興趣度值計算,生成用戶個性化興趣的實(shí)體資源排序列表。具體為:
設(shè)垂直搜索引擎中的給定的n個屬性,用戶的個性化偏好效用方程可以用乘法效用函數(shù)來描述:uj=k1+k2+……+kn+k1k2+k2k3+k1k3+……+kn-1kn。其中uj表示第j個實(shí)體在當(dāng)前用戶的興趣度值,ki表示用戶對實(shí)體的第i個屬性值的偏好因子。公式表述為每個實(shí)體屬性值偏好因子獨(dú)立計算后的結(jié)果相加,并且每個實(shí)體屬性值偏好因子要與其它每個實(shí)體屬性值偏好因子進(jìn)行乘積后再相加。
計算偏好因子ki基于用戶對實(shí)體的興趣度不同,本發(fā)明采用averagefrequency/inversedocumentfrequency(af-idf)算法來表征用戶對實(shí)體的第i個屬性值喜好程度,ki=af(x/t)*loga(n/df(ki)),其中af(x/t)為用戶在t周期內(nèi)對實(shí)體的第i個屬性值的關(guān)注的平均次數(shù)(查詢或?yàn)g覽次數(shù)),x為關(guān)注的該屬性值總次數(shù),n為該垂直搜索系統(tǒng)中實(shí)體的總數(shù),df(ki)為屬性取值為ki實(shí)體個數(shù),依次計算每個屬性權(quán)重后,得到用戶基于屬性分類的興趣偏好向量。
用戶的興趣往往是發(fā)生變化,將偏好因子中引入興趣遺忘因子fi,即:k′i=ki*fi,fi=exp(-logb(t)/f),其中t為屬性值最后一次被關(guān)注的時間到當(dāng)前的時間差,f為半衰期。
對垂直搜索系統(tǒng)中的每個實(shí)體依次計算個性化興趣度值,直至最后一個實(shí)體計算完畢。
根據(jù)個性化興趣度值進(jìn)行由高到低排序,并輸出排序結(jié)果,存入用戶個人興趣模型下。結(jié)果排序是根據(jù)算法本身,計算出每個實(shí)體資源的得分,并進(jìn)行排序。以情景為例,在后臺為每個用戶計算所有實(shí)體資源的得分。當(dāng)用戶打開網(wǎng)站主頁并沒有發(fā)起查詢時,可以將實(shí)體按照得分由大到小排列顯示在推薦欄。如果用戶發(fā)起按關(guān)鍵字或?qū)傩院Y選查詢時,先得到候選實(shí)體資源,然后按照實(shí)體資源的得分重新排序,顯示到搜索結(jié)果欄。
為了更好的描述算法,作出如下簡單化假設(shè):
用戶1的興趣模型恰好是s4步驟更新,4個屬性的向量為:
價格=(8-10萬:2-t),
車型=(suv:1-t,兩廂轎車:1-t),
品牌=(長城:1-t,福特:1-t),
排量=(1.1-1.6l:2-t)。
某實(shí)體u1恰好為s4步驟關(guān)注的同類車型,其屬性為:價格:8-10萬;車型:兩廂轎車;品牌:福特;排量:1.1-1.6l。
該垂直網(wǎng)站汽車實(shí)體總數(shù)n=1000。
價格在8-10萬的數(shù)量為500,
車型為兩廂轎車的數(shù)量為250,
品牌為福特的數(shù)量為25,
排量為1.1-1.6l的數(shù)量為250,
周期t暫設(shè)為1。
由于關(guān)注時間t與查詢?yōu)橥惶?,無時間差,則遺忘因子為1。
計算u1=k1+k2+k3+k4+k1k2+k1k3+k1k4+k2k3+k2k4+k3k4的值,表明用戶對實(shí)體u1的興趣度。本例中取a的值為2。
k1=2*log2(1000/500)=2
k2=2*log2(1000/250)=4
k3=2*log2(1000/25)=10.64
k4=2*log2(1000/250)=4
u1=2+4+10.64+4+2*4+2*10.64+2*4+4*10.64+4*4+10.64*4=159.04
實(shí)體u1在用戶1個性化模型中的權(quán)值為159.04。
以上通過一個簡單的實(shí)施例說明一個實(shí)體在用戶個性化模型中的權(quán)值,所有數(shù)據(jù)的設(shè)定均為人為假設(shè),實(shí)施時需要針對具體的垂直實(shí)體網(wǎng)站中的數(shù)據(jù)為準(zhǔn)。周期t、半衰期f等參數(shù)需要通過實(shí)驗(yàn)獲得更為有效的設(shè)定。
s6、如果用戶發(fā)生瀏覽行為,這里可以設(shè)定瀏覽時間作為閾值,瀏覽某個資源超過閾值時,則表明用戶對此實(shí)體資源的屬性類別關(guān)注,體現(xiàn)興趣偏好,則按照s4步驟進(jìn)行更新用戶個人興趣模型。
以上實(shí)施例僅為說明本發(fā)明的技術(shù)思想,不能以此限定本發(fā)明的保護(hù)范圍,凡是按照本發(fā)明提出的技術(shù)思想,在技術(shù)方案基礎(chǔ)上所做的任何改動,均落入本發(fā)明保護(hù)范圍之內(nèi)。