• 沒有找到結果。

歷史文件中的時間資訊處理與系統呈現

N/A
N/A
Protected

Academic year: 2022

Share "歷史文件中的時間資訊處理與系統呈現"

Copied!
42
0
0

加載中.... (立即查看全文)

全文

(1)

國立臺灣大學電機資訊學院資訊網路與多媒體研究所 碩士論文

Graduate Institute of Network and Multimedia College of Electrical Engineering and Computer Science

National Taiwan University Master Thesis

歷史文件中的時間資訊處理與系統呈現

Temporal Information Processing and a Chronological System for Chinese Historical Documents

蘇豐成 Feng-Cheng Su

指導教授:項潔教授

Advisor: Jieh Hsiang, Professor

中華民國 103 年 7 月

July, 2014

(2)
(3)

致謝

這篇論文的完成受到許多夥伴的幫助。首先感謝我的指導教授項潔 老師,在實驗室的兩年期間很多次受到老師的熱情與活力所感動,不 僅在資訊方法上提出許多方式,更重要的是提供了不同於過去資訊領 域下的思考方式,讓我能夠以另一種方法思考,大概是我碩士班生活 中所獲得最大的刺激與啟發。感謝口試委員陳光華教授、黃光璿教授、

蔡宗翰教授提出許多寶貴的意見,點出了我研究時所忽略的問題,讓 我有機會更精進本研究。也謝謝實驗室的陳博士、杜博士、宋浩學長、

農堯學長,為研究方法以及程式方面提供了很多實用的意見。謝謝稷 安,從碩士班入學到畢業的所有大小事都受到幫助,儼然是實驗室的 大家長。感謝同屆的偉儀、沛強、有為、信廷、綱政、若桓,很開心我 們一起度過了兩年充實的研究生時光。感謝所有實驗室的其他大大小 小的成員們,謝謝你們在一路上提供的各種大大小小幫助,讓 303 成 為一個很溫暖的地方。

謝謝我的家人與朋友與一些心靈導師,謝謝你們。

(4)

中文 要

從有歷史以來,最早發展的體裁即是編年體。編年體以事件發生的 時間為順序,提供後人能夠依其時序先後發展閱讀。在中國,以這樣 為體裁的史書在先秦時期就已經出現,《春秋》、《左傳》、《竹書紀年》

等書即是以年為單位,依序描述當時所發生的歷史事件。到後來北宋 司馬光編撰的《資治通鑑》更是編年體史書中的經典,從三家分晉到 五代的後周,橫跨了一千多年的歷史。除了編年體史書以外,有許多 的也具有時間資訊的史料,例如正史中的本紀部分。

本研究嘗試建立起橫跨中國幾千年歷史的歷史時間軸,利用正規表 示式 (regular expression) 對中國歷史文件自動抓取時間標籤,並將其做 處理後,利用時間資訊系統來對文件間做時間的對應。期待本研究以 時間資訊處理和系統呈現兩大架構,可以提供一套具有處理時間資訊 史書的系統化方法,達到提供使用者能在廣大的歷史洪流中,一種閱 讀更加便捷且寬廣閱讀史書的方式。

關鍵字:編年體、時間資訊、時間資訊處理、正規表示式、數位人 文

(5)

Abstract

Chronicle is one of the oldest forms of historical representation. It records events in chronological order and provides researchers a way to understand history. In China, this kind of historical representation can be dated back to Pre-Qin Period (先秦時期). Spring and Autumn Annals (春秋), Zuo Zhuan (左傳), and Bamboo Annals (竹書紀年) are all written in chronological order.

Duringl Song Dynasty (宋朝), Sima Guang (司馬光) wrote Zizhi Tongjian (資 治 通 鑑), a masterpiece of Chinese chronicles, that set the standard for all later chronicles. Zizhi Tongjian covered Chinese history from 403 BC to 959 AD. Addition to historical records written as chronicles, the biological sketches of emperors documented in the Official Histories (Zhengshi, 本紀) are usually also written in the chronological style.

This research tries to create a chronicle covering the period of ancient Chinese history by combining chronologies such as Zizhi Tongjian with the chronological records in the Official Histories, and to create a method to pro- cess temporal information in Chinese historical documents. We first use regu- lar expressions to automatically annotate temporal information from Chinese historical documents. We then build a chronological system to display the processed records. Through our system, we hope to provide users a way to read those historical documents in a more convenient way and be able to find inter-document relationships.

Key words: chronicles, temporal information, temporal information pro-

(6)

cessing, regular expression, digital humanities

(7)

Contents

口試委員會 定書 i

致謝 ii

中文 要 iii

Abstract iv

Contents vi

List of Figures viii

List of Tables ix

1 緒論 1

1.1 引言 . . . 1

1.2 相關研究 . . . 2

1.2.1 SUTime . . . 2

1.2.2 HuTime . . . 2

1.2.3 TimelineJS . . . 3

1.3 論文架構 . . . 4

2 使用文本介紹 6 2.1 《資治通鑑》 . . . 6

2.2 正史 . . . 8

(8)

3 自動化時間資訊處理方式與流程 14

3.1 時間標記定義 . . . 15

3.2 時間資訊擷取 . . . 16

3.3 中西曆轉換 . . . 18

3.4 自動化時間資訊處理的除錯 . . . 19

3.4.1 時間標記錯誤 . . . 19

3.4.2 中西曆轉換錯誤 . . . 19

4 時間資訊系統呈現 21 4.1 功能概述 . . . 21

5 結論與未來工作 28

Bibliography 30

附錄 -時間資訊系統收錄統計 32

(9)

List of Figures

1.1 HuTume 系統使用圖例 . . . 3

1.2 TimelineJS 應用在法國總統大選時間軸的實例 . . . 4

2.1 漢川草廬網站截圖 . . . 7

2.2 《資治通鑑》全文 XML 檔部份截圖 . . . 7

2.3 《史記》全文 XML 檔部份截圖 . . . 13

3.1 自動化處理文本時間資訊流程圖 . . . 15

3.2 《資治通鑑》的時間資訊實例 . . . 16

3.3 自動時間資訊擷取演算法 . . . 17

3.4 《舊唐書》未經標註前的 XML 檔部分範例 . . . 18

3.5 《舊唐書》經標註後的 XML 檔部分範例 . . . 18

3.6 時間標籤修改系統截圖 . . . 20

4.1 時間資訊系統簡易架構圖 . . . 22

4.2 時間資訊系統截圖 . . . 22

4.3 系統依時間序排列《舊唐書》與《新唐書》圖例 . . . 23

4.4 時間範圍篩選功能圖例 . . . 24

4.5 文件集篩選功能圖例 . . . 24

4.6 詮釋資料欄位功能圖例 . . . 25

4.7 相關時間對應功能圖例 . . . 26

4.8 使用者上傳功能圖例 . . . 27

4.9 使用者資料與系統資料對應功能圖例 . . . 27

(10)

List of Tables

2.1 本論文選用史書卷數及起訖時間表 . . . 12 3.1 本研究所使用的時間標記類型 . . . 17

4.1 時間資訊系統文件 XML 詮釋資料欄位列表 . . . 21

(11)

Chapter 1 緒論

1.1 引言

從有歷史以來,最早發展的體裁即是編年體。「按年、月、日順序記載歷史 的編撰方式,以事系日,以日系月,以月系年,以便記遠近、別異同。」 [1] 編年 體以事件發生的時間為順序,提供後人能夠依其時序先後發展,追尋過去所發生 的人事物。在中國,以這樣為體裁的史書在先秦時期就已經出現,《春秋》、《左 傳》、《竹書紀年》等書即是以年為單位,依序描述當時所發生的歷史事件。到後 來北宋司馬光編撰的《資治通鑑》更是編年體史書中的經典,從三家分晉到五代 的後周,橫跨了一千多年的歷史。

過去的歷史學家藉由閱讀大量史料,再將其彙整依照時間序排列編撰成史,

是相當費時且辛苦的工作。中國朝代眾多,閱讀不同朝代的史料就會遇到不同朝 代的曆法,同時間多朝代並存通常也代表多個曆法並存,更增添了閱讀與研究的 困難程度。本論文嘗試以自動化的方式,自動擷取、標籤時間資訊,將其處理後,

編輯成一個集合多本史書的數位版本編年史。並規劃一個以呈現歷史文件時間資 訊為主的系統,方便使用者在多本史書間對照、閱讀。藉由此方式,可以讓電腦 處理大量的文本,並進行文本間的時間對應,期待這能大幅省去歷史學家相互參 照比對的時間,並能藉此發現更多有趣的問題。

(12)

1.2 相關研究

本研究分為兩大部分,一是自動化擷取文本時間資訊,二是建置時間資訊系 統,提供使用者瀏覽、檢索及發掘時間相關文本等功能。一些研究都對時間格 式、時間資訊做過處理,像是台灣數位歷史博物館 (Taiwan History Digital Library,

THDL) 建置資料時對日期的正規化 [2]、中研院兩千年中西曆轉換 [3]、法鼓山時 間規範資料庫等 [4]。除了上述研究外,本段落以這兩個主題分別再對一些國內外 成果進行研究回顧。

1.2.1 SUTime

SUTime [5] 是史丹佛大學自然語言處理小組 (The Stanford Natural Language Processing Group) 所開發提供自動標註且標準化時間資訊的函式庫,是該小組進 行自然語言處理的其中一環節,該研究利用基於規則式 (rule-based) 的標註方法。

該研究使用 TokensRegex 框架 [6],該框架定義文本模式 (patterns over text) 與語意 對象 (semantic objects) 的對應,利用正規表示式 (regular expression) 將文本模式轉 換成時間資訊。由於是利用確定性的 (deterministc) 規則標註時間資訊,只要新增 規則即可對系統擴充。該研究將時間資訊分成 time、duration、interval、set 四種,

time 為在時間軸上的某一點;duration 是時間軸上兩點的時間長度;interval 是時 間軸上兩點的時間區間,由開始與結束時間所包含的範圍;set 為時間資訊的集 合,例如「每週日」。

該小組的研究是屬於自然語言處理 (natural language processing) 中的部分,其 利用文本模式對當代英文作標註的效果相當不錯。但中文與英文在自然語言處理 上有基本的不同,處理中文時需要面對斷詞問題,而古文的斷詞至今還是一個研 究上的瓶頸,以致於 SUTime 的成功方式無法完全套用在中文處理上,但其利用 規則式的標註方式則是有相當值得借鏡的部分。

1.2.2 HuTime

HuTime [7] 是一套時間資訊系統,可以幫助使用者利用具有時間資訊的資料 進行視覺化與時間分析。該系統建構三種基本的時間資訊功能:

(13)

1. Basic Chronological Table:提供對某時段、事件的時間資料

2. Event Index:重大歷史事件的時間資料

3. Calendar Conversion:轉換不同曆法的時間資訊

HuTime 提供了基本的時間資料視覺化功能,提供使用者可以在時間軸上對資 料作簡單的分析與呈現。HuTime 也有基本的時間軸對應,由於該系統主要處理日 本的時間資料,日本的和曆也隨著不同皇帝的即位而更改年號,因此需要時間軸 轉換功能。該系統在呈現上是以事件為主,功能較為簡單,因此不太適合使用文 字很多的史料。

Figure 1.1: HuTume 系統使用圖例

1.2.3 TimelineJS

TimelineJS [8] 是開放原始碼 (open-source) 的視覺化呈現互動時間軸的工具,

簡單的輸入即可在上面呈現文字、影片、音樂等多媒體素材。

(14)

該工具提供了相當方便的時間軸瀏覽系統,特色是融合了多種多媒體資訊,

還可加入 google map、youtube 等影音媒材。但處理大量文字資料的史書就沒辦法 發展其優勢,過多的文字還是會造成使用者視覺上的混亂,因此需要依照處理的 史書性質開發適當的呈現工具。

Figure 1.2: TimelineJS 應用在法國總統大選時間軸的實例

1.3 論文架構

本論文第一章為緒論,介紹本研究背景與相關研究。第二章為文本介紹,介 紹本研究所使用的文本以及其涵蓋的年代範圍。第三章為時間資訊處理,介紹如 何自動化擷取時間資訊與如何除錯。第四章為時間資訊系統呈現的成果。第五章 是結論與未來工作,討論本研究的成果及未來可深入努力的方向。

本研究分為兩個大部分,第一部分為歷史文件的時間資訊處理,第二部分為 系統呈現。第一部分在本論文的第二、三章,主要描寫如何選取目標文獻,到如 何利用資訊科技自動標記以及除錯的過程,重點著重在資料處理上。第二部分在 本論文的第四章,描述利用第一部分整理好的資料,規劃一個專為此設計的時間

(15)

資訊系統。

(16)

Chapter 2

使用文本介紹

要建立一個橫跨中國幾千年歷史的時間資訊系統,文本的選擇為首要困難的 地方,既要涵蓋範圍夠大,又要在歷史研究上有代表性。本論文選擇的文本來自 最熱門的兩大文體:編年體與紀傳體,藉由擷取時間資訊,將這些史書統合起來,

成為橫貫中國幾千年歷史的時間資訊系統。本研究史用《資治通鑑》以及正史的 全文,本段即對這些選用的史書做簡單的介紹。

2.1 《資治通鑑》

《資治通鑑》(簡稱《通鑑》或《通鑒》) 為北宋史家司馬光所主編,劉攽、劉 恕、范祖禹等共同編輯,為編年體通史,全書共 294 卷,參考來自正史與野史的史 料編撰成,橫跨周威烈王二十三年到後周世宗顯德六年,約 1362 年的歷史。《四 庫總目提要》提到「光作《通鑒》,一事用三四出處纂成,用雜史諸書凡二百二十 二家。」 [9] 可見其取材多且廣。後世更有南宋金履祥的《資治通鑑前編》、南宋李 燾的《續資治通鑑長編》、秦緗業的《資治通鑑長編拾補》仿效其體例作史。因為

《通鑑》為最具代表性的編年體史書之一,橫跨年代範圍廣,本研究選用此書來作 為自動化處理時間資訊的代表文本。

本研究的《資治通鑑》數位檔案全文來自漢川草廬網站 [10],經彭維謙 [11]

處理後的數位檔案資料。漢川草廬網站上的數位全文來自中華書局的版本 [12]。

該數位檔案已將每段落切割開,並對人名、地名、官職名稱做處理,在全文前後 加上 XML 標籤。

(17)

Figure 2.1: 漢川草廬網站截圖

Figure 2.2: 《資治通鑑》全文 XML 檔部份截圖

(18)

2.2 正史

正史為古代各朝代官方撰寫的史書,「正史」之名於最早隋朝出現 [13],《四 庫全書》中史部下選錄了正史類,曰「正史體尊,義與經配,非懸諸令典,莫敢私 增。所由與稗官野記異也。」[14],奠定了這些史書的「正統」地位。正史包含《史 記》、《漢書》、《後漢書》、《三國志》、《晉書》、《宋書》、《南齊書》、《梁書》、《陳 書》、《魏書》、《北齊書》、《周書》、《隋書》、《南史》、《北史》、《舊唐書》、《新唐 書》、《舊五代史》、《新五代史》、《宋史》、《遼史》、《金史》、《元史》、《明史》等。

這些史書都依照司馬遷《史記》的紀傳體體例編撰,分為記帝王的「本紀」、該 朝知名人物的「列傳」、記載諸侯國的「世家」、紀錄社會、經濟、天文等演變的

「志」,以及補足其他體列不足的「表」 [15]。唐劉知幾《史通》評論道「蓋紀之 為體,猶《春秋》之經;系日月以成歲時,書君以顯國統。」 [16] 雖然這些史書都 是以人物為主的紀傳體,但在記錄帝王與國事的本紀裡,主要還是以編年的方式 記事,因此本研究也將正史的本紀納入研究文本,藉以涵蓋從秦朝以來到明朝的 官方史料。

然而,因為史書間的差異,並不是正史中的所有本紀都適合這樣的處理方式,

以下簡介採用的各本史書部份以及原因:

• 《史記》:西漢史學家司馬遷所撰,全書包括本紀 12 卷、世家 30 卷、列 傳 70 卷、表 10 卷、書 8 卷,共 130 卷,首創的紀傳體編史方法影響後代 深遠。「罔羅天下放失舊聞,王跡所興,原始察終,見盛觀衰,論考之行 事,略推三代,錄秦漢,上記軒轅,下至于茲,著十二本紀,既科條之矣。」

[17],《史記》的 12 卷本紀從上古時代即開始,到西漢孝武帝結束。本研究 卷 1 到卷 5 未使用,選用從〈秦始皇本紀〉開始的部份。〈秦始皇本紀〉前 的〈五帝本紀〉、〈夏本紀〉、〈殷本紀〉、〈周本紀〉、〈秦本紀〉大多沒有註明 時間資訊,故未選入。

• 《漢書》:東漢史家班固所撰,沿用《史記》的體例,但將「本紀」改名

「紀」、「書」改名「志」、「列傳」改名「傳」。《漢書》為紀傳體斷代史,全書 包含紀 12 卷、表 8 卷、志 10 卷、傳 70 卷,共 100 卷,記載從西漢漢高帝元 年到新朝地皇四年,約 230 年左右的歷史。本研究採用《漢書》卷 1 至卷 12

(19)

的本紀部份。

• 《後漢書》:劉宋史家范曄所著,全書包含紀 10 卷、列傳 80 卷、志 30 卷,

共 120 卷,記載從王莽到漢獻帝的歷史。本研究採用卷 1 到卷 9,捨去較無 依照時間排序的〈皇后紀〉。

• 《三國志》:西晉史家陳壽所著,參照了王沈的《魏書》、魚豢的《魏略》、韋 昭的《吳書》等資料而成,全書含魏書 30 卷、吳書 20 卷、蜀書 15 卷。因陳 壽為晉朝官員,僅以曹魏為正統,只有魏書裡有立本紀。本研究採用魏書裡 的四篇本紀〈武帝紀〉、〈文帝紀〉、〈明帝紀〉、〈三少帝紀〉。

