python关键词共现图谱_Python简单实战项目:《冰与火之歌1-5》角色关系图谱构建——人物关系可视化...
作者:AlanLauPython愛(ài)好者社區(qū)專欄作者
圖中每個(gè)節(jié)點(diǎn)代表一個(gè)角色,節(jié)點(diǎn)與節(jié)點(diǎn)之間的連線代表共現(xiàn),而連線的粗細(xì)表示共現(xiàn)的頻次多少。節(jié)點(diǎn)的大小以及顏色深淺表示度的大小,即一個(gè)角色參與共現(xiàn)的總頻次。
現(xiàn)在說(shuō)說(shuō)這張圖的實(shí)現(xiàn)步驟:
1.對(duì)挖掘獲取的語(yǔ)料進(jìn)行角色抽取
2.對(duì)出現(xiàn)同一章節(jié)的角色進(jìn)行合并
3.使用步驟2中的數(shù)據(jù)進(jìn)行共現(xiàn)矩陣計(jì)算
4.利用UCINET、NETDRAW、Gephi對(duì)共現(xiàn)矩陣實(shí)現(xiàn)可視化。
1.對(duì)挖掘獲取的語(yǔ)料進(jìn)行角色抽取
先前原本使用的是jieba和nlpir兩種自然語(yǔ)言處理包進(jìn)行角色抽取的,但是后面發(fā)現(xiàn)效果特別差,所有后面則從百度百科上檔了一批角色列表下來(lái),那這個(gè)與原文本進(jìn)行比對(duì),實(shí)現(xiàn)角色的抽取。
2.對(duì)出現(xiàn)同一章節(jié)的角色進(jìn)行合并
寫爬蟲的時(shí)候就實(shí)現(xiàn)一邊爬一邊對(duì)角色進(jìn)行抽取。
3.使用步驟2中的數(shù)據(jù)進(jìn)行共現(xiàn)矩陣計(jì)算
讀取數(shù)據(jù)庫(kù),使用關(guān)鍵詞共現(xiàn)矩陣算法構(gòu)建矩陣。
算法請(qǐng)參考python構(gòu)建關(guān)鍵詞共現(xiàn)矩陣
http://blog.csdn.net/alanconstantinelau/article/details/69258443
共現(xiàn)矩陣
4.利用UCINET、NETDRAW、Gephi對(duì)共現(xiàn)矩陣實(shí)現(xiàn)可視化
本博客的重點(diǎn)在這里~
點(diǎn)擊打開(kāi)UCINET
點(diǎn)擊file→Open→選擇csv格式的共現(xiàn)矩陣數(shù)據(jù)
成功導(dǎo)入數(shù)據(jù)后,然后點(diǎn)擊file→Save as,將數(shù)據(jù)保存為.##h后綴格式文件。
打開(kāi)netdraw,依次如下圖點(diǎn)擊,打開(kāi)剛剛保存的.##h文件
這個(gè)時(shí)候其實(shí)已經(jīng)可以發(fā)現(xiàn),netdraw已經(jīng)把共現(xiàn)網(wǎng)絡(luò)繪制出來(lái)了,但是效果太low了,所以這里使用gephi繪制更好的效果。
使用gephi之前,需要將netdraw打開(kāi)的文件另存為.net文件。
打開(kāi)運(yùn)行g(shù)ephi,使用gephi直接打開(kāi)剛剛保存的.net后綴文件。
由于是對(duì)角色進(jìn)行簡(jiǎn)單抽取,角色和角色之間不存在方向傳遞的性質(zhì),因此這里選擇無(wú)向的。
如果是中文文本的話,下方的字體也需要改成中文的字體。比如黑體、宋體等。
濾波的作用是對(duì)結(jié)果進(jìn)行篩選,這里設(shè)置度來(lái)作為篩選條件。
總結(jié)
以上是生活随笔為你收集整理的python关键词共现图谱_Python简单实战项目:《冰与火之歌1-5》角色关系图谱构建——人物关系可视化...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: TextInput
- 下一篇: 如何安装sshd服务用于远程登录