推薦系統(tǒng)實(shí)踐-標(biāo)簽系統(tǒng)

此文是根據(jù)《推薦系統(tǒng)實(shí)踐》部分整理而來(lái)吱晒。

PART 1 介紹

GroupLens在一篇文章中表示目前流行的推薦系統(tǒng)基本上通過(guò)3種方式聯(lián)系用戶興趣和物品:

  • 喜歡過(guò)的物品
  • 有相似興趣的用戶
  • 特征

其中,這里的特征有不同的表現(xiàn)方式,比如尅表現(xiàn)為物品的屬性集合,也可以表現(xiàn)為隱語(yǔ)義向量。本文將討論一種重要的特征表現(xiàn)方式----標(biāo)簽汇陆。

標(biāo)簽應(yīng)用一般分為兩種:一種是讓作者或者專家給物品打標(biāo)簽;另一種是讓普通用戶給物品打標(biāo)簽带饱,也就是UGC的標(biāo)簽應(yīng)用毡代。

UGC的標(biāo)簽應(yīng)用對(duì)用戶來(lái)說(shuō)有幾個(gè)好處:

  • 表達(dá)。標(biāo)簽系統(tǒng)幫助用戶表達(dá)對(duì)物品的看法勺疼。
  • 組織教寂。打標(biāo)簽幫助用戶組織喜歡的物品。
  • 學(xué)習(xí)执庐。打標(biāo)簽幫助用戶增加對(duì)物品的了解酪耕。
  • 發(fā)現(xiàn)。標(biāo)簽系統(tǒng)幫助用戶更容易發(fā)現(xiàn)喜歡的物品轨淌。
  • 決策迂烁。標(biāo)簽系統(tǒng)幫助用戶判定是否去購(gòu)買/使用某個(gè)物品。

PART 2 標(biāo)簽系統(tǒng)中的推薦問(wèn)題

標(biāo)簽系統(tǒng)中的推薦問(wèn)題主要有以下兩個(gè):

  • 如何利用用戶打標(biāo)簽的行為為其推薦物品(基于標(biāo)簽的推薦)递鹉?
  • 如何在用戶給物品打標(biāo)簽時(shí)為其推薦適合該物品的標(biāo)簽(標(biāo)簽推薦)盟步?

為了研究上面兩個(gè)問(wèn)題,我們首先需要解答下面3個(gè)問(wèn)題:

  1. 用戶為什么要打標(biāo)簽躏结?
  2. 用戶怎么打標(biāo)簽却盘?
  3. 用戶打什么樣的標(biāo)簽?

第一個(gè)問(wèn)題從兩個(gè)維度進(jìn)行探討:

  • 社會(huì)維度,有些用戶標(biāo)注是給內(nèi)容上傳者使用的谷炸,有些用戶標(biāo)注是給廣大用戶使用的北专。
  • 功能維度,有些標(biāo)注用于更好地組織內(nèi)容旬陡,方便用戶的查找拓颓,另一些標(biāo)注用于傳達(dá)某種信息,比如照片的拍攝時(shí)間地點(diǎn)描孟。

第二個(gè)問(wèn)題驶睦,盡管每個(gè)用戶的行為看起來(lái)的隨機(jī)的,但是之前提到匿醒,用戶行為中用戶活躍度和物品流行度都是遵循著長(zhǎng)尾分布场航。研究后發(fā)現(xiàn)標(biāo)簽流行度的分布也遵循長(zhǎng)尾分布,下圖橫坐標(biāo)是流行度k廉羔,縱坐標(biāo)是流行度為k的標(biāo)簽總數(shù)n(k):


Paste_Image.png

第三個(gè)問(wèn)題溉痢,用戶會(huì)給物品打上奇奇怪怪的標(biāo)簽,分為以下幾類:

  • 表明物品是什么
  • 表明物品的種類
  • 表明誰(shuí)的物品
  • 表達(dá)用戶的觀點(diǎn)
  • 用戶相關(guān)的標(biāo)簽
  • 用戶的任務(wù)
  • 類型
  • 時(shí)間
  • 任務(wù)
  • 地點(diǎn)
  • 語(yǔ)言
  • 獎(jiǎng)項(xiàng)
  • 其他

PART 2 基于標(biāo)簽的推薦系統(tǒng)

