我做到了!《斗羅大陸》人物關係視覺化
阿新 • • 發佈:2021-06-10
今天辰哥來教大家從一本小說/名著裡面提取出人名,並對人名之間的關係進行統計(同一段裡面人名兩兩出現),根據人名之間的關係進行繪製關係圖--gephi
核心知識點:
-
提取文字中人名
-
統計文字中人物之間的關係
-
繪製網路關係圖
先看一下效果:
01 jieba小例子
在開始分析《斗羅大陸》小說之前,先來一個小例子讓大家對jieba庫的使用有個印象。
說明:
可以看到文字內容結果jieba庫分詞之後,可以獲取每一個的詞性。咱們這裡需要獲取人名,只需要挑選出nr的詞性,並統計每個詞的次數。
這裡就給大家演示講解了jieba從文字提取人名的小例子,下面以小說《斗羅大陸》為例,講解如何去提取裡面人物名,並建立有向圖,最後繪製人物關係圖。
02 提取人物關係
1.製作姓名字典
部分結果如上圖,通過提取小說中裡面的所有名字,取出前100個並按頻率從高到低寫入txt。不過發現一些是不完整、無用、一個人物多名等情況。進行整理之後如下。
2.建立人物有向關係
通過構建的人物名在每一段中兩兩出現的進行統計。最後建立出來,人物節點和人物之間的聯絡。
3.儲存到csv
結果如下:
03 人物關係網圖
這裡使用的是gephi進行繪製,gephi下載地址如下:
https://gephi.org/
下載安裝之後,開始匯入剛剛儲存的node.csv和edge.csv資料繪製人物關係網圖
1.新建工程&匯入資料
新建工程->選擇資料資料
輸入數字表格
,新增節點和邊的csv
資料。
2.調整相關的樣式
3.修改字型,顯示相應的標籤
4.選擇一個自動化佈局的方式,預覽,再調整相關引數
5. 最終點選左下角匯出圖片
04 小結
本文講解了提取文字中人名並統計文字中人物之間的關係,最後繪製網路關係圖,不明白的地方可以在下方留言,一起交流。