項目簡介:本項目將帶你們使用 Python 提取《釜山行》人物關係,對於給定的劇本文本,經過分析文本中人物的共現關係,提取整個文本表示的人物關係,並將人物關係可視化表示。本項目教程由Forec發佈在實驗樓。python
《釜山行》是一部喪屍災難片,其人物少、關係簡單,很是適合咱們學習文本處理。這個項目將介紹共如今關係中的提取,使用python編寫代碼實現對《釜山行》文本的人物關係提取,最終利用Gephi軟件對提取的人物關係繪製人物關係圖。linux
本項目完成過程當中將學習:git
共現網絡的基本原理github
Python代碼對《釜山行》中人物關係提取的具體實現bash
jieba
庫的基本使用網絡
Gephi軟件的基本使用模塊化
實驗基於簡單共現關係,編寫 Python 代碼從純文本中提取出人物關係網絡,並用Gephi
將生成的網絡可視化。下面介紹共現網絡的基本原理。(共現網絡英文介紹)工具
實體間的共現是一種基於統計的信息提取。關係緊密的人物每每會在文本中多段內同時出現,能夠經過識別文本中已肯定的實體(人名),計算不一樣實體共同出現的次數和比率。當比率大於某一閾值,咱們認爲兩個實體間存在某種聯繫。這種聯繫能夠具體細化,但提取過程也更加複雜。所以在此課程只介紹最基礎的共現網絡。佈局
項目經過Python提取《釜山行》人物關係網絡,經過gephi這個軟件作可視化處理後,最終效果以下圖所示:學習
本項目的完整代碼、詳細步驟及demo,能夠在實驗樓查看並在線完成:Python基於共現提取《釜山行》人物關係
打開Xfce終端,進入 Code
目錄,建立 work
文件夾, 將其做爲課程的工做目錄。下載並安裝 gephi
。
$ mkdir work && cd work $ mkdir gephi && cd gephi $ wget http://labfile.oss.aliyuncs.com/courses/677/gephi-0.9.1-linux.tar.gz #下載 $ tar -zxvf gephi-0.9.1-linux.tar.gz #解壓
下載《釜山行》的中文劇本。
$ wget http://labfile.oss.aliyuncs.com/courses/677/busan.txt
安裝jieba
中文分詞。
$ sudo pip2 install jieba
能夠經過各種百科獲取《釜山行》的主要人物,你能夠在百度百科中找到他們的介紹,並將人名寫入一個字典中。
在實驗樓中的顯示結果以下圖:
對《釜山行》劇本中的人物關係數據進行處理後,可使用gephi這個軟件來將人物關係可視化,以便展現的更直觀。(Gephi是一款開源免費跨平臺基於JVM的複雜網絡分析軟件, 其主要用於各類網絡和複雜系統,動態和分層圖的交互可視化與探測開源工具。)
使用 gephi 導入生成的網絡,並生成簡單的可視化佈局。能夠在最上方的數據資料選項卡中查看圖中全部的邊和節點,對於分詞不許確致使的噪音,能夠手動刪除。
經過對節點染色、放大,調整成合適佈局後以下圖所示。節點染色根據模塊化計算結果不定,但染色效果大體相同。
預覽後右側顯示最終的人物關係圖。
項目代碼下載地址:Python基於共現提取《釜山行》人物關係
更多Python經典項目:Python所有項目