數位人文系列1:AI也能為研究者讀文言文史書?談蔡宗翰教授所發展的古文閱讀AI技術

富銘AI物語
就這樣懂AI️@IF.Lab
11 min readNov 12, 2019

研究原創團隊:蔡宗翰教授(國立中央大學資訊工程學系)

AI也會讀古文?

大家都有國高中讀古文非常辛苦的經驗對不對?我們希望AI除了現代文之外,也能替人類讀古文。然而,由於古文缺乏訓練用的標註資料,使得讀懂古文的AI難以發展。

基於對歷史的興趣與熱愛,身為AI學者的蔡教授帶領團隊發展能理解無標點的文言文史料《明實錄》的AI,以幫助研究者閱讀這部共163冊,合計一千六百萬餘字的實錄體史書。在整本明實錄中,蔡教授尤其重視包含衛所的段落。因為衛所是明朝國防體系的基本單位。衛所駐有軍隊及其家屬,主要分布於邊疆地帶,但內地亦有衛所。一個衛大至十萬人以上,如宣府衛;小則幾千人。在衛所內,軍事、外交、經濟、漕運、民政等各類事件都可能發生,因此是以各種視角觀察明朝的最佳標的。

為編年體史書加上#hashtag :非監督式事件分群

《明實錄》記錄了哪些類別的衛所事件?

在社群媒體或是部落格文章中,常常會手動為文字段落加上hashtag(主題標籤)來進行分類管理。透過hashtag,使用者可以快速篩選出相同主題的文章。然而,在現今AI蓬勃發展的時代,是否機器可以自動幫現代文,甚至古文上標籤?

以明實錄為標的,蔡教授團隊首先以非監督式分群技術,將事件類型相同的段落聚為一類,初始共有六十餘類。接著,請歷史專家為自動分出的各群訂定主題標籤,如#朝貢#、#升遷#、#軍事衝突#。若發現兩類事件類型雷同,則將兩類合併。結合編年體史書的時間、空間等資訊,使用者就可依據自己的需求提取《明實錄》的相關資訊,以便在短時間內能宏觀地整理分析巨量歷史資訊。這個研究成果,已發表在數位人文領域頂尖國際研討會Digital Humanities 2017上 [1]。圖一為明實錄衛所事件瀏覽網站的介面。2019年蔡教授團隊又改進原先的技術,應用在歷史氣象事件分類上,成果發表於Digital Humanities 2019上 [2]。

圖一:明實錄衛所事件瀏覽網站 [4]

透過AI建立《明實錄》資料庫

事件分群雖然可找出史書中相關類型的文本段落,但下一個面臨的挑戰是:這些事件究竟是何時何處誰對誰做的?例如,如果想回答以下兩個問題:

哪些衛所的進貢次數最多?朝貢物品的種類有哪些?

歷史研究者必需檢閱163冊的史書,找到其中描述衛所朝貢的文本段落,再將個別朝貢事件資訊登錄到Excel中對應的欄位,完成資料結構化,以便進一步對朝貢類事件進行統計分析。即使現在已經有《明實錄》全文資料庫可供讀者檢索查詢,但想要由1600萬餘字沒有斷句標點的文言文史料中,有效提取出相關資訊,仍須耗費大量的時間人力。

破譯文言文的寫作套路:語意角色標註

蔡教授經過統計發現,《明實錄》在敘述類似的事件時,使用的句式往往具有規則性,例如《明實錄》的朝貢活動記錄中,通常以「朝貢、貢、進、獻、進貢」五個謂詞來描述進貢事件,派遣使者朝貢多用「遣、差」二字,而明朝賞賜的回賜事件則以「賜、給、賞、獎賞、給賞」五個謂詞來表達。因此只要剖析史書敘述事件的寫作套路,就能讓AI快速理解句中的語詞所扮演的角色和作用。