之前的一個(gè)問(wèn)題是:如何利用用戶的標(biāo)簽數(shù)據(jù)提高個(gè)性化推薦結(jié)果的質(zhì)量憋他。
以豆瓣為例孩饼,將標(biāo)簽系統(tǒng)融入產(chǎn)品線,在每本書的頁(yè)面上竹挡,都提供了這本書上用戶最常打的標(biāo)簽镀娶,同時(shí)在用戶給書做評(píng)價(jià)時(shí),豆瓣也會(huì)讓用戶給圖書打標(biāo)簽揪罕。最后梯码,豆瓣利用標(biāo)簽將用戶的推薦結(jié)果做了聚類,顯示了對(duì)不同標(biāo)簽下用戶的推薦結(jié)果好啰,從而增加了推薦的多樣性和可解釋性轩娶。

一個(gè)用戶標(biāo)簽行為的數(shù)據(jù)集一般由一個(gè)三元組的集合表示,其中記錄(u,i,b)表示用戶u給物品i打上了標(biāo)簽b坎怪,當(dāng)然實(shí)際上維度會(huì)更多罢坝,這里只考慮最簡(jiǎn)單的形式廓握。中間的實(shí)驗(yàn)設(shè)置略過(guò)搅窿,直接進(jìn)入算法。

首先一個(gè)最簡(jiǎn)單的算法是:

  1. 統(tǒng)計(jì)每個(gè)用戶最常用的標(biāo)簽隙券。
  2. 對(duì)于每個(gè)標(biāo)簽男应,統(tǒng)計(jì)被打過(guò)這個(gè)標(biāo)簽次數(shù)最多的物品。
  3. 對(duì)于一個(gè)用戶娱仔,首先找到他常用的標(biāo)簽沐飘,然后找到具有這些標(biāo)簽的最熱門物品推薦給這個(gè)用戶。

對(duì)于上面的算法,用戶u對(duì)物品i的興趣公式如下:


Paste_Image.png

這里耐朴,B(u)是用戶u打過(guò)的標(biāo)簽集合借卧,B(i)是物品i被打過(guò)的標(biāo)簽集合,Nu,b是用戶u打過(guò)標(biāo)簽b的次數(shù)筛峭,Nb,i是物品i被打過(guò)標(biāo)簽b的次數(shù)铐刘。這個(gè)算法被作者稱為SimpleTagBased。

評(píng)測(cè)結(jié)果為:


Paste_Image.png

上面的公式會(huì)有很多缺點(diǎn)影晓,以下逐條分析并且提出修改意見:

  1. TF-IDF
    前面這個(gè)公式傾向于給熱門標(biāo)簽對(duì)應(yīng)的熱門物品很大的權(quán)重镰吵,因此會(huì)降低新穎性,并且不能反映個(gè)性化的興趣挂签。在這里可以借鑒 TF-IDF的思想疤祭,對(duì)這一公式進(jìn)行改進(jìn):


    Paste_Image.png

這里nb(u)記錄了標(biāo)簽b被多少個(gè)不同的用戶使用過(guò),這個(gè)算法記為TagBasedTFIDF饵婆。下圖給出了這個(gè)算法在兩個(gè)數(shù)據(jù)集上的離線實(shí)驗(yàn)性能勺馆,可以看到所有指標(biāo)上都比SimpleTagBased高。


Paste_Image.png

同理侨核,借鑒TF-IDF的思想對(duì)熱門物品進(jìn)行懲罰谓传,從而得到如下公式:


Paste_Image.png

ni(u)記錄了物品i被多少個(gè)不同的用戶打過(guò)標(biāo)簽,這個(gè)算法記為TagBasedTFIDF++芹关。下圖展示了這個(gè)算法的離線實(shí)驗(yàn)性能续挟,和TagBasedTFIDF相比,除了多樣性有所下降侥衬,其他指標(biāo)都有明顯提高诗祸。這一結(jié)果表明,適當(dāng)懲罰熱門標(biāo)簽和熱門物品轴总,在增進(jìn)推薦結(jié)果個(gè)性化的同時(shí)并不會(huì)降低推薦結(jié)果的離線精度

