本發(fā)明涉及互聯(lián)網(wǎng)信息檢索,具體涉及一種結(jié)合時序化動態(tài)建模和情感語義的個性化搜索方法,屬于社會化搜索技術(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%,用戶規(guī)模較2015年底增加3615萬,增長率為6.4%。在技術(shù)創(chuàng)新方面,搜索產(chǎn)品與多種前沿技術(shù)協(xié)同發(fā)展、深入融合的趨勢日益突出。用戶對本地化、個性化搜索的需求日益旺盛,用戶需要更加個性化、場景化的精準(zhǔn)信息搜索服務(wù)。在大數(shù)據(jù)、云計算時代,社會化搜索的作用日漸突出,并引起國內(nèi)外相關(guān)學(xué)者的密切關(guān)注,成為最近十幾年以來信息檢索領(lǐng)域的研究熱點(diǎn)。
目前,國內(nèi)外一些搜索引擎公司在社會化搜索服務(wù)方面進(jìn)行了有益的嘗試,除了產(chǎn)業(yè)界對社會化搜索理念與技術(shù)的不斷推動,學(xué)術(shù)界的很多學(xué)者開展了基于社會化標(biāo)注的搜索算法的研究?,F(xiàn)根據(jù)已有方案中應(yīng)用的主要技術(shù)概括目前研究和水平現(xiàn)狀如下:
(1)基于標(biāo)簽次數(shù)的排序算法
主要思想是依據(jù)資源被標(biāo)注的次數(shù)進(jìn)行排序(參見“chenglh,pohy,chengwl,etal.utilizingusertag-basedinterestsinrecommendersystemsforsocialresourcesharingwebsites.knowledge-basedsystems,vol56,2014:86-96”)。如果一個標(biāo)簽出現(xiàn)的同時牽動另一個標(biāo)簽頁出現(xiàn),則說明兩個標(biāo)簽存在一定內(nèi)在聯(lián)系,用無向圖將同現(xiàn)的標(biāo)簽之間以邊的形式連接,并通過共現(xiàn)的次數(shù)描述邊的權(quán)重,最后權(quán)重最高的n條邊所對應(yīng)的標(biāo)簽用來對資源進(jìn)行標(biāo)注(參見“weiz,ziyg,zhengl.rankingonheterogeneousmanifoldsfortagrecommendationinsocialtaggingservices.neurocomputing,vol148,2015:521-534”)。
(2)基于社會化標(biāo)注的pagerank改進(jìn)算法
在社會化標(biāo)注系統(tǒng)中,資源、用戶、標(biāo)簽三者之間是互增強(qiáng)關(guān)系,被高素質(zhì)用戶用高質(zhì)量的標(biāo)簽標(biāo)注的資源具有更高價值,而用高質(zhì)量的標(biāo)簽標(biāo)注高價值資源的用戶也具有更高的素質(zhì),被高素質(zhì)的用戶用來標(biāo)注高價值資源的標(biāo)簽通常具有更高的質(zhì)量。因此,這種互增強(qiáng)關(guān)系被用來改進(jìn)傳統(tǒng)的pagerank算法(參見“vivekk,dimals.pagerankmodelofopinionformationonsocialnetworks.physicaa,vol391,2012:5779-5793”),該算法利用資源、用戶、標(biāo)注三者之間的互增強(qiáng)關(guān)系進(jìn)行迭代收斂,得到最終的資源、用戶、標(biāo)注評分向量。
(3)基于社會化標(biāo)注的hits改進(jìn)算法
專家級的用戶更加傾向于對高質(zhì)量的資源進(jìn)行標(biāo)注,高質(zhì)量的資源通常由專家級的用戶標(biāo)注。因此,一些學(xué)者使用用戶水平的不同之處對傳統(tǒng)的hits算法進(jìn)行改進(jìn),利用社會化標(biāo)注來支持專家搜索。比如提出的spear算法(參見“nollmg,yeungca,gibbinsn,etal.tellingexpertsfromspammers:expertiserankinginfolksonomies.inproceedingsofthe32ndinternationalacmsigirconferenceonresearchanddevelopmentininformationretrieval,newyork,usa,2009:612-619”),該算法假設(shè)專家級的用戶通常是一個發(fā)現(xiàn)者,而一般的用戶通常是跟隨者,專家級用戶通常比一般用戶更早地對高質(zhì)量的資源進(jìn)行標(biāo)注。
(4)標(biāo)簽語義搜索算法
考慮標(biāo)注之間的語義相似性來對查詢的結(jié)果進(jìn)行排序是另一個重要的研究內(nèi)容。ahmad等人提出了利用語義建立線上內(nèi)容和標(biāo)簽的關(guān)系(參見“ahmadak,mohammadrezafs,somayehm.implicitlearnerassessmentbasedonsemanticrelevanceoftags.computersinhumanbehavior,vol55,2016:743-749”),便于對內(nèi)容的關(guān)鍵詞提取,提高搜索效果。walisa等人提出通過學(xué)習(xí)用戶的網(wǎng)絡(luò)搜索行為模式,生成基于標(biāo)簽的關(guān)聯(lián)規(guī)則,用于解決標(biāo)簽的語義相似性和多義性問題(參見“walisar,wichianp.exploringwebsearchbehaviorpatternstopersonalizethesearchresults.proceedingsofthethirdinternationalconferenceonintelligentnetworkingandcollaborativesystems,fukuoka,2011:313-319”)。
(5)基于主題的個性化搜索算法
其基本思想是利用社會化標(biāo)注挖掘出用戶的主題興趣模型,即一組標(biāo)簽術(shù)語及其權(quán)重的集合,然后利用用戶的主題興趣模型對資源進(jìn)行重新排序。比較著名的如folkrank算法(參見“hothoa,jschker,schmitzc,etal.folkrank:arankingalgorithmforfolksonomies.proceedingsofworkshoponinformationretrieval(fgir),germany,2006”),該算法認(rèn)為資源、用戶、標(biāo)注三者之間是互增強(qiáng)關(guān)系。因此,可以利用這種互增強(qiáng)關(guān)系計算出資源、用戶和標(biāo)注的評分向量。與社會化標(biāo)注的pagerank改進(jìn)算法不同的是:folkrank算法額外增加了一個個性化的向量,該向量用來表示用戶對不同主題的關(guān)注程度。
(6)基于社交網(wǎng)絡(luò)的個性化算法
基于主題的個性化搜索算法考慮到了用戶感興趣的主題,但是沒有考慮到用戶的整個社交網(wǎng)絡(luò)關(guān)系。結(jié)合社交網(wǎng)絡(luò),許多學(xué)者提出了基于社交網(wǎng)絡(luò)的個性化算法。young等人將用戶的興趣模型刻畫為熟悉度社交網(wǎng)絡(luò)、相似度社交網(wǎng)絡(luò)、基于主題的用戶興趣模型,并結(jié)合這三個方面的用戶興趣模型,給出了個性化的搜索算法(參見“youngak,gunwp.topic-drivensocialrank:personalizedsearchresultrankingbyidentifyingsimilar,credibleusersinasocialnetwork.knowledge-basedsystems,2013:230-242”)。junho等人則利用馬爾可夫邏輯網(wǎng)絡(luò)為基礎(chǔ)的社會關(guān)系推理預(yù)測建立在已知的社會用戶數(shù)據(jù)上,提高社會化搜索效率(參見“junhoc,changc,eunjil,pankook.markovlogicnetworkbasedsocialrelationinferenceforpersonalizedsocialsearch.6thinternationalconferenceoncomputationalcollectiveintelligence(iccci),seoul,southkorea,sep23-26,2014,studiesincomputationalintelligence,vol572,2015:195-202”)。
雖然社會化搜索的研究取得了一定的成就,但現(xiàn)有的研究工作和成果存在著局限性。首先用戶的興趣往往是發(fā)生變化的,沒有建立用戶動態(tài)的興趣模型便不能實(shí)時反應(yīng)用戶興趣的轉(zhuǎn)移。其次沒有考慮社會化標(biāo)注的情感分析,忽略了用戶的情感表達(dá)。因此,有必要提出一種更有效的社會化搜索的方法,建立用戶動態(tài)的興趣模型,并結(jié)合社會化標(biāo)注的情感分析,以提高搜索精度。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:提供一種結(jié)合時序化動態(tài)建模和情感語義的個性化搜索方法,建立用戶動態(tài)興趣模型,并結(jié)合標(biāo)注的情感分析,得到更精確的用戶個性化搜索需求。
本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案:
一種結(jié)合時序化動態(tài)建模和情感語義的個性化搜索方法,包括如下步驟:
步驟1,根據(jù)社會化標(biāo)注網(wǎng)絡(luò)模型,建立用戶興趣模型和資源模型,其中,第i個用戶用向量ui表示,其模型為ui=(t1:v1,t2:v2,…,tn:vn),第j個資源用向量rj表示,其模型為rj=(t1:w1,t2:w2,…,tn:wn),t1,t2,…,tn均表示標(biāo)簽,v1,v2,…,vn均表示用戶對標(biāo)簽的偏好程度,w1,w2,…,wn均表示資源與標(biāo)簽的關(guān)聯(lián)程度;
步驟2,結(jié)合情感詞典,將用戶興趣模型、資源模型分別映射至情感語義空間,得到帶有情感語義維度的用戶興趣模型、資源模型;
步驟3,采用基于用戶的協(xié)同過濾方法,找到與當(dāng)前用戶興趣和當(dāng)前用戶發(fā)起的查詢相似度最高的n個用戶,n為超參數(shù),生成當(dāng)前用戶的鄰域集;
步驟4,若當(dāng)前用戶發(fā)起的查詢內(nèi)容與資源的其中一個標(biāo)簽內(nèi)容相匹配,則將該資源作為備選資源;計算當(dāng)前用戶的查詢與每個備選資源的相似度;
步驟5,計算步驟3得到的鄰域集中每個用戶與各備選資源的相似度;
步驟6,結(jié)合步驟4和步驟5,計算每個備選資源與當(dāng)前用戶查詢的相關(guān)度值,并將相關(guān)度值按照降序順序排列并輸出。
作為本發(fā)明的一種優(yōu)選方案,步驟1所述用戶對標(biāo)簽的編好程度計算公式為:
vk=α(ui,tk)/ni,k=1,2,…,n
其中,vk表示用戶ui對標(biāo)簽tk的偏好程度,ni為用戶ui標(biāo)注的資源總數(shù),tnow為當(dāng)前時間,time(ui,tk)為用戶ui使用標(biāo)簽tk標(biāo)注資源的時間,n為標(biāo)簽的總數(shù),tlastu為用戶ui使用標(biāo)簽tk標(biāo)注資源的最晚時間,tfirstu為用戶ui使用標(biāo)簽tk標(biāo)注資源的最早時間。
作為本發(fā)明的一種優(yōu)選方案,步驟1所述資源與標(biāo)簽的關(guān)聯(lián)程度計算公式為:
wk=β(rj,tk)/mj,k=1,2,…,n
其中,wk表示資源rj與標(biāo)簽tk的關(guān)聯(lián)程度,mj為標(biāo)注資源rj的用戶總數(shù),tnow為當(dāng)前時間,time(rj,tk)為資源rj被標(biāo)簽tk標(biāo)注的時間,n為標(biāo)簽的總數(shù),tlastr為資源rj被標(biāo)簽tk標(biāo)注的最晚時間,tfirstr為資源rj被標(biāo)簽tk標(biāo)注的最早時間。
作為本發(fā)明的一種優(yōu)選方案,所述步驟2的具體過程為:結(jié)合情感詞典,分別將用戶興趣模型、資源模型與情感詞典進(jìn)行內(nèi)積運(yùn)算,將用戶興趣模型、資源模型分別映射至情感語義空間,從而得到帶有情感語義維度的用戶興趣模型、資源模型。
作為本發(fā)明的一種優(yōu)選方案,步驟3所述與當(dāng)前用戶興趣和當(dāng)前用戶發(fā)起的查詢相似度計算公式為:
其中,sim(ui,uh)表示當(dāng)前用戶ui興趣與其他用戶uh興趣的相似度,sim(uh,q)表示其他用戶uh興趣與當(dāng)前用戶發(fā)起的查詢向量q的相似度。
作為本發(fā)明的一種優(yōu)選方案,步驟4所述當(dāng)前用戶的查詢與每個備選資源的相似度計算公式為:
sim(q,rl)=sim(q,rl)+sim(q*,rl*)
其中,sim(q,rl)表示當(dāng)前用戶的查詢向量q與每個備選資源rl的相似度,sim(q,rl)表示查詢向量q與備選資源rl的內(nèi)容向量余弦相似度,sim(q*,rl*)表示查詢向量q與備選資源rl的情感語義向量余弦相似度。
作為本發(fā)明的一種優(yōu)選方案,步驟6所述相關(guān)度值計算公式為:
其中,σ(ui′,rl,q)為相關(guān)度值,n為鄰域集ci中所有用戶的數(shù)量,sim(q,rl)表示當(dāng)前用戶的查詢向量q與每個備選資源rl的相似度,sim(ui′,rl)表示鄰域集中每個用戶ui′與各備選資源的相似度。
本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
1、本發(fā)明方法使用時序關(guān)系和歸一化標(biāo)簽范式能夠更好表達(dá)用戶和資源模型使搜索精度更高。
2、本發(fā)明方法結(jié)合情感詞典,使搜索不僅僅基于模型的內(nèi)容,從內(nèi)容和情感語義兩方面進(jìn)行相關(guān)資源查找,能更好地完成個性化搜索。
3、本發(fā)明方法通用性強(qiáng),能在各種社會化標(biāo)注系統(tǒng)中實(shí)現(xiàn),有很好的擴(kuò)充性。
附圖說明
圖1是本發(fā)明一種結(jié)合時序化動態(tài)建模和情感語義的個性化搜索方法的流程示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施方式,所述實(shí)施方式的示例在附圖中示出。下面通過參考附圖描述的實(shí)施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
如圖1所示,為本發(fā)明一種結(jié)合時序化動態(tài)建模和情感語義的個性化搜索方法的流程示意圖,具體步驟如下:
s1、首先依據(jù)社會化標(biāo)注網(wǎng)絡(luò)模型,包括用戶、標(biāo)簽、資源三部分。u、t、r分別表示用戶、標(biāo)簽、資源的有限集合。
建立用戶(興趣)模型,用向量ui表示用戶模型ui=(t1:v1,t2:v2,…,tn:vn),{t1,t2,…,tn}和{v1,v2,…,vn}表示標(biāo)簽庫和偏好程度。vk由歸一化標(biāo)簽范式來表示偏好程度。vk=α(ui,tk)/ni,k=1,2,…,n,vk值越高,表明用戶在標(biāo)簽tk上興趣度越大。其中ni是用戶ui標(biāo)注資源總數(shù),α(ui,tk)為用戶ui使用標(biāo)簽tk的時序化動態(tài)值如下述公式獲得:
其中tlastu-tfirstu為用戶ui使用標(biāo)簽標(biāo)記資源的最晚時間與最早時間之差,tnow-time(ui,tk)為當(dāng)前時間與用戶使用標(biāo)簽tk標(biāo)注資源時間之差。記錄用戶所有使用標(biāo)簽tk標(biāo)注資源的時序化值并且求和就是用戶ui使用標(biāo)簽tk的時序化動態(tài)值。
假設(shè)某用戶使用標(biāo)簽標(biāo)注資源的次數(shù)為6次,使用標(biāo)簽action和affectional各3次,按時間順序是:action,action,affectional,action,affectional,affectional。與當(dāng)前時間差按某種設(shè)定單位分別是:6,5,4,3,2,1。用戶最晚標(biāo)記時間與最早標(biāo)記時間之差為5。
action標(biāo)簽的時序化興趣偏好值為:
vaction=(e-(6/5)+e-(5/5)+e-(3/5))/6=(0.301+0.367+0.449)/6=0.186
affectional標(biāo)簽的時序化興趣偏好值為:
vaffectional=(e-(4/5)+e-(2/5)+e-(1/5))/6=(0.548+0.67+0.818)/6=0.339
則用戶興趣模型向量為:ui=(action:0.186,affectional:0.339)
由此可以看出時序化的用戶模型代表了用戶興趣的動態(tài)變化,越是后期標(biāo)注的標(biāo)簽,興趣度越高。同時進(jìn)行了標(biāo)簽范式歸一化,為后續(xù)提高計算的精度做準(zhǔn)備。
建立資源模型,用向量rj表示資源模型rj=(t1:w1,t2:w2,…,tn:wn),{t1,t2,…,tn}和{w1,w2,…,wn}表示標(biāo)簽庫和資源與標(biāo)簽的關(guān)聯(lián)程度。wk由歸一化標(biāo)簽范式來表示標(biāo)簽tk與資源rj的關(guān)聯(lián)程度。wk=β(rj,tk)/mj,wk值越高,表明標(biāo)簽tk與資源rj關(guān)聯(lián)程度越大。其中mj是用標(biāo)注資源rj的用戶總數(shù),β(rj,tk)為資源rj被標(biāo)簽tk標(biāo)注的時序化動態(tài)值如下述公式獲得:
其中tlastr-tfirstr為資源rj被標(biāo)簽標(biāo)記的最晚時間與最早時間之差,tnow-time(rj,tk)為當(dāng)前時間與資源rj被標(biāo)簽tk標(biāo)注時間之差。記錄資源所有被標(biāo)簽ti標(biāo)注資源的時序化值并且求和就是資源rj被標(biāo)簽tk標(biāo)注的時序化動態(tài)值。
s2、結(jié)合情感詞典,將情感語義附加在用戶和資源模型,用戶和資源模型按照詞典語義維度得到更新。本發(fā)明采用senticnet4.0情感詞典為例(但不僅限于senticnet4.0),senticnet4.0詞典包含50000個概念,有5個維度,分別是喜悅、關(guān)注、敏感、傾向和極性。將用戶模型和資源模型與情感詞典進(jìn)行內(nèi)積運(yùn)算,這樣就將用戶模型和資源模型映射至情感語義空間,得到的便是帶有情感語義維度的用戶模型和資源模型。
繼續(xù)以上述某用戶ui的興趣模型為例,如果根據(jù)感情詞典映射至語義空間,則根據(jù)感情詞典維度進(jìn)行如下計算:
在senticnet4.0情感詞典中,action和affectional的語義向量分別是:
action=(-0.103,0.074,-0.057,0.188,0.034)
affectional=(0.461,0.674,-0.262,0.247,0.373)
則用戶興趣模型轉(zhuǎn)換成用戶情感語義維度模型:
ui=(0.137,0.242,-0.099,0.118,0.132)
其中第一個情感維度0.137是由action和affectional的第一個情感維度計算得到的(0.137=0.186*-0.103+0.339*0.461)。
同理,所有的資源模型轉(zhuǎn)換成資源情感語義維度模型。也包括之后的查詢向量。
s3、采用基于用戶的協(xié)同過濾方法,找到與目標(biāo)(當(dāng)前)用戶ui興趣和目標(biāo)用戶發(fā)起的查詢相似度最高的n個用戶,生成目標(biāo)用戶的鄰域集ci。相似用戶由下述公式獲得:
sim(ui,uh,q)表示用戶ui發(fā)起的查詢時,用戶uh依賴查詢向量q的與目標(biāo)用戶ui相似度值。
其中sim(ui,uh)為目標(biāo)用戶模型與其他用戶(如uh)模型的相似度,由下述公式獲得:
sim(ui,uh)=sim(ui,uh)+sim(ui*,uh*)
sim(ui,uh)為目標(biāo)用戶與其他用戶的內(nèi)容向量余弦相似度,sim(ui*,uh*)為目標(biāo)用戶與其他用戶的情感語義向量余弦相似度。這樣避免了只考慮用戶之間的情感相似性,又考慮了用戶之間內(nèi)容相似性。
而sim(uh,q)為其他用戶模型(如uh)與查詢向量q的相似度,由下述公式獲得:
sim(uh,q)=sim(uh,q)+sim(uh*,q*)
sim(uh,q)為其他用戶與查詢的內(nèi)容向量余弦相似度,sim(uh*,q*)為其他用戶與查詢的情感語義向量余弦相似度。同上,這樣避免了只考慮其他用戶與查詢之間的情感相似性,又考慮了其他用戶與查詢之間的內(nèi)容相似性。
通過(ui,uh,q)的計算得到與用戶ui發(fā)起的查詢q時的其余用戶與目標(biāo)用戶ui相似度值,由高到低排序,選出前n個用戶,構(gòu)成當(dāng)前用戶ui發(fā)起的查詢q的鄰域集ci。
s4、若當(dāng)前用戶發(fā)起的查詢內(nèi)容與資源的其中一個標(biāo)簽相匹配,則將該資源作為備選資源,找出所有的備選資源;計算目標(biāo)用戶的查詢與每個備選資源rl的相似度sim(q,rl),也就是查詢向量與備選資源rl向量的相似度,如下述公式:
sim(q,rl)=sim(q,rl)+sim(q*,rl*)
sim(q,rl)為查詢向量q與備選資源rl的內(nèi)容向量余弦相似度,sim(q*,rl*)為查詢向量q與備選資源rl的情感語義向量余弦相似度。
s5、計算鄰域集ci中的每一個用戶ui′與備選資源rl的相似度,也就是鄰域集ci中的每一個用戶向量與備選資源rl向量的相似度,如下述公式:
sim(ui′,rl)=sim(ui′,rl)+sim(ui′*,rl*)
s6、結(jié)合s4和s5步,計算鄰域集ci中的用戶與備選資源rl和當(dāng)前查詢q相似度的均值,如下述公式:
s7、根據(jù)s6步公式,依次計算每一個備選資源與查詢的相關(guān)度值,并按照降序順序排列并輸出。
以上實(shí)施例僅為說明本發(fā)明的技術(shù)思想,不能以此限定本發(fā)明的保護(hù)范圍,凡是按照本發(fā)明提出的技術(shù)思想,在技術(shù)方案基礎(chǔ)上所做的任何改動,均落入本發(fā)明保護(hù)范圍之內(nèi)。