《佛教傳記文學視覺化平台》標記工作手冊

出自DILA Wiki

簡介及目的

  • 傳記文學的價值不僅僅對於保存佛教史料具有相當貢獻,且對中國佛教思想亦有深遠之影響,另外也提供當時人們眼中的社會價值觀、著作紀錄、風俗民情等,亦是研究當時社會背景的重要參考。而且,也由於保存了當時語體的習慣用法,讓我們得以一窺語言發展的究竟。因此本研究結合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)。然後安裝。

Install-python.jpg

設定安裝路徑

Install-python-path.jpg

安裝好之後,登出重新登入,環境變數才會生效。

安裝 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升級.jpg

若發現 pip 需要升級,請先開 DOS 視窗執行 python -m pip install -U pip

Pip升級成功.jpg

Lxml升級成功.jpg

設定 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">。

  • 共分為以下四種:
第一種
  • 一人或多人,在一確切時間、確切地點所產生的事件。

第一種.jpg

  • 標記方式如下:
<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>

第二種
  • 一人或多人,在一確切時間,但無確切地點所產生的事件。

第二種.jpg

  • 標記方式如下:
<linkGrp>
<link targets="#0838c09 #0838c14"/>(此事件在CBETA文本中的行號範圍)
<ptr target="#A005757" type="person"/>(人)
<ptr target="#A005758" type="person"/>(人)
<ptr target="#d54419125442276" type="time"/>(時間)
</linkGrp>

第三種
  • 一人或多人,在一確切地點,但無確切時間所產生的事件。

第三種.jpg

  • 標記方式如下:
<linkGrp>
<link targets="#0838c09 #0838c14"/>(此事件在CBETA文本中的行號範圍)
<ptr target="#A005757" type="person"/>(人)
<ptr target="#A005758" type="person"/>(人)
<ptr target="#CN410502T01AA" type="place"/>(地點)
</linkGrp>

第四種
  • 兩人以上,但沒有確切時間與地點的事件。

第四種.jpg

  • 標記方式如下:
<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 編碼原則:

時間編碼原則:

  • 日期碼為儒略日碼(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>