• 《晉書》:唐房玄齡等人合著,全書含帝紀 10 卷、志 20 卷、列傳 70 卷、載 記 30 卷,共 130 卷,從三國時期司馬懿早年,至東晉恭帝元熙二年劉裕廢 晉帝自立。該書以「載記」形式,類似列傳的撰寫方式,記述了十六國政權 的狀況。本研究使用了卷 1 到卷 10 的十篇帝紀。

• 《宋書》:南朝梁沈約所撰,全書含本紀 10 卷、列傳 60 卷、志 30 卷,共 100 卷,記載宋武帝永初元年至宋順帝升明三年,共約 60 年的南朝劉宋政權歷 史。本研究選用了卷 1 到卷 10 的所有本紀。

• 《南齊書》:南朝梁蕭子顯所撰,全書含本紀 8 卷、志 11 卷、列傳 40 卷,共 59 卷,記載自齊高帝建元元年至齊和帝中興二年的南齊歷史。本研究選用 了卷 1 到卷 8 的所有本紀。

• 《梁書》:唐朝姚思廉著,全書含本紀 6 卷、列傳 50 卷,共 56 卷,記載南朝 梁朝史。本研究選用卷 1 到卷 6 的所有本紀。

• 《陳書》:唐朝姚思廉著,全書含本紀 6 卷、列傳 30 卷,共 36 卷,記載南 朝陳武帝即位至陳後主亡國,約 33 年左右的南朝陳朝歷史。本研究使用卷 1 到卷 6 的所有本紀。

• 《魏書》:北齊魏收所著,因魏收為北齊史官,本書以東魏北齊為正統,不 為西魏三帝立紀,從晉孝武帝之後,即繼以東魏孝靜帝 [18]。全書含帝紀 12 卷、列傳 92 卷、志 20 卷,共 114 卷。本研究使用卷 2 到卷 12,不使用魏收

(20)

• 《北齊書》:隋朝李百藥著,全書含帝紀 8 卷、列傳 42 卷,共 50 卷,記載北 魏分裂前至北齊亡國,共約 50 年左右的歷史。本研究使用卷 1 到卷 8 的所 有帝紀。

• 《周書》:唐朝令狐德棻等人合著,全書含帝紀 8 卷、列傳 42 卷,共 50 卷,

內容兼顧了同時代的東魏、北齊、梁與陳等四朝的重大史事。本研究使用卷 1 到卷 8 的所有帝紀。

• 《隋書》:唐朝魏徵等人合撰,全書含帝紀 5 卷、志 30 卷、列傳 50 卷,共 85 卷,記載隋文帝開皇元年到隋恭帝義寧二年,共 38 年隋朝歷史。本研究 使用卷 1 到卷 5 的所有帝紀

• 《南史》:唐朝李延壽撰,全書含本紀 10 卷、列傳 70 卷,共 80 卷,記載宋 永初元年到陳禎明三年,共 170 年左右的南朝歷史。本研究使用卷 1 到卷 10 的所有本紀。

• 《北史》:唐朝李延壽撰,全書含本紀 12 卷、列傳 88 卷,共 100 卷,記載北 魏登國元年到陳隋恭帝義寧二年,共 233 年左右的北朝歷史。本研究使用卷 1 到卷 12 的所有本紀。

• 《舊唐書》:後晉劉昫等人合撰,全書含本紀 20 卷、志 30 卷、列傳 150 卷,

共 200 卷,記載唐高祖武德元年至唐哀帝天祐四年,共約 300 年左右的歷 史。本研究使用卷 1 到卷 20 的所有本紀。

• 《新唐書》:北宋歐陽脩、宋祁、范鎮、呂夏卿等人合撰,全書含本紀 10 卷、

志 50 卷、表 15 卷、列傳 150 卷,共 225 卷。因《舊唐書》「紀次無法,詳略 失中,文采不明,事實零落」 [19] 而重修。本研究使用卷 1 到卷 10 的所有 本紀。

• 《舊五代史》:北宋薛居正等人合撰,全書含梁書 24 卷、唐書 50 卷、晉書 24 卷、漢書 11 卷、周書 22 卷、志 12 卷、列傳 7 卷,共 150 卷。本研究使 用梁書卷 1 到卷 10 本紀、唐書卷 25 到卷 48 本紀、晉書卷 75 到卷 85 本紀、

漢書卷 99 到卷 103 本紀、周書卷 110 到卷 120 本紀。

(21)

• 《新五代史》:北宋歐陽修撰,原名《五代史記》,因乾隆時代將薛居正的

《舊五代史》列為正史,本書改稱《新五代史》。全書含本紀 12 卷、傳 45 卷、

考 3 卷、世家及年譜 11 卷、附錄 3 卷,共 74 卷,記載後梁開平元年至後周 顯德七年,共約 60 年左右的歷史。本研究選用卷 1 到卷 12 的所有本紀。

• 《宋史》:元朝脫脫等人合撰,全書含本紀 47 卷、志 162 卷、表 32 卷、列傳 255 卷,共 496 卷,是正史中篇幅最龐大的史書。本研究使用卷 1 到卷 47 的 所有本紀。

• 《遼史》:元朝脫脫等人合撰,全書含本紀 30 卷、志 32 卷、表 8 卷、列傳 45 卷、〈國語解〉1 卷,共 116 卷,記載遼太祖耶律阿保機至天祚帝耶律延 禧,共 220 年左右的遼朝歷史。本研究使用卷 1 到卷 30 的所有本紀。

• 《金史》:元朝脫脫等人合撰,全書含本紀 19 卷、志 39 卷、表 4 卷、列傳 71 卷,共 135 卷,記載女真族的興起到金朝的滅亡。本研究使用卷 1 到卷 19 的所有本紀。

• 《元史》:明朝的宋濂等人合撰,全書含本紀 47 卷、志 58 卷、表 8 卷、列傳 97 卷,共 210 卷,記載元太祖成吉斯汗崛起到元順帝亡國的元朝史。本研究 使用卷 1 到卷 47 的所有本紀。

• 《明史》:清朝張廷玉等人合撰,全書含本紀 24 卷、志 75 卷、表 13 卷、列 傳 220 卷,共 332 卷,記載了從明太祖洪武元年到明思宗崇禎十七年,共 277 年的明朝歷史。本研究使用卷 1 到卷 24 的所有本紀。

