顧沖 張駿
摘 要:針對(duì)知乎存在的用戶(hù)獲取答案周期長(zhǎng)、答案質(zhì)量參差不齊、用戶(hù)體驗(yàn)差等問(wèn)題,根據(jù)用戶(hù)提問(wèn)和回答標(biāo)簽構(gòu)建用戶(hù)興趣模型,將用戶(hù)興趣與基于用戶(hù)的協(xié)同過(guò)濾算法結(jié)合起來(lái),提出基于用戶(hù)興趣的用戶(hù)協(xié)同服務(wù)推送方法,并將該方法應(yīng)用到知乎中進(jìn)行驗(yàn)證,結(jié)果證明該方法可以有效地用于知乎用戶(hù)個(gè)性化服務(wù)推送,為知乎提高自身信息服務(wù)水平提供了一定的指導(dǎo)意義。
關(guān)鍵詞:社會(huì)化標(biāo)簽;用戶(hù)興趣;協(xié)同過(guò)濾;服務(wù)推送
中圖分類(lèi)號(hào):F49 文獻(xiàn)標(biāo)識(shí)碼:Adoi:10.19311/j.cnki.1672-3198.2018.17.024
1 引言
隨著互聯(lián)網(wǎng)信息技術(shù)和社交媒體的迅猛發(fā)展,海量信息被提供給人們,在給人們的工作、生活、學(xué)習(xí)等帶來(lái)便利的同時(shí),也使得人們對(duì)于分享和準(zhǔn)確獲取信息與知識(shí)的需求更為迫切。知乎作為目前國(guó)內(nèi)最熱門(mén)的社會(huì)化問(wèn)答網(wǎng)站之一,融合了問(wèn)答與社交,形成了用戶(hù)對(duì)信息的互動(dòng)交流模式,一定程度上較好地滿(mǎn)足了用戶(hù)分享或獲取信息的需求。雖然經(jīng)過(guò)多年的發(fā)展,知乎已經(jīng)積累了大量高質(zhì)量問(wèn)答和參與度高的用戶(hù)群體,但是仍然存在用戶(hù)體驗(yàn)差、答案質(zhì)量參差不齊、用戶(hù)獲取答案周期長(zhǎng)等問(wèn)題?;谟脩?hù)興趣進(jìn)行服務(wù)推送時(shí),可以將問(wèn)題推送給具有相似興趣的用戶(hù)以縮短用戶(hù)提問(wèn)和回答的時(shí)間,提升用戶(hù)體驗(yàn)感。因此,基于用戶(hù)興趣對(duì)知乎進(jìn)行服務(wù)推送的研究具有重要意義。
目前常用的服務(wù)推送技術(shù)中,主要分為三種:協(xié)同過(guò)濾推送、基于內(nèi)容的推送和基于社會(huì)化標(biāo)簽的推送。其中協(xié)同過(guò)濾推送技術(shù)是目前應(yīng)用最為廣泛、成熟的技術(shù),它通過(guò)計(jì)算用戶(hù)相似度,將相似用戶(hù)的偏好信息推送給目標(biāo)用戶(hù)。基于內(nèi)容的推送是指根據(jù)用戶(hù)的歷史信息來(lái)為其推送其它相似的信息。社會(huì)化標(biāo)簽是用戶(hù)對(duì)信息資源的描述,一定程度上代表了用戶(hù)的興趣和偏好?;谏鐣?huì)化標(biāo)簽的推送結(jié)合前兩者的優(yōu)勢(shì),根據(jù)社會(huì)化標(biāo)簽挖掘用戶(hù)興趣和信息資源特點(diǎn)進(jìn)而為用戶(hù)實(shí)現(xiàn)推送。
知乎自身?yè)碛幸惶自?huà)題體系,用戶(hù)在提問(wèn)、關(guān)注、發(fā)表文章等行為過(guò)程中都需要從話(huà)題體系中選擇相應(yīng)話(huà)題,知乎“話(huà)題”具有社會(huì)化標(biāo)簽的功能,知乎話(huà)題體系即知乎標(biāo)簽庫(kù)。因此在研究知乎用戶(hù)興趣時(shí),利用話(huà)題標(biāo)簽表示用戶(hù)興趣,具有一定地規(guī)范性、通用性和可行性。本文將用戶(hù)興趣模型與基于用戶(hù)的協(xié)同過(guò)濾結(jié)合起來(lái),提出了基于用戶(hù)興趣的用戶(hù)協(xié)同服務(wù)推送方法,該方法為知乎提高自身信息服務(wù)水平提供了一定的指導(dǎo)意義。
2 基于用戶(hù)興趣的用戶(hù)協(xié)同服務(wù)推送方法
2.1 用戶(hù)興趣提取
本文對(duì)“知乎”用戶(hù)興趣的提取包含兩個(gè)方面,用戶(hù)提出問(wèn)題的話(huà)題興趣標(biāo)簽提取和用戶(hù)回答問(wèn)題的話(huà)題興趣標(biāo)簽提取,分為三個(gè)步驟進(jìn)行。
(1)獲取用戶(hù)提出問(wèn)題的話(huà)題興趣標(biāo)簽。
知乎用戶(hù)可以提出多個(gè)問(wèn)題,但每一個(gè)問(wèn)題只屬于一個(gè)用戶(hù)。用戶(hù)每提出一個(gè)問(wèn)題,就會(huì)使用一個(gè)或多個(gè)話(huà)題標(biāo)簽。統(tǒng)計(jì)用戶(hù)提問(wèn)題時(shí)使用的所有標(biāo)簽,構(gòu)建用戶(hù)-話(huà)題關(guān)系矩陣,記為RT。矩陣RT的每一個(gè)行向量表示一個(gè)用戶(hù)提出問(wèn)題的話(huà)題興趣標(biāo)簽及其權(quán)重。
(2)獲取用戶(hù)回答問(wèn)題的話(huà)題興趣標(biāo)簽。
在知乎中,用戶(hù)與問(wèn)題、問(wèn)題與話(huà)題都是多對(duì)多的關(guān)系,一個(gè)用戶(hù)可以回答多個(gè)問(wèn)題,一個(gè)問(wèn)題也可以被多個(gè)用戶(hù)回答,一個(gè)話(huà)題可以標(biāo)注多個(gè)問(wèn)題,一個(gè)問(wèn)題也可以被多個(gè)話(huà)題標(biāo)注。為了獲取用戶(hù)回答問(wèn)題的話(huà)題興趣標(biāo)簽,即要找到用戶(hù)與話(huà)題之間的關(guān)系。假設(shè)三個(gè)關(guān)系矩陣,分別為用戶(hù)-問(wèn)題關(guān)系矩陣M,問(wèn)題-話(huà)題關(guān)系矩陣N和用戶(hù)-話(huà)題關(guān)系矩陣RQ。用戶(hù)-問(wèn)題關(guān)系矩陣M表示用戶(hù)與其所回答問(wèn)題之間的關(guān)系;問(wèn)題-話(huà)題關(guān)系矩陣N表示問(wèn)題與其標(biāo)注話(huà)題之間的關(guān)系;用戶(hù)-話(huà)題關(guān)系矩陣RQ則通過(guò)公式(1)計(jì)算得到。矩陣RQ的每一個(gè)行向量表示一個(gè)用戶(hù)回答問(wèn)題的話(huà)題興趣標(biāo)簽及其權(quán)重。
(3)獲得用戶(hù)最終興趣標(biāo)簽。
將用戶(hù)提出問(wèn)題的話(huà)題興趣標(biāo)簽和用戶(hù)回答問(wèn)題的話(huà)題興趣標(biāo)簽進(jìn)行對(duì)比合并,重新計(jì)算標(biāo)簽權(quán)重,按照標(biāo)簽權(quán)重降序排列選取排名靠前的標(biāo)簽作為用戶(hù)的興趣標(biāo)簽,以標(biāo)簽和權(quán)重來(lái)表示用戶(hù)興趣。使用興趣向量來(lái)表示最終用戶(hù)興趣模型,如公式(2)所示。
2.2 用戶(hù)興趣矩陣
對(duì)多個(gè)用戶(hù)的興趣向量進(jìn)行合并匯總,可以獲得用戶(hù)興趣矩陣,記為R,如公式(3)所示。
2.3 最近鄰居用戶(hù)集合的構(gòu)建
在基于用戶(hù)的協(xié)同過(guò)濾算法中最重要的就是鄰居用戶(hù)的選取,構(gòu)建鄰居用戶(hù)集合主要包括兩個(gè)步驟:用戶(hù)相似度的計(jì)算和鄰居用戶(hù)的選取。
(1)計(jì)算用戶(hù)相似度。
用戶(hù)相似度計(jì)算是指根據(jù)用戶(hù)-標(biāo)簽關(guān)系,通過(guò)一定的相似性計(jì)算方法,來(lái)計(jì)算用戶(hù)興趣的相似程度。本文使用余弦相似性計(jì)算用戶(hù)相似度,如公式(4)所示。
(2)選取最近鄰居用戶(hù)。
閾值設(shè)置法是指提前設(shè)定一個(gè)相似度閾值e,然后直接將相似度大于該閾值的用戶(hù)歸屬到目標(biāo)用戶(hù)的最近鄰居用戶(hù)集合中。本文使用閾值設(shè)置法進(jìn)行鄰居用戶(hù)的選取,實(shí)驗(yàn)過(guò)程中再根據(jù)實(shí)際情況調(diào)整得到合適的閾值e。
2.4 個(gè)性化服務(wù)推送的產(chǎn)生
傳統(tǒng)的基于用戶(hù)的協(xié)同過(guò)濾推送算法,個(gè)性化服務(wù)推送階段是指根據(jù)目標(biāo)用戶(hù)的最近鄰居對(duì)資源的偏好,為目標(biāo)用戶(hù)推送相應(yīng)的資源。針對(duì)知乎特點(diǎn),話(huà)題標(biāo)簽所標(biāo)注的用戶(hù)、問(wèn)題等內(nèi)容與傳統(tǒng)推送算法中的資源不同,因此,本文的個(gè)性化服務(wù)推送從不同方面進(jìn)行推送,主要包含兩點(diǎn)。
(1)目標(biāo)用戶(hù)好友推送。
目標(biāo)用戶(hù)與其最近鄰居之間具有相似或相同興趣,容易形成好友關(guān)系。因此,可以對(duì)目標(biāo)用戶(hù)的最近鄰居用戶(hù)按照相似度降序排列,選取其中排名靠前的用戶(hù)作為好友推送給目標(biāo)用戶(hù)。
(2)標(biāo)簽及其標(biāo)注資源推送。
由于目標(biāo)用戶(hù)與其最近鄰居用戶(hù)興趣偏好比較相近,所以最近鄰居用戶(hù)感興趣的內(nèi)容也可以是目標(biāo)用戶(hù)所感興趣的,因此可以向目標(biāo)用戶(hù)推送最近鄰居用戶(hù)形成的標(biāo)簽集合T,如公式(5)所示,Tui表示目標(biāo)用戶(hù)的興趣標(biāo)簽集合,TNui表示包含目標(biāo)用戶(hù)在內(nèi)的最近鄰居用戶(hù)的興趣標(biāo)簽集合。另一方面,知乎中每一個(gè)話(huà)題頁(yè)面都有“活躍回答者”、“精華問(wèn)答”等內(nèi)容,也可以將這些資源推送給目標(biāo)用戶(hù)。
3 知乎中服務(wù)推送實(shí)驗(yàn)分析
3.1 數(shù)據(jù)準(zhǔn)備
本文研究所用數(shù)據(jù)主要來(lái)源于知乎用戶(hù)egrcc在其“知乎”回答頁(yè)面(https://www.zhihu.com/question/ 36132174/answer/88579592)中分享的數(shù)據(jù)集zhihu,該數(shù)據(jù)集可用于構(gòu)建用戶(hù)關(guān)注網(wǎng)絡(luò)和獲取用戶(hù)回答興趣標(biāo)簽。
為了使得服務(wù)推送方法在知乎中取得更好的效果,首先需要對(duì)數(shù)據(jù)進(jìn)行處理,清洗后得到241名用戶(hù)數(shù)據(jù);再由于具有相似興趣的用戶(hù)容易形成緊密社區(qū),所以對(duì)241名用戶(hù)構(gòu)建用戶(hù)關(guān)注網(wǎng)絡(luò)并使用Gephi中的“模塊化”功能將用戶(hù)劃分為多個(gè)社區(qū);最后針對(duì)其中的一個(gè)成員數(shù)量為4的社區(qū)中的用戶(hù)進(jìn)行服務(wù)推送,該社區(qū)4個(gè)用戶(hù)在知乎中的user_url分別為“bu-zhi-34-47”、“cdban-zhang-lian”、“hahahaxy”、“qqwers123”。
3.2 知乎社區(qū)用戶(hù)興趣提取
根據(jù)用戶(hù)興趣提取的步驟,首先分別對(duì)4個(gè)用戶(hù)提問(wèn)時(shí)所使用的標(biāo)簽和回答時(shí)的問(wèn)題所屬話(huà)題標(biāo)簽進(jìn)行提取,結(jié)果如表1和表2所示,其中表1數(shù)據(jù)是從知乎網(wǎng)站中提取的,表2數(shù)據(jù)由數(shù)據(jù)集中數(shù)據(jù)統(tǒng)計(jì)得到。
為了獲得最終的用戶(hù)興趣標(biāo)簽,將用戶(hù)提問(wèn)和回答的話(huà)題興趣標(biāo)簽合并,對(duì)每個(gè)用戶(hù)的話(huà)題標(biāo)簽權(quán)重都進(jìn)行歸一化處理,最后得到四名用戶(hù)的興趣模型,結(jié)果如下。
bu-zhi-34-47:
{(調(diào)查類(lèi)問(wèn)題-0.0886),(生活-0.0253),(音樂(lè)-0.0253),(旅行攻略-0.019),(社會(huì)-0.019),(文化-0.019),(音樂(lè)推薦-0.019),(X 是種怎樣的體驗(yàn)-0.0127),(兒童教育-0.0127),(教育-0.0127),(恐怖-0.0127),(人性-0.0127),(日本-0.0127),(攝影-0.0127),(生活經(jīng)歷-0.0127),(心理學(xué)-0.0127),(育兒-0.0127) };
cdban-zhang-lian:
{(日本-0.0596),(文化-0.0265),(科技-0.0199),(兩性關(guān)系-0.0199),(劉慈欣(作家)-0.0199),(三體(系列小說(shuō))-0.0199),(社會(huì)-0.0199),(物理學(xué)-0.0199),(動(dòng)漫-0.0132),(歷史-0.0132),(你如何評(píng)價(jià) X-0.0132),(人文生活-0.0132),(生活-0.0132),(物理科普-0.0132),(心理學(xué)-0.0132),(音樂(lè)-0.0132),(哲學(xué)-0.0132),(職場(chǎng)-0.0132)};
hahahaxy:
{(調(diào)查類(lèi)問(wèn)題-0.0714),(生活-0.05),(英語(yǔ)-0.0429),(生活經(jīng)歷-0.0357),(兩性關(guān)系-0.0286),(情感-0.0214),(英語(yǔ)詞匯-0.0214),(英語(yǔ)學(xué)習(xí)-0.0214),(閱讀-0.0214),(初戀-0.0143),(翻譯-0.0143),(口譯-0.0143),(戀愛(ài)-0.0143),(女性-0.0143),(人際交往-0.0143)};
qqwers123:
{(女性主義-0.0244),(社會(huì)-0.0176),(生活-0.0149),(心理學(xué)-0.0136),(法律-0.0129),(你如何評(píng)價(jià) X-0.0122),(性別平等-0.0122),(教育-0.0115),(兩性關(guān)系-0.0108),(性生活-0.0102),(文化-0.0095),(人際交往-0.0088),(戀愛(ài)-0.0081),(大學(xué)-0.0075),(歷史-0.0075),(知乎-0.0075),(互聯(lián)網(wǎng)-0.0068),(戀愛(ài)心理-0.0068)};
3.3 知乎社區(qū)用戶(hù)最近鄰獲取
選擇用戶(hù)bu-zhi-34-47作為目標(biāo)用戶(hù),為其尋找所在社區(qū)的最近鄰居。
bu-zhi-34-47與cdban-zhang-lian共同感興趣的標(biāo)簽有“日本”、“社會(huì)”、“生活”、“文化”、“心理學(xué)”和“音樂(lè)”,它們?cè)趦蓚€(gè)用戶(hù)興趣模型中的權(quán)重分別為(0.0127,0.019,0.0253,0.019,0.0127,0.0253)和(0.0596,0.0199,0.0132,0.0265,0.0132,0.0132);
bu-zhi-34-47與hahahaxy共同感興趣的標(biāo)簽有“調(diào)查類(lèi)問(wèn)題”、“生活”和“生活經(jīng)歷”,它們?cè)趦蓚€(gè)用戶(hù)興趣模型中的權(quán)重分別為(0.0886,0.0253,0.0127)和(0.0714,0.05,0.0357);
bu-zhi-34-47與qqwers123共同感興趣的標(biāo)簽有“教育”、“社會(huì)”、“生活”、“文化”和“心理學(xué)”,它們?cè)趦蓚€(gè)用戶(hù)興趣模型中的權(quán)重分別為(0.0127,0.019,0.0253,0.019,0.0127)和(0.0115,0.0176,0.0149,0.0095,0.0136);
根據(jù)公式(4)計(jì)算用戶(hù)之間的相似度,也就是求兩個(gè)向量的余弦相似度,為了快速計(jì)算,采用matlab進(jìn)行向量計(jì)算,得出bu-zhi-34-47與其它三名用戶(hù)之間的相似度,結(jié)果如下:
sim(u1,u2)=0.7134;sim(u1,u3)=0.9182;sim(u1,u4)=0.9624。
根據(jù)用戶(hù)相似度計(jì)算的結(jié)果,可以發(fā)現(xiàn),bu-zhi-34-47與其它四名用戶(hù)之間的相似度都在0.7以上,說(shuō)明用戶(hù)關(guān)系非常緊密。由于所選社區(qū)用戶(hù)比較少,在進(jìn)行鄰居選擇時(shí)就不需要設(shè)定閾值了,可以直接根據(jù)實(shí)際需求按照相似度大小選擇1個(gè)、2個(gè)或3個(gè)鄰居。用戶(hù)qqwers123與bu-zhi-34-47的相似度最大,因此,選擇用戶(hù)qqwers123作為用戶(hù)bu-zhi-34-47的最近鄰居,便于后續(xù)對(duì)用戶(hù)進(jìn)行服務(wù)推送。
3.4 知乎社區(qū)用戶(hù)個(gè)性化服務(wù)推送
在對(duì)“知乎”社區(qū)目標(biāo)用戶(hù)進(jìn)行個(gè)性化服務(wù)推送階段,不同于傳統(tǒng)基于用戶(hù)的協(xié)同過(guò)濾算法,本文主要根據(jù)具有相似興趣的用戶(hù)容易成為最近鄰,通過(guò)最近鄰的興趣來(lái)給目標(biāo)用戶(hù)推送感興趣的服務(wù)。以目標(biāo)用戶(hù)bu-zhi-34-47及其最近鄰qqwers123為例,為目標(biāo)用戶(hù)bu-zhi-34-47推送個(gè)性化服務(wù)。
一方面,用戶(hù)與其最近鄰居之間具有相似的興趣,容易形成友好關(guān)系,因此可以將用戶(hù)bu-zhi-34-47作為好友推送給目標(biāo)用戶(hù)。
另一方面,可為目標(biāo)用戶(hù)推送其最近鄰用戶(hù)感興趣的標(biāo)簽,根據(jù)公式(5)知,可推送給目標(biāo)用戶(hù)的話(huà)題標(biāo)簽集合為{女性主義,法律,你如何評(píng)價(jià) X,性別平等,兩性關(guān)系,性生活,人際交往,戀愛(ài),大學(xué),歷史,知乎,互聯(lián)網(wǎng),戀愛(ài)心理}。在每個(gè)話(huà)題標(biāo)簽下都有“精華問(wèn)答”、“活躍回答者”、“熱門(mén)討論問(wèn)答”、“最近討論問(wèn)答”等內(nèi)容,這些都可以作為信息資源推送給目標(biāo)用戶(hù),以便于目標(biāo)用戶(hù)更全面地掌握該話(huà)題的相關(guān)動(dòng)態(tài)。
4 結(jié)語(yǔ)
本文首先根據(jù)用戶(hù)提問(wèn)和回答時(shí)標(biāo)注的話(huà)題標(biāo)簽來(lái)構(gòu)建用戶(hù)興趣模型,然后將用戶(hù)興趣模型與基于用戶(hù)的協(xié)同過(guò)濾算法結(jié)合起來(lái)提出了基于用戶(hù)興趣的用戶(hù)協(xié)同服務(wù)推送方法,最后使用真實(shí)知乎數(shù)據(jù)對(duì)該方法進(jìn)行了驗(yàn)證。實(shí)驗(yàn)結(jié)果表明了本文構(gòu)建的用戶(hù)興趣模型可以有效地對(duì)知乎用戶(hù)興趣進(jìn)行識(shí)別,提出的服務(wù)推送方法可以很好地為知乎用戶(hù)提供個(gè)性化服務(wù),進(jìn)而提升其自身信息服務(wù)水平。
參考文獻(xiàn)
[1]鄧愛(ài)林,朱揚(yáng)勇,施伯樂(lè).基于項(xiàng)目評(píng)分預(yù)測(cè)的協(xié)同過(guò)濾推薦算法[J].軟件學(xué)報(bào),2003(09):1621-1628.
[2]李容,李明奇,郭文強(qiáng).基于改進(jìn)相似度的協(xié)同過(guò)濾算法研究[J].計(jì)算機(jī)科學(xué),2016,43(12):206-208+240.
[3]王成,朱志剛,張玉俠,蘇芳芳.基于用戶(hù)的協(xié)同過(guò)濾算法的推薦效率和個(gè)性化改進(jìn)[J].小型微型計(jì)算機(jī)系統(tǒng),2016,37(03):428-432.
[4]雷凱,劉樹(shù)波,李丹,李永凱.實(shí)時(shí)路況制約下基于內(nèi)容的興趣點(diǎn)推薦[J].計(jì)算機(jī)工程,2017,43(10):147-152.
[5]閆東東,李紅強(qiáng).一種改進(jìn)的基于內(nèi)容的個(gè)性化推薦模型[J].軟件導(dǎo)刊,2016,15(04):11-13.
[6]代晨旭,周熙晨.一種基于內(nèi)容的新聞推薦系統(tǒng)實(shí)例[J].電腦知識(shí)與技術(shù),2015,11(25):36-38.
[7]付凱麗.基于社會(huì)化標(biāo)簽的圖書(shū)推薦系統(tǒng)模型研究[J].情報(bào)探索,2016(10):80-85.
[8]蔡強(qiáng),韓東梅,李海生,胡耀光,陳誼.基于標(biāo)簽和協(xié)同過(guò)濾的個(gè)性化資源推薦[J].計(jì)算機(jī)科學(xué),2014,41(01):69-71+110.
[9]石林,徐飛,徐守坤.基于用戶(hù)興趣建模的個(gè)性化推薦[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(12):211-214+264.
[10]郭弘毅,劉功申,蘇波,孟魁.融合社區(qū)結(jié)構(gòu)和興趣聚類(lèi)的協(xié)同過(guò)濾推薦算法[J].計(jì)算機(jī)研究與發(fā)展,2016,53(08):1664-1672.