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


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

核心知識點

  1. 提取文本中人名

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

  3. 繪制網絡關系圖

先看一下效果

01 jieba小例子

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

說明:

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

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

02 提取人物關系

1.制作姓名字典

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

2.建立人物有向關系

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

3.保存到csv

結果如下:

03 人物關系網圖

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

https://gephi.org/

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

1.新建工程&導入數據

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

2.調整相關的樣式

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

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

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

04 小結

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM