《推薦系統實踐》樣章:如何利用使用者標籤資料(一)

王軍花發表於2011-12-13

推薦系統的目的是聯絡使用者的興趣和物品,這種聯絡需要依賴於不同的媒介。GroupLens在文章1中認為目前流行的推薦系統基本上通過三種方式來聯絡使用者興趣和物品。如圖1所示,第一種方式是通過使用者喜歡過的物品:可以給使用者推薦與他喜歡過的物品相似的物品,這就是前面提到的基於物品的演算法(item-based)。第二種方式是通過和使用者興趣相似的其他使用者:可以給使用者推薦那些和他們興趣愛好相似的其他使用者喜歡的物品,這也是前面提到的基於使用者的演算法(user-based)。除了這兩種方法,第三個也是最重要的方式是通過一些特徵(feature)來聯絡使用者和物品,可以給使用者推薦那些具有使用者喜歡的特徵的物品。這裡的特徵有不同的表現方式,比如可以表現為物品的屬性集合(比如對於圖書,屬性集合就包括了作者、出版社、主題和關鍵詞等),也可以表現為隱語義向量(latent factor vector),這可以通過前面提出的隱語義模型(Latent Factor Model)學習得到。在本章中,我們將討論一種重要的特徵表現方式:標籤

enter image description here

圖1 推薦系統聯絡使用者和物品的幾種途徑

根據維基百科的定義2,標籤是一種無層次化結構的、用來描述資訊的關鍵詞。因此,標籤可以用來準確地描述物品的語義。根據給物品打標籤的人的不同,標籤應用一般分為兩種。第一種是讓作者或者編輯給物品打標籤,而另一種是讓普通使用者給物品打標籤,也就是UGC的標籤應用。表1列出了這兩種不同的標籤系統的代表網站。在本章中,我們主要討論UGC的標籤應用,研究使用者給物品打標籤的行為,以及如何通過分析這種行為給使用者進行個性化推薦。

表1 兩種不同的標籤系統的代表網站

enter image description here

UGC的標籤系統是一種很重要的表示使用者興趣和物品語義的方式。當一個使用者對一個物品打上一個標籤後,這個標籤一方面描述了使用者的興趣,另一方面也表示了物品的語義,從而將使用者和物品聯絡了起來。

UGC標籤系統的代表應用


UGC標籤系統是很多Web 2.0網站的必要組成部分,本節將討論使用UGC標籤系統的代表網站:UGC標籤系統的鼻祖美味書籤(Delicious)、論文書籤網站CiteULike、音樂網站Lastfm、視訊網站Hulu、書和電影評論網站豆瓣等。下面將分別介紹這些應用。

Delicious

美味書籤(Delicous)是標籤系統裡的開山鼻祖了,它允許使用者給網際網路上的每個網頁打上標籤,從而通過標籤的方式重新組織整個網際網路。圖2是Delicious中被使用者打上recommender system標籤最多的網頁,這些網頁反應了使用者心目中和推薦系統最相關的網頁。圖3是Delicious中“豆瓣電臺”這個網頁被使用者打的最多的標籤,可以看到這些標籤確實準確地描述了豆瓣電臺。

enter image description here

圖2 Delicious中被打上recommender system標籤的網頁

enter image description here

圖3 Delicious中“豆瓣電臺”網頁被使用者打的最多的標籤

CiteULike

CiteULike是一個著名的論文書籤網站,它允許研究人員提交或者收藏他們感興趣的論文,給論文打標籤,從而幫助使用者更好地發現和自己研究領域相關的優秀論文。我們知道,研究人員搜尋自己研究領域值得參考的論文是很費時費力的工作,而CiteULike通過群體智慧,讓每個研究人員對自己瞭解的論文進行標記,從而幫助使用者更好更快地發現自己感興趣的論文。圖4展示了CiteULike中一篇被使用者打的標籤最多的有關推薦系統評測的文章,可以發現,最多的兩個標籤是collaborative-filtering(協同過濾)和evaluate(評測),確實比較準確地反應了這篇論文的主要內容。 enter image description here