本研究的正史數位檔案全文來自漢川草廬網站 [20] 以及維基文庫網站 [21],

為中華書局的版本。本研究在做時間資訊處理前先經過簡單的文本整理,將 每個段落切割開集合成一個 XML 檔,以方便後續處理。XML 檔範例請見下圖 Figure 2.3。

(22)

Table 2.1: 本論文選用史書卷數及起訖時間表

書名 選用卷數 起 訖

資治通鑑 1-294 周威列王二十三年 後周世宗顯德六年

史記 6-12 黃帝時代 西漢武帝元狩元年

漢書 1-12 西漢漢高帝元年 新朝帝皇四年

後漢書 1-9 東漢光武帝建武元年 東漢獻帝建安二十五年 三國志 1-4 東漢靈帝中平元年 晉武帝太康元年

晉書 1-10 三國時期司馬懿早年 東晉恭帝元熙二年 宋書 1-10 宋武帝永初元年 宋順帝升明三年 南齊書 1-8 齊高帝建元元年 齊和帝中興二年

梁書 1-6 梁武帝蕭衍建國 梁敬帝蕭方智亡國

陳書 1-6 陳武帝陳霸先即位 陳後主陳叔寶亡國 魏書 2-12 鮮卑拓跋部早期 東魏孝靜帝亡國 北齊書 1-8 北魏分裂前十年 北齊幼主亡國

周書 1-8 北周余文氏建國 北周靜帝亡國

隋書 1-5 隋文帝開皇元年 隋恭帝義寧二年

南史 1-10 宋永初元年 陳禎明三年

北史 1-12 北魏登國元年 隋義寧二年

舊唐書 1-20 唐高祖武德元年 唐哀帝天祐四年 新唐書 1-20 唐高祖武德元年 唐哀帝天祐四年

舊五代史

1-10, 25-48, 75-85, 99-103, 110-120

後梁開平元年 後周世宗顯德七年

新五代史 1-12 後梁開平元年 後周世宗顯德七年

宋史 1-47 宋太祖建國 宋度宗亡國

遼史 1-30 遼太祖建國 天祚帝亡國

金史 1-19 女真族興起 金哀帝亡國

元史 1-47 蒙古族興起 元順帝亡國

明史 1-24 明太祖洪武元年 明思宗崇禎十七年

(23)

Figure 2.3: 《史記》全文 XML 檔部份截圖

(24)

Chapter 3

自動化時間資訊處理方式與流程

時間資訊的處理目標是標籤出文本各個段落的的時間資訊,進而做後續的時 間軸排序與其他更深入的應用。本研究將時間資訊分成兩大類,時間點與時間區 段,這是平時描述時間時最常使用的兩個概念。對每個段落標記開始與結束時間 標記,只有開始時間而沒有結束時間的資料即是指某一時間點,兩者皆有的則是 指時間區段。以下為出自《資治通鑑》的時間標記後的範例,其開始時間標記為

「後周 – 顯德元年 – 四月 – 癸亥」,結束時間標記為「後周 – 顯德元年 – 四月 – 癸 酉」:

王彥超、韓通攻石州,克之,執刺史安彥進。<date value=“後周 – 顯德元年 – 四月 – 癸亥”> 癸亥 </date>,沁州刺史李廷誨降。<date value=“後周 – 顯德元年 – 四月 – 庚午”> 庚午 </date>,帝發潞州,趣 晉陽。<date value=“後周 – 顯德元年 – 四月 – 癸酉”> 癸酉 </date>,北 漢忻州監軍李勍殺刺史趙皋及契丹通事楊耨姑,舉城降;以勍為忻州 刺史。

本論文將此階段分為兩大部分,第一部分是對電子全文做時間資訊的標註,

得到每篇文件段落的中曆時間資訊。此階段所獲得的時間資訊格式為「朝代 – 年 – 月 – 日」,每筆時間資料的精細程度可能不同,依照其文本內容而定,可能以年、

月或日為最小單位。第二部分則是將前一階段標註好的中曆時間轉換成西曆時間 以方便後續系統的呈現。因為各朝代名稱、年號不同,在中國古代也存在許多不 同政權同時有自己年號的情形,單要依照中曆時間做時間先後排序有一定的困難

(25)

度,並會增加呈現系統運算的複雜度,於是為了系統實作的方便,需要進行中西 曆轉換,用另一個統一的曆法來當作時間順序的標準。下圖 Figure 3.1為本研究自 動化處理文本時間資訊的完整流程圖。

Figure 3.1: 自動化處理文本時間資訊流程圖

3.1 時間標記定義

本研究對處理的目標文本各段分別標記時間資訊,每個時間資訊標記格式為

「朝代 – 年 – 月 – 日」。年標記的部分分成兩種,有的皇帝並沒有年號,即直接採 用皇帝名稱紀年,如秦始皇。從漢武帝之後大多使用年號,則使用年號紀年。日 的部分標記干支資訊。朝代與年份為必要資訊,月份或日期則可有可無,以下為 幾個符合本研究格式的時間標記範例:

• 清 – 康熙二十年

• 北宋 – 景祐三年 – 正月

(26)

3.2 時間資訊擷取

對資料做了基本的觀察後,發現編年體的史書基本上會在段落的一開始標示 時間。如果一個段落內有多個時間點,會在句子的開頭標示。司馬光曾描述「稍 干時事者,皆須依年月日添附。無日者,附於其事之下,稱之月;無月者,附於 其年之下,稱之歲;無年者,附於其事之首尾;有無事可附者,則約其實之早晚,

附於一年之下。」 [22] 基本上時間的順序是以年、月、日依序標示,通常會以干支 來代表日,但也有些史書會使用干支來紀年。先前提過的時間單元,若是下一個 時間範圍變小的話則不重複提及。下圖 Figure 3.2為來自《資治通鑑》的實例。

Figure 3.2: 《資治通鑑》的時間資訊實例

本研究利用正規表示式自動擷取時間資料,分為兩個階段。首先,分別擷取 一個句子開頭的年、月、日,在其前後加上初步的標籤。在第二階段將先前標記 好的年、月、日資料推算出完整的時間標籤。下表為本文使用的所有時間標籤格 式。下圖 Figure 3.3為自動時間資訊擷取的演算法以及文本實例。

