QuanticFoundry的Nick Yee近期在網站博客中發布了這篇文章,描述了他們如何對Steam中游戲標簽進行做可視化的關聯分析的。文末有原文地址和可視化圖譜的下載地址。
Steam標簽的簡單介紹
玩家可以自行為Steam中任何一款游戲添加自己喜歡的標簽。標簽詞的輸入界面會根據輸入的詞匹配一些常見的標簽,但也允許玩家們輸入任何詞匯。例如真三國無雙8的游戲標簽就是“動作”“開放世界”等等。不過由于界面空間有限,Steam為每個游戲展示熱度(頻率)排名前20的標簽,其余的標簽和其熱度可以通過SteamSpy查詢。
為了建立數據庫,我們(Quanticfoundry)從玩家動機問卷(Gamer Motivation Profile, 大概有35萬人填寫過該問卷)的回答中找出了被玩家提及5次以上的游戲,剔除了Steam中沒有的游戲后留下了共2129個游戲。然后我們提取了這些游戲的標簽數據建立了用于分析的原始數據庫(注:標簽提取于2017年12月中旬)。
Steam?標簽:優與劣
Steam的標簽系統有著很高的分析價值。首先,它是一個由真實玩家們自發建立的大型數據庫。其次,它的標簽是由分眾分類法(即玩家主導)而不是Steam自身推行的分類法所產生的。玩家自發形成的標簽體系能夠幫助跳出游戲開發商們關于游戲和游戲功能的固性思維和慣用詞匯,我們能夠獲得那些受到玩家認可的新標簽,例如:眾籌等。
不過Steam標簽也有著不太好的一面。首先,這些標簽數據局限于Steam平臺現有的游戲,而這無疑排除了一些大型開發商(例如EA的使命召喚和FIFA,暴雪的守望先鋒和爐石傳說等)和游戲平臺(手游和3DS)的優秀作品。其次,盡管必要的時候Steam也會主動干預和清洗游戲的標簽,但標簽系統仍然受到玩家們主觀影響。另外,像任何UGC一樣,我們很可能會發現“大多數游戲標簽來源于一小波的活躍玩家”的情況。
當然,即使有著這些潛在的風險,作為一個獨特的大型數據庫,Steam標簽仍然是值得去探索和挖掘的。
如何定義標簽之間的關系
對于兩個事物之間的關系是否緊密、相似性如何,并不存在絕對正確的定義。例如,假設我們想要畫出某人的社交網絡圖譜,這個圖譜的最終成型很大程度上取決于我們對“親密”的定義,它可以是每段關系的遠近、或者是你對別人的關心程度、雙方的交際頻率或者直接就是地理距離等等。
這些情況對于Steam的標簽數據而言也是一樣的。在這里,我們將標簽之間的關聯定義為標簽被應用的游戲之間的重合比例。即,首先看看標簽A都被應用在哪些游戲中,然后再計算其它標簽在這些游戲中被應用的比例。
數據處理要點
在任何大數據和關聯網絡分析中都需要做大量的數據處理工作。在這里我們為感興趣的讀者們描述一些數據處理的細節,不感興趣的可跳過本部分內容。
剔除低頻標簽:由于標簽多為玩家自發產生,我們收集到了許多低頻的標簽,而這些低頻標簽很可能會擾亂最終的可視化。標簽的頻數從324,505(“Action”, 動作)到10(“Cycling”,自行車)都有。在分析過程中我們將占比為底部百分之五的標簽剔除(頻率<= 85)。
剔除標簽量過少的游戲:同樣出于玩家產生標簽的原因,有的游戲可能只被標記了很少量的標簽,提供了不可靠的數據。游戲被標記次數分布從190,470次(GTA5)到10次都有。在本次分析剔除了標簽數量占比為底部百分之2.5的游戲(被標記次數低于50次)。
剔除跨游戲使用頻率低的標簽:使用最廣泛的標簽出現在1463個游戲中,最狹窄的標簽則只用于了一個游戲。在本次分析中剔除了應用范圍占比為底部百分之五的標簽(應用該標簽的游戲在5個以下)。
關系距離的測量:在本次分析中我們使用杰卡德距離來表示標間之間的關系。杰卡德距離是在分析頻數數據時常用的數據指標,它用兩個集合中不同元素占所有元素的比例來衡量兩個集合的區分度。在原始數據上做這種處理容易混淆標簽的頻數和關系(因為原始的標簽數據和生成的標簽關系分屬于不同的數據類型),常用的處理方法是將標簽距離轉換成百分比。因此,對于每個游戲而言,每個標簽頻數都被轉化成其占該游戲中最高頻標簽頻數的百分比(數值分布為0~1)。
為什么不采用歐式距離?需要注意的是對每個游戲而言,Steam最多只展示20個標簽。因此我們會得到很分散的數據,并且會存在很多“0”。在歐式距離中,“0”是有意義的,且雙重缺失在歐式距離的處理中被認為是一次匹配。而在我們分析中,這樣做其實是沒有意義的。
游戲權重:距離測量的指標給每個游戲分配了相同的權重,但顯然熱門大作應該有相較于冷門游戲更高的權重。游戲的玩家數量的影響因素又過于龐雜,直接使用玩家數量做權重配比可能會導致少部分的游戲主導分析結果的產生。因此,我們對游戲玩家的數量進行了log處理來決定最終的游戲權重,最終的權重分布范圍為1~15(中位數為4.4)。
可視化圖譜的修剪:我們對關聯網絡進行了修剪以便于突出更加顯著的標簽關系。圖譜中每個節點只保留密切程度在前5的關系。不過由于節點之間關系的交叉,圖譜中也會有一些節點擁有不止5個關聯節點。
關聯網絡的可視化:我們應用了Fruchterman-Rheingold算法(一種強制導向的布局算法)來描繪關聯網絡,然后采用了基于模塊化優化(modularity optimization)的算法來找到關系群落。最終我們確認了26個關系群落,而其中有17個群落有著3個以上的節點。我們在圖表中用不同的顏色對這17個群落進行了標記,而二元和三元關系都使用灰色進行標識。
最后的統計:我們最初獲取了2129款游戲共321個標簽,經過清洗后剩下了2070款游戲共279個標簽。
可視化分析
關聯網絡中展示了每個游戲標簽之間最緊密的相互聯系。以下是一些幫助大家解讀關系圖的基本規則。
圓點表示標簽:圓點和其相應的文字越大就意味著這個標簽在Steam中出現的頻率越高。
線段表示兩個標簽之間的關系:線段越粗代表兩個標簽在同一批游戲中同時出現的可能性越高。對每個標簽而言,關聯網絡中呈現了最為緊密的相互關系。
重合的節點之間沒有線段的存在:例如在棕色點“Space”和綠色點” Turn-Based”之間沒有隱藏的線段,即二者之間沒有在任何游戲中同時出現過。
顏色用于區別各個標簽群落:標簽群落指的是由共享線段所鏈接構建的凝聚子群,他們相互之間有著較為密切的關系。我們最終確定了17個標簽群落,每個群落中包含有3個以上的標簽。在關系圖中我們用不同的顏色來區分這些群落。
節點之間的空間距離與相互關系無關。就像地鐵上的路線圖以站點順序為優先而無視地理距離一樣,我們的關聯網絡圖中是以關系網絡的呈現為優先。例如,在圖右邊緣上的“Hunting”距離“Top-Down Shooter”較近,但是由于它們之間沒有表示關系的線段,所以它們之間相對接近的空間距離并不表示它們就是有關系的。
我們找到哪17個不同的群落?
下表中是我們最終確定的17個標簽群落。表中對其相應的顏色和方位做了簡要的說明。
關系圖中隱藏著諸多有趣的信息,給你們幾個示例,剩下的自行體會。
主流標簽在圖譜中心,而獨特的標簽則處于邊緣位置。由于常用的標簽很容易和其它常見標簽共同應用于同一個游戲,這些標簽就會相互吸引然后構成一個緊密的、朝中的核心。隨著算法拆解節點,圖譜就迅速形成了從通用、主流標簽到獨特、細微標簽的層級結構。最常見的標簽就位于關聯網絡的中間(例如RPG,Action等等),而那些獨特和細微的標簽則被分配到圖譜的邊緣位置(例如頂部的Romance)。
群島。在圖譜的邊緣部分獨立的標簽們構成了群島體系。這些通常是那些沒能和主要的關聯網絡相互關聯的獨特標簽。圖譜中有9個小島,這里和大家一起聊聊其中兩個:首先是“Superhero”,盡管都沒能和主體網絡有所聯系,但它也與多個相對頻繁的標簽相連。其次則是“Board/Card Game(棋牌/卡牌游戲)”,是唯一有著三個以上節點的小島群落。一個群落擁有的節點越多,那么它越有可能和主體網絡相互關聯。因此,這樣兩個擁有豐富節點的獨立小島還是很罕見的。這意味著玩家對這兩類游戲Steam標簽 (和其相應的游戲)的認知與其它大多數游戲都有明顯的差異。
粗壯的線段(緊密的聯系)是群落的主要支柱。對于每個群落而言,那些最緊密的聯系(最寬的線段)最能夠代表該群落的特征,就像建筑物的承重梁一樣支持著群落。例如,在“Visual Novel(視覺小說)”群落中最明顯的聯系就是“Anime-Romance(動漫-浪漫)”, “Nudity-Mature (裸露-成熟)”, “Choices Matter-Multiple Endings (選擇導向-多結局)”。整個圖譜可以視為對游戲類型關鍵元素的提取。
隔壁的標簽是市場開拓的方向。盡管同屬于策略類游戲,非即時歷史戰略類 (蘋果綠)就和經濟/建造管理類 (泥質紅)就是兩個完全不同的群落。而盡管他們兩個有不少在空間距離很緊湊的節點,他們之間其實只有很少的標簽之間存在不算緊密的聯系。如果仔細看一下,這對鄰居之間有三對節點存在相互的聯系:Medieval-Historical, RTS-Base-Building, 和RTS-Economy。這將可能為“如何觸達其它類型的游戲玩家”提供相應的運營/設計思路。
關系圖譜反映了成功作品的特質。作為整合了2000多款Steam中最受歡迎游戲的標簽圖譜,它在一定程度上展示了這些成功作品的游戲功能和游戲主題。對每一個節點而言,與其關聯最緊密的第一層標簽代表了最受市場認可和接受的屬性和特性組合。而第二層、第三層的標簽(尤其是在跨群落的情況下)則可能存在一定的風險,但又有可能組合創造出新穎而有吸引力的游戲(尤其是當中介節點能夠完美銜接這些標簽的時候)。
數據可視化的另一個思路
如果你還有興趣的話,這里還有我們換個思路對標簽之間關系做的定義和可視化分析。
假設我們想要了解各細分人群的超市購物的差異。從原始數據中我們很可能會發現每個細分人群都傾向購買牛奶和面包,那是因為這些產品的基本占比太高了。所以,我們可以計算每個商品的消費人群中各細分群體人群所占的比例。例如,很少有人會在超市買褪黑激素丸,但是25~40歲的商務旅行者購買它的比例就相對于平均水平高出了20倍。
我們可以將這樣的邏輯應用在Steam的標簽上。與上文中計算標簽在同一批游戲中應用的比例不同,我們這次通過計算兩個標簽同時出現的比例來表示距離(即找到某標簽同時出現的所有標簽然后用這些標簽的頻率除以基線頻率)。
下圖是按照這種方法描繪出來的關系圖譜。可以看到與之前圖譜中高頻標簽們(例如“Action”)都集中在中心位置不同,這個圖譜中它們被打散排布在各個位置。同時,在各個節點之間也有了更多的關系線段,導致這個關聯網絡看起來更加密集。
當然,這兩個關聯網絡并沒有誰比誰好之分。以常用標簽“Singleplayer(單機游戲)”為例:它是應該和“Adventure(冒險)”這樣的常用標簽緊密相連好呢?還是說因為它被的用法實在太寬泛了所以應該對其關系鏈進行精簡呢?前一種做法能夠反映更加真實的現狀,而后者則便于探索一些微妙和隱晦的關聯。
所以,目的決定手段。如果我們想要通過頭腦風暴游戲的市場機會(在解釋群落之間關聯的時候有提到過),那么后一種關聯網絡更有可能引發有趣的想法,因為它提供了更加豐富的相互關系。前一種關聯網絡則更多的展現了Steam目前的游戲生態。
如果你在這兩個關聯網絡中有了什么有趣的發現,歡迎分享到評論中,或者分享到作者原文。
原文地址:https://quanticfoundry.com/2018/01/24/visualizing-steam-tags-related/
你可以通過從原文中找到高清圖譜的下載鏈接,或者直接按以下網址下載。
第一個關聯網絡:https://quanticfoundry.com/wp-content/uploads/2018/01/steam_tags_hi_res.png
第二個關聯網絡:https://quanticfoundry.com/wp-content/uploads/2018/01/steam_tags_odds_ratio_hi_res.png
?
PS. 新春第一篇!沉迷于偶像的我,齋藤飛鳥一生推!?