本發(fā)明涉及信息檢索技術(shù)領(lǐng)域,尤其涉及社交媒體檢索領(lǐng)域,具體涉及一種微博排序模型的建立及微博多樣性檢索方法。
背景技術(shù):
微博檢索屬于信息檢索領(lǐng)域,是從海量微博數(shù)據(jù)中提取有效信息的重要手段。微博檢索中,用戶一般都是通過(guò)輸入較短的查詢?cè)~(平均為1.64詞)來(lái)表達(dá)查詢意圖,較短的查詢?cè)~往往導(dǎo)致用戶查詢意圖的歧義或不確定性。例如,用戶輸入查詢?cè)~“蘋(píng)果”,檢索系統(tǒng)需要判斷用戶的查詢意圖是需要與蘋(píng)果公司相關(guān)的信息還是蘋(píng)果這種水果相關(guān)的信息。
然而,目前的微博檢索系統(tǒng)無(wú)法做到準(zhǔn)確地理解用戶的查詢意圖,這種情況下返回的檢索結(jié)果往往存在冗余,并且可能導(dǎo)致重要信息缺失。多樣性檢索是解決上述問(wèn)題的一種有效手段。所謂多樣性檢索,是不直接確定查詢?cè)~背后用戶真正的意圖,而是盡量是檢索結(jié)果多樣化,以此使得不同背景的用戶都能在查詢的返回結(jié)果中至少找到一個(gè)滿足其需求的內(nèi)容。
微博作為一種社交媒體,其文本的簡(jiǎn)短和語(yǔ)法的不規(guī)則,使得傳統(tǒng)的自然語(yǔ)言處理方法在微博檢索中效果嚴(yán)重下滑。與此同時(shí),微博具有豐富的社交媒體信息,如用戶信息、超鏈接、主題詞等。微博檢索中,充分利用社交媒體信息、克服負(fù)面特性,對(duì)檢索結(jié)果多樣化展示能顯著提高微博檢索效果,增強(qiáng)用戶體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于,克服目前微博檢索存在的上述問(wèn)題,提出了一種微博排序模型的建立方法,該方法通過(guò)提取訓(xùn)練樣本集的多樣性特征,訓(xùn)練出微博排序模型的權(quán)重;然后基于該模型,本發(fā)明還提供了一種微博多樣性檢索方法,該方法使得用戶在微博檢索相關(guān)信息時(shí),返回多樣化的檢索結(jié)果。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種微博排序模型的建立方法,所述方法包括:
步驟S1)構(gòu)建訓(xùn)練數(shù)據(jù)集;所述訓(xùn)練數(shù)據(jù)集包括一系列查詢?cè)~,每個(gè)查詢?cè)~對(duì)應(yīng)的若干個(gè)微博,通過(guò)人工標(biāo)注的方式得到的這些微博的排列順序;
步驟S2)提取訓(xùn)練數(shù)據(jù)集中每個(gè)查詢?cè)~對(duì)應(yīng)的微博的屬性;
步驟S3)利用每個(gè)查詢?cè)~對(duì)應(yīng)的微博的屬性,提取每條博文的相關(guān)性特征和相似性特征;
步驟S4)構(gòu)建并訓(xùn)練排序模型。
上述技術(shù)方案中,所述步驟S2)中微博的屬性包括:博文文本的量化表示、博文的發(fā)布時(shí)間、博文的主題詞、博文提及的用戶和博文的超鏈接;
上述技術(shù)方案中,所述步驟S3)中的相似性特征具體包括:文本特征、時(shí)間特征、主題詞特征、提及特征、超鏈接特征、發(fā)布者用戶特征、超鏈接特征和發(fā)布者用戶特征。
上述技術(shù)方案中,所述步驟S4)具體包括:
步驟S4-1)所述訓(xùn)練數(shù)據(jù)集包括查詢?cè)~集合Q={q1,…,qn},qi為第i個(gè)查詢?cè)~,n為查詢?cè)~的個(gè)數(shù);每個(gè)查詢?cè)~qi都有對(duì)應(yīng)一個(gè)博文集合Ti={tweeti1,…,tweetim};m為博文的個(gè)數(shù);對(duì)每條博文tweetij進(jìn)行人工標(biāo)注:是否與對(duì)應(yīng)的查詢?cè)~qi相關(guān)及其對(duì)應(yīng)的子話題,通過(guò)這些標(biāo)注信息生成博文集合Ti排序的標(biāo)準(zhǔn)答案ranki;
步驟S4-2)提取衡量博文集合Ti中的每條博文tweetij與查詢?cè)~qi間相關(guān)性特征向量以及博文tweetij與排在其前面的博文集合的相似性特征矩陣rj(i);將相似性特征矩陣rj(i)轉(zhuǎn)化為相似性特征向量,h(x)為函數(shù),用于將每個(gè)特征對(duì)應(yīng)的多個(gè)值求平均值;
步驟S4-3)構(gòu)建排序模型,輸入為一個(gè)查詢?cè)~對(duì)應(yīng)的每個(gè)博文相關(guān)性特征向量組成的矩陣和每個(gè)博文相似性特征向量組成的矩陣,和分別表示相關(guān)性特征向量權(quán)重和相似性特征向量的權(quán)重;輸出為博文的排序;
排序函數(shù)表示為:
步驟S4-4)利用步驟S4-1)的樣本數(shù)據(jù),對(duì)排序函數(shù)進(jìn)行訓(xùn)練,得到最優(yōu)權(quán)重值和從而得到最優(yōu)排序函數(shù),排序模型訓(xùn)練完畢。
基于上述方法建立的微博排序模型,本發(fā)明還提供了一種微博多樣性檢索方法,所述方法包括:
步驟T1)搜索某個(gè)查詢?cè)~q的若干個(gè)微博T0={tweet1,…,tweetm};
步驟T2)提取每個(gè)微博的屬性,1≤j≤m;
步驟T3)提取衡量博文集合T0中的每條博文tweetj,1≤j≤m與查詢?cè)~q間相關(guān)性特征向量wj以及博文tweetj與排在其前面的博文集合的相似性特征矩陣rj;h(rj)通過(guò)將每個(gè)特征對(duì)應(yīng)的多個(gè)值求平均值的方式將相似性特征矩陣rj轉(zhuǎn)化為相似性特征向量;
步驟T4)將每個(gè)博文的相關(guān)性特征向量wj和相似性特征向量h(rj)代入最優(yōu)排序函數(shù),得到排序值:
步驟T5)將m個(gè)排序值按照從大到小的順序進(jìn)行排序,即得到微博博文的排序。
本發(fā)明的優(yōu)勢(shì)在于:
本發(fā)明的方法使得用戶在微博檢索相關(guān)信息時(shí),返回多樣化的檢索結(jié)果,降低信息冗余,可有效提升檢索系統(tǒng)檢索結(jié)果的準(zhǔn)確性和覆蓋性,提升用戶體驗(yàn)。
附圖說(shuō)明
圖1為本發(fā)明的微博排序模型的建立方法的流程圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)的說(shuō)明。
如圖1所示,一種微博排序模型的建立方法,所述方法包括:
步驟S1)構(gòu)建訓(xùn)練數(shù)據(jù)集;所述訓(xùn)練數(shù)據(jù)集包括一系列查詢?cè)~,每個(gè)查詢?cè)~對(duì)應(yīng)的若干個(gè)微博,通過(guò)人工標(biāo)注的方式得到的這些微博的排列順序(作為訓(xùn)練標(biāo)準(zhǔn)答案);
步驟S2)提取訓(xùn)練數(shù)據(jù)集中每個(gè)查詢?cè)~對(duì)應(yīng)的微博的屬性;
步驟S3)利用每個(gè)查詢?cè)~對(duì)應(yīng)的微博的屬性,提取每條博文的相關(guān)性特征和相似性特征;
傳統(tǒng)的相關(guān)性排序?qū)W習(xí)方法中,只考慮了查詢短語(yǔ)與被檢索博文的相關(guān)性。而本發(fā)明的博文間的特征還考慮了博文與博文間的相似性。因此,博文的特征包括相關(guān)性特征和相似性特征。相關(guān)性特征衡量博文與查詢?cè)~之間的相關(guān)性,保證文檔的重要性;相似性特征衡量博文間的相似性,用于保證文檔的相似性。所述博文的相似性特征具體包括:
文本特征:關(guān)于同一主題的兩篇博文的文本相似性越高,則更可能兩篇博文涉及同一子話題。采用空間向量模型計(jì)算博文文本間余弦相似性。文本特征的計(jì)算方式如公式(1)所示:
其中ti和tj分別為博文文本的向量化表示。
時(shí)間特征:與話題相關(guān)的同一子事件往往發(fā)生在同一窗口內(nèi),所以兩條博文在同一話題下,發(fā)布時(shí)間越接近,則其可能涉及相同的子話題。時(shí)間特征的計(jì)算基于兩個(gè)時(shí)間歸一化后的時(shí)間戳,計(jì)算方式如公式(2)所示:
TT2=|tnorm(ti)-tnorm(tj)| (2)
其中tnorm(ti)和tnorm(tj)分別表示兩篇微博發(fā)布時(shí)間的歸一化表示,例如,有最小時(shí)間戳“Fri Feb 01 00:09:29+0000 2013”和最大時(shí)間戳“Sun Mar 31 23:57:58+00002013”,對(duì)時(shí)間戳“Tue Mar 25 14:45:00+0000 2008”歸一化后為0.387101。
主題詞特征:微博中通常用主題詞來(lái)表達(dá)微博的主題。如果兩篇博文包含相同主題詞,說(shuō)明兩個(gè)博文涉及的子話題可能相同。采用Jaccard方法來(lái)計(jì)算兩篇博文涉及的主題詞的相似性,計(jì)算方法如公式(3)所示:
其中,Terms(di)和Terms(dj)分別表示兩篇博文主題詞的集合。
提及特征:該特征為一個(gè)二元特征,用于表達(dá)兩條博文是否提及相同的用戶;在微博中,用戶通常在用戶名前面加上“@”來(lái)提及其他用戶。如果兩條關(guān)于同一主題的博文提及到相同的用戶,則兩條博文的發(fā)布者可能對(duì)同一用戶談及相同子話題。
超鏈接特征:該特征為一個(gè)二元特征,用于表達(dá)兩條博文是否包含相同的超鏈接;超鏈接在微博中很常見(jiàn),通常包含超鏈接的博文都是對(duì)鏈接內(nèi)容的簡(jiǎn)介。如果兩條關(guān)于同一話題的博文包含相同的超鏈接,則兩條博文可能涉及相同子話題。
發(fā)布者用戶特征:微博作為一個(gè)典型的社交媒體平臺(tái),其豐富的用戶信息可能幫助解決微博多樣性檢索問(wèn)題。因此,考慮博文發(fā)布者間的用戶特征。博文發(fā)布者的用戶特征包括:用戶的地理位置、用戶是否認(rèn)證、用戶語(yǔ)言、用戶發(fā)布的博文數(shù)量、用戶的好友數(shù)量、用戶的關(guān)注者數(shù)量、用戶被其他用戶分組次數(shù)。當(dāng)某個(gè)子事件發(fā)生在某一地區(qū)時(shí),相同地區(qū)的人們往往都會(huì)討論這個(gè)子事件。采用二元特征表達(dá)用戶的地理位置信息。直觀來(lái)看,兩個(gè)使用相同語(yǔ)言的用戶比使用不用語(yǔ)言的用戶更可能會(huì)關(guān)注相同的子話題。采用二元特征來(lái)表達(dá)用戶的語(yǔ)言信息。用戶的其他屬性也可能反應(yīng)用戶關(guān)注的話題間的關(guān)系,比如用戶是否為認(rèn)證用戶,用戶發(fā)布的博文數(shù)量,好友數(shù)量,關(guān)注數(shù)量和被分組次數(shù)等。采用二元特征表達(dá)用戶的認(rèn)證信息,如果兩個(gè)用戶都通過(guò)認(rèn)證,則該特征為0,否則為1。計(jì)算其余四個(gè)特征時(shí),將其歸一化到區(qū)間[0,1],計(jì)算歸一化后數(shù)值間的差異。
步驟S4)構(gòu)建排序模型,對(duì)排序模型進(jìn)行訓(xùn)練;
過(guò)對(duì)標(biāo)注好的訓(xùn)練數(shù)據(jù)提取特征,利用機(jī)器學(xué)習(xí)技術(shù)(多樣性排序?qū)W習(xí)方法)進(jìn)行模型的訓(xùn)練,最終得到的模型是上述相關(guān)性特征和多樣性特征的權(quán)重。
步驟S4-1)所述訓(xùn)練數(shù)據(jù)集包括查詢?cè)~集合Q={q1,…,qn},qi為第i個(gè)查詢?cè)~,n為查詢?cè)~的個(gè)數(shù);每個(gè)查詢?cè)~qi都有對(duì)應(yīng)一個(gè)博文集合Ti={tweeti1,…,tweetim};m為博文的個(gè)數(shù);對(duì)每條博文tweetij進(jìn)行人工標(biāo)注:是否與對(duì)應(yīng)的查詢?cè)~qi相關(guān)及其對(duì)應(yīng)的子話題,通過(guò)這些標(biāo)注信息生成博文集合Ti排序的標(biāo)準(zhǔn)答案ranki;
步驟S4-2)提取衡量博文集合Ti中的每條博文tweetij與查詢?cè)~qi間相關(guān)性特征向量以及博文tweetij與排在其前面的博文集合的相似性特征矩陣rj(i);通過(guò)將每個(gè)特征對(duì)應(yīng)的多個(gè)值求平均值的方式將相似性特征矩陣rj(i)轉(zhuǎn)化為相似性特征向量;
步驟S4-3)構(gòu)建排序模型,輸入為一個(gè)查詢?cè)~對(duì)應(yīng)的每個(gè)博文相關(guān)性特征向量組成的矩陣和每個(gè)博文相似性特征向量組成的矩陣,和分別表示相關(guān)性特征向量權(quán)重和相似性特征向量的權(quán)重;輸出為博文的排序;
排序函數(shù)表示為:
步驟S4-4)利用步驟S4-1)的樣本數(shù)據(jù),對(duì)排序函數(shù)進(jìn)行訓(xùn)練,得到最優(yōu)權(quán)重值和從而得到最優(yōu)排序函數(shù),排序模型訓(xùn)練完畢。
多樣性排序?qū)W習(xí)的最終目的是得到最優(yōu)的特征權(quán)重。
基于上述方法建立的微博排序模型,本發(fā)明還提供了一種微博多樣性檢索方法,所述方法包括:
步驟T1)搜索某個(gè)查詢?cè)~q的若干個(gè)微博T0={tweet1,…,tweetm};
步驟T2)提取每個(gè)微博的屬性,1≤j≤m;
步驟T3)提取衡量博文集合T0中的每條博文tweetj,1≤j≤m與查詢?cè)~q間相關(guān)性特征向量wj以及博文tweetj與排在其前面的博文集合的相似性特征矩陣rj;h(rj)通過(guò)將每個(gè)特征對(duì)應(yīng)的多個(gè)值求平均值的方式將相似性特征矩陣rj轉(zhuǎn)化為相似性特征向量;
步驟T4)將每個(gè)博文的相關(guān)性特征向量wj和相似性特征向量h(rj)代入最優(yōu)排序函數(shù),可得到排序值:
步驟T5)將m個(gè)排序值按照從大到小的順序進(jìn)行排序,即得到微博博文的排序。
通過(guò)標(biāo)準(zhǔn)的信息檢索方式(BM25等)檢索到一系列查詢?cè)~相關(guān)的博文,這些博文中由于只考慮了相關(guān)性,存在大量的冗余。通過(guò)多樣化排序模型對(duì)標(biāo)準(zhǔn)檢索結(jié)果進(jìn)行重排序,使得靠前的部分呈現(xiàn)多樣化的特點(diǎn)。