年的部分,本研究處理句首 (段落開頭、句號之後、分號之後) 的年份,將其 前後加上 <year> 和 </year> 標記,抓取的模式為「年號 + 年份」或「年份」,若是 只有年份的時間資訊,則會沿用前一段所出現過的年號。月的部分抓取十二個月 份,以及月份前可能出現的「閏」字,將其前後加上 <month> 和 </month> 標記。

若有抓到「閏」則為閏月,否則為一般的月份。日期的部分抓取干支,將其前後

(27)

Table 3.1: 本研究所使用的時間標記類型 時間標記類型 格式

dynasty 朝代

year 年號 + 年、皇帝名 + 年、皇帝名 + 年號 + 年 month [閏]+ 月份

day 干支

date dynasty-year、dynasty-year-month、dynasty-year-month-day startDate date

endDate date CEStartDate 儒略日 CEEndDate 儒略日

Figure 3.3: 自動時間資訊擷取演算法

加上 <day> 和 </day> 標記,並去除當作年份的干支。方法是只抓取句首出現的干 支,並忽略與「年」字共同出現的干支。

年、月、日的時間標記加入之後,對這些標記進行完整時間資訊的推算。方 法是先決定每本史書的開始的時間資訊,例「北宋 – 景祐三年」,然後依序對每個 標記進行推算:當遇到年的標記時,修改開始的時間資訊當中的「年」,刪去月 份、日期資料,以此時間點當作完整的時間標記,並當成新的開始時間資訊;當 遇到月的標記時,修改開始時間資訊當中的「月」,刪去日期資料,以此時間點當 作完整的時間標記,並當成新的開始時間資訊;當遇到日的標記時,修改開時時 間資訊當中的「日」,以此時間點當作完整的時間標記,並當成新的開始資訊。以 此演算法將史書從頭到尾經過一次完整的時間資料推算後,即可進入段落時間標 註的階段。

將全文內的時間資訊完整的標註之後,進行段落的時間範圍標註,將該段加 上 <startDate> 和 <endDate> 兩個 XML 詮釋資料欄位,其格式與 <date> 標記的格 式相同。方法是選用將該落的出現的所有時間標記中最久遠的為開始時間,時間 標記最近的為結束時間。若是該段落只有出現一次時間標記則只有開始時間,而

(28)

無結束時間。若該段落完全沒有出現時間標記,則沿用前一個段落的時間標記範 圍。下圖 Figure 3.4為未經標註的《舊唐書》XML 檔範例,而下圖 Figure 3.5則是 已經標註的《舊唐書》XML 檔範例。

Figure 3.4: 《舊唐書》未經標註前的 XML 檔部分範例

Figure 3.5: 《舊唐書》經標註後的 XML 檔部分範例

3.3 中西曆轉換

第一階段處理好的文本再進入系統呈現前,先經過中西曆轉換獲得統一的西 曆時間。本論文使用法鼓山的時間規範資料庫,範圍橫跨秦始皇二十七年到現代,

將中曆時間轉換成儒略日 (Julian Day) 作為系統西曆時間的標準。

(29)

儒略日是一種記日的方式,由 Joseph Scaliger 在 1583 年提出,以一個整數來 代表某一天,主要被天文學家所使用,來將不同曆法的年表統一。從推算的儒略 曆前 4713 年 1 月 1 日 (推算的格里高利曆前 4714 年 11 月 24 日) 為第 0 天,每過 一天依順序增加一。

由於儒略日只需要一個數字即可代表日期,其簡單的格式相當適合處理大量 來自不同曆法的資料。因為數字間的差距即代表天數的差距,也適合未來實作其 他與天數差距有關的功能。

3.4 自動化時間資訊處理的除錯

本研究以自動化的方式抓取時間資訊,並自動從中曆轉換成西曆時間,有一 些時間標記錯誤的狀況。本段將這些錯誤狀況分為兩大類,第一類是時間標記與 該段的真實時間不相符,第二類是該段時間標記在中西曆轉換時產生錯誤,並針 對這兩種錯誤分別討論與處理。

3.4.1 時間標記錯誤

由於不同史書撰寫上的差異 (例如有未出現在句子開頭的時間資訊),縱使本 研究選用各本史書間都通用的模式抓取時間標記,還是會有錯誤的產生。此類錯 誤相當多樣且不容易發現,本研究採用處理的方式是在系統呈現時提供使用者錯 誤回報,再對錯誤的時間標籤作修正。

3.4.2 中西曆轉換錯誤

中西曆轉換的錯誤為系統標記好中曆時間後,利用法鼓山時間規範資料庫轉 換成儒略日時所產生的錯誤。本研究將中西曆轉換的結果定義為七種不同狀態,

並建置另一個時間標籤修改系統來手動修改中西曆轉換的錯誤。

以下為本研究所定義中西曆轉換的可能回傳結果:

1. OK: 中西曆轉換成功

(30)

3. DYNASTY NOT FOUND: 給定的朝代名稱不存在

4. ERA NOT FOUND: 給定的年號不存在

5. JD NOT FOUND: 找不到該儒略日範圍

6. GANZHI NOT FOUND: 該干支日期不存在該月中

7. TBD: 錯誤待定義

狀態 3 與狀態 4 來自於給定了資料庫不存在的朝代或年號。狀態 5 的錯誤為 該時間點找不到對應的儒略日範圍,例如「秦 – 始皇帝元年」在中西曆轉換時回 傳狀態 5,是因為在法鼓山的時間規範資料庫裡只有秦始皇二十七年以後的資料。

狀態 6 的問題來自於標記的日期干支不存在資料庫顯示的該月份內,例如「北宋 – 建隆二年 – 十二月 – 壬申」狀態回傳 6,因為在資料庫中的北宋建隆元年十二月 只有庚寅到己未的日期。

由以上可知道中西曆轉換的錯誤相當多樣,於是建置了時間標籤修改系統來 進行手動的修改。下圖 Figure 3.6為該系統的畫面截圖。

Figure 3.6: 時間標籤修改系統截圖

