我做到了!《斗羅大陸》人物關係可視化

  • 2021 年 6 月 10 日
  • 筆記

今天辰哥來教大家從一本小說/名著裏面提取出人名,並對人名之間的關係進行統計(同一段裏面人名兩兩出現),根據人名之間的關係進行繪製關係圖gephi

核心知識點

  1. 提取文本中人名

  2. 統計文本中人物之間的關係

  3. 繪製網絡關係圖

先看一下效果

01 jieba小例子

在開始分析《斗羅大陸》小說之前,先來一個小例子讓大家對jieba庫的使用有個印象。

說明:

可以看到文本內容結果jieba庫分詞之後,可以獲取每一個的詞性。咱們這裡需要獲取人名,只需要挑選出nr的詞性,並統計每個詞的次數。

這裡就給大家演示講解了jieba從文本提取人名的小例子,下面以小說《斗羅大陸》為例,講解如何去提取裏面人物名,並建立有向圖,最後繪製人物關係圖。

02 提取人物關係

1.製作姓名字典

部分結果如上圖,通過提取小說中裏面的所有名字,取出前100個並按頻率從高到低寫入txt。不過發現一些是不完整、無用、一個人物多名等情況。進行整理之後如下。

2.建立人物有向關係

通過構建的人物名在每一段中兩兩出現的進行統計。最後建立出來,人物節點和人物之間的聯繫。

3.保存到csv

結果如下:

03 人物關係網圖

這裡使用的是gephi進行繪製,gephi下載地址如下:

//gephi.org/

下載安裝之後,開始導入剛剛保存的node.csv和edge.csv數據繪製人物關係網圖

1.新建工程&導入數據

新建工程->選擇數據資料tab,點擊輸入數字表格,添加節點和邊的csv數據。

2.調整相關的樣式

3.修改字體,顯示相應的標籤

4.選擇一個自動化布局的方式,預覽,再調整相關參數

5. 最終點擊左下角導出圖片

04 小結

本文講解了提取文本中人名並統計文本中人物之間的關係,最後繪製網絡關係圖,不明白的地方可以在下方留言,一起交流。