Paste_Image.png

  1. 數(shù)據(jù)的稀疏性
    由于用戶興趣和物品是通過(guò)B(u)∩B(i)中的標(biāo)簽建立的直颅,但是對(duì)于新用戶或者新物品,這個(gè)集合中的標(biāo)簽數(shù)量會(huì)很少怀樟,為了提高推薦的準(zhǔn)確率功偿,我們可能要對(duì)標(biāo)簽集合做擴(kuò)展,進(jìn)行標(biāo)簽擴(kuò)展有很多方法往堡,其中常用的有話題模型械荷,不過(guò)這里遵循簡(jiǎn)單的原則介紹一種基于鄰域的方法。

標(biāo)簽擴(kuò)展本質(zhì)是對(duì)每個(gè)標(biāo)簽找到和它相似的標(biāo)簽虑灰,也就是計(jì)算標(biāo)簽的相似度吨瞎。如果認(rèn)為同一個(gè)物品上的不同標(biāo)簽具有某種相似度,那么當(dāng)兩個(gè)標(biāo)簽同時(shí)出現(xiàn)在很多物品的標(biāo)簽集合中時(shí)穆咐,我們就可以認(rèn)為這兩個(gè)標(biāo)簽具有較大的相似度颤诀。對(duì)于標(biāo)簽b字旭,令N(b)為有標(biāo)簽b的物品的集合,n_{b,i}為給物品i打上標(biāo)簽b的用戶數(shù)崖叫,我們可以通過(guò)如下余弦相似度公式計(jì)算標(biāo)簽b和標(biāo)簽b'的相似度:


Paste_Image.png

為了測(cè)試性能進(jìn)行試驗(yàn)遗淳,對(duì)于曾經(jīng)打過(guò)標(biāo)簽數(shù)少于20的用戶,我們找到其所打標(biāo)簽的相關(guān)標(biāo)簽心傀,然后將這些標(biāo)簽聚合排序洲脂,結(jié)果前20標(biāo)簽作為用戶相關(guān)的標(biāo)簽,下表展示了離線實(shí)驗(yàn)的性能剧包,相比之前而言恐锦,進(jìn)行標(biāo)簽擴(kuò)展確實(shí)能提高準(zhǔn)確率和召回率,但可能會(huì)稍微降低推薦結(jié)果的覆蓋率和新穎度疆液。

  1. 標(biāo)簽清理
    有些標(biāo)簽不能反應(yīng)用戶的興趣一铅,比如一個(gè)用戶說(shuō)一個(gè)物品“差”,那么就并不是他喜歡的標(biāo)簽堕油。標(biāo)簽清理的另一個(gè)重要意義在于將標(biāo)簽作為推薦解釋潘飘,如果我們要把標(biāo)簽呈現(xiàn)給用戶,將其作為給用戶推薦某一物品的解釋掉缺,對(duì)標(biāo)簽的質(zhì)量要求就很高卜录。首先標(biāo)簽不能包含沒有意義的停止詞或者表示情緒的詞,其次這些推薦解釋里不能包含很多意義相同的詞語(yǔ)眶明。一般來(lái)說(shuō)有以下清理方法:
  • 去除詞頻很高的停止詞艰毒;
  • 去除因詞根不同造成的同義詞;
  • 去除因分隔符造成的同義詞搜囱。

為了控制標(biāo)簽的質(zhì)量丑瞧,很多網(wǎng)站也采用了讓用戶進(jìn)行反饋的思想,即讓用戶告訴系統(tǒng)某個(gè)標(biāo)簽是否合適蜀肘。

同樣這里基于圖的推薦算法也不介紹了绊汹。介紹下基于標(biāo)簽的推薦解釋,這是基于標(biāo)簽的推薦的一個(gè)好處扮宠。舉例豆瓣西乖,豆瓣有一個(gè)標(biāo)簽云,表示用戶的興趣分布坛增,標(biāo)簽的尺寸越大获雕,表示用戶對(duì)這個(gè)標(biāo)簽相關(guān)的圖書越感興趣。這樣組織頁(yè)面轿偎,首先提高了推薦結(jié)果的多樣性典鸡,讓用戶自己根據(jù)他今天的興趣選擇相關(guān)的標(biāo)簽被廓,從而得到推薦結(jié)果坏晦。同時(shí),標(biāo)簽云也提供了推薦解釋功能,其他的也不多做介紹昆婿,下圖為豆瓣的頁(yè)面:


Paste_Image.png

PART 4 給用戶推薦標(biāo)簽

首先球碉,給用戶推薦標(biāo)簽有以下好處:

  • 方便用戶輸入標(biāo)簽
  • 提高標(biāo)簽質(zhì)量

如何給用戶推薦標(biāo)簽?zāi)兀?/p>

用戶u給物品i打標(biāo)簽時(shí),我們有很多方法可以給用戶推薦和物品i相關(guān)的標(biāo)簽仓蛆,比較簡(jiǎn)單的方法有 4 種:

  • 給用戶u推薦整個(gè)系統(tǒng)最熱門的標(biāo)簽睁冬,稱為PopularTags;
  • 給用戶u推薦物品i上最熱門的標(biāo)簽,稱為ItemPopularTags看疙;
  • 給用戶u推薦他自己經(jīng)常使用的標(biāo)簽豆拨,稱為UserPopularTags;
  • 前面兩種的融合,該方法通過(guò)一個(gè)系數(shù)將上面的推薦結(jié)果線性加權(quán)能庆,然后生成最終的推薦結(jié)果施禾,稱為HybirdPopularTags.

下圖列出了PopularTags、ItemPopularTags搁胆、UserPopularTags三種算法在N=10(N為推薦標(biāo)簽數(shù)量)的準(zhǔn)確率和召回率:


Paste_Image.png

結(jié)果看出弥搞,ItemPopularTags具有最好的準(zhǔn)確率和召回率,這一點(diǎn)是直觀的渠旁,因?yàn)橛脩襞d趣廣泛攀例,基于物品的精度理應(yīng)是最高的。

再看下HybirdPopularTags算法顾腊,下圖給出了在不同顯性融合系數(shù)α下的準(zhǔn)確率和召回率:


Paste_Image.png
Paste_Image.png

其中α=0.8時(shí)(ItemPopularTags權(quán)重更大)粤铭,取得了最好的準(zhǔn)確度,并且超過(guò)了ItemPopularTags的精度杂靶。

不過(guò)有一個(gè)缺點(diǎn)承耿,就是對(duì)新用戶或者不熱門的物品很難有推薦結(jié)果,解決這個(gè)問(wèn)題有兩個(gè)思路:

  • 從內(nèi)容數(shù)據(jù)中抽取關(guān)鍵詞作為標(biāo)簽伪煤;
  • 針對(duì)有結(jié)果加袋,但結(jié)果不太多的情況,進(jìn)行標(biāo)簽擴(kuò)展抱既。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末职烧,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子防泵,更是在濱河造成了極大的恐慌蚀之,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捷泞,死亡現(xiàn)場(chǎng)離奇詭異足删,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)锁右,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門失受,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)讶泰,“玉大人,你說(shuō)我怎么就攤上這事拂到』臼穑” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵兄旬,是天一觀的道長(zhǎng)狼犯。 經(jīng)常有香客問(wèn)我,道長(zhǎng)领铐,這世上最難降的妖魔是什么悯森? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮绪撵,結(jié)果婚禮上呐馆,老公的妹妹穿的比我還像新娘。我一直安慰自己莲兢,他們只是感情好汹来,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著改艇,像睡著了一般收班。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谒兄,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天摔桦,我揣著相機(jī)與錄音,去河邊找鬼承疲。 笑死邻耕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的燕鸽。 我是一名探鬼主播兄世,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼啊研!你這毒婦竟也來(lái)了御滩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤党远,失蹤者是張志新(化名)和其女友劉穎削解,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沟娱,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡氛驮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了济似。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片矫废。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡盏缤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出磷脯,到底是詐尸還是另有隱情蛾找,我是刑警寧澤娩脾,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布赵誓,位于F島的核電站,受9級(jí)特大地震影響柿赊,放射性物質(zhì)發(fā)生泄漏俩功。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一碰声、第九天 我趴在偏房一處隱蔽的房頂上張望诡蜓。 院中可真熱鬧,春花似錦胰挑、人聲如沸蔓罚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)豺谈。三九已至,卻和暖如春贡这,著一層夾襖步出監(jiān)牢的瞬間茬末,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工盖矫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留丽惭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓辈双,卻偏偏與公主長(zhǎng)得像责掏,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子湃望,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容