Code Monkey home page Code Monkey logo

d4sg_cipas_project's Introduction

D4SG資料英雄計畫-黨產會專案文本分析系統

Fellows: Aaron Yang, Helene Chien, 李俊穎, 蘇彥庭

Mentor:Ning Chen, Leo Chiang

Project Partner:不當黨產處理委員會

一、專案說明

本專案屬於智庫驅動的資料英雄計畫,透過來自不同專業的資料英雄與需求單位進行討論,在三個月內形成的專題成果。這次與不當黨產處理委員會合作,委員會的研究員們指出既有的史料雖然有豐富的文字訊息,但是在文章間的關聯性探索仍然得仰賴研究員們各自閱讀後的經驗積累,這使得研究成果不易橫向串連或者傳承。然而,文字探勘技術在這樣的手寫歷史文件分析中仍屬不易,我們將重心擺在已經轉為文字檔的史料故事,建立搜尋優化的支援系統、對外呈現友善簡潔的知識視窗,包含:文章推薦系統、社會網絡分析與數位專題等應用呈現。

首先,我們利用**研究院中文詞知識庫小組(Chinese Knowledge and Information Processing, CKIP)的實體辨識技術進行文章斷詞與詞性的辨別,並且與研究員們合作,建立專屬不當黨產委員會的字典,這本字典有助於辨別文章內字詞的精準度,同時,我們也開放字典的增添,保留後續新增文章時的彈性調整。有賴於前述的基礎,我們建構文章間的字詞詞向量矩陣,並計算文章間的相關性,提供以文找文的文章推薦系統。

其次,文章內提及的人、機構也蘊含著一定的關聯性,但是在既有的探索中,未能系統性地釐清人物之間或者機構之間在特定主題下的關係結構。社會網絡分析(Social Network Analysis, SNA)既是一種以關係為核心的分析技術也是一種資料視覺化的工具。我們利用前述的字典建立人物與機構清單,爬梳這些名單在文章庫中出現的情況,共同出現在同一篇文章即視為有關係/連結,藉此繪製出社會網絡圖。此外,我們將節點進行分群,使得圖形大小得以反應該節點的重要性;而連結的強弱也利用關係線的粗細進行呈現,這些使得資料視覺化的過程中富含充裕的資訊。為了使網絡分析與文章庫有效地結合,我們也提供節點、連結對應的文章清單,讓研究員們在探索網絡關係時得以便捷地閱讀相關文章。

針對對外的友善簡潔知識視窗,我們採用數位專題呈現研究員們的史料研究成果,將數筆主題性的歷史文件轉化為生動且具互動的閱讀頁面。在與研究員們的討論過程中,我們自身也更加認識當時的歷史,而為了推廣這些知識,在專題頁面中圖、文併呈,使得故事深刻地被記憶而不乏味,我們也使用地圖跟時間軸呈現不當黨產的歷史變化與所有權流向,同時也結合委員會的紀錄影片讓讀者有不同層次的閱聽經驗。

最後,我們很高興在智庫驅動資料英雄計畫的邀請下與不當黨產處理委員會合作,委員會「鑿歷史的光,照亮**路」,而我們也試圖運用數位技術讓這些吉光片羽轉化為連結現今與過去**基石。

二、專案程式安裝執行說明

此專案主要運行在Windows作業系統,圖文安裝說明請參考: [installation_guide_for_windows.pdf]

以下為簡要文字說明:

Step1. 請先在電腦上安裝Python程式,建議安裝Python3.7以上版本。[Python Windows版本下載位置]

Step2. 在Gihub下載本專案後,請直接執行run.bat批次檔。該批次檔案會自動建立Python虛擬環境及安裝相關套件。

Step3. 虛擬環境建置好後,畫面會提示是否要進行CKIP斷詞與實體辨識。若第一次執行請先按「Y」,程式會自動下載CKIP模型,由於檔案很大(約1.74GB),請耐心等候。下載完後會依據黨產會提供的史料故事文章,開始進行斷詞與實體辨識。此處斷詞與實體辨識一樣需要等候一段時間。

Step4. 在CKIP模型執行完後,程式會自行建立WEB,使用者可依據畫面提示,在網址列上輸入127.0.0.1:8050,即可看到CKIP模型與實體辨識成果。

Step5. 若之後想看上次CKIP模型執行完後的WEB內容時,一樣執行run.bat批次檔,在畫面提示是否要進行CKIP斷詞與實體辨識時選擇「N」,即可跳過CKIP斷詞與實體辨識,直接開啟網頁觀看。

三、WEB功能說明

  • 史料斷詞成果

使用者可以點選任一文章,我們會列出文章內容,並且提供斷詞以及實體辨識的詞性分析結果做為參照。此外,每一篇文章也包含相關的五篇推薦文章讓使用者得以延伸閱讀。

  • 建議加入詞彙

以下列出的字詞清單是經由CKIP的實體辨識後,尚未加入自定義字典的字詞。使用者可以搜尋、增列或刪減清單內容,將調整過後的字詞清單加入自定義字典後,將使文章斷詞結果貼切使用者的需求。記得要將整理好的詞彙放入自定義字典檔案內,重新去跑模型得到更好的斷詞結果。

  • 網絡關係圖

使用者可以輸入單一關鍵字進行文章篩選,可以繪製人物或機構在特定主題下的網絡關係圖。使用者也可以調整顯示節點數量的百分比,藉此聚焦於重點的分析單位。我們提供了數個網絡模型,從隨機、圓形、同心圓,到具有位階關係的Spread layout,讓使用者多方嘗試,找出節點間的合宜關係。此外,使用者可以點擊節點或者連結,我們會呈現出該節點或連結的文章,讓使用者可以便捷地閱讀。

  • 數位專題

我們以救國團為主題,爬梳底下的不當黨產變遷,以簡要的文句搭配歷史照片點出重要的黨產取得方式,再利用地圖與時間軸繪製救國團的黨產位址分佈與變化以及所有權流向。最後以對話框的形式呈現重點史料再輔以會議紀錄影片提供完整的說明。

四、增加新文本說明

若想要新增文本,請將新的文本資料檔案放入./data/docs/資料夾中,目前檔案可支援格式包含xlsxlsxcsv。檔案的內容請務必要提供兩個欄位,分別為標題內文,程式主要會讀取這兩個欄位內容,其餘欄位可自行調整。

放入新文本後,執行run.bat批次檔,重新進行CKIP斷詞與實體辨識模型,即可從WEB上看到最新結果。

五、修改自定義字典

自定義字典檔案位置在./data/自定義字典.xlsx,透過修改自定義字典,可讓CKIP模型在斷詞與實體辨識上更加精準。

檔案開啟後會有3個欄位:

欄位名稱 說明
自定義詞 使用者自定義專有名詞(例如人名、組織、事件等)
同義詞 同義詞設定,在網絡分析部分會將相同同義詞的詞視為一個節點
實體類別 使用者自行定義詞所屬的實體類別,在網絡分析部分會依標註實體類別的詞做為節點繪製

六、使用情境說明

本程式主要以使用者可能使用情境進行設想與開發。

若使用者有新的文本想要進行分析,可將整理好的檔案放入到./data/docs/資料中,並執行run.bat批次檔,進行CKIP模型斷詞與實體辨識後,開啟WEB即可觀看模型初步執行成果。

由於是新的文本資料,CKIP模型可能在斷詞與實體辨識效果不佳,故此時需要開啟./data/自定義字典.xlsx去新增自定義字典內容。

在新增好自定義字典內容後,需要重新執行run.bat批次檔,讓CKIP模型再次斷詞與實體辨識,取得更好的結果。上述操作可能會持續反覆進行,讓模型輸出的成果品質愈來愈好。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.