在AI研究領域中,恰巧有一種技術可以滿足需求,也就是語意角色標註(Semantic Role Labeling,SRL)。SRL的作用是:給定某個謂詞,指出句子中與謂詞的相應的語意角色成分,也就是「在什麼時間、什麼地點,誰對誰做了什麼」。SRL以句子的謂語為中心,不對句子中所有的成分進行語意分析,僅標註句中重點成分(詞、片語)與謂語之間的關係,即句子的謂詞―論元結構(Predicate-Argument Structure),並用語意角色來描述這些關係。語意角色包含了在每個謂詞上定義有所區別的主要語意角色,即「施者」、「受者」;以及在每個謂詞上定義完全相同附屬語意角色,如「地點」、「時間」等等。

語意角色標註事前準備工作 — 定義每個謂詞對應的語意角色

要讓AI學習怎麼做語意角色標註,首先要定義好每個謂詞有哪些語意角色。研究要站在巨人的肩膀上。美國科羅拉多大學的薛念文教授已經針對現代中文的重要謂詞,定義各自對應到哪些語意角色 [5]。因此,蔡教授團隊針對朝貢相關謂詞,視情況沿用或修改這些謂詞對應到的語意角色。例如,薛教授原先並未針對謂詞「貢」定義對應語意角色。蔡教授團隊在檢視後,參考薛教授對「献上」的定義:

施者(獻者, agent)、所獻之物(thing dedicated)、受者(受獻者)

修改為

貢者(person paying tribute)、貢品(thing tributed)、受貢者

例如,「女直都督歹出貢馬及方物」標註語意角色後將成為:

以另一個例子來解說,一個事件框架是由謂詞 (predicate)和論元 (event arguments)組成。「謂詞」所指的是對主語的陳述或說明,指出「做什麼」、「是什麼」或「怎麼樣」,代表了一個事件的核心;而跟謂詞搭配的名詞稱為「論元」,是與謂詞有關的單詞或句子。以句子的謂詞為中心,分析句子中各個組成與謂詞之間的關係,即句子的謂詞-論元結構 (Predicate-Argument Structures,PAS)。而蔡教授的研究當中,為了要電腦自動找到要研究之歷史事件的相關文獻,運用了謂詞-論元結構進行語句的識別,其中包含兩個步驟:1) 定位出事件的起始點在哪裡 2) 辨識事件內容的敘述,並標註出各個詞的語意角色。例如現在要研究的主題假設是「體育課」,想要找到有關體育課這個主題的文章或段落的話,就要先定義與體育課這個主題的相關字詞,也許是「操場」、「老師」、「運動器材」、「哨子」、「暖身」……等等字詞,一旦電腦系統能主動搜尋定位出這些關鍵字在文本中的哪些地方,在作進一步的分析研究前,就省了一大筆時間跟心力呢!

圖二:謂詞-論元結構解說範例

例如:「我看見這項技術的價值」,在這句話中,「我」是主語,「看見」是謂詞,「這項技術的價值」就是論元。例如大雄愛靜香,「大雄」為主語。「愛」是謂詞,「靜香」論元,而「大雄愛靜香」,便算是一個事件框架。

語意角色標註流程

1. 找出含有指定謂詞的段落。

2. 針對每個含有指定謂詞段落,以蔡教授團隊發展的文言文斷句程式進行斷句。

3. 針對每個含有指定謂詞的句子,辨識出帶有各語意角色的詞彙。辨識動作由序列標註模型執行。大家經常聽到的循環神經網路(Recurrent Neural Network),就是一種序列標註模型。例如,同樣的例句可輸入循環神經網路中,輸出各字的標籤。若讀者對如何準備序列標註模型所需的訓練資料感興趣,請參看原論文。

歹、出兩字同樣被標為「貢者」,表示兩字都是貢者的一部份。「馬」字則為貢品。這裡是為了說明方便。實際上,序列標註模型可更換為更複雜先進的模型,例如Bidirectional Encoder Representations from Transformers (BERT)。

關於語意角色,以一個範例來說,我們若將平時所說的長篇大論拆解成一段一段獨立的句子,它其實就像是一個迷你小劇場,句中的每個字詞都負責扮演著不同的角色,語言是活的,總是非常奇妙,不同的角色經過不同的排列組合,有時候是異曲同工,有時候卻產生差距十萬八千里的結果!例如「老王踩到一隻小強」這句話,和「一隻小強被老王踩到」是一樣的意思。但若不加上「被」,單純把老王跟小強調換位置成為「小強踩到一隻老王」,整個就是完全不一樣的畫面了。為了讓電腦認識人類奇妙的語言,需要進行細緻的語意分析,這就是「語意角色標註」技術存在的目的,好能分辨出句子裡的字詞各自扮演哪些角色,而角色的類型主要有:施事者、受事者、客體、經驗者、受益者、工具、處所、目標和來源等等。

