人文司數位人文研習 (software tools for textual analysis for digital humanities)
TRANSCRIPT
Saturday, April 15, 2023 國立政治大學劉昭麟
感謝籌備、協助與建言 清華大學中國文學系
祝平次教授 毛元亨先生
政治大學資訊科學系 黃植琨先生 鄭博允先生 黃致凱先生 羅國峯先生 林書佑先生 許筑婷小姐
政治大學研究團隊 金觀濤老師 劉青峰老師 鄭文惠老師 黃美娥老師 (台大 ) 沈錳坤老師 余清祥老師 楊瑞松老師 陳至潔老師 (中山 ) 蔡宗翰老師 (中央 ) 何立行博士 (清華 ) 邱偉雲博士 姚育松先生 (廣東中山大學 )標記、統計與分析工作坊 . 2
Saturday, April 15, 2023 國立政治大學劉昭麟
回答下列問題 紅樓夢裡寶玉、黛玉、寶釵誰最喜歡笑? 西遊記裡哪一些妖怪想要吃唐三藏的肉? 西遊記裡哪一個妖怪法力最強? 三國演義裡哪一場戰役的參戰人數最多? 仁和義如何被相提並論?
這一些問題雖然不見得有學術意義,但是讓我們看到一些可能的應用方向
標記、統計與分析工作坊 .3
Saturday, April 15, 2023 國立政治大學劉昭麟
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 1001031061091121151180
2
4
6
8
10
12
14
16
18
20 寶玉、黛玉、寶釵
寶玉笑道黛玉笑道寶釵笑道
標記、統計與分析工作坊 . 4
Saturday, April 15, 2023 國立政治大學劉昭麟
哪一些妖怪想要吃唐三藏 那一些妖怪要吃唐三藏 ?
第 13回:寅將軍 『唬得個三藏魂飛魄散,二從者骨軟筋麻。魔王喝令綁了,眾妖一齊將三人用繩索綁縛。正要安排吞食,只聽得外面喧嘩』
第 20回:黃風怪 『洞主道:「你不曉得,吃了他不打緊,只恐怕他那兩個徒弟上門吵鬧,未為穩便,且把他綁在後園定風樁上,待三五日,他兩個不來攪擾,那時節,一則圖他身子乾淨,二來不動口舌,卻不任我們心意?或煮或蒸,或煎或炒,慢慢的自在受用不遲。」』
參考資料:黃植琨、黃致凱、林書佑、陳聖傑、陳建良及劉昭麟。 2013。數位技術於文史資料分析的應用:西遊記與 228,2013 全國計算機會議論文集 (自然語言處理與語音處理 ) 。
標記、統計與分析工作坊 .5
Saturday, April 15, 2023 國立政治大學劉昭麟
一些前言 我們能夠分享的是一些有限的個人經驗 我們能夠提供的不是商業強度等級的軟體,而是實驗室等級的工具
在有限時間之內,我們嘗試提及相關議題,但是很難深入 如果我們提供的經驗和軟體工具對於您的研究有所貢獻,我們
希望您願意在您的著作之中引用下列的論文。
Chao-Lin Liu, Guantao Jin(金觀濤 ), Qingfeng Liu(劉青峰 ), Wei-Yun Chiu(邱偉雲 ), and Yih-Soong Yu(姚育松 ) (2011) Some chances and challenges in applying language technologies to historical studies in Chinese ( 自然語言處理技術之於中文史學研究的機會與挑戰 ), International Journal of Computational Linguistics and Chinese Language Processing, 16(1-2), 27‒46. (http://www.aclweb.org/anthology/O/O11/O11-3003.pdf )
這雖然是一種邀功,可是不管是科技部或者國科會,都須要回報研究計畫的“貢獻”;有一些可以驗證的貢獻,我們才可能有後續的研究計畫開發可以分享的軟體。
標記、統計與分析工作坊 .10
Saturday, April 15, 2023 國立政治大學劉昭麟
主題 電腦中文檔案的儲存(UTF8、BIG5、GB2312) 中文詞彙的時序分析 相關軟體安裝(Java) 中文的斷詞、斷句 中文斷詞軟體工具 Excel 簡單案例 Google Chart 應用 詞組、詞叢、語境的時序分析 分析角度面面觀 文本閱讀輔助 具體實作 標記、統計與分析工作坊 .11
Saturday, April 15, 2023 國立政治大學劉昭麟
電腦中文檔案的儲存 中文內碼
電腦的最原始語言是 0 和 1 01000001 可以代表甚麼?
可以是英文字母 A(ASCII) 或者是數字 65 (二進位數字)
BIG5、 UTF8、 GB2312 同一個漢字在不同內碼系統的編號可能不同 同一個編號在不同內碼系統可能代表不同漢字
今天分享的工具軟體假設您使用 UTF8 有些程式只能正確處理某一種內碼的中文資料
標記、統計與分析工作坊 .13
Saturday, April 15, 2023 國立政治大學劉昭麟
中文內碼的影響 以我現在使用的這一部機器上的
Notepad、MS WordPad、MS Excel為例
觀察結果甚至可能因為電腦的環境而異 notepad++
Notepad MS WordPad MS Excel
這是 BIG5.txt OOO OOO OOO
這是 UTF8(BOM).txt OOO OOO XXX
這是 UTF8( 無 BOM).txt OOO XXX XXX
標記、統計與分析工作坊 .14
Saturday, April 15, 2023 國立政治大學劉昭麟
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 1001031061091121151180
2
4
6
8
10
12
14
16
18
20
寶玉笑道黛玉笑道寶釵笑道
時序分析 (2) (紅樓夢 )
標記、統計與分析工作坊 .17
Saturday, April 15, 2023 國立政治大學劉昭麟
時序分析 (3)
對了、我們知道 Google Trend可以做類似的工作。。。
“ 時序”分析只是一個便利的說法,我們的軟體工具不是只能協助“時序”分析
比較好一點的說法是 “序列”分析 其實就連“序列”分析的“序列”都是不
必要的限制 輸入檔案資料夾的準備
標記、統計與分析工作坊 .18
Saturday, April 15, 2023 國立政治大學劉昭麟
輸入檔案資料夾 ( 階段分析 )
把五年的資料放在一個資料夾: 1901-1905, 1906-1910, …
0105 0610 1115 96100
標記、統計與分析工作坊 .22
Saturday, April 15, 2023 國立政治大學劉昭麟
Java 的安裝 我們的軟體工具是以 Java 程式語言撰寫 因此您的電腦必須事先安裝 Java 在 2014年時, Java被發現有重大的資安問題,這一問題應該已經得到相當改善,而且我們的程式直接在您的電腦上執行,沒有經過網路,相對地不會有外來的資安問題。
Java 安裝網址:https://java.com/zh_TW/download/
Java 路徑的設定 (有一些機器會有問題 )標記、統計與分析工作坊 .25
Saturday, April 15, 2023 國立政治大學劉昭麟
中文斷詞與斷句 何謂中文斷詞
英文 On a sunny day, we enjoy the warm sunshine. 如果變成 Onasunnyday,weenjoythewarmsunshine. 而中文是:在一個晴天,我們享受溫暖的陽光。 中文斷詞一例:
在 一個 晴天 , 我們 享受 溫暖的 陽光 。 舉例:五行者金主義木主仁水主智火主禮土主信 中國哲學書電子化計劃 程式斷詞結果不一定正確: 教廷駐台大使館
中文的斷句也是困難 中文的。的使用並沒有一個普遍且一致的規則。 英文的斷句許多時候是簡單的,但是也不必然。標記、統計與分析工作坊 .27
Saturday, April 15, 2023 國立政治大學劉昭麟
中文斷詞工具 中文斷詞軟體的效果很難完美,請選用您覺得可以接受的軟體
以下是一些選項和現場演示 中研院斷詞服務 ( 以台灣大學網路資料為例 ) R 語言的 Rwordseg:演示
library(Rwordseg); segmentCN(“中文字串” ) segment.options(isNameRecognition = TRUE)
Stanford NLP tools ( 以人民日報為測試語料) Python jieba (http://jiebademo.ap01.aws.af.cm/) 一些比較
標記、統計與分析工作坊 .29
Saturday, April 15, 2023 國立政治大學劉昭麟
Paired Bar Chart
參考網址: https://www.youtube.com/watch?v=vfUu9vNRDNc
實際操作
標記、統計與分析工作坊 .31
Saturday, April 15, 2023 國立政治大學劉昭麟
Google Charts
Google線上的分析圖提供一些特殊的服務 如果有軟體工具可以把數據轉換成 Google
Charts可能有助於較佳的人機互動 必須上網才能使用 西遊記中的孫悟空
標記、統計與分析工作坊 .33
Saturday, April 15, 2023 國立政治大學劉昭麟
詞彙、詞組、詞叢、語境 You shall know a word by the company it keeps
(Firth 1957) Collocation / Co-occurrence / Co-appearance /
Co-words 好冷
笑話 好冷 vs. 天氣 好冷 Doctor
nurse and doctor vs. bachelor and doctor (priming)• Firth JR (1935) The technique of semantics, Transactions of the Philological Society, 34(1): 36–73.• Firth JR (1957) A synopsis of linguistic theory 1930–1955, Studies in linguistic analysis, 1–32.
標記、統計與分析工作坊 .35
Saturday, April 15, 2023 國立政治大學劉昭麟
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100 103 106 109 112 115 1180
10
20
30
40
50
60
70
80
90黛玉
標記、統計與分析工作坊 . 37
Saturday, April 15, 2023 國立政治大學劉昭麟
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 1001031061091121151180
2000
4000
6000
8000
10000
12000
14000
紅樓夢各別回次的字數
標記、統計與分析工作坊 . 38
Saturday, April 15, 2023 國立政治大學劉昭麟
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 1001031061091121151180
2
4
6
8
10
12
14
16
18
20 頻率分析
寶玉笑道黛玉笑道寶釵笑道
標記、統計與分析工作坊 . 39
Saturday, April 15, 2023 國立政治大學劉昭麟
1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97 101 105 109 113 1170
20
40
60
80
100
120
140出現頻率
寶玉黛玉寶釵
標記、統計與分析工作坊 . 40
Saturday, April 15, 2023 國立政治大學劉昭麟
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 1001031061091121151180.0
0.1
0.2
0.3
0.4
0.5
比例分析
寶玉笑道黛玉笑道寶釵笑道
標記、統計與分析工作坊 . 41
Saturday, April 15, 2023 國立政治大學劉昭麟
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 1001031061091121151180.0
0.1
0.2
0.3
0.4
0.5 比例分析寶玉笑道黛玉笑道寶釵笑道
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 1001031061091121151180
2
4
6
8
10
12
14
16
18
20 頻率分析寶玉笑道黛玉笑道寶釵笑道
標記、統計與分析工作坊 . 42
Saturday, April 15, 2023 國立政治大學劉昭麟
精讀與否? 統計數據的功能
當“黛玉”出現,不見得是“黛玉”出場,可能是他人提到黛玉
所以即使剛剛所說的比例分析的計算的邏輯也不盡正確 在一些研究裡面,我們可能須要知道某一詞彙出現的詳細語境
從另一個角度來看, “笑道”當然不是 “笑”的唯一方式 精讀與否?
文本呈現方式 Concordance Collocations
標記、統計與分析工作坊 .44
Saturday, April 15, 2023 國立政治大學劉昭麟
檢查示範 (demo)資料夾 檔案清單 (將逐一說明 )
ui.jar 和 taiwandh.jar taiwandh.bat 和 taiwandh指令參數 .txt 參數說明 .txt 數個用於示範的關鍵詞 ( 或者共現詞 ) 檔案
termlist4nations, cols4nations, keys4nations termlist4segmented, cols4segmented, keys4segmented
用於示範的文本資料 nations3.utf8.years (未斷詞的《三國演義》 ) segmented ( 假想斷詞的任意資料 ) 《論語》和《孟子》 標記、統計與分析工作坊 .46
Saturday, April 15, 2023 國立政治大學劉昭麟
您需要準備的資料 文本檔案資料
nations3.utf8.years 資料夾 segmented 資料夾 論語 和 孟子資料夾
所關心的關鍵詞彙 termlist4nations.txt termlist4segmented.txt
關鍵詞組 keys4nations.txt 和 cols4nations.txt keys4segemented.txt 和 cols4segmented.txt
標記、統計與分析工作坊 .47
Saturday, April 15, 2023 國立政治大學劉昭麟
資料檔案的準備 關鍵詞檔案
每一列是一個詞彙的資料 分號之後是計算詞頻時要排除的詞彙 例如:辯論 ;辯論會 ,大辯論
計算共現頻率時 還沒有把“排除”功能加進去 可以分關鍵詞檔案和共現詞檔案,關鍵詞檔案可以
當作是比較關注的詞彙 實際上可以用同一檔案當作關鍵詞檔案和共現詞檔
案;這樣就是分析詞彙的共現關係標記、統計與分析工作坊 .48
Saturday, April 15, 2023 國立政治大學劉昭麟
提供的主要功能 關鍵詞彙時序分析
TermTemporalAnalysis 計算關鍵詞彙出現在各別子資料夾中的檔案的頻率
關鍵詞彙語境分析 GetContext4Terms 擷取關鍵詞彙出現在各別子資料夾中的檔案的語境
關鍵詞組總頻率統計 ComputeColStrength 計算詞組出現在研究資料中的共現頻率, 所得資料可以進行社群分析 ( 例如,祝平次老師所用的NodeXL)
關鍵詞組時序分析語語境分析 ColStrengthYearsInFolders 擷取詞組出現在各別子資料夾中的檔案的語境和頻率
標記、統計與分析工作坊 .49
Saturday, April 15, 2023 國立政治大學劉昭麟
資料分析的結果 依照上述不同的功能,資料分析的結果會放在 html
( 網頁檔案 )、 csv (文字檔案、特別是Microsoft Excel可以處理者 ) 或者 txt (一般文字檔案 ) 檔案中。 關鍵詞彙時序分析 : 關鍵詞頻率的序列資料放在 html和 csv 檔案中
關鍵詞彙語境分析 : 關鍵詞出現在文本的語境資料放在html 或者 csv中
關鍵詞組總頻率統計 : 關鍵詞彙一起出現的“共現詞組”的頻率,放在一個文字檔案中。
關鍵詞組時序分析與語境分析 : 關鍵詞組的語境資訊放在 html中,而頻率的序列資料放在 csv中。
標記、統計與分析工作坊 .50
Saturday, April 15, 2023 國立政治大學劉昭麟
使用者介面 簡易的圖形介面
每一次執行一件分析工作 批次式的指令檔案
一個指令檔案可以設定多件分析工作
標記、統計與分析工作坊 .51
Saturday, April 15, 2023 國立政治大學劉昭麟
關鍵詞彙時序分析
關鍵詞彙時序分析
輸出檔案資料夾
輸出檔案名稱
圖檔名稱 橫軸標題 縱軸標題
是否已斷詞
語料資料夾
關鍵詞檔案
標記、統計與分析工作坊 .54
Saturday, April 15, 2023 國立政治大學劉昭麟
關鍵詞彙時序分析 ( 實例 )
關鍵詞彙時序分析
results
輸出檔案名稱
圖檔名稱 橫軸標題 縱軸標題
未斷詞
nations3.utf8.years
terms4nations.txt
標記、統計與分析工作坊 .55
Saturday, April 15, 2023 國立政治大學劉昭麟
關鍵詞彙語境分析
關鍵詞彙語境分析
輸出檔案資料夾
輸出檔案名稱
是否已斷詞
語料資料夾
關鍵詞檔案
前後文長度
輸出檔案格式
標記、統計與分析工作坊 .56
Saturday, April 15, 2023 國立政治大學劉昭麟
關鍵詞彙語境分析 ( 實例 )
關鍵詞彙語境分析
results
輸出檔案名稱
未斷詞
nations3.utf8.years
termlist4nations.txt
前後文長度
html
標記、統計與分析工作坊 .57
Saturday, April 15, 2023 國立政治大學劉昭麟
關鍵詞組總頻率統計
關鍵詞組總頻率統計
輸出檔案資料夾
輸出檔案名稱
前後文長度是否已斷詞
語料資料夾
關鍵詞檔案
共現詞檔案
標記、統計與分析工作坊 .58
Saturday, April 15, 2023 國立政治大學劉昭麟
關鍵詞組總頻率統計 ( 實例 )
關鍵詞組總頻率統計
未斷詞
nations3.utf8.years
keys4nations.txt
results
頻率統計 .txt
前後文長度
cols4nations.txt
標記、統計與分析工作坊 .59
Saturday, April 15, 2023 國立政治大學劉昭麟
關鍵詞組時序與語境分析
關鍵詞組時序與語境分析是否已斷詞
語料資料夾
關鍵詞組檔案
輸出檔案資料夾
輸出檔案名稱
前後文長度
最低共現頻率
資料標題
標記、統計與分析工作坊 .60
Saturday, April 15, 2023 國立政治大學劉昭麟
關鍵詞組時序與語境分析 ( 實例 1)
關鍵詞組時序與語境分析未斷詞
nations3.utf8.years
頻率統計 .txt
results
輸出檔案名稱
前後文長度
最低共現頻率
資料標題
標記、統計與分析工作坊 .61
Saturday, April 15, 2023 國立政治大學劉昭麟
關鍵詞組時序與語境分析 ( 實例 2)
關鍵詞組時序與語境分析
results
輸出檔案名稱
未斷詞
nations3.utf8.years
關鍵詞組 .txt 前後文長度
最低共現頻率
資料標題
標記、統計與分析工作坊 .62
Saturday, April 15, 2023 國立政治大學劉昭麟
批次指令介面的使用 請參考參數說明檔案 編輯指令檔案
一個指令檔案可以包含多個工作 # 或者 // 代表註解資料 指令格式說明
在視窗模式之下雙擊 taiwandh.bat 可以改變 taiwandh.bat 裡面的指令檔案名稱 請注意: taiwandh指令參數 .txt 雖然可以變更,但是左側的@是必要的外加符號
標記、統計與分析工作坊 .64
Saturday, April 15, 2023 國立政治大學劉昭麟
指令檔案的使用 ( 關鍵詞彙時序分析 )
輸出資料夾 : results
工作: TermTemporalAnalysis{是否斷詞: -cont語料資料夾:nations3.utf8.years關鍵詞檔案名稱: termlist4nations.txt輸出檔案名稱:nations圖檔標題:三國演義橫軸標題:回次縱軸標題:關鍵詞頻}
taiwandh.bat taiwandh.jar taiwandh指令參數 .txt
關鍵詞彙時序分析
輸出檔案資料夾
輸出檔案名稱
圖檔名稱 橫軸標題 縱軸標題
是否已斷詞
語料資料夾
關鍵詞檔案
標記、統計與分析工作坊 .65
Saturday, April 15, 2023 國立政治大學劉昭麟
指令檔案的使用 ( 關鍵詞彙語境分析 )
工作: GetContext4Terms{是否斷詞: -cont輸出格式: -html語料資料夾: nations3.utf8.years關鍵詞檔案名稱: nations.interested.txt視窗大小: 20輸出檔案名稱: nations.names.html}
關鍵詞彙語境分析
輸出檔案資料夾
輸出檔案名稱
是否已斷詞
語料資料夾
關鍵詞檔案
前後文長度
輸出檔案格式
標記、統計與分析工作坊 .66
Saturday, April 15, 2023 國立政治大學劉昭麟
指令檔案的使用 ( 關鍵詞組總頻率統計 )
工作: ComputeColStrength{是否斷詞: -cont語料資料夾: nations3.utf8.years關鍵詞檔案名稱: keys4nations.txt共現詞檔案名稱: cols4nations.txt視窗大小: 20輸出檔案名稱: nations.col.counts.txt}
關鍵詞組總頻率統計
輸出檔案資料夾
輸出檔案名稱
是否已斷詞語料資料夾
關鍵詞檔案前後文長度
共現詞檔案
標記、統計與分析工作坊 .67
Saturday, April 15, 2023 國立政治大學劉昭麟
指令檔案的使用 ( 關鍵詞組時序與語境分析 )
工作: ColStrengthYearsInFolders{是否斷詞: -cont語料資料夾: nations3.utf8.years關鍵詞組檔案名稱: nations.col.counts.txt最低共現頻率: 15視窗大小: 20輸出檔案名稱: nations.col.context資料標題:人文司研習資料}
關鍵詞組時序與語境分析
輸出檔案資料夾
輸出檔案名稱
是否已斷詞語料資料夾
關鍵詞組檔案 前後文長度最低共現頻率
資料標題
標記、統計與分析工作坊 .68
Saturday, April 15, 2023 國立政治大學劉昭麟
批次指令檔案的補充使用 可以多次重覆執行 可以更改 taiwandh指令參數 .txt 的內容 或者更換 taiwandh.bat 內的參數檔案
taiwandh.bat的內容
java -Dfile.encoding=UTF8 -jar taiwandh.jar @taiwandh指令參數 .txt
標記、統計與分析工作坊 .69
Saturday, April 15, 2023 國立政治大學劉昭麟
您需要準備的資料 (討論版本 )
文本檔案資料 檔案架構 如何準備檔案架構?
所關心的關鍵詞彙 討論關鍵詞彙哪裡來? 有不少時候關鍵詞彙是逐步獲得的
特別是透過語境分析,有可能可以看到一些原本沒有意料到的相關詞彙
詞彙的高低頻、何時出現、出現與否都是重要資訊
標記、統計與分析工作坊 .71