《佛教傳記文學視覺化平台》標記工作手冊
簡介及目的
- 傳記文學的價值不僅僅對於保存佛教史料具有相當貢獻,且對中國佛教思想亦有深遠之影響,另外也提供當時人們眼中的社會價值觀、著作紀錄、風俗民情等,亦是研究當時社會背景的重要參考。而且,也由於保存了當時語體的習慣用法,讓我們得以一窺語言發展的究竟。因此本研究結合TEI標記與Google earth地理資訊技術來視覺化各種附有學術價值的佛教傳記,例如粱、唐、宋、明四本高僧傳、比丘尼傳等等,並提供使用者以「時間」、「人物」與「地點」作為搜尋條件來搜尋相關的文獻內容,且其中「跨傳搜索」的功能,讓使用者的瀏覽不在局限於某單一傳記之中。
Visualizing and Querying Buddhist Biographies
作業環境準備
安裝 Python
先到以下網址檢查 LXML 支援到哪個版本 http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
假設最新版本是 3.7.0 ,到 https://www.python.org/downloads/windows/ 下載 3.7.0 Windows x86-64 executable installer 版本,選擇 Customize installation,及勾選設定環境變數(Add Python 3.7 to PATH)。然後安裝。
設定安裝路徑
安裝好之後,登出重新登入,環境變數才會生效。
安裝 lxml
根據 windows 版本以及 Python 版本,到以下網址下載對應的 lxml 版本並安裝: http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
例如,如果電腦是 64bit windows,Python 3.7.0,那就選擇 lxml-4.2.4-cp37-cp37m-win_amd64.whl。
下載之後,在上述檔案的所在資料夾開 DOS 視窗,執行以下命令:
pip install lxml-4.2.4-cp37-cp37m-win_amd64.whl
若發現 pip 需要升級,請先開 DOS 視窗執行 python -m pip install -U pip
設定 path 環境變數
重新開機後,到 DOS 視窗下,在 Python 安裝路徑(例如 C:\Python34)以外的目錄下執行 python,如果出現如下畫面,表示安裝成功,可以跳過本步驟:
D:\temp\now>python
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:06:53) [MSC v.1600 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
如果出現以下畫面,那就必須設定 path 環境變數:
'python' 不是內部或外部命令、可執行的程式或批次檔。
設定環境變數的方法請參考:http://www.java.com/zh_TW/download/help/path.xml
path 環境變數裡有多個路徑值,以半形分號「;」區隔,舊的其他程式路徑必須保留,不然其他程式會找不到路徑。
視安裝的 python 版本不同,將 C:\Python33 或 C:\Python34 加入 path 環境變數的最後面,設好之後重新開機,再到 DOS 下執行 python 測試。
Markup執行步驟
TEI標記作業
- 本工作手冊乃是大方向之介紹,實際執行細節仍須隨傳記之特色改變。
基本格式介紹
- 範例如下
<div xmlns="http://www.tei-c.org/ns/1.0" key="gsz0838c04shiYuanZhen"><head>唐鄧州烏牙山圓震傳</head>
<p><anchor n="T.50.2061.0838c04"/><lb n="0838c04" ed="T"/><persName key="A012516">釋圓震</persName>姓陳,<placeName key="CN0130682Z15AA">中山</placeName>人也。少警悟而尚學,入<lb ed="T" n="0838c05"/>庠序,研究五經。倏遇雲遊沙門寓宵,其父<lb ed="T" n="0838c06"/>為州衙吏,酷有道心,留是僧供施。<persName key="A012516">震</persName>禮奉<lb ed="T" n="0838c07"/>其僧,聽其談道,頗覺入神。捨儒典,披釋<lb ed="T" n="0838c08"/>經,頓辭所愛,往白磁山<!--找不到此地-->,禮<persName key="A012517">智幽</persName>為師受<lb ed="T" n="0838c09"/>教。後遇<persName key="A005612">荷澤禪師</persName>得法,隱南陽<placeName key="CN0411381M02AA">烏牙山</placeName>。先<lb ed="T" n="0838c10"/>是<placeName key="CN0411381M02AA">山</placeName>中多巨蛇,澤穴有毒龍,鄉人患之。<lb ed="T" n="0838c11"/>及<persName key="A012516">震</persName>居此,二物潛蹤。曾有一人形服且異,<lb ed="T" n="0838c12"/>致拜乃曰:「我在此已二百歲,今感無心之<lb ed="T" n="0838c13"/>化,絕慮之修,吾曹冥感超昇,可非<persName key="A012516">師</persName>之力<lb ed="T" n="0838c14"/>歟!」<date from-iso="0790-01-24" to-iso="0791-02-11" key="d55211905521573">貞元六年</date>終,享齡八十六,弟子奉全身<lb n="0838c15"/>入塔焉。</p>
<linkGrp>
<link targets="#0838c09 #0838c14"/>
<ptr type="person" target="#A012516"/>
<ptr type="place" target="#CN0411381M02AA"/>
<ptr type="time" target="#d54934085521573"/>
</linkGrp>
- 存檔的檔名使用四碼流水號+僧名漢語拼音,採「駱駝式」拼寫。即除第一個漢字以外,所有的開頭字母都要大寫。例如釋圓震的檔名為:1070shiYuanZhen。中文字轉拼音引擎
- 文章全部包含在<div></div>中,而<div xmlns="http://www.tei-c.org/ns/1.0" key="gsz0838c04shiYuanZhen"> 是說明TEI的版本,以及本篇文章的ID;ID為"gsz"+"首行行號"+"僧名漢語拼音(中間不留空格)"。
- 若有標題則使用<head>來標記,例如<head>晉洛陽竹林寺淨檢尼傳一</head>。
- 文本放在<p></p>標記中。
- <anchor n="T.50.2061.0838c04"/>說明此篇文章位於CBETA中的哪個章節。
- 校勘碼標記:<ptr target="fn18"/>,左為 "校勘18" 的寫法。
- 行號標記:<lb ed="T" n="0326c01"/>(參閱CBETA)
- 人名標記:<persName key="A012516">釋圓震</persName>。其中人名ID為 "A012516"。
- 地名標記:<placeName key="CN0130682Z15AA">中山</placeName>,其中地名ID為 "CN0130682Z15AA"。
- 時間標記:<date from-iso="0790-01-24" to-iso="0791-02-11" key="d55211905521573">貞元六年</date>終。其中時間ID為 "d55211905521573"。
- 使用第一次出現的ID,其屬性使用"key"。如: <persName key="A012516">釋圓震</persName>。
- 出現人名或是地名的代名詞,同樣要標記。
- Authorities 資料庫中有要使用的ID,則直接取用。
- 若是 Authorities 資料庫沒有適當的ID,則新增之。
- 新增ID方式與參考資料說明請參照: 「佛學規範資料庫(Buddhist Authority Database Project)」工作手冊
標記通則
- 可以先行尋找書籍與網路資料,查看是否有該僧人的介紹或是相關事蹟,將可幫助標記者了解艱深難懂的古文,更可以提高標記的品質。
人名
- 在文章中出現的人物若有完整姓名的就要用規範碼標記之。
- 重要性低的人物可以不用在規範資料庫建立,例如沒有完整姓名與明確生卒年,且無任何其他關於該人物的資料,標記方式如下:
<persName key="unknown">某某某</persName>
- 若出現指涉多人的專有名詞,例如竹林七賢、彌陀三聖等,則使用群組的方式標記,例如:「<ref type="person" target="#G000001">竹林七賢</ref>」、<ref type="person" target="#G000035">八<name>龍王</name></ref>、<persName key="G000022">三皇</persName>、<persName key="G000026">五帝</persName>。用<ref>或<persName>的標準以中華書局《史記·點校後記》p.17為參考。建立群組時仍需一一包含群組人物。
地名
- 在文章中出現的所有地名都要標記。
- 若文本指涉的地名前面還包括一長串更大範圍的地名時,請標記文本指涉的地名就好,例如"天都長安京兆府草堂寺",則標記草堂寺ID即可。
- 有時文本會出現指涉多處地名的專有名詞,例如五嶽、安西四鎮、三韓等等,則使用地名群組的標記方式,例如<placeName key="CN0000000G01AA">五嶽</placeName>。
- 當無法確定確切的位置時,可使用最小可能範圍所在地區之區碼,並使用預設值座標的方式建立新ID,其詳細過程請參照: 「佛學規範資料庫(Buddhist Authority Database Project)」工作手冊。
- 若碰到完全不知道地點的地名時,仍要建立新的ID碼,並選擇一個跨地區、大範圍的區域例如中國、華中、越南等等,並在經緯度的狀態欄勾選<待考>。例如當一個寺廟我們只知道在中國,則標為:
- <placeName xmlid=CN0100000T01AA>XXX</placeName>
時間
- 請選擇Julian day number。
- 特指一天,則將該日的Authority ID日碼重複一次,例如<date when-iso="0394-03-26" key="d53766155376615">晉太元十九年甲午之歲二月八日</date>。
- 若是指某一段可以確定的時間,例如文本指涉開元二年三月、貞元六年、天寶年間、唐玄宗當政年間、整個明朝等,則使用"from-to",例如:<date from-iso="0790-01-24" to-iso="0791-02-11" key="d55211905521573">貞元六年</date>,則以貞元六年第一日與最後一日之日碼為ID。
- 文本中指出是某個年號的初年或是末年,則選擇其年號的前四分之一的時段,或是後四分之一的時段。
- 文本有時不會直接寫出時間,而是描寫事件,例如"唐武帝廢佛之時",這時標記者也應該要標記出唐武帝打壓佛教的時間為何。標記方式如下:
<date from-iso="0659" to-iso="0667" key="d53648855364885"/>安史之亂之時
- 若文本中出現某年的季節,選擇上則是春(1月-3月)、夏(4月-6月)、秋(7月-9月)、冬(10月-12月)。(不是選擇西元年,而是選擇該年的曆法)
非專有名詞的集合名詞
- 若遇到只是為了寫作方便而出現的集合名詞,其名詞在某特定文章中有自己意義,例如二師、二聖,其標記方式如下:
- <ref type="person" target="#AXXXX #AXXXX ">XXX</ref>
- <ref type="place" target="#CNXXXX #CNXXXX ">XXX</ref>
代名詞
- 當我們遇到人、地、時的代名詞時,則使用:
- 人 → <ref type="person" target="#AXXXXXX">XXX</ref>
- 地 → <ref type="place" target="#CNXXXXXA">XXX</ref>
- 時 → <ref type="date" target="#5XXXXXXXX">XXX</ref>
<linkGrp>
- 定義:
An event, recorded in the text, by which two or more marked up entities (one or more person(s), a place, a date) are understood to be related.
關係點:係指兩人(或以上)於文中段落產生互動關係。或地點、時間於文中段落,指出人物所在時、空位置的元素集合。該集合元素由人+人、人+地、人+時,或人+地+時組成。
- Chinese Paraphrase:
一個nexus point,就是一個基本形式的事件,由一個以上的人物標記實體,加上最多一個時間標記實體,以及最多一個地點標記實體所構成。
但時間與地點的標記實體,對一個nexus point並非是絕對必要的。也就是說,我們接受缺乏時間,或缺乏地點紀錄的nexus point。但是當一個nexus point中同時缺乏時間與地點的資訊時,我們僅紀錄具有兩個以上人物參與的nexus point,因為僅有一個人物標記實體而無其他資訊所形成的nexus point 所含的資料量太低,不在我們專案的處理範圍之內
- event的定義包括了文本中之人物間有見過面,或是沒見過面但有互動這兩種情況。
- 所謂確切時間是指文本中有一清楚確定的時間,例如天監三年、天監年間、天監年初等等。
- 文本中若出現跟主角無關的神話故事,可以不記錄。或紀錄為<linkGrp cert="low">。
- 共分為以下四種:
第一種
- 一人或多人,在一確切時間、確切地點所產生的事件。
- 標記方式如下:
- <linkGrp>
- <link targets="#0838c09 #0838c14"/>(此事件在CBETA文本中的行號範圍)
- <ptr target="#A005757" type="person"/>(人)
- <ptr target="#A005758" type="person"/>(人)
- <ptr target="#CN410502T01AA" type="place"/>(地點)
- <ptr target="#d54419125442276" type="time"/>(時間)
- </linkGrp>
第二種
- 一人或多人,在一確切時間,但無確切地點所產生的事件。
- 標記方式如下:
- <linkGrp>
- <link targets="#0838c09 #0838c14"/>(此事件在CBETA文本中的行號範圍)
- <ptr target="#A005757" type="person"/>(人)
- <ptr target="#A005758" type="person"/>(人)
- <ptr target="#d54419125442276" type="time"/>(時間)
- </linkGrp>
第三種
- 一人或多人,在一確切地點,但無確切時間所產生的事件。
- 標記方式如下:
- <linkGrp>
- <link targets="#0838c09 #0838c14"/>(此事件在CBETA文本中的行號範圍)
- <ptr target="#A005757" type="person"/>(人)
- <ptr target="#A005758" type="person"/>(人)
- <ptr target="#CN410502T01AA" type="place"/>(地點)
- </linkGrp>
第四種
- 兩人以上,但沒有確切時間與地點的事件。
- 標記方式如下:
- <linkGrp>
- <link targets="#0838c09 #0838c14"/>(此事件在CBETA文本中的行號範圍)
- <ptr target="#A005757" type="person"/>(人)
- <ptr target="#A005758" type="person"/>(人)
- </linkGrp>
驗證檔案與上傳Occurred in
- 所有的標記檔 (.xml) 都必須存放到同一檔案夾中,標記完成之檔案名稱必須登錄到 "GSZwrapper.xml" 中。
- 打開wrapper檔,選擇"Exteral validation",點選"RelaxNG Schema"與"Compact syntax",再填入Schema所在的路徑,後按確定即可進行驗證。
- 最後再利用Authority資料庫管理介面中的"規範碼檢查"介面,檢查檔案中所有的人名與地名規範碼是否有錯誤,若無錯誤程式將自動增加"Occurred in"。若要一次確認多個檔案, 請先將XML文本壓縮為.ZIP格式再上傳即可。文本資料驗證介面
- 驗證完畢之後,請使用檔案備份軟體,以防止檔案遺失。
缺字處理
- 當文本中出現缺字,例如名僧傳抄中"偽秦長安官寺釋道安"這一篇出現:
"出家。性甚聰敏。□□又別立禪房以栖"(X77n1523_p0352a14)
我們在這裡用<gap extent="1" unit="chars" reason="lost"/>取代□。標記方式如下:
"出家。性甚聰敏。<gap extent="1" unit="chars" reason="lost"/><gap extent="1" unit="chars" reason="lost"/>又別立禪房以栖"
Authorities
Authority (規範檔)是用以分辨單一實體 "Entity" 的唯一名稱或描述。目前所用到的規範檔只有"人"、"地"、 "時"。
人名 Authority 的建立:
- "常用名"欄位通常為"姓名"、"法名"、"廟號"(皇帝)、"諡號"依序擇一使用。
- "常用名"之外的名稱則列於"別名"。包括僧傳中引用錯誤的人名也是如此。
- 人名若是出現於正史(如史記)之中,或是權威性的私史(如資治通鑑),則可以建立超連結,以資參考。
地名 Authority 的建立:
- 中國地名ID直接引用自 "DDBC Authority"的地名碼。
- 地名座標取得依序為:中研院地名表、搜狗網站 、中國歷史地名大辭典、中華人民共和國地名大辭典。若不確定則於坐標欄旁勾選"待考"。
地名 Authority 編碼原則:
- 地名 Authority 編碼分為四段。現今行政區域、屬性、流水號、副碼。如"大慈恩寺"為"CN0610113T05AA"。詳地名編碼原則
- 中國地區行政碼:請先參考「GB/T 2260-2002地名碼」檔案。由於郵編最大單位為縣市無法表達省級區域,故採用ISO3166延續碼。參考文件「http://zh.wikipedia.org/w/index.php?title=ISO_3166-2:CN&variant=zh-tw」
時間編碼原則:
- 日期碼為儒略日碼(Julian Day Number, JDN)的修正版 Chronological Julian Day(CJD)。但目前仍使用 CJD+3511565 的舊碼。
- 時間規範檔使用格里曆(Gregorian calendar),而其格式為天文紀年法(Astronomical year numbering)。
- 日期碼請利用時間規範檢索對照查詢。
- 另外關於「時期碼」的部份,像是「唐朝」,她是從西元618/05/30(5458497)起,至907/04/15(5564009)結束,則其編碼為將兩個日期碼並列,為「54584975564009」共14碼。如此可以清楚在時間軸上的相對位置與長度。例如:唐太宗貞觀二年五月,時期碼為 54621585462187(628/06/07~628/07/06)。
校勘
處理"字"在不同版本間有差異的問題
- 若文本中出現明顯的錯誤,再加上CBETA中也有校正的紀錄,則可以修改成正確的字。例如周洛京魏國東寺天智傳(宋高僧傳)中出現"水昌元年",我們知道正確是"永昌元年",且CBETA中也有校勘紀錄,這樣的狀況將可以把"水"改成"永"。
標記方式如下:
<corr>永</corr>