楊瑞豐,王通平
(四川大學計算機學院,成都610065)
知乎[1]是網絡問答社區,連接各行各業的用戶。用戶分享著彼此的知識、經驗和見解,為中文互聯網源源不斷地提供多種多樣的信息。知乎是一個論壇:用戶圍繞著某一感興趣的話題進行相關的討論,同時可以關注興趣一致的人。在知乎上,對于概念性的解釋,網絡百科幾乎涵蓋了所有的疑問;但是對于發散思維的整合,卻是知乎的一大特色。2018 年6 月,知乎至今已提供15000 個知識服務產品,生產者達到5000 名,知乎付費用戶人次達到600 萬。每天,有超過100 萬人次使用知乎。在如此龐大的用戶群體下,高質量的用戶信息值得關注。在知乎的整個用戶網絡里面,單個用戶是一個很小的節點。在這個節點上,通常只能看到以個人為中心的用戶概況,例如個人的關注者以及粉絲情況、知乎其他用戶的地理分布、男女性別、學歷情況等。基于此,對整個知乎用戶群體難以有完整宏觀的解析,難以挖掘出更多的知乎用戶信息,從而在宏觀的角度上來解析知乎這個問答社區。在知乎問答社區中,存在一批具有大量關注和粉絲的用戶,稱之為“大V 用戶”。通過對大V 用戶關注者群體的分析,可以從個體(大V)到整體上(關注者)進行解析,從而從側面深入理解知乎的背后用戶信息,同時也能夠幫助企業在背后聚焦用戶信息數據,對數據進行采集、評估、分析、預測等方式,從而獲取商業價值。
在這樣的情況下,一個能夠對知乎用戶信息進行分析的可視化系統就非常有必要了。通常來說。“一幅圖勝過千言萬語”,根據認知發展理論,視覺是人類從外界獲取信息的重要途徑。通過使用圖形圖像對信息進行編碼,然后給予合理的人機交互,可視化便能夠很容易搭建人類與機器的橋梁,幫助人類探索和發現復雜數據背后隱藏的特征和規律。由于可視化方法能夠結合人的認知能力和機器的計算處理雙方的優勢,并且能夠對數據進行多角度的探索和直觀豐富的展示,目前已經被廣泛的應用于醫學、人工智能、商務、網絡安全等領域,也成為了探索知乎用戶信息的一個新的思路和解決方案。因此在以上的基礎上,本文定義了知乎用戶信息的三個可視化任務,分別是:
任務一:知乎大V 的關注者的基本信息。
任務二:知乎大V 的關注者的教育及職業背景。
任務三:知乎大V 的關注者的社區貢獻。
其中基本信息包括大V 關注者的人數、關注者的居住地分布、關注者的性別比例以及關注者的簽名。從基本信息可以得出大V 關注者的信息概覽,從整體上進行理解關注者的信息。教育及其職業背景包括關注者的學校分布、關注者的行業以及關注者所學專業和所從事專業的關系。從教育及職業背景的信息可以得出關注者群體的整體行業和學歷情況。社區貢獻則包括用戶的粉絲數、回答數、文章數、收錄回答數、感謝數、點贊數、收藏數多個屬性的綜合分析。從社區貢獻上,則可以獲取到這些用戶群體具體在社區的貢獻度,從而比對前兩者的用戶信息進行探索和挖掘。
為了完成以上分析任務,本文提出了一個完整可行的可視化分析流程,能夠幫助用戶理解知乎用戶群體信息內涵,分析群體的信息特征,對用戶群體信息進行有效的展示,幫助用戶深刻的理解。該可視化分析思路和流程的提出是本文的最大貢獻。
知乎用戶信息的可視化流程主要分為三個階段。第一個階段為數據預處理工作,第二階段則根據問題需求進行可視化方案的設計與實現,第三階段針對可視化結果進行分析和總結。這三個階段的過程是層層遞進的。
本文用到的數據來自于所寫的爬蟲程序從知乎網站上獲取。知乎注冊用戶在億級左右,對所有的用戶信息爬取并不能很好地分析特征。因此,爬蟲的數據對象主要對知乎粉絲數最多的大V 博主的140 萬粉絲的用戶信息進行分析。然后,篩選出了其中粉絲數大于100 的用戶(活躍用戶)。通過大V 的關注者信息的API,本文獲取到了粉絲的簡要信息,其中包含關注者的名稱、性別、簽名,以及個人主頁。通過關注者的個人主頁網址,訪問當前該用戶的個人主頁API,從而獲取地理位置、學歷等更詳細的個人信息。最終,獲取的數據量為4 萬,格式為CSV 格式。數據的數據項屬性包括:姓名、粉絲數、個性簽名、性別、回答數、文章數、個人主頁網址、地理位置、所在行業、工作、學歷、認證信息、優秀回答者、知乎收錄回答數、感謝數、點贊數、收藏數。
根據本文獲取的數據和本文所定義的可視化任務來設計可視化系統方案,本文基于Vue[2]、Echarts[3]、百度地圖[4]、Node.js[5]等技術進行方案實現。本文設計的可視化能夠清晰地解決定義的三個可視化任務,幫助用戶發現知乎大V 的信息。
大V 的關注者的基本分析主要從大V 的關注者的人數、關注者的群體的地域特征和關注者的男女比例入手分析。
本文對大V 關注者的人數用漏斗圖來進行分析,如圖1。漏斗圖具有很強的直觀性,可以直接觀察得出相應的關注著人數的區間分布。通過漏斗圖,可以觀察出關注大V 的關注者人數,明顯直接的看出10W 以上關注者人數的大V 是極其少的。

