日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python简单实战项目:《冰与火之歌1-5》角色关系图谱构建——人物关系可视化

發布時間:2023/12/9 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python简单实战项目:《冰与火之歌1-5》角色关系图谱构建——人物关系可视化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python簡單實戰項目:《冰與火之歌1-5》角色關系圖譜構建

python簡單實戰項目:《冰與火之歌1-5》角色關系圖譜構建——數據庫設計

Scrapy+redis+mongodb分布式爬蟲抓取小說《冰與火之歌1-5》

先來張Gephi繪制酷炫的人物關系圖

圖中每個節點代表一個角色,節點與節點之間的連線代表共現,而連線的粗細表示共現的頻次多少。節點的大小以及顏色深淺表示度的大小,即一個角色參與共現的總頻次。

現在說說這張圖的實現步驟:
1.對挖掘獲取的語料進行角色抽取
2.對出現同一章節的角色進行合并
3.使用步驟2中的數據進行共現矩陣計算
4.利用UCINET、NETDRAW、Gephi對共現矩陣實現可視化。

1.對挖掘獲取的語料進行角色抽取

先前原本使用的是jieba和nlpir兩種自然語言處理包進行角色抽取的,但是后面發現效果特別差,所有后面則從百度百科上檔了一批角色列表下來,那這個與原文本進行比對,實現角色的抽取。

2.對出現同一章節的角色進行合并

寫爬蟲的時候就實現一邊爬一邊對角色進行抽取。

3.使用步驟2中的數據進行共現矩陣計算

讀取數據庫,使用關鍵詞共現矩陣算法構建矩陣。
算法請參考python構建關鍵詞共現矩陣
共現矩陣

4.利用UCINET、NETDRAW、Gephi對共現矩陣實現可視化

本博客的重點在這里~
點擊打開UCINET,

點擊file→Open→選擇csv格式的共現矩陣數據


成功導入數據后,然后點擊file→Save as,將數據保存為.##h后綴格式文件。

打開netdraw,依次如下圖點擊,打開剛剛保存的.##h文件



這個時候其實已經可以發現,netdraw已經把共現網絡繪制出來了,但是效果太low了,所以這里使用gephi繪制更好的效果。
使用gephi之前,需要將netdraw打開的文件另存為.net文件。

打開運行gephi,使用gephi直接打開剛剛保存的.net后綴文件。

由于是對角色進行簡單抽取,角色和角色之間不存在方向傳遞的性質,因此這里選擇無向的。


如果是中文文本的話,下方的字體也需要改成中文的字體。比如黑體、宋體等。



濾波的作用是對結果進行篩選,這里設置度來作為篩選條件。

總結

以上是生活随笔為你收集整理的python简单实战项目:《冰与火之歌1-5》角色关系图谱构建——人物关系可视化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。