點擊該系統時間標籤後可進行手動修改,最後送出上傳即可更新正確的中西 曆轉換結果到文件資料庫。除錯的原則是手動標記上一個層級時間資訊的儒略日 轉換結果,例如「北宋 – 建隆二年 – 十二月 – 壬申」在轉換時發生錯誤,就往上 標記「北宋 – 建隆二年 – 十二月」的儒略日轉換結果。

(31)

Chapter 4

時間資訊系統呈現

當各段落時間標記完成,且經過中西曆轉換沒有錯誤之後,就可以匯入時間 資訊系統,以方便使用者瀏覽、查詢,以進一步作研究。匯入時間資訊系統的文 件 XML 詮釋資料欄位如下:

Table 4.1: 時間資訊系統文件 XML 詮釋資料欄位列表 詮釋資料標籤 意義

content 內文

startDate 中曆開始時間 endDate 中曆結束時間 CEStartDate 西曆開始時間 CEEndDate 西曆結束時間 compilation 文件集名稱 compilationVol 彙編卷號 compilationIndex 彙編索引號 otherMetadata 其他詮釋資料 status 中西曆轉換狀態

4.1 功能概述

時間資訊系統主要提供兩大功能,第一部分是讓使用者在系統已有文件之間 做搜尋與相關時間對照,第二部分是使用者登入後,上傳自己的文件,與系統已 有的文件做時間對應。時間資訊系統結合了已處理好的文本資料庫、法鼓山的時 間規範資料庫,還有使用者自己文本資料庫三者的配合,達成使用者文件比對的

(32)

功能。本系統利用 Bootstrap 框架 [23] 建置,下圖 4.1為時間資訊系統的簡易架構 圖:

Figure 4.1: 時間資訊系統簡易架構圖

時間資訊系統主要提供使用者能依時間順序瀏覽、搜尋、對應,以此為出發 點所建置的系統截圖如下:

Figure 4.2: 時間資訊系統截圖

以下針對時間資訊系統的重要功能作簡述:

• 依時間序排列:本系統的文本依照轉換過的西曆開始時間排列,由遠到近。

當有相同的西曆開始時間時參考以下排序:

1. 西曆開始時間 (由遠到近)

(33)

2. 西曆結束時間 (由遠到近) 3. 彙編索引號 (由小到大)

彙編的索引號為該段落在原書的排列順序。本系統依照以上順序將的資料庫 內所有段落資料排序呈現。將所有處理的史書依照時間排序之後,使用者能 夠依照時間瀏覽文件段落,在有多朝代並存的時間,或是對同朝代歷史多 次編撰的史書間能夠清楚地發現其不同之處並相互參照。下圖 Figure 4.3為

《舊唐書》與《新唐書》的段落排序後的範例。

Figure 4.3: 系統依時間序排列《舊唐書》與《新唐書》圖例

• 以時間篩選:系統提供中曆及西曆的時間篩選功能,中曆部分輸入朝代,西 曆部分輸入西元年,即可回傳該時間範圍內的資料。使用者輸入中曆朝代或 西曆年份後,在系統端轉換成儒略日,在到資料庫端要求回傳在該儒略日時 間範圍內的資料。

• 以文件集篩選:使用者可以自行選擇哪些文件集不出現在搜尋結果。自訂文 件集提供使用者篩選想要研究、閱讀的文本對象,因為每本史書的資料量龐

(34)

Figure 4.4: 時間範圍篩選功能圖例

Figure 4.5: 文件集篩選功能圖例

(35)

• 詮釋資料欄位:系統位於左方顯示目前搜尋結果文件出處的詮釋資料,由 多排到少,提供使用者對該回傳文件有較整體的理解。此為「後分類呈現」

[24] 的技術,提供回傳檢索結果子集合的詮釋資料欄位 (本系統提供文件集 名稱),可讓使用者對這檢索得到的子集合做進一步的脈絡觀察。

Figure 4.6: 詮釋資料欄位功能圖例

• 相關時間對應:點擊某段落下方的「相關時間對應」即可回傳和該時間範圍 重疊的所有文件,提供使用者直接對該段落與同時間的其他段落進行比較。

(36)

同時間範圍的文件。系統端利用該點擊文件的儒略日時間範圍,向資料庫要 求回傳所有有重疊到儒略日時間範圍的文件,並依時間序排列於右欄。

Figure 4.7: 相關時間對應功能圖例

• 使用者上傳文件:提供使用者上傳表單,讓使用者填入自己的資料並給定時 間標記,會自動進行中西曆轉換成儒略日,再匯入系統中呈現。本系統提供 使用者將自己的文件上傳至系統中與系統文件參照閱讀的功能。在許多研究 情景底下,常常是研究者手邊有自己的史料,想和時間資訊系統裡的文本做 對照,進而發現其時間先後發展的關係,此狀況可利用此功能將研究者文件 上傳,填入表單後系統會自動進行中西曆轉換,和系統其他文件一起排序,

提供使用者閱讀、交互參照。系統會將使用者的文件標示不同的顏色進而與 系統原本的文件區隔。下圖 Figure 4.9為使用者上傳資料至系統後,與系統 資料做對應的功能圖例。

(37)

Figure 4.8: 使用者上傳功能圖例

Figure 4.9: 使用者資料與系統資料對應功能圖例

(38)

Chapter 5

結論與未來工作

本研究建立了一套有時間資訊的歷史文本處理流程,並建置歷史文件的時間 資訊系統,提供瀏覽與段落對應的功能。本系統同時具有可擴充性,未來可選用 更多的歷史文件加入,想必能找到更多有趣的對應。

本研究在文件處理過程中,依然存在許多侷限,待未來研究者持續嘗試、開 發。首先是時間標籤問題,使用正規表示式做標註時,是對句子的句法做比對,

某些時間資訊的句法和給定的正規表示式不同的狀況並無法被自動標註,例如

「三年後」、「前年」、「越兩年」、「又兩年」這類時間資訊就沒有處理,可能會造成 標註上的錯誤。另一種狀況存在於本論文的句法標籤無法明確取得句子的語意,

例如「自此內輔國政數十年」表示該段落時間延續數十年,此類狀況需要更進一 步的語意分析,才能得到確切的時間標籤,也待後人對此更進一步研究。