圖4 CiteULike中一篇論文的標籤

Lastfm

Lastfm是一家著名的音樂網站,它通過分析使用者的聽歌行為來預測使用者對音樂的興趣,從而給使用者推薦個性化的音樂。作為多媒體,音樂不像文字那樣可以很容易地分析它的內容資訊。為了在不進行復雜的音訊分析的情況下獲得音樂的內容資訊,Lastfm引用了標籤系統,讓使用者用標籤標記音樂和歌手。圖5展示了披頭士樂隊在Lastfm中的標籤雲(tag cloud)。從這個標籤雲可以看到,披頭士應該是一個英國的傳統搖滾樂隊,流行於上世紀60年代。

enter image description here

圖5 Lastfm中披頭士樂隊的標籤雲

豆瓣

豆瓣是中國著名的評論和社交網站,同時也是中國個性化推薦鄰域的領軍企業之一。豆瓣在個性化推薦領域進行了廣泛的嘗試,標籤系統也是他們嘗試的領域之一。他們允許使用者對圖書和電影進行標籤,從而獲得圖書和電影的內容資訊,並用這種資訊來改善他們的推薦效果。圖7展示了《資料探勘導論》在豆瓣被使用者標記的情況。如圖7所示,最多的幾個標籤分別是:資料探勘、計算機、電腦科學、資料分析、IT資料分析。這些標籤準確地反應了這本書的內容資訊。

enter image description here

圖6 豆瓣讀書中《資料探勘導論》一書的常用標籤

Hulu

Hulu是美國著名的視訊網站。視訊作為一種最為複雜的多媒體,獲取它的內容資訊是最困難的,因此,Hulu也引入了使用者標籤系統來讓使用者對電視劇和電影進行標記。圖7展示了美劇《豪斯醫生》的常用標籤,可以看到,Hulu對標籤做了分類,並展示了每一類最熱門的標籤。從型別(genre)看,豪斯醫生是一部醫學片(medical drama);從時間看,這部劇開始於2004年;從人物看,這部美劇的主演是hugh laurie,他在劇中飾演的人物是greg house。 enter image description here

圖7 Hulu中《豪斯醫生》的常用標籤

從前面的各種應用可以看到,標籤系統在各種各樣的網站中(音樂、視訊和社交等)都得到了廣泛的應用。標籤系統的最大優勢在於可以發揮群體的智慧,獲得物品內容資訊的比較準確的關鍵詞描述,而準確的內容資訊是提升個性化推薦系統的重要資源。

標籤系統中的推薦問題


標籤行為作為一種重要的使用者行為,蘊含了很多反映使用者興趣的資訊,因此深入研究使用者的標籤行為可以很好地指導個性化推薦系統提升自己的推薦質量。同時,標籤作為一種重要的內容表示方式,比傳統的內容屬性表示更能反應使用者對物品的看法,並且表示形式非常簡單,便於很多演算法處理。

標籤系統中的推薦問題主要有以下兩個。

  • 如何利用使用者的標籤行為給使用者推薦物品(tag-based recommendation)?

  • 如何在使用者給物品打標籤時給使用者推薦適合於該物品的標籤(tag recommendation)?

為了研究上面的兩個問題,我們首先需要解答下面三個問題。

  • 使用者為什麼要打標籤(Why)?

  • 使用者怎麼打標籤(How)?

  • 使用者打什麼樣的標籤(What)?

使用者為什麼要標註

在設計基於Tag的個性化推薦系統之前,我們需要深入瞭解使用者的標註行為,知道使用者為什麼要標註,使用者怎麼標註,只有深刻地瞭解使用者的行為,我們才能基於這個行為給使用者設計出令他們滿意的個性化推薦系統。