圖三:語意角色標註示意圖

為《明實錄》建立外交報表

透過語意角色標註技術,識別出明實錄貢賞事件的人地物等組成要素,就可以建立《明實錄》的朝貢資料庫,且於統計分析後產生明朝的外交報表。

以朝貢活動為名實行的進出口貿易來看,明朝藉由朝貢貿易進口最多的是牲畜類,尤其以馬匹為大宗;其次為殊方異物。而明廷回賜給進貢者則以銀兩幣鈔最多;其次為絲綢布匹。想必位於江南的織造業承擔了這些外銷需求的多數。

圖四:明實錄朝貢∕賞賜物品類型

又如從進貢次數最多的羈糜衛所 [6] — 蒙古兀良哈三衛的進貢事件統計圖來看,正統年間朝貢交流最頻繁,平均一年有六次。這符合目前歷史學家分析的結論。這篇以語意角色標記技術進行的明實錄朝貢事件分析,已發表發表在數位人文領域頂尖國際研討會Digital Humanities 2019上。

圖五:兀良哈三衛朝貢統計圖

讓AI幫助人文歷史研究

透過非監督式事件分群技術,為史書中的文本段落區分事件類型。自動化語意角色標註則實現在古代歷史文本中提取貢賞事件的相關資訊。訓練AI的古文閱讀理解能力,以幫助學者快速在茫茫字海中找到目標資訊,進行深入研究。

參考書目與資訊

1. Richard Tzong-Han Tsai*, Yu-Ting Lai, Pi-Ling Pai, I-Chun Fan et al. (2017, Aug). WeisoEvent: A Ming-Weiso Event Analytics Tool with Named Entity Markup and Spatial-Temporal Information Linking. Digital Humanities 2017, Montreal, Canada.

2. Shang-Yun Wu, Cheng-Han Wu, Pi-Ling Pai, Yu-Chun Wang, Richard Tzong-Han Tsai*, I-Chun Fan (2019, Jul). Climate Event Classification Based on Historical Meteorological Records and Its Presentation on A Spatio-Temporal Research Platform. Digital Humanities (DH 2019), Utrecht, The Netherlands.

3. Richard Tzong-Han Tsai*, Yi-Hsuan Lu, Yu-Chun Wang, I-Chun Fan (2019, Jul). Event Extraction on Classical Chinese Historical Texts: A Case Study of Extracting Tributary Events from the Ming Shilu. Digital Humanities 2019 (DH 2019), Utrecht, The Netherlands

4. 明實錄衛所事件瀏覽網站,http://iisrserv.csie.ncu.edu.tw:8080/weiso-event/

5. 薛念文教授, http://verbs.colorado.edu/chinese/cpb/html_frames/index.html

6. 羈糜衛所,地方機構名。明朝洪武、永樂年間設于邊疆非主體民族地區,以當地首領為都督、都指揮、指揮、千百戶、鎮撫等官,賜給敕書印記,轄都司衛所,掌當地軍民政事。

7. 就這樣懂AI — 數位人文系列1:AI也能為研究者讀文言文史書?談蔡宗翰教授所發展的古文閱讀AI技術 @蔡宗翰(國立中央大學資工系教授、中研院人文社會研究中心合聘),https://medium.com/if-lab-ai/a71219d68fea

====================================
研究原創團隊:蔡宗翰教授(國立中央大學資訊工程學系)

科普合作團隊:黃福銘教授、彭鈺湄、吳岱恩、鄭亞南、鄭紹琪、謝馨頤、何怡萱、林玠豪、田安芸、李庭瑩、馮正毅(東吳大學巨量資料管理學院)

指導計畫單位:科技部科教發展及國際合作司–前沿科技成果轉化暨應用推廣計畫
====================================

--

--