注意:生成共詞矩陣表、社交網絡圖、詞云圖都可以用集搜客分詞和分析平臺自動生成,本文講解另一種方法:用Excel生成共詞矩陣表的方法,目的是為了讓大家清楚計算原理。 社會網絡是一個關系與關系之間的網絡,進行社會網絡分析,我們要弄清楚的是網絡中包含哪些具有相互聯系的節點,這些節點之間又具有怎樣的關系,以及每個節點在整個網絡中占有何種地位。 而有關這方面節點的數據都是在做關系圖之前需要準備好的。 本文包含兩個案例,第一個案例詳細列出步驟便于理解,第二個案例為演練。 第一個案例中用到的軟件有Ucinet和NetDraw(文末提供軟件安裝包),其用途為:
第二個案例中用到GooSeeker分詞軟件,主要目的是生成詞頻統計表。 案例一:社交網分析 首先,我自己在Excel準備了一份簡單的數據。 這份數據很好理解,第一行和第一列代表人物,若他們之間有聯系,那么人物A與人物B對應的單元格數字為1,無聯系則為0。比如:張三和王五、陳七、楊九有聯系,與其他人無聯系。 先用Ucinet輸出用于NetDraw分析的矩陣數據,打開Ucinet,選擇數據>輸入>Excel矩陣。 輸入文件路徑選擇前面準備的Excel共現矩陣表,其他可不改動,選擇確定。 接著Ucinet會進行處理,彈出處理日志,并在與輸入相同的路徑中輸出.##h矩陣文件。 數據準備完畢,打開NetDraw準備繪制,選擇file>open>ucinet dataset>network。 在彈窗中選擇剛剛Ucinet生成的.##h矩陣文件,點擊OK。 社會網絡圖繪制完畢。 然后NetDraw會進行繪制,繪制的社會網絡圖如下: 這個數據比較簡單,通過上圖可以直接看出楊九是核心人物,如果數據量較大較復雜的話,肉眼是比較難看出來的,可以通過節點中心性分析來進行研究,讓NetDraw繪制出節點大小與中心度正相關的社會網絡圖。 在NetDraw選擇analysis>centrality measures。 然后在彈出界面的set node size by下選擇degree,點擊ok。 接著NetDraw重繪制,結果圖如下: 從上圖來看,楊九的中心節點大小最大,與最多的人相聯系,可以將他理解為該社交網的中心人物。 度中心性(Degree Centrality)是在網絡分析中刻畫節點中心性(Centrality)的最直接度量指標。一個節點的節點度越大就意味著這個節點的度中心性越高,該節點在網絡中就越重要。 對度中心性計算原理感興趣的同學可以自行去了解,從結論來說,節點越大就意味著越重要。另外,度中心性只是衡量節點中心性的指標之一,還有三個衡量節點中心性的主要指標有
這里就不進行贅述了。 案例二:微博研究主題共詞分析 前面我的一篇文章《畢業論文寫什么——微博數據挖掘相關的論文》其中有一塊對微博數據挖掘相關論文的研究主題進行分析,下面就詳細講解一下對微博主題進行共詞分析的具體操作方法 數據進行共享了,有興趣的話可以自己試驗一下。 1,先用GooSeeker分詞軟件提取詞頻統計表 進入GooSeeker分詞軟件,新建任務,將實驗數據導入進去。 如下部分數據截圖所示,每篇論文主題關鍵詞之間其實已經通過空格進行分隔了,所以我希望分詞軟件能夠以空格為間隔,將這些關鍵詞分離出來。但不管通過哪個分詞軟件,它們本身是有一個詞庫的,如果通過軟件自身詞庫來切詞的話,切詞的粒度會更精細,這樣就破壞了一些詞語的完整性。比如“社會網絡分析”可能會切分成“社會”、“社會網絡”、“分析”等詞語,因為在這個分析場景下,主要是研究微博挖掘相關論文研究的主題,所以我更希望不進行切分,直接保留為“社會網絡分析”。 用分詞軟件自身的切詞不能達到我的切詞目的,所以我事先用Excel的分列功能,將這些關鍵詞分離出來。部分截圖如下圖所示。 回到GooSeeker分詞軟件,第一步“導入數據”之后,跳過第二步“篩選詞語”,因為后面我的詞頻統計結果是基于我剛剛通過Excel分列得到的詞語, 而GooSeeker分詞軟件是支持自定義詞語手動補充的。所以直接來到第三步“選詞結果”,點擊“添加詞語” 將Excel分列去重后的關鍵詞導入。 然后點擊“下載”,將結果文件導出。 結果文件中,表名為“選詞結果”是后面我們將用到的。 2,用Excel構建共詞矩陣表 注釋:GooSeeker分詞和文本分析軟件有一鍵導出共詞矩陣的功能,這里講解用Excel函數構建共詞矩陣的目的是展示共詞矩陣的計算原理。 第一個案例的共詞矩陣是自己隨機造的一個,現在第二個案例數據量較大,分出的詞語有四千多個,要形成共詞矩陣,我們要借助Excel的公式來進行計算了。 (=SUMIFS($B:$B,數據!$A:$A,"*"&$C2&"*",$A:$A,"*"&D$1&"*")) 公式理解:在A列表查找,看是否包含C2(微時代)和D1(微時代),如果有就統計該包含這兩個字符所在行的另外一列的數進行求和。 回到案例二,新建一個Excel,將詞語粘貼至第一行和第一列,詞語相交的單元格套用剛剛的公式,其他單元格自動拉公式,然后讓Excel自行運行計算即可。共詞矩陣部分結果如下圖所示。 3,合并同義詞和提取高頻詞 有了共詞矩陣表之后,不要著急將數據導入著手繪制。要知道這是一個4349*4349的共詞矩陣,可以設想,直接導入Ucinet和NetDraw繪制出來就是一團黑影,最重要的是,沒有必要將全部矩陣導入,因為很多詞語是沒有價值的,因為有些詞語作為論文的主題可能就少數出現過。所以在繪圖之前,先進行合并同義詞和提取高頻詞。 1) 合并同義詞 同義詞即詞語含義相同的,比如“微博”和“微博客”,因為案例而的目的是論文研究主題,所以先創建一個同義詞組表。部分截圖如下: 根據同義詞組表,將共詞矩陣表中的同義詞進行合并計算處理,將同義詞組中每個詞的數字求和作為一組同義詞組的最終結果值,如下圖所示(部分截圖): 2) 提取高頻詞 用同樣的方法將同義詞處理完畢后,同時用根據同義詞組表更新最開始在GooSeeker分詞軟件下載的詞頻統計表。 接著根據詞頻統計表將高頻詞提取出來,本次實驗我提取了前100個,根據這100個高頻詞形成100*100的共詞矩陣表。 4,將共詞矩陣表導入Ucinet 完成上面的步驟之后就可以開始導入數據繪制了。第一個案例是通過Ucinet導入共詞矩陣Excel表,下面用另一種方法導入,就是直接復制。點擊Ucinet第二個表格圖標,如下圖紅框所示。 彈出一個表格,然后將在上一步Excel里完成的共詞矩陣表CRTL+C、CRTL+V直接復制進去,結果如下圖所示。記得點擊保存一份,一方面拿來接下來繪圖,另一方面防止以后調整數據的時候需要。 5,通過Netdraw繪制微博主題關系圖 最后打開NetDraw打開.##h文件準備繪制并進行度中心性分析,不知道怎么操作倒回去看案例一的操作過程。 繪制結果圖如下所示: 從NetDraw生成的可視化關鍵詞網絡結構圖可以看出,“社交網絡、爬蟲、輿情、話題、傳播、推薦、影響力、營銷、媒體”等關鍵詞的中心度較高,這些是人們比較關注的微博研究主題,處于邊緣位置主題表示對其研究的關注度較低,但從中可以看出微博數據挖掘多元話的研究方向。 假如說跳過前面合并同義詞的步驟,并且我只選取詞頻為前100的詞語形成共詞矩陣表,繪制的結果圖如下,可以看到密密密麻麻的一片。所以如果既不進行同義詞合并也不進行詞頻提取,那繪制出來的結果圖就可想而知了。 6,拓展—詞云圖制作 我用PPT的插件Pro Word Cloud制作中文詞云,使用方法可以參看我原來的文章《用PPT自帶的Pro Word Cloud制作中文詞云》。 結果圖如下: 微博數據挖掘的關鍵詞云圖一目了然,最后吐槽一下,詞云圖比NetDraw繪制的圖好看多了。當然,分析目的不一樣,用的工具自然不同。 在分析的過程中,數據的準備和處理是最花時間的,工欲善其事,必先利其器。有分析思路固然重要,利用好的工具進行數據處理則能夠事半功倍。 總的來說,上面兩個案例都比較簡單,本篇文章重點講解3個工具的操作過程,大家可以找一些其他數據進行分析。 常見問題: 1, Excel矩陣數據可以直接導入NetDraw中繪制嗎? 我所使用的NetDraw版本不支持Excel文件直接導入,所以上面的案例中要先通過Ucinet輸出用于NetDraw分析的矩陣數據。 2, 社會網絡圖的儲存格式? 繪制完成的社會網絡圖,可以選擇兩種方式輸出,一是以圖片的形式導出,可以選擇jpeg、emf、bmp等三種圖元文件格式,無法再修改。 另一種是以可以再修改的文件格式保存。 3, 怎么在Ucinet中查看之前保存的共詞矩陣? 點擊Ucinet第二個表格圖標,在彈出的窗口中選擇“文件>打開”,選擇之前保存的.##h數據集文件即可。 軟件安裝包 參考文獻 |
czq0504: =SUMIFS($B:$B,數據!$A:$A,"*"&$C2&"*",$A:$A,"*"&D$1&"*") 請問可否告知“數據!”是什么意思?謝謝! ...
綠皮大甜梨: 社會網絡圖能做出來,但中心度做不出來,圓心都是一樣大小。很郁悶。無法分析啊,也看不出來線的粗細。
綠皮大甜梨: n您好,剛才做中心度分析,為啥顯示Centrality measures calculated and added to node attribute database。不明白是什么意思,請指教 ...
綠皮大甜梨: n您好,剛才做中心度分析,為啥顯示Centrality measures calculated and added to node attribute database。不明白是什么意思,請指教 ...
Fern_7: 請問為什么我把GooSeeker 導出的共詞矩陣表輸入進Ucinet 的時候失敗了,彈出“不能轉換(Dispatch)類型變量到類型(Double)”的窗口? ...
Fern_7: 請問為什么我把GooSeeker 導出的共詞矩陣表輸入進Ucinet 的時候失敗了,彈出“不能轉換(Dispatch)類型變量到類型(Double)”的窗口? ...