Morgan Ames研究圖片分享網站中使用者標註的動機問題3,他將使用者標註的動機分解成兩個維度。首先是社會維度,有些使用者標註是為了給內容的上傳者使用的,而有些使用者標註是為了給廣大使用者使用的。令一個維度是功能維度,有些標註是為了更好地組織內容,方便使用者將來的查詢,而另一些標註是為了傳達某種資訊,比如照片的拍攝時間和地點等。

使用者如何打標籤

在網際網路中,儘管每個使用者的行為看起來是隨機的,但其實這些表面隨機的行為的背後蘊含著很多規律。在這一節中,我們通過研究美味書籤的資料集,來發現使用者標註行為中的一些統計規律。

德國的研究人員公佈過一個很龐大的美味書籤的資料集4,該資料集包含了2003年9月到2007年12月美味書籤使用者4.2億條標籤行為記錄。本節選用該資料集2007年一整年的資料進行分析,對該資料集的統計特性進行研究。

本節將統計資料集的以下資訊。

  • 使用者活躍度的分佈。

  • 物品流行度的分佈。

  • 標籤熱門度的分佈。

  • 使用者標籤行為隨時間演化的曲線。

  • 使用者相隔一段時間興趣變化的情況。

  • 物品的生命週期。

*[****具體統計結果待書正式出版時公佈**]*

使用者打什麼樣的標籤

使用者在看到一個物品時,我們最希望他打的標籤是能夠準確描述物品內容屬性的關鍵詞。但使用者往往不是按照我們的想法去操作,而是可能會給物品打上各種各樣奇怪的標籤。

Scott A. Golder 總結了美味書籤上的標籤,將它們分為如下的幾類。

  • 表明物品是什麼:比如是一隻鳥,就會有“鳥”這個詞的標籤;是豆瓣的首頁,就有一個標籤叫“豆瓣”;是賈伯斯的首頁,就會有個標籤叫“賈伯斯”。

  • 表明物品的種類:比如在美味書籤中,表示一個網頁的類別的標籤包括 article(文章)、 blog(部落格)、 book(圖書)等。

  • 表明誰擁有物品 :比如很多部落格的標籤中會包括部落格的作者等資訊。

  • 表達使用者的觀點:比如使用者認為網頁很有趣,就會有funny(有趣)的標籤,認為很無聊,就會打上boring(無聊)的標籤。

  • 使用者相關的標籤:有些標籤,比如 my favorite(我最喜歡的)、my comment(我的評論)等。

  • 使用者的任務:比如 to read(即將閱讀)、 job search(找工作)等。

很多不同的網站也設計了自己的標籤分類系統,比如Hulu對視訊的標籤就做了分類。

圖8是著名的美劇《豪斯醫生》的標籤。可以看到,Hulu將電視劇的標籤分成了幾類。

  • 型別(Genre):主要表示這個電視劇的類別,比如《豪斯醫生》是屬於醫學劇情片(medical drama),同時有喜劇(comedy)、懸疑(mystery)的成分。

  • 時間(Time):主要包括電視劇釋出的時間,有時也包括電視劇中事件發生的時間,比如是二戰期間,或者是上世紀90年代。

  • 人物(People):主要包括電視劇的導演、演員和劇中重要人物等。

  • 地點(Place):劇情發生的地點,或者是視訊拍攝的地點等。

  • 語言(Language):這部電視劇使用的語言。

  • 獎項(Awards):這部電視劇獲得的相關獎項。

  • 其他(Details):包含了不能歸類到上面各類的其他所有標籤。

enter image description here

圖8 著名美劇《豪斯醫生》在視訊網站Hulu上的標籤分類


1 文章名是Tagsplanations : Explaining Recommendations using Tags。

2 具體見http://en.wikipedia.org/wiki/Tag_(metadata)

3 具體見 Why We Tag: Motivations for Annotation in Mobile and Online Media

4 資料集見 http://www.dai-labor.de/en/competence_centers/irml/datasets/

下一篇

相關文章