圖1 大V的關注者圖
隨后對關注者的居住地分布采用了地圖結合散點圖的方式進行分析,如圖2 所示。通過視圖,可以輕松的找出關注者在全國各地的分布數量。其中,點的大小代表了該地區的人數,從該圖這種輕松的看出大V關注者的群體所在的地域特征。

圖2 關注者居住地分布
然后對關注者用戶性別比例通過直角坐標系餅圖的方式進行呈現,如圖3 所示。通過途中的比例,可以看出關注大V 的關注者在不同數量段的男女比例,清晰而又直觀。

圖3 關注者男女比例
最后對關注者的個性簽名采用了詞云的方式進行展現,如圖4 所示。通過對個性簽名的詞云統計,可以簡約直白的看出關注者的整體個性特征,從而對關注者的群體有一個概覽的了解。

圖4 關注者個性簽名
對關注者的教育以及職業背景分析有助于用戶對關注者的背景有更深入的理解和研究。
本文對關注者的學校分布通過南丁格爾圖來進行展現,通過圖中每一個部分的大小比例來進行分析學校分布的人數數量,如圖5 所示。在圖示之中,可以很明顯地觀察到關注者的學校分布來自于清華大學和北京大學。通過該視圖,對關注者群體的學校的比例可以有一個清晰的比例概覽。然后通過可視化的視覺編碼,對每一個學校模塊的顏色進行編碼,并結合整體的視覺特征,讓用戶增強了用戶與機器之間的溝通交流,深入探索的理解關注者群體的教育信息。

圖5 用戶學校分布
其次,對關注者的行業情況和認證信息分析,則是應用了改進的餅圖的方式進行呈現,如圖6 所示。餅圖可以很好地看出關注者的學歷認證分布比例。同時餅圖的外層分布,也對應了該部分不同學校之間的比例。

圖6 關注者認證信息
本文對關注者的所學專業和從事職業的分析則是通過弦圖進行展現。弦圖可以很容易地根據一個點與其他相關點之間的連接找出關系,如圖7 所示。在弦圖上半部分展示了關注者的職業,下半部分展示了關注者的在校之時的所選專業。可以看出知乎大V 關注者的專業和就業情況。

圖7 關注者專業和事業關系
本文對社區的貢獻是通過多維屬性綜合考慮的,所以該設計是通過平行坐標和多維度的散點圖進行展示。平行坐標軸的方法可以很清晰地看出各個屬性之間的整體相關性;多維度散點圖則可以很清晰地看出屬性上的聚類和離散點,如圖8 所示。

圖8 平行坐標分析
本文獲取數據通過Python 的Scrapy 庫來進行爬取知乎的數據。數據處理應用Python 的Pandas 庫結合Excel 來處理;然后將處理之后的數據存入MySQL的數據庫進行存儲。本文的系統采用Vue 進行數據的雙向綁定和框架搭建,并應用ElementUI 來搭建頁面的UI 布局,并采用HTML、CSS、JavaScript。然后應用Echarts.js 進行可視化視圖的設計。該系統清晰明了地展現了知乎大V 的關注者信息,并且從三個任務層次(基本信息、教育及職業背景分析、社區貢獻分析)進行不同維度的解析,通過交互聯動的方式,使視圖之間進行交互探索,從而獲取關注者的用戶信息,對用戶理解知乎用戶群體的信息提供了全方位、多角度的理解。并且本文采用了信息可視化的方法,直觀、形象地理解和傳播數據中所隱藏的知識,同時提供友好的交互操作來增強用戶探索和數據分析的興趣,從而探索出知乎用戶信息背后的價值,具有較大的實際意義。