本研究以編年體的經典《資治通鑑》與正史的本紀作為處理的對象,只是眾 多具有時間資料的文本中的冰山一角,尚有許多歷史文書或是資料也存有時間資 訊,未來若是能將眾多官方史料與民間史料彙整,以時間軸作對應,應可見到許 多有趣的結果。本研究也未處理上古時代的時間資料,對於無法獲得確切西曆時 間的先秦史料《春秋》、《竹書紀年》等書的處理,也是未來可思考的方向。這些 史料雖然沒有辦法對應到儒略日,但從該史書的文本也可得知段落的先後順序,

這些先秦史料的對應也是可行的。本研究使用了儒略日作為統一的時間軸提供了 未來擴充史料的方便,期待將來集合更多史料能發現更多有趣的史學問題。

時間系統呈現上也有許多不足及可擴展之處,目前的相關時間對應功能提供 了相同時間區段文本互相查照功能,但某些事件在史書上的效果可能是跨多個時

(39)

段的,在某一時間點發生的事可能在未來另一個時間點才產生後續效果,如果能 以時間軸為底,對歷史文本本身作更多分析,可能會有更多有趣的發現。

(40)

Bibliography

[1] 陳秉才、高德. 《中国古代的编年体史书》. 人民出版社, 1987.

[2] 陳詩沛、杜協昌、項潔. 〈史料整體分析工具之幕後 – 介紹「臺灣歷史數位圖 書館」的資料前置處理程序〉.《從保存到創造:開啟數位人文研究》. 國立 台灣大學出版中心, 2011.

[3] 中 央 研 究 院 計 算 中 心. 中 央 研 究 院 兩 千 年 中 西 曆 轉 換. http://www.

sinica.edu.tw/ftms/luso.htm. Accessed: 2014-6.

[4] 法鼓佛教學院. 法鼓山時間規範資料庫. http://authority.ddbc.edu.

tw/time/. Accessed: 2014-6.

[5] Angel X. Chang and Christopher D. Manning. SUTIME: A Library for Recogniz- ing and Normalizing Time Expressions. 8th International Conference on Language Resources and Evaluation (LREC 2012), 2012.

[6] Angel X. Chang and Christopher D. Manning. TokensRegex: Defining cascaded regular expressions over tokens. Technical Report CSTR 2014-02, Department of Computer Science, Stanford University, 2014.

[7] T. Sekino. Time Information System. Research Institute for Humanity and Narue ed. Manual for Earth Environmentology 2. Asakura Pub., Tokyo, Japan, 2014.

[8] Northwest University Knight Lab. TimelineJS. http:/timeline.

knightlab.com. Accessed: 2014-6.

[9] 永瑢. 《四庫全書總目提要》. 商務印書館, 1933.

(41)

[10] 漢川草廬網站《資治通鑑》全文.http://www.sidneyluo.net/c/c.htm.

Accessed: 2014-6.

[11] 彭維謙. 〈不同脈絡中的歷史文本之自動分析 – 以《資治通鑑》、《冊府元龜》、 及《正史》為例〉. 碩士論文, 2013.

[12] 司馬光. 《資治通鑑》. 中華書局, 1956.

[13] 魏徵. 《隋書》. 中華書局, 1973.

[14] 紀昀. 《欽定四庫全書總目》. 藝文印書館, 1962.

[15] 世界書局編輯部. 《二十五史述要》. 世界書局, 2009.

[16] 劉知幾. 《史通》. 上海古籍出版社, 2008.

[17] 司馬遷. 〈太史公自序〉.《史記》. 中華書局, 1982.

[18] 源流出版社編輯部. 《中國古籍研究叢刊》. 源流出版社, 1982.

[19] 歐陽修. 〈進新修唐書表〉.《新唐書》. 中華書局, 2003.

[20] 漢 川 草 廬 網 站 二 十 四 史 全 文. http://www.sidneyluo.net/a/a.htm.

Accessed: 2014-6.

[21] 維 基 文 庫 網 站 二 十 四 史 全 文. http://zh.wikisource.org/wiki/

Wikisource:%E5%8F%B2%E6%9B%B8#.E6.AD.A3.E5.8F.B2.E9.A1.

9E. Accessed: 2014-6.

[22] 司馬光. 〈與范祖禹論修書帖〉.《資治通鑑釋例》. 臺灣商務印書館, 1983.

[23] Bootstrap.http://getbootstrap.com/components/. Accessed: 2014-6.

[24] 項潔、翁稷安. 〈多重脈絡 – 數位檔案之問題與挑戰〉.《數位人文要義:尋 找類型與軌跡》. 國立台灣大學出版中心, 2012.

(42)

附錄 -時間資訊系統收錄統計

書名 段落筆數

資治通鑑 21854 史記 280 漢書 1077 後漢書 2139 三國志 289 晉書 1399 宋書 758 南齊書 325 梁書 613 陳書 348 魏書 986 北齊書 386 周書 474 隋書 427 南史 1586 北史 1977 舊唐書 2840 新唐書 2563 舊五代史 1246 新五代史 583 宋史 4095 遼史 2182 金史 1442 元史 1824 明史 1468

參考文獻

相關文件

To ensure that Hong Kong students can have experiences in specific essential contents for learning (such as an understanding of Chinese history and culture, the development of Hong

Incorporated Management Committees should comply with the terms in this Code of Aid and abide by such requirements as promulgated in circulars and instructions issued by the

For ASTROD-GW arm length of 260 Gm (1.73 AU) the weak-light phase locking requirement is for 100 fW laser light to lock with an onboard laser oscillator. • Weak-light phase

This paper examines the effect of banks’off-balance sheet activities on their risk and profitability in Taiwan.We takes quarterly data of 37 commercial banks, covering the period

DVDs, Podcasts, language teaching software, video games, and even foreign- language music and music videos can provide positive and fun associations with the language for

The present paper offers a general discussion of the various Chinese translations of the Vimalakiirtinirde'sa and the relevant records found in the catalogues of canonical

To convert a string containing floating-point digits to its floating-point value, use the static parseDouble method of the Double class..

In this theses the wooden constructions as a historical and traditional value holder is combined with recent hi – tech material (ETFE foil) to create