摘 要: 首先對國內微博平臺的信息進行了綜合分析,主要介紹了微博信息的定義,在錯綜復雜的微博信息中哪些信息比較重要,以及這些微博信息包含哪些詳細的內容,是如何組織的。然后選取新浪微博平臺作為研究對象,利用新浪微博API設計了爬蟲程序,抽取用戶信息;以用戶的關注人數、粉絲數和發布的微博數為標準對用戶信息進行了定量分析。最后根據分析結果,針對不同特征的用戶群體提出了相應的標簽推薦方法。
關鍵詞:
中圖分類號: TP391.1 文獻標識碼: A 文章編號:2095-2163(2011)03-0021-06
A Tag Recommendation Method for Microblog Users
CHEN Yuan, LIN Lei, SUN Chengjie, LIU Bingquan
Abstract The paper first makes a comprehensive analysis for the information of domestic microblog platforms, then introduces the definition of microblog information, points out which part of the complicated microblog information is more important, what is included in the information and how the information is organized. After that, it chooses Sina Microblog for study and designs a crawler by using its API to collect a large number of user information. Furthermore, the paper makes a quantitative analysis of user information by using the number of user's friends, fans and microblogs. At last, the paper puts forward different tag recommendation strategies for different user groups by using the result of analysis.
Key words
0 引言
微博的誕生和飛速發展給互聯網用戶的生活帶來了巨大的影響,因其以新穎的表現形式出現在用戶面前,吸引了大量的用戶群體,蘊含著巨大的商業價值和研究價值。近兩年內,國內微博發展速度驚人,根據2011年5月舉行的首屆中國微博大會公布的數據,中國活躍微博用戶數量已經達到2.2-2.4億。龐大的用戶群體同時也產生了海量的信息,對相關的信息處理和研究提出了挑戰。標簽是微博上提供的用戶描述方式,是進行微博好友推薦和微博信息推薦的基礎。但是大多數用戶不愿意花時間自己給自己打標簽。本文對國內微博平臺的信息特點和用戶特征進行了初步分析,并在此基礎了提出了針對屬于不同用戶群體的微博用戶的標簽推薦方法。
1 微博信息的特點
1.1 國內微博平臺分析
到目前為止,國內四大門戶網站新浪、騰訊、網易、搜狐均推出了自己的微博服務,雖然還有很多其他微博平臺,如人民網微博、鳳凰網微博、百度i貼吧、飯否網、嘀咕網等,但從影響力和規模上來看,都遠不如上述四大門戶網站的微博平臺,尤其是新浪微博和騰訊微博,其用戶數量早在2011年年初就均已過億,是國內微博的領跑者。新浪微博和騰訊微博一個很大的特點就是規模龐大,其使用者幾乎覆蓋了所有年齡段、所有行業的人群,話題覆蓋面廣,信息量大,同時也十分雜亂,對其研究者而言是一個巨大的挑戰,但卻因其充分代表了微博的特點,因而具有更大的研究價值。騰訊微博比新浪微博起步晚,雖然騰訊利用自身QQ用戶群體龐大的優勢,迅速占據了微博的一大片市場,但新浪微博似乎顯得更為純粹,而且新浪微博開放平臺提供的API比騰訊微博開放平臺提供的API更完善,更利于抽取數據以做進一步的研究工作。基于以上的原因,本文選擇的研究對象為新浪微博。
圖1是新浪微博的一個用戶頁面截圖。從圖1中可以看到微博包含著豐富的信息,但最為核心的信息主要有兩種,即用戶信息和微博信息。除此之外,在微博平臺上還能看到“風云榜”、“名人堂”、“熱門話題”和“熱門標簽”等信息。
表1給出了新浪微博中各種重要信息所包含的內容,國內各大微博平臺所采用的信息組織方式和特殊符號的功能定義基本一致。
1.2 用戶信息
用戶信息主要包括三類:唯一標識信息、基本描述信息和活動信息。用戶UID和微博昵稱是一一對應的,都唯一標識了一個用戶。用戶UID用于后臺數據管理,在新浪微博中是一個隨機生成的10位數字。微博昵稱用于用戶交流,可以是用戶真實姓名,也可以是個性化的稱呼。地址、個人描述、用戶標簽和性別屬于用戶的基本描述信息,顯式地表現了用戶的特征,其中,用戶標簽和個人描述對用戶特征的刻畫最直接。粉絲數、關注數、微博數、創建時間和微博認證是用戶的活動信息,間接表現了用戶的各種特征,如影響力、活躍程度、興趣愛好、發言習慣等等,其中,粉絲數、關注數和微博數是各大微博平臺衡量一個用戶影響力的核心指標,因而這些信息也具有更大的研究價值。
1.3 微博信息
微博信息的組織方式比較復雜,是嵌套式的。與用戶信息一樣,微博信息也有唯一標識符,微博ID,用于數據的管理,新浪微博中該ID是連續增長的,即微博ID與微博發布時間是正相關的,Cheong[1]在分析twitter[2-7]平臺上的微博數據時就使用過該特性,用微博ID做特殊的時間標注。從新浪微博的微博ID中還能看出,新浪微博的微博總數已經超過了100億條。
在網頁上顯示的微博創建時間可分為相對時間和絕對時間。對于距當前時刻較遠的時刻,如幾天以前則顯示絕對時間“XX年XX月XX日XX”;對于距當前時刻較近的時刻,則采用“XX分鐘前”、“今天XX”等方式顯示。微博信息內容包含作者所要表達的主要信息,可以是文字,還可以包含音樂、視頻鏈接,附加圖片等。在微博信息內容中有幾個特殊的功能符號“@”、“//”和“#”,表2給出了這幾個符號的詳細介紹。評論數和轉發數是衡量一條微博影響力的主要指標,另一個數字收藏數目前使用并不太多。微博來源表示一條微博從哪一個渠道發布出來,目前微博發布渠道非常多,常見的有微博網站和手機客戶端,圖2給出了一組微博發布渠道統計數據,該數據由隨機抽取71 367條新浪微博數據統計得出。作者信息和源微博信息是嵌套式的信息,作者信息的格式即用戶信息格式,源微博信息格式即微博信息格式,原創微博的源微博信息內容為空。
2 用戶特征分析
2.1 數據集選取
面對新浪微博龐大的用戶群體,需要根據不同類型用戶的特征選擇不同的標簽推薦[8-10]方法,因此首先需要隨機抽取大量的用戶信息,分析其特征。為了達到隨機抽取用戶信息的目的,需要設計一個爬蟲程序。該爬蟲程序利用新浪微博API實現,數據的抽取方式為:首先獲取實時的公共微博,提取微博發布者的用戶ID,根據該ID獲取用戶信息,主要包括用戶的關注人數、粉絲數和發布的微博數等。本次數據抽取時間段為2011-05-23至2011-05-27,每間隔30秒從公共微博抽取一次微博數據,設置為每次抽取100條(實際有時可能不足100條),從而獲取100位用戶信息,在大約四天的時間段內獲取的總用戶數量為461 249位。
2.2 用戶特征分析
發布微博的數量反映了微博用戶的活躍程度,因此本文主要以用戶發布微博的數量作為對用戶進行特征分析的依據。圖3顯示的是關注人數和粉絲數均很少的用戶按照發布的微博數量產生的統計結果。這里選取的閾值是5,即關注人數或粉絲數小于5則稱為很少,下面的分析中出現的關注人數很少或粉絲數很少均使用該定義。在數據集中關注人數和粉絲數均很少的用戶數量為22 848,占總數的4.95%。該用戶群中發布的微博總數在10條以下的用戶數為14 201,占該用戶群的62.2%,占總數的3.08%。如果將關注人數和粉絲數均小于5,且發布的微博數小于10的用戶稱為極不活躍用戶的話,那么根據以上分析,再考慮不活躍用戶數據更難被抽取,可以估算出新浪微博極不活躍用戶數量在3%以上。
在關注人數和粉絲數均很少的用戶群中還存在一些發布微博較多的用戶,從圖3中可以看出,發布微博數在100條以上用戶數為1 776,只占總數的約0.4%。通過查看該類用戶的微博信息,發現這類用戶主要將微博當做一種記事或者寫心情等的工具,而不同于大多數用戶對微博的理解和使用。
圖4顯示的是關注人數很少,而粉絲數較多的用戶按照發布的微博數量產生的統計結果。該類用戶的數量為8 213位,占數據集總人數的1.78%,比例很小。該用戶群體的一個明顯特征是大部分用戶微博數較多,發布微博數在100條以上的用戶占該群體的52.3%,查看這部分用戶信息后發現這些用戶主要是一些信息發布源,包括廣告、生活小常識和笑話等,典型的用戶有“免費打折大全”、“全球潮流風尚”、“幽默基地”等。
圖5顯示的是關注人數較多,而粉絲很少的用戶按照發布的微博數量產生的統計結果。該類用戶的數量為33 470位,占數據集總人數的7.23%。圖5與圖4形成了鮮明的對比,該群體中61.2%的用戶發布的微博數量在10條以下,發布微博數量在100條以上的用戶很少。這個用戶群體主要是信息的接收者,通過關注特定的用戶,獲取自身需要的信息,體現了大多數人使用微博獲取信息的特點。
圖6和圖7顯示的是關注人數和粉絲數均較多的用戶按照發布的微博數量產生的統計結果。其中,圖6主要顯示了發布微博數量在100條以下這一小區間內的分布情況,圖7則主要顯示在1 000條以下這一大區間內的分布情況。這一用戶群體人數為396 718,占數據集總人數的86.0%,代表了絕大多數微博用戶的特征。對于這類用戶而言,微博的功能是多樣的,通過微博,既可以發布信息,也可以接收信息,從而達到信息獲取、信息發布、用戶交流、產品推廣等目的。從圖7可以看出發布微博數量在100條以下的用戶有109 981位,占該用戶群體的27.7%,是一個較大的用戶群體,明顯多于其他任何一個小區間。整體而言,隨著發布的微博數量增加,區間內所分布的用戶數量逐漸減小,且減小趨勢越來越平緩。該用戶群體總的來看屬于較活躍的用戶群體,擁有較多關注人數、粉絲數和發布的微博數。
3 微博用戶標簽推薦方法
3.1 標簽推薦方法設計思路
通過對用戶特征的分析,可以將用戶粗分為活躍用戶與不活躍用戶,不活躍用戶的關注人數、粉絲數和發布的微博數都很少,而活躍用戶的活躍特征并不都相同,關注人數、粉絲數或者發布的微博數中的任何一項或者多項數目較大的用戶都可以稱為活躍用戶,針對這些特點以及圖3至圖7的用戶群體,分別提出了以下處理方法。
對于圖3中極不活躍的用戶,很難分析出用戶的特征,從而只能為該類用戶推薦一些大眾化的標簽,例如“電影”、“音樂”等。對于關注人數和粉絲數均很少的其他用戶,可以根據其微博數量多少,在提取微博中潛在用戶標簽的同時,結合大眾標簽給出推薦結果。
對于圖4中關注人數很少,而粉絲數較多的用戶,由于其微博數和粉絲數一般較多,而粉絲的標簽和用戶自身發布的微博均體現了該用戶的特征,因此可以將粉絲的標簽和微博中潛在的標簽作為標簽源,選取后推薦給用戶。對于粉絲數或微博數非常多的用戶,只需要抽取一部分粉絲和微博即可,新浪微博開放平臺提供的API最多允許抽取一個用戶最近的200條微博信息,最新的200位粉絲的ID和200位好友的ID。
對于圖5中關注人數較多,而粉絲數少的用戶,顯然用戶關注者就代表了用戶的特征和偏好,只需要抽取用戶關注者的標簽作為標簽源,根據其發表的微博情況,還可以從微博中適當提取出一些潛在標簽,作為補充添加到候選標簽中,最后對候選標簽進行篩選,將篩選結果推薦給用戶即可。
對于圖6和圖7中關注人數和粉絲數均較多的用戶,其特征表現得最明顯,由于微博中關注普通用戶的用戶很多是推銷人員或者隨意關注等,所以其關注者和發布的微博信息更具有代表性,可選取其好友的標簽和其發布的微博信息中潛在的標簽作為標簽源,篩選后推薦給用戶。
3.2 以關注者或粉絲的標簽作為標簽源
對大多數微博用戶而言,微博的一個主要的功能就是獲取信息,而用戶的關注者就代表了用戶感興趣的話題,因此利用用戶的關注者的特征來推測用戶的特征是一個很直觀的思路。相對于用戶的關注者而言,其粉絲與用戶的關系要疏遠一些,因為加關注是一種主動選擇行為,而被別人關注是一種不能選擇的被動行為,所以只在關注者較少的情況下才將粉絲的標簽作為標簽源,充當一種補充策略。以下是使用關注者的標簽作為標簽源的推薦方法:
(1)收集用戶全部關注人(或粉絲)的標簽;
(2)對收集所有的標簽計算其權重,每個標簽的權重即為該標簽在收集的所有標簽中出現的次數,如果標簽太多,則可以過濾掉權重較輕的標簽;
(3)對每一個標簽,計算該標簽對用戶的推薦度,推薦度等于標簽的權重與該標簽在用戶微博信息中出現頻次加1后的乘積;
(4)所有標簽按推薦度排名,按排名由高到低給出推薦結果。方法流程圖如圖8所示。
表3中選擇了兩個具體用戶作為推薦樣例。
第一個用戶“1654619934”為哈工大一位知名教授,主要研究方向為信息檢索、中文信息處理、自然語言處理和搜索引擎。用戶為自身所貼標簽主要內容即為其研究方向,該用戶是一位非常活躍的微博用戶,關注人數、粉絲數和微博數量都較多。從推薦結果來看,該用戶的核心標簽“自然語言處理”、“信息檢索”、“中文信息處理”和“搜索引擎”均包含在推薦結果當中,并且具有較高的推薦度。推薦結果中未命中的部分并沒有明顯與用戶無關的標簽,主要還是與該用戶特征相近的標簽或用戶經常關注的對象,例如“搜索”、“IT”、“研究”、“技術”和“科技”均與用戶特征相近,“微博”、“學生”、“哈工大”、“Google”、“80后”均為用戶比較關心的對象。
第二個用戶“1220542291”是一位哈工大大四的學生,一個普通的新浪微博用戶,活躍度一般,最大的興趣愛好是游戲和足球。其中游戲版塊對電子競技十分關注,尤其是魔獸這款游戲,三國殺和魔獸世界是該用戶最近一年玩得最多的游戲;足球版塊,GoalHi是該用戶關注足球經常使用的網站,阿森納是該用戶最喜歡和支持的球隊。該用戶并未給自己貼標簽,但從推薦結果看,準確識別了該用戶的主要特征和興趣愛好,并且主要標簽的推薦度較高,很好地達到了標簽推薦的目的。
綜合以上兩個樣例可以看出,無論是活躍用戶還是普通用戶,其關注人的貼標簽率都較高(平均0.70),因為關注人既是用戶的信息獲取渠道,也代表了該用戶的特征和興趣,主要包括用戶的真實好友和不認識的但用戶喜愛的活躍用戶,因此從關注人中獲取候選標簽并結合用戶自身微博信息得出推薦結果的方法是可行并且比較準確的。
3.3 從微博中抽取關鍵詞作為標簽源
以關注者和粉絲的標簽作為標簽源的方法存在一些局限性,對于發布微博數較多而關注者和粉絲均很少的情況,或者一些用戶經常提及的話題在關注者和粉絲的標簽中未出現的情況,該處理方法效果不好,所以需要補充方法來處理這些情況。如果能分析微博數據,從中提取出核心詞,將這些核心詞同樣作為推薦的候選標簽,再結合前面的方法,問題就能得到解決。這里主要使用中文分詞技術和關鍵詞提取技術。好的中文分詞工具有很多,其中由中科院開發的開源中文分詞工具ICTCLAS具有準確的分詞結果,因此本次研究選擇的中文分詞工具即為ICTCLAS。
通常,文檔關鍵詞抽取的實現方法是基于統計或機器學習,需要大量文檔進行訓練。而當前處理的問題是只依靠個人的微博信息抽取關鍵詞,只有少量的短文檔。利用中科院的分詞工具ICTCLAS提取關鍵詞后發現結果和預想的差別很大,分析后發現,主要是因為:第一,分詞工具只包含核心詞匯,分詞粒度小,應用時通常需要添加特定的擴展詞典,比如某些專門領域,而微博數據內容范圍廣泛,添加擴展詞典的話,詞典會非常大,既難以找到,也會影響處理速度;第二,分詞后產生的核心詞匯太多,而能作為標簽的核心詞權重不一定很大,想找出作為標簽的核心詞很困難。
為用戶推薦標簽的目的是為了根據標簽為其推薦好友,即找到有相同標簽的用戶,或者推薦微博等,新浪微博官方收集了所有用戶的標簽信息,并且公布了部分高頻標簽,而從個人微博信息中抽取關鍵詞的目的就是找到與標簽庫中已有標簽相匹配的關鍵詞,按照頻度給出推薦結果;再結合分詞工具的特點,就可以將微博的標簽庫作為一個擴展詞庫,標簽均用某一特殊的“詞性”(如tag)進行標注,在設置擴展詞典優先的情況下,經過分詞之后就能準確地從用戶微博信息中提取出這些潛在標簽,并計算出其權重。
這里將新浪微博公布的高頻標簽制作成一個擴展詞典,共包含653個用戶標簽,使用以上方法進行測試,表4給出了測試結果。從測試結果可以看出,對于部分用戶,僅從其關注者和粉絲那里獲取候選標簽,推薦結果并不理想,利用其微博信息抽取關鍵詞作為候選標簽后,就能準確找出符合用戶特征的標簽,實現效果有明顯的改進。
3.4 標簽推薦方法整體設計
關注者和粉絲信息以及微博信息是用戶最核心的信息,最能代表用戶的特征,因此需要結合這兩種信息才能充分挖掘用戶特征,較全面地給出用戶標簽推薦結果。綜合兩種標簽源選擇方案,最后得出標簽推薦方法的整體設計如圖9所示。
4 結束語
本文對國內微博平臺進行了比較,并選擇了最具代表性的微博平臺之一新浪微博,對其信息進行了挖掘和分析,介紹和總結了微博信息的特點、所含內容和組織方式等。隨后選擇了用戶的關注人數、粉絲人數和發布的微博數三個量,在一個較大的用戶數據集上使用統計的方法對用戶特征進行了初步研究,并對用戶群體進行了分類。根據分類結果,本文針對不同用戶群體的特征提出了相應的用戶標簽推薦方法。
微博目前仍然處于快速發展階段,影響力在不斷擴大,因此如何更好地利用這個新的信息平臺來改善人們的生活具有很大的研究價值。基于微博的研究在國外已經廣泛展開,深入到了很多領域。而在國內尤其是在計算機科學領域基于微博的研究才剛剛起步,應該引起足夠的重視。
參考文獻:
[ 1 ] CHEONG M,LEE V. Integrating web-based intelligence retr-
ieval and decision-making from the Twitter trends knowledge base[C]// KING I,LI Juanzi. SWSM '09 Proceedings of the
2nd ACM workshop on Social web search and mining, New
York ACM New York, 2009 1-8.
[ 2 ] ROSSON M B,ZHAO D. How and why people twitter the
role that micro-blogging plays in informal communication at
work[C]// TEASLEY S,HAVN E,PRINZ W. GROUP '09 P-
roceedings of the ACM 2009 international conference on Su-
pporting group work, New York ACM New York, 2009 243-
252.
[ 3 ] KRISHNAMURTHY B,GILL P,ARLITT M. A few chirps abo-
ut twitter[C]//CHRISTOS F,TOMAS K,PABLO R. WOSN '08
Proceedings of the first workshop on Online social networks,
New York ACM New York, 2008 19-24.
[ 4 ] HUGHES A L,PALEN L. Twitter adoption and use in mass
convergence and emergency events[J]. International Journal of
Emergency Management. 2009,6(3):248-260.
[ 5 ] PALEN L,VIEWEG S,HUGHES A L. Crisis in a Networked
World. Social Science Computer Review[J]. 2009, 27(4):267
-271.
[ 6 ] JANSEN B J,ZHANG Mimi,SOBEL K,et al Tweets as Ele-
ctronic Word of Mouth[J]. Journal of the American society for
information science and technology,2009,60(11):2169-2188.
[ 7 ] VIEWEG S,HUGHES A L,STARBIRD K L. Microblogging d-
uring two natural hazards events what Twitter may contribute
to situational aAwareness[C]// ELIZABETH M,GERALDINE F, SCOTT H. CHI '10 Proceedings of the 28th international con-
ference on Human factors in computing systems, New York A-
CM New York,2010:1079-1088.
[ 8 ] 孫憲策. 基于內容的社會標簽推薦與分析研究[D]. 北京 清
華大學計算機科學與技術系, 2010.
[ 9 ] 楊丹, 曹俊. 基于Web2.0的社會性標簽推薦系統[J]. 重慶工
學院學報,2008, 22(7):51-55.
[10] 宋洪鑫, 李蕾, 劉冬雪. 中文博客標簽調查分析及標簽推薦
模型的研究[C]// 李宇明, 孫茂松, 何婷婷. 第五屆全國青年
計算語言學研討會論文集, 武漢 華中師范大學出版社,20-
10:310-316.