文/ 姜開達(dá) 孫強(qiáng)
編者按:社交網(wǎng)絡(luò)無疑是當(dāng)今大學(xué)最為熱門的話題,大學(xué)生已成為信息前沿最為活躍的群體,如何依托現(xiàn)有的主流社交網(wǎng)站,全面深入分析和了解社交網(wǎng)絡(luò)對高校大學(xué)生群體的影響,利用社交網(wǎng)絡(luò)和相應(yīng)產(chǎn)生的大數(shù)據(jù),通過數(shù)據(jù)挖掘的手段分析和研究大學(xué)生的網(wǎng)絡(luò)行為,這些都具有現(xiàn)實(shí)的意義,可為高校未來學(xué)生管理和個性化服務(wù)提供積極的決策參考。本刊從本期起,連載上海交通大學(xué)關(guān)于大學(xué)生社交網(wǎng)絡(luò)的應(yīng)用研究和場景分析,作者以獨(dú)到的視角,通過數(shù)據(jù)分析和理論計(jì)算,構(gòu)建模型,展現(xiàn)一張?zhí)摂M世界的人際關(guān)系網(wǎng)。
圖1 社交網(wǎng)站用戶的年齡分布
出現(xiàn)于上世紀(jì)90年代的WWW瀏覽器帶來了互聯(lián)網(wǎng)的迅速發(fā)展,成為了當(dāng)時的“殺手級應(yīng)用”。本世紀(jì)初起步的Facebook、Twitter、LinkedIn等社交網(wǎng)絡(luò)服務(wù)(SNS)網(wǎng)站帶動互聯(lián)網(wǎng)走進(jìn)了Web 2.0時代,國內(nèi)也隨后產(chǎn)生了新浪微博、人人網(wǎng)、開心網(wǎng)等本土化應(yīng)用網(wǎng)站,吸引了大批高校大學(xué)生用戶。近年來,隨著移動互聯(lián)網(wǎng)的興起和智能手機(jī)的普及,無處不在、無時不在的手機(jī)微博、微信在高校大學(xué)生群體內(nèi)廣為流行。新的社交網(wǎng)絡(luò)提供的便捷服務(wù)使得用戶更具自主性、互動性,用戶不再是被動接受信息的媒體受眾,而是積極地參與到網(wǎng)絡(luò)中,成為信息的制作者、發(fā)布者、傳播者和分享者。
十多年前伴隨一代代中國大學(xué)生成長的“水木清華”、“一塌糊涂”、“飲水思源”、“日月光華”等傳統(tǒng)知名BBS論壇,如今由于各種原因,不是關(guān)閉就是存在各種限制注冊措施,校園用戶逐漸流失,網(wǎng)站運(yùn)作模式缺乏創(chuàng)新和進(jìn)步,逐步走向窮途末路。而近年來社交網(wǎng)站成為越來越多的大學(xué)生人際活動的重要場所,無論是現(xiàn)實(shí)人際關(guān)系的延伸還是新的人際關(guān)系的建立,社交網(wǎng)站成為了他們獲取信息、交流情感、娛樂消遣的重要媒介平臺。
對每所高校來說,客觀上都需要一種吸引和凝聚大學(xué)生的渠道,不少學(xué)校也投入了很大精力來建設(shè)校內(nèi)的社區(qū)平臺,不過效果很難完全令人滿意。今天,依托于現(xiàn)有主流社交網(wǎng)站提供的服務(wù),深入全面分析其對高校大學(xué)生群體的影響機(jī)制和模型,進(jìn)而參與其中,成為其中的一員并了解和影響其所在大學(xué)生群體,為高校思想政治教育提供了新載體和新形式。對高校科研人員來說,社會網(wǎng)絡(luò)和隨之產(chǎn)生的大數(shù)據(jù)(Big Data)、高性能計(jì)算的分析和研究也非常具有吸引力和挑戰(zhàn)性。對學(xué)校相關(guān)學(xué)生工作管理部門來說,了解學(xué)生最新動態(tài),掌握輿情信息,引導(dǎo)校園網(wǎng)絡(luò)文化,也都需要有的放矢的進(jìn)行。從學(xué)校信息發(fā)布工作來看,如何通過社交網(wǎng)絡(luò)用最小的代價,在盡可能短的時間內(nèi)把各類信息以大學(xué)生喜聞樂見的形式有效傳遞到最大的范圍也是需要研究的課題。
為進(jìn)行分析研究,選取了人人網(wǎng)(renren.com)作為初始研究的社交網(wǎng)絡(luò)平臺對象為切入點(diǎn),主要考慮以下因素:
1.人人網(wǎng)的前身——校內(nèi)網(wǎng)(xiaonei.com)是集中定位于大學(xué)生群體的SNS網(wǎng)站,為廣大大學(xué)生提供了一個互動交流平臺,2009年更名為人人網(wǎng)后主要活躍群體依然以在校大學(xué)生和部分中學(xué)生為主。據(jù)CNNIC發(fā)布的《2010 年中國網(wǎng)民社交網(wǎng)站應(yīng)用研究報(bào)告》顯示,社交網(wǎng)站用戶主體是年齡30歲以下的年輕群體,20-29歲的用戶比例最高,達(dá)37.4%;其次是年齡在20歲以下的用戶,占31.6%。與互聯(lián)網(wǎng)網(wǎng)民總體相比,社交網(wǎng)站用戶的年齡結(jié)構(gòu)更加年輕,年輕群體所占比例非常高,如圖1所示。
2.人人網(wǎng)在實(shí)名制注冊和認(rèn)證確認(rèn)控制方面做的較好,其用戶身份的真實(shí)性相對微博更為可靠,并且其用戶的人際關(guān)系也比較純凈,大多是雙向之間的好友關(guān)系,不會出現(xiàn)類似新浪微博上超過千萬粉絲的一些明星帳號。人人網(wǎng)官方去年底公布有2.2億用戶,平均每個用戶有大約190個好友,并且80%用戶在人人網(wǎng)留下了真實(shí)資料。根據(jù)人類學(xué)家羅賓·頓巴(Robin Dunbar)的研究,人類大腦可以維護(hù)朋友關(guān)系的最大數(shù)量為148人。要維護(hù)更多的朋友,意味著你需要攤薄本應(yīng)花在另一部分朋友身上的時間和精力,而每個人的時間和精力都是非常有限和寶貴的。微博營銷團(tuán)隊(duì)以及大量的刷粉軍團(tuán)、虛假微博紅人的出現(xiàn),使得微博用戶數(shù)量眾多,但是良莠不齊,難以體現(xiàn)真實(shí)的人際關(guān)系。
圖2 上海交通大學(xué)用戶好友數(shù)量分布
3.目前高校大學(xué)生最頻繁訪問的SNS網(wǎng)站就是人人網(wǎng)。根據(jù)我們對上海交通大學(xué)校園網(wǎng)的不完全統(tǒng)計(jì),全校14%~18%的網(wǎng)站訪問請求量都指向了人人網(wǎng)相關(guān)網(wǎng)站。我們近期做的統(tǒng)計(jì)顯示,有52594名人人網(wǎng)用戶明確的把自己的身份信息設(shè)定為上海交通大學(xué)并通過了網(wǎng)站認(rèn)證核實(shí)。圖2是分析了其中12721名上海交通大學(xué)用戶的好友列表得出的統(tǒng)計(jì)圖。
橫坐標(biāo)是好友列表(以間隔100為一個統(tǒng)計(jì)區(qū)間)數(shù)量,縱坐標(biāo)是符合條件的區(qū)間用戶數(shù)。統(tǒng)計(jì)顯示,90%用戶的好友數(shù)量在100人以上,80%的用戶好友數(shù)量在600人以下,好友數(shù)量在200~400人的區(qū)間段的最多,占34%,所有用戶的平均好友數(shù)量是401名,這個值明顯高于之前提到的人人網(wǎng)平均水平,反映出上海交通大學(xué)的大學(xué)生交際活躍,人際關(guān)系網(wǎng)更復(fù)雜化。
對人人網(wǎng)社交網(wǎng)絡(luò)用戶的數(shù)據(jù)搜集和初步分析我們使用了Python語言編程來爬行實(shí)現(xiàn)。Python具有直觀的語法和優(yōu)秀且豐富的各類庫軟件支持,在網(wǎng)頁爬蟲、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)和自然語言處理等領(lǐng)域得到廣泛應(yīng)用。如果想在短期內(nèi)獲得大量有價值的原始數(shù)據(jù),使用Python無疑是最佳選擇。
眾所周知,SNS網(wǎng)站的存在基礎(chǔ)是其用戶之間互相交叉聯(lián)系的各種關(guān)系。從一個用戶出發(fā),順著這些關(guān)系節(jié)點(diǎn)一步步深度爬行會獲得海量的人際關(guān)系網(wǎng)。在具體爬行過程中,要遍歷所有關(guān)聯(lián)節(jié)點(diǎn),并控制爬行深度和方向,同時設(shè)定中止條件,避免爬行的范圍無休止擴(kuò)大。同時選取從若干個用戶節(jié)點(diǎn)出發(fā),采用多線程進(jìn)行信息搜集,在耐心等待若干時間之后,就可以搜集到想要的信息。在具體實(shí)現(xiàn)過程中,要做好用戶自動登錄、頁面內(nèi)容解析處理、根據(jù)需要自動進(jìn)行翻頁、頁面出錯檢測和控制、在對方服務(wù)器檢測到爬行并采取措施控制之后要進(jìn)行一段隨機(jī)時間休眠并重新開始、對爬行的內(nèi)容要實(shí)時保存并做好爬行隊(duì)列的管理、避免出現(xiàn)同一個用戶的重復(fù)信息抓取、控制爬行全過程中的內(nèi)存使用。在若干個爬行線程全部結(jié)束之后,要對所有爬行結(jié)果進(jìn)行統(tǒng)一歸并,消除重復(fù)信息并根據(jù)分析需要進(jìn)行下一步格式轉(zhuǎn)換、存儲和分析。
對于每一個用戶的個人信息,比如ID、姓名、學(xué)校(城市)、頭像等結(jié)構(gòu)化信息完全可以使用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫來存儲。我們曾經(jīng)多次測試過存儲兩億條級別類似信息,并進(jìn)行各種索引的創(chuàng)建(為了加速檢索考慮),使用PostgreSQL數(shù)據(jù)庫實(shí)際存儲空間一般不超過200G Bytes。我們一臺單機(jī)上跑PostgreSQL數(shù)據(jù)庫里最大的庫已接近6 T Bytes,數(shù)據(jù)條數(shù)超過70億條,一直在線長期穩(wěn)定運(yùn)行。不論使用PostgreSQL Cluster,還是Oracle RAC、MySQL Cluster都可以長期高效存儲這些結(jié)構(gòu)化信息并提供高性能查詢。
對于用戶彼此之間的復(fù)雜人際關(guān)系信息,從分析計(jì)算的角度來考慮,更合適的是使用NoSQL非關(guān)系型數(shù)據(jù)庫進(jìn)行存儲。在對社交網(wǎng)絡(luò)的科學(xué)研究中,Redis和CouchDB等NoSQL技術(shù)都得到了廣泛的使用。圖數(shù)據(jù)庫(Graph Database)也是NoSQL數(shù)據(jù)庫的一個重要分支。傳統(tǒng)的關(guān)系型數(shù)據(jù)庫和其他NoSQL數(shù)據(jù)庫不能最優(yōu)化的存儲社會關(guān)系數(shù)據(jù),一方面每個節(jié)點(diǎn)包含的屬性有多重,查詢時需要大量的表聯(lián)立查詢,使用深度嵌套的SQL導(dǎo)致了較低的性能,無法實(shí)現(xiàn)高性能查詢;另一方面圖數(shù)據(jù)庫針對圖算法提供了很多高效的操作特性,這也是它在圖計(jì)算中表現(xiàn)優(yōu)異的原因,而社交網(wǎng)絡(luò)分析正牽涉到大量的圖計(jì)算。
Neo4j是一個用Java實(shí)現(xiàn)、完全兼容ACID的高性能圖數(shù)據(jù)庫。數(shù)據(jù)以一種針對圖形網(wǎng)絡(luò)進(jìn)行過優(yōu)化的格式保存,并且提供了廣泛使用的REST接口,能夠方便地集成到基于PHP、NET和JavaScript等語言環(huán)境里。Neo4j重點(diǎn)解決了擁有大量連接的傳統(tǒng)RDBMS在查詢時出現(xiàn)的性能衰退問題。通過圍繞圖形進(jìn)行數(shù)據(jù)建模,Neo4j會以相同的速度遍歷節(jié)點(diǎn)與邊,其遍歷速度與構(gòu)成圖形的數(shù)據(jù)量沒有任何關(guān)系。此外還提供了非常快的圖形算法、推薦系統(tǒng)和OLAP風(fēng)格的分析,在最短路徑尋址、N度關(guān)系查找都有明顯優(yōu)勢,而這一切在目前的RDBMS系統(tǒng)中都是無法實(shí)現(xiàn)的。
可以分析社交網(wǎng)絡(luò)并進(jìn)行可視化展示的軟件目前也有不少,使用較多的有R language、NetMiner、Pajek、Visone、NetworkX、igraph library、Graphviz等。今后我們將會結(jié)合上海交通大學(xué)人人網(wǎng)用戶的人際關(guān)系網(wǎng),進(jìn)一步探討更深入的數(shù)據(jù)挖掘并進(jìn)行一些有趣的分析,如兩節(jié)點(diǎn)間最短路徑的計(jì)算、出入度分析、子圖的分析、圖的直徑計(jì)算,并結(jié)合實(shí)際應(yīng)用場景,通過理論的計(jì)算來進(jìn)行說明。