本發(fā)明涉及到問(wèn)答社區(qū)的專(zhuān)家推薦研究,是基于跨平臺(tái)標(biāo)簽融合的專(zhuān)家推薦方法。
背景技術(shù):
伴隨互聯(lián)網(wǎng)及信息化的發(fā)展,社區(qū)問(wèn)答系統(tǒng)成為用戶(hù)在網(wǎng)絡(luò)中獲取信息的重要平臺(tái),用戶(hù)可以通過(guò)自然語(yǔ)言對(duì)自己想了解的內(nèi)容進(jìn)行提問(wèn),由社區(qū)中其他用戶(hù)進(jìn)行解答。通過(guò)自然語(yǔ)言的交流,使得問(wèn)答系統(tǒng)可以為用戶(hù)之間提供很好的知識(shí)信息分享,更加方便地滿(mǎn)足用戶(hù)的信息需求。而隨著社區(qū)問(wèn)答系統(tǒng)中用戶(hù)數(shù)量的增加,提問(wèn)的數(shù)量也隨之增多,社區(qū)中許多的問(wèn)題長(zhǎng)時(shí)間無(wú)法得到解答,或者得到的回答質(zhì)量不高,根本無(wú)法滿(mǎn)足問(wèn)題需求。因此為了提高問(wèn)答社區(qū)的工作效率,我們需要設(shè)計(jì)合適的推薦系統(tǒng)向社區(qū)中的問(wèn)題推薦合適的回答者,增強(qiáng)用戶(hù)的社區(qū)參與度,提高社區(qū)中的內(nèi)容質(zhì)量。
目前問(wèn)答社區(qū)中的專(zhuān)家推薦算法一般都是利用單一社區(qū)的用戶(hù)文檔或網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行對(duì)用戶(hù)進(jìn)行建模并推薦,但單一平臺(tái)的數(shù)據(jù)通常只包含用戶(hù)的部分特征,并不能全面地構(gòu)建用戶(hù)模型。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)現(xiàn)有推薦算法的不足,利用對(duì)跨平臺(tái)用戶(hù)數(shù)據(jù)進(jìn)行研究,提出了一直基于標(biāo)簽融合的用戶(hù)興趣建模方法,并基于此實(shí)現(xiàn)問(wèn)答社區(qū)中的專(zhuān)家推薦算法。
首先通過(guò)對(duì)知乎和微博兩個(gè)平臺(tái)的數(shù)據(jù)進(jìn)行分析,從微博的社交關(guān)系以及知乎社區(qū)的問(wèn)答功能出發(fā),結(jié)合lda主題模型與word2vec對(duì)文本標(biāo)簽的語(yǔ)義進(jìn)行深入挖掘,利用標(biāo)簽語(yǔ)義相似度矩陣設(shè)計(jì)跨平臺(tái)的標(biāo)簽融合算法,構(gòu)建融合的用戶(hù)興趣模型。相比單一網(wǎng)絡(luò)的用戶(hù)模型,跨平臺(tái)用戶(hù)模型能更全面覆蓋用戶(hù)不同特性,對(duì)用戶(hù)特征有更清晰的描述。
同時(shí)綜合考慮了社區(qū)用戶(hù)的興趣偏好、回答能力度及影響力實(shí)現(xiàn)專(zhuān)家推薦。算法利用用戶(hù)知乎和微博平臺(tái)的歷史數(shù)據(jù),通過(guò)標(biāo)簽融合建模方法對(duì)知乎專(zhuān)家用戶(hù)的興趣進(jìn)行分析;對(duì)跨平臺(tái)的共同用戶(hù)構(gòu)建融合關(guān)注關(guān)系網(wǎng)絡(luò),結(jié)合pagerank算法對(duì)用戶(hù)的綜合影響力進(jìn)行分析;同時(shí)通過(guò)知乎社區(qū)的問(wèn)答反饋機(jī)制,分析用戶(hù)的回答能力度。通過(guò)實(shí)驗(yàn)結(jié)果表明,本文提出的算法具有更好的推薦效果。
本發(fā)明的有益效果是:通過(guò)跨平臺(tái)的信息構(gòu)建用戶(hù)興趣模型,能更全面獲取用戶(hù)的興趣偏好。進(jìn)而考慮用戶(hù)在問(wèn)答社區(qū)中的回答能力度及影響力,找出最適合對(duì)社區(qū)中待回答問(wèn)題進(jìn)行解答的用戶(hù),進(jìn)行推薦。降低問(wèn)答社區(qū)中問(wèn)題的等待回答時(shí)間,提高社區(qū)運(yùn)行效率。
附圖說(shuō)明
圖1為本發(fā)明的主題詞選取流程。
圖2為本發(fā)明的推薦算法流程圖。
圖3為本發(fā)明的帶權(quán)重關(guān)注網(wǎng)絡(luò)示意圖。
具體實(shí)施方式
本發(fā)明以知乎問(wèn)答社區(qū)為例,研究知乎與微博平臺(tái)之間的用戶(hù)特征關(guān)系。
通過(guò)前兩節(jié)的分析及數(shù)據(jù)的處理,我們已經(jīng)提取到共同用戶(hù)在兩個(gè)平臺(tái)中的興趣主題,為了得到一個(gè)綜合的用戶(hù)興趣模型,我們需要將兩個(gè)平臺(tái)的主題標(biāo)簽進(jìn)行融合。
在對(duì)每個(gè)用戶(hù)不同平臺(tái)的標(biāo)簽向量進(jìn)行分析時(shí),由于主題提取算法是通過(guò)生成概率對(duì)主題進(jìn)行建模,沒(méi)有考慮詞的語(yǔ)義特征,結(jié)果導(dǎo)致部分用戶(hù)的標(biāo)簽中含有許多相似的詞。因此如果直接將兩個(gè)特征空間的詞進(jìn)行合并,將會(huì)使得用戶(hù)的標(biāo)簽空間過(guò)大,同時(shí)用戶(hù)在很多特征詞上的值為0,導(dǎo)致數(shù)據(jù)稀疏問(wèn)題,對(duì)用戶(hù)的建模產(chǎn)生影響。
于是我們引入語(yǔ)義相似度分析,通過(guò)標(biāo)簽映射的思想,對(duì)兩個(gè)主題空間內(nèi)的主題標(biāo)簽之間進(jìn)行語(yǔ)義相似度計(jì)算,對(duì)于相似度高的兩個(gè)主題標(biāo)簽,選擇其中對(duì)用戶(hù)興趣指代性強(qiáng),區(qū)分度高的詞作為特征詞,最終構(gòu)建融合主題空間。
對(duì)于每個(gè)用戶(hù),其知乎標(biāo)簽rz與微博標(biāo)簽rw的主題標(biāo)簽相似度矩陣tr定義如下:
其中dij來(lái)自?xún)蓚€(gè)網(wǎng)絡(luò)的特征詞的相似度:
dij=sim(wzi,wwj)
其中,wzi代表用戶(hù)知乎標(biāo)簽中第i個(gè)詞的詞向量,wwj代表用戶(hù)微博標(biāo)簽中第j個(gè)詞的詞向量,我們通過(guò)word2vec模型進(jìn)行計(jì)算。
本發(fā)明將用戶(hù)的歷史問(wèn)答及微博分詞數(shù)據(jù)作為輸入變量進(jìn)行訓(xùn)練,設(shè)每個(gè)詞的向量維度為n,對(duì)于每一個(gè)用戶(hù),通過(guò)訓(xùn)練好的模型對(duì)rz及rw中的每個(gè)詞做詞向量轉(zhuǎn)化,得到每一個(gè)用戶(hù)的單一平臺(tái)主題矩陣:
m=[w(t)]
其中t屬于rz或rw,矩陣中每一行w(t)表示用戶(hù)的主題標(biāo)簽t的n維詞向量。
通過(guò)生成每個(gè)平臺(tái)中的主題標(biāo)簽的詞向量,便可以通過(guò)向量余弦計(jì)算兩個(gè)平臺(tái)中各標(biāo)簽之間的相似度,計(jì)算公式為:
其中ik,jk分布為詞向量中每個(gè)維度的值。
在得到標(biāo)簽相似度矩陣后,對(duì)于相似度高的標(biāo)簽,我們需要在兩個(gè)詞中進(jìn)行選擇,挑出其中更具有代表性的詞加入到用戶(hù)的新主題向量。當(dāng)兩個(gè)詞相似度并不高時(shí),則將兩個(gè)詞同時(shí)加入新主題向量,最終得到的新主題向量即融合后的用戶(hù)主題向量。算法描述流程如下:
如果某個(gè)詞在集合中出現(xiàn)的次數(shù)較多,則證明該詞更加為被大眾所接受,比如(爬山,登山),兩者的語(yǔ)義相似度很高,假如大部分用戶(hù)都是使用“爬山”來(lái)說(shuō)明自己的愛(ài)好,則“爬山”一詞的詞頻會(huì)較“登山”一詞更高,因此文檔集合中,“爬山”一次能能更好地表示用戶(hù)的特征,應(yīng)該給其賦予較高的權(quán)重,用來(lái)作為該文檔的代表。
對(duì)于在某個(gè)主題分布中的詞ti,他的權(quán)值表示為該詞在各個(gè)網(wǎng)絡(luò)中的權(quán)重之和,由于tf值對(duì)標(biāo)簽的表示更直觀、簡(jiǎn)潔。因此本文采用改進(jìn)的tf值進(jìn)行計(jì)算,公式如下:
其中wij是該詞ti在網(wǎng)絡(luò)j中原有的權(quán)值,nij是該詞在網(wǎng)絡(luò)j中的詞頻數(shù),nj表示網(wǎng)絡(luò)j的所有詞數(shù)量。
本發(fā)明通過(guò)空間向量模型來(lái)構(gòu)建用戶(hù)最終的主題向量,將所有用戶(hù)的主題分布中的詞作為最終的融合主題空間:
ts={tag1,tag2,...,tags}
并將每個(gè)用戶(hù)的標(biāo)簽映射到融合主題空間中,得到每個(gè)用戶(hù)的主題向量:
u={weight1,weight2,...,weights}
s為融合主題空間的大小,weighti為第i個(gè)詞的權(quán)值。
1.對(duì)于一個(gè)新問(wèn)題,需要篩選出曾經(jīng)回答過(guò)相關(guān)類(lèi)似問(wèn)題的人來(lái)作為推薦列表,因此本發(fā)明通過(guò)用戶(hù)歷史回答中的話(huà)題標(biāo)簽數(shù)據(jù)進(jìn)行篩選。每個(gè)問(wèn)題的話(huà)題標(biāo)簽數(shù)量為1至5個(gè),對(duì)于某個(gè)標(biāo)簽,用戶(hù)在該話(huà)題標(biāo)簽下的回答次數(shù)多少能反映出用戶(hù)對(duì)該話(huà)題相關(guān)問(wèn)題的感興趣程度。用戶(hù)回答某個(gè)話(huà)題標(biāo)簽越多,則用戶(hù)對(duì)該話(huà)題的興趣度越高。
2.對(duì)于通過(guò)篩選后的用戶(hù),需要計(jì)算其對(duì)新問(wèn)題的興趣度。對(duì)于用戶(hù)來(lái)說(shuō),其回答過(guò)的問(wèn)題一定程度上就是其對(duì)某個(gè)問(wèn)題領(lǐng)域的興趣體現(xiàn),因此本發(fā)明通過(guò)用戶(hù)在社區(qū)中的歷史回答數(shù)據(jù)來(lái)構(gòu)建用戶(hù)的興趣模型。
本發(fā)明將知乎-微博的共同用戶(hù)與非共同用戶(hù)分別進(jìn)行建模,得到各自的主題模型,步驟如下:
1)對(duì)所有知乎用戶(hù)的歷史問(wèn)答數(shù)據(jù)處理得到用戶(hù)分詞向量,構(gòu)建每個(gè)用戶(hù)主題標(biāo)簽向量rz。
2)提取其中關(guān)聯(lián)微博的用戶(hù)集合,使用3.3.2節(jié)的算法構(gòu)建共同用戶(hù)的微博主題標(biāo)簽向量rw。
3)通過(guò)3.4節(jié)提出的標(biāo)簽融合算法,對(duì)共同用戶(hù)的知乎主題標(biāo)簽rz和微博主題標(biāo)簽rw進(jìn)行融合,得到融合主題標(biāo)簽空間ts及共同用戶(hù)的融合主題向量u。
4)統(tǒng)一維度,將非共同用戶(hù)的主題標(biāo)簽同樣映射到標(biāo)簽空間ts中,得到主題向量u′。
對(duì)于一個(gè)新問(wèn)題q,用戶(hù)對(duì)其進(jìn)行回答的興趣度可以通過(guò)該問(wèn)題的內(nèi)容特征與用戶(hù)歷史回答的主題特征匹配程度來(lái)表示,即該用戶(hù)主題標(biāo)簽與問(wèn)題標(biāo)簽的相似度,我們將其定義為sim(u,q)。
3.對(duì)于用戶(hù)回答問(wèn)題的能力及專(zhuān)業(yè)程度我們通過(guò)用戶(hù)歷史回答得到的評(píng)價(jià)來(lái)進(jìn)行評(píng)判。在知乎網(wǎng)絡(luò)中,用戶(hù)的回答會(huì)得到其他用戶(hù)的“贊同”或“反對(duì)”,在同一問(wèn)題下,用戶(hù)得到的贊同數(shù)越多,通常能表示用戶(hù)對(duì)該問(wèn)題發(fā)表的觀點(diǎn)更加受到認(rèn)可,回答的質(zhì)量更高。因此我們通過(guò)用戶(hù)u歷史回答的平均得贊數(shù)iu來(lái)對(duì)用戶(hù)進(jìn)行能力度的評(píng)判:
在問(wèn)答網(wǎng)絡(luò)中,熱門(mén)問(wèn)題通常會(huì)得到更多人的關(guān)注,部分回答質(zhì)量不高的答案也可能會(huì)得到很多贊,甚至比某些冷門(mén)問(wèn)題下的高質(zhì)量答案得到的贊更多。因此,需要消除問(wèn)題熱度帶來(lái)的得贊數(shù)差別。
4.在一個(gè)問(wèn)答網(wǎng)絡(luò)中,用戶(hù)的權(quán)威度也會(huì)體現(xiàn)其回答問(wèn)題的能力。網(wǎng)絡(luò)中影響力大的用戶(hù)普遍具有獨(dú)特的素質(zhì)、知識(shí)涵養(yǎng)及專(zhuān)業(yè)性,因此才能得到整個(gè)網(wǎng)絡(luò)社區(qū)的認(rèn)可。于是我們同樣需要考慮用戶(hù)在網(wǎng)絡(luò)中的影響力作為專(zhuān)家推薦的因素。
對(duì)于專(zhuān)家用戶(hù)中的跨網(wǎng)絡(luò)用戶(hù),我們需要綜合考慮其在知乎和微博社區(qū)中的影響力。在微博社交網(wǎng)絡(luò)中具有較強(qiáng)的“關(guān)注-粉絲”關(guān)系,而且微博中的大v對(duì)信息傳播具有重要意義,相關(guān)的影響力研究較多。所以本文結(jié)合微博網(wǎng)絡(luò)對(duì)共同用戶(hù)進(jìn)行影響力分析。
如果單純使用知乎數(shù)據(jù)建立關(guān)注網(wǎng)絡(luò),構(gòu)建的用戶(hù)網(wǎng)絡(luò)稀疏,且不完整。因此我們?nèi)诤嫌脩?hù)的微博關(guān)注關(guān)系,來(lái)豐富用戶(hù)的關(guān)注網(wǎng)絡(luò)。
如果用戶(hù)ui在知乎和微博同時(shí)關(guān)注用戶(hù)uj,則該用戶(hù)的受關(guān)注程度是跨網(wǎng)絡(luò)的,比單一網(wǎng)絡(luò)中的關(guān)注更強(qiáng)。但在傳統(tǒng)的pagerank中,并不考慮邊的權(quán)值,因此無(wú)法區(qū)分出該條邊是從單一網(wǎng)絡(luò)生成還是跨網(wǎng)絡(luò)生成。因此,本發(fā)明改進(jìn)pagerank算法,設(shè)定其中融合邊的權(quán)值為:
于是得到有向圖g′,如圖3。