摘要:古籍數字化工作目前亟需加强基礎設施建設,這部分由古籍目錄庫、古籍圖文庫和古籍知識庫三部分組成。目前古籍圖文庫發展比較突出,而古籍目錄庫和古籍知識庫的建設則比較落後。這裡我們回顧了十五年前北京大學數據分析研究中心建設的古籍目錄庫和古籍知識庫兩個超前實例,回應近期
談古籍知識庫建設的兩次嘗試
孫顯斌 攸興超
(本文發表於《中國古典學》第七輯,引用請以該刊為準)
提 要:
古籍數字化工作目前亟需加强基礎設施建設,這部分由古籍目錄庫、古籍圖文庫和古籍知識庫三部分組成。目前古籍圖文庫發展比較突出,而古籍目錄庫和古籍知識庫的建設則比較落後。這裡我們回顧了十五年前北京大學數據分析研究中心建設的古籍目錄庫和古籍知識庫兩個超前實例,回應近期古籍數字化工作的發展趨勢。
关键词:
古籍知識庫 本體 語義網 資治通鑒知識服務系統
中國歷代典籍總目系統
一、 古籍數字化發展的簡要回顧
與國際上的情况一樣,我國古籍數字化也肇始于文本計算研究。最初的主題是《紅樓夢》後四十回的作者問題,1980年時爲威斯康星大學東亞系博士的陳炳藻就發表會議論文,利用計算機統計詞頻討論這一問題。[1]稍後的1985年,鎮江市科委與東南大學(原南京工學院)合作完成了《紅樓夢》數據庫,深圳大學完成了“紅樓夢多功能檢索系統”。[2]同年中國社科院文學研究所在副院長錢鍾書的指導和支持下,由欒貴明牽頭成立“計算機室”,陸續建成“《全唐詩》速檢系統”“諸子集成數據庫”等全文檢索系統。以“《全唐詩》速檢系統”爲中心的這一古籍文獻處理系統榮獲 1990 年“國家科技進步獎”三等獎、中國社會科學院科研成果一等獎。[3]幾乎同時,1984年臺灣“中央研究院”開始建設“漢籍全文數據庫”,並于2007年與臺灣大學合作成立“數位人文研究中心”,至今已成爲數字人文研究的重鎮。古籍數字化這項工作不同于一般的人文研究,特別消耗資源,沒有專門的機構以及持續的投入是不可能做出成績的,實際上這一點至今爲止也沒有得到應有的重視。1988年起香港中文大學逐步建設“漢達古籍數據庫”。而真正起到劃時代作用的是1999年由香港迪志文化和上海人民出版社合作出版的電子版《文淵閣四庫全書》,一時間它成爲人文學者必備的研究工具,開啓了後來愛如生、雕龍、鼎秀等古籍數據庫的先河。古籍數字化按照現今的工作流程可以分爲四個階段,即圖像化、文本化、知識化和智能化。實際發展進程中,圖像和文本建設是交叉進行的,最早的古籍數據庫不是圖像庫而是人工錄入的文本數據庫。上面談到的這些古籍圖文對照數據庫即是文本化階段的代表性成果。隨著OCR識別和聚類校對技術的逐漸成熟,文本數據庫建設已從人工錄入轉變成文本識別和校對。這裡說的智能化是指大數據和人工智能背景下的古籍數字化的進展,目前雖然已經有了一些古籍大模型,但發展前景並不明朗。越來越多的人有了這樣一個共識,即使有了大模型技術,專業領域模型依然是重要的,也就是說古籍知識庫建設這一階段不能跨越。
隨著古籍圖文庫建設技術的逐步成熟,學界開始探索建設古籍知識庫,這一階段北京大學中文系李鐸團隊(後來成立了北京大學數據分析研究中心)是非常具有代表性的研究團隊,從本世紀初開始就基于語義網和本體的思想,先後開發了“全唐詩分析系統”“全宋詩分析系統”“數字中國古代文學史”“中國歷代典籍總目系統” “二十五史研習系統”等一系列古籍知識庫産品。尤其是2008年開始與中華書局合作開發的“資治通鑒知識服務系統”,作爲古籍知識庫的先鋒,到目前爲止還是代表性成果。
二、 古籍知識庫建設的路徑探索
我們知道,古籍文本庫帶來研究手段最大的革新就是全文檢索以及基於檢索的統計,即所謂的檢索代替閱讀,但實際上文本檢索面臨很多問題和挑戰,除了文本質量之外,還有同義異名、同名異義、詞語切分、異體字等諸多問題。[4]在這種情況下,如果我們要深入推進文本的語義分析,需要藉助“中文信息處理”中命名實體標記的方法。在沒有大模型技術之前,我們嘗試構建古籍知識庫,利用文本分析的方式去探索理解語義。這就需要對古籍文本進行分詞和命名實體標記,然後再建立各種命名實體之間的語義關係,從而獲得大量有確切含義的語義材料,構成一個語義網,在此基礎上嘗試對文本進行語義分析甚至理解。史睿很早就提出“開發出標引古籍的智能化軟件,是古籍數字化的當務之急。”“描述關鍵詞的各種屬性是爲了計算機能依照屬性對關鍵詞進行分類、排序、篩選、統計之類的管理,産生再生資源, 以利知識發現。”[5]實際上是借鑒圖書館學通過標引建立索引的方法。其後,又提出“古籍資源的本體構建和知識發現”和“古籍數字資源知識庫的建設”的思路。[6]李鐸用具體的研究案例指出“建設本體庫,就是建設模型庫。本體是最小的模型。爲了讓計算機能够爲我們提供更廣泛的學術支持,我們就要建設各種各樣的本體。”[7]孫顯斌認爲“古籍數字化可分爲三個層次,即古籍圖像化、古籍全文化和古籍數據庫化。”“‘本體化’要求我們推進古籍數據庫化。”“要加强古典研究,就必須將古籍數字化向古籍數據庫化的層次推進。”並結合實際工程經驗談了“本體化”的實現方法和“本體化”古籍數據庫的優勢。[8]
這裡講的是利用語義網絡(Semantic Web)對文本進行增强閱讀和分析的方法,同時基于知識庫的思想,用本體(Ontology)來描述一個知識元(Knowledge node),也即一個語義所指,將文本中的知識元進行標記,使語義相同的文本標記都鏈接到相應的同一知識元。這就引出古籍知識庫建設的一對核心概念:“本體”和“標記”。其中“本體”就是一個語義所指,“標記”就是在文本中表示這一“本體”含義的具體詞語。舉個例子,唐代大詩人{李白}是一個人物“本體”,而在文本中代表{李白}的具體詞語就是這一本體的“標記”,如古籍文本中經常出現的“青蓮居士”“太白”“詩仙”等這些代表詩人{李白}的別稱。如果我們把古籍文本中所有“標記”都鏈接到它所屬的語義“本體”上,我們也就完成了文本中的語義識別,也就形成了“本體”和“標記”之間的語義網絡,可以準確地支撐接下來的語義分析和計算。“本體”更像是詞典裡的詞條,但它不僅是一個簡單的條目,它具有自己的屬性集合,也就是自己的關係集合,一個本體通過自己的屬性與其他本體建立起聯繫。例如,一個人物本體,他有出生時間的屬性,就和一個時間本體建立起聯繫,他又有籍貫屬性,就又和一個地名本體建立起聯係,然後他還做過官、寫過書,有父母親人和朋友,就和職官本體、文獻本體和其他人物本體都建立起特有的聯係。通過屬性聯係,各種本體之間也建立起語義網絡,我們同樣可以通過本體之間的語義網絡進語義檢索和計算,實現知識的發現。
三、 古籍知識庫建設的兩次嘗試
我們很有幸先後參加了北京大學數據分析研究中心“資治通鑒知識服務系統”和“中國歷代典籍總目系統”兩個產品的開發,負責數據加工等工作。由於這兩個產品使用範圍不廣,很多人並不了解[9],所以在這裡結合具體產品談一下古籍知識庫建設中的一些理念、經驗和心得。
(一) 談“資治通鑒知識服務系統”的建設
1、“資治通鑒知識服務系統”的功能簡介
“資治通鑒知識服務系統”建設的背景是2007年開始,中華書局爲了探索信息時代人文研究的新方法和路徑,決定拿出二十五史和《資治通鑒》的文本佈置了兩個合作探索的項目,其中二十五史是和武漢大學團隊合作,《資治通鑒》是和北京大學數據分析研究中心合作。項目沒有任何具體要求,只是鼓勵做更前沿甚至超前的嘗試。於是北大團隊在李鐸教授指導下運用“本體”和“標記”的概念對《資治通鑒》文本進行了標引和分析,開發了“資治通鑒知識服務系統”。知識服務系統由兩個子系統組成,即閱讀子系統和分析子系統。
閱讀子系統實現了閱讀瀏覽和檢索功能,其中閱讀瀏覽功能提供了分類導航和文本導航兩種導航瀏覽。分類導航即是本體辭典導航,提供了《資治通鑒》中所有的人物、地點、職官、事件和時間等五種本體的辭典庫,可以按一定的順序瀏覽本體辭典,包括查看本體條目的屬性集合以及該本體在《資治通鑒》中的所有標記出現的段落。文本導航可以稱爲增強閱讀功能,《資治通鑒》的文本可以按照卷序閱讀,卷中的文本用不同顔色的下劃綫標注各類本體標記。如圖1所示,我們點擊文中“威烈王”的人物本體標記,右側欄顯示該人物本體條目“姬午”的詳細信息,其後還給出《資治通鑒》中該人物本體的所有標記出現的相關段落。
圖1 “資治通鑒知識服務系統”文本導航功能
檢索功能分別對應本體檢索和全文檢索。各種檢索可以進行單條件或多個條件組合檢索。全文檢索支持本體語義檢索,語義檢索與關鍵字檢索不同,它的精確率和覆蓋率更高。如按“語義檢索”檢索人物“李世民”,不僅可以檢索到 “世民”“李世民”,還可以檢索到 “秦王”“太宗”“文皇帝”等同一本體的不同標記。這是一般關鍵字檢索或同義詞檢索無法做到的。
圖2 “李世民”的人物全景分析圖
分析子系統包括人物分析、地點分析、職官分析、事件分析和事件-時間統計分析。前四種分析均可進行全景分析、相關性分析和聚類分析等功能。a)全景分析功能可以生成人物的全景分析圖,其中不僅列出了人物的詳細信息,而且還以圖形形式展現了該人物的各類關係,包括任職情况、相關地點、相關人物和相關事件等。相關人物中包含了父子、祖孫、兄弟等關係。點擊相關的人名,可以顯示該人物的詳細信息,點擊擴展按鈕可以顯示該人物的全景圖;點擊事件可以顯示事件的詳細信息和事件全景圖,可以看到在事件全景圖中,不僅以不同的顔色展現了事件情况,和有關人員對事件的注釋和說明,而且還以圖形的方式展現了該事件的相關地點和相關人物;點擊相關的地點可以展現該地點的全景圖,地點全景圖中不僅展現了地點的詳細信息,還以圖形形式展現了該地點的相關地點,該地點的相關人物,在該地點發生的事件等。b)相關性分析功能。例如:輸入兩個人物“李世民”和“李淵”,也可以輸入“唐太宗”和“唐太祖”,點擊相關性分析會展示這兩個人物的血緣關係、職官關係以及通過事件關聯産生的關係。點擊其中任何一項,都將以圖形的方式展現該關係的詳細信息和關係列表。c) 聚類分析功能。例如:輸入聚類關鍵詞「李世民」,聚類元素爲4,也就是説至少具有4個相同屬性才進行聚類,點擊聚類分析,得出的聚類結果,將展示聚類的分析報告,包括兩個本體的詳細信息、相關人物、相關事件等。d)事件-時間統計分析功能可以統計事件與時間之間的關係,以朝代、月、日、節日、節氣等爲橫坐標,自動生成結果圖。通過統計圖表,可以得到不同類型事件在歷史上的發展軌迹,進一步揭示數據背後隱藏的豐富知識。
圖3 事件-時間統計分析功能舉例
2、文本標引工作與本體屬性結構的系統設計
之所以說“資治通鑒知識服務系統”是一個古籍知識庫,是因爲我們做了全面的文本標引工作,並爲其設計了一套本體屬性結構。
文本標引,即用本體標引出《資治通鑒》文本中的所有標記。我們爲《資治通鑒》文本建立了時間、地名、機構、職官、人物、文獻、事件七種本體,標引了《資治通鑒》全文的大量標記,各類本體和標記的統計數量如下表:
我們的標引工作聚焦於文本中的各種命名實體,這是因爲這些專有名詞的語義單一,又是分析文本語義的關鍵實體。但現在看來,其實所有詞語的義項或者説一個義位都可以看作是一個詞語本體,表示確定的語義所指,完全的同義詞則可以作爲這一義位本體的不同標記。這樣我們其實可以把整個文本全篇不遺漏地標引下來,當然這樣做的前提是要有一個類似於《王力古漢語字典》指導思想的簡明漢語義位和對應詞語表。需要說明的是我們建立事件本體的過程比較複雜,是一個循環迭代的過程,我們先將《資治通鑒》文本進行分段,然後通過部分特征關鍵詞標引事件的分類,再通過分類結果重新提取更多的特征關鍵詞,如此反復迭代,最終完成事件本體的分類標籤工作。
設計本體的屬性是很重要的工作,需要做簡明和統一的規劃設計,關鍵就是對各類本體屬性結構進行設計。比如地名本體,我們可以設計屬性結構如下表:
我們在設計過程中發現一些共性問題,也就是任何本體都需要有別名屬性,其實也需要起始、終止時間的屬性,也就是說任何一個本體都是有“生命”的,有產生時間和消亡時間。我們以黃縣(山東)這個地名爲例,從秦漢到近代,存在了兩千多年,但是其實它不是一個本體,因爲中間即使名稱沒改變,但是隸屬、範圍、治所等等都發生過改變,只要發生過改變,嚴格意義上就不再是同一個地名本體。所以“地名(起始時間-終止時間)”這樣的標識才能真正區分不同的地名本體。上表中下欄中的內容是對屬性的說明,其中字符、數值好理解,關係屬性的意思是說這類屬性是一種本體,比如屬性的值是時間、人名、地名、機構、職官等等。這類屬性需要存儲屬性本體的id,不能只是字符,因爲如果存儲的是字符,將來計算的時候又需要消岐和認同。“可計算”對文本來說的第一個要求就是要結構化,這樣計算機就可以進行初步計算。但是結構化的數據單元內容如果還是文本字符,也就沒辦法往下深入計算。因此我們提出文本的“可計算”有四個要求,即“四化”:結構化、同一化、標準化和關係化。同一化其實就是上面討論過的“本體化”,即把不同名稱但是語義相同的標記進行本體認同。標準化是同一化的附帶,就是認同以後,我們采用哪一個名稱來表示這一本體,比如我們用“諸葛亮”還是“諸葛孔明”,用“周武王”還是“姬發”,用“魯迅”還是“周樹人”,當然這是一種選擇,不過如果我們設定人名的結構是“姓+名”這一標準格式的話,那麼“諸葛亮”“姬發”“周樹人”顯然更符合標準格式,雖然“姬發”並不是當時人對周武王的稱呼,“魯迅”也顯然比“周樹人”耳熟能詳。其實關係化也非常關鍵,是決定各種本體之間是否能夠建立語義網,是否能夠進一步計算的關鍵,據我們所見所知,目前各種知識庫中的屬性設計還都沒有實現完全關係化。上面地名屬性的設計中,我們只有“上級地名”,而沒有“下級地名”,這是因爲只要有一項,另一項就可以計算得出。也就是說我們設置了“上級地名”,那麼獲得一個地名的所有下級地名,可以從數據表中搜索所有“上級地名”屬性爲此地名id的地名即可,不用再冗餘設置“下級地名”。還有一個原因是如果雙向設置的話,其實就容易出現雙向所指的不一致,需要經常檢查這種不一致同樣要消耗很多計算工作量。因爲一種本體的屬性可能包含其他所有本體,比如人物本體,它的屬性生卒年是時間本體、籍貫是地名本體、親屬關係是人物本體,著書是文獻本體,任職是職官本體,所以要實現人物本體所有屬性的關係化,就要同時配套有其他所有本體數據,也就是說本體設計一定是統一的系統設計,只設計一種或少數本體,是沒辦法實現完全關係化的。其實這就是“中國歷代人物傳記資料庫(CBDB)”的天然缺陷,因爲它主要圍繞人物本體數據建設展開,沒有其他配套的本體數據支撐,無法實現本體屬性的完全關係化,也就必然限制它的後續利用。
本體數據可以預先根據一些資料建設,但是一般都是與標引工作共同迭代完成的。比如我們可以通過“資治通鑒辭典”“二十五史辭典”之類的工具書先建立一批本體數據。實際標引工作中,我們要將文本標記掛接到正確的本體上,這項工作我們是依靠計算機上下文自動分析再人工校對完成的。文本標引工作中就會發現本體庫中沒有的各種本體,需要新建,還會發現更多本體的新屬性值,需要補充。另外,文本標引實踐中會遇到很多困惑的問題,比如周代的列國,我們在時間本體中都爲它們各自建立了年號別稱,那麼它就類似一個中央政權的朝代,在標引“晉文公二年”這類標記中的“晉”,我們是把它當作朝代還是地名就是一個糾結的問題。另外,還有合稱和泛稱的問題,比如“三曹”“戰國七雄”,我們如何標記這類合稱本體,是否要設計一種新的合稱本體類型,因爲在統計的時候,這裡也應該算“曹操”“曹丕”“曹植”都被提到了。泛稱的問題就更難處理,比如文本中出現的職官“偏將”,是泛稱很多低級武官,就沒辦法准確對應;有時候還會出現“拾遺”這種官職的粗略記述,標準職官表中只有“左拾遺”和“右拾遺”,也無法準確對應職官本體。歷史上矛盾的記載在沒有確定考證結果的情況下也是很麻煩的問題,比如李白的籍貫,《舊唐書》說是“山東人”,《新唐書》則記載爲“隴西成紀”。只要將知識庫建設推進到文本標引的工程實踐階段,我們面臨的理論和方法的挑戰就會不斷出現。
(二) 談“中國歷代典籍總目系統”的建設
“中國歷代典籍總目系統”是北京大學數據分析研究中心與國家圖書館合作開發的,於2009年10月通過了專家鑒定,還獲得了國家圖書館的創新二等獎。這套系統雖然商用得很早,但銷售情況不佳,也不廣爲人知,這也是我們寫文章予以介紹的一個原因。[10]
“中國歷代典籍總目系統”是爲古籍目錄的利用與研究開發的一套綜合分析平臺,它涵蓋了瀏覽、檢索和分析等一系列功能。爲了實現這些功能,我們基於國際圖聯提出的“書目記錄的功能需求”(FRBR:Functional Requirements of Bibliographic Records)模型以及語義網知識庫中的“本體”(Ontology)的概念構建了中國古籍本體標準集,然後依此對古籍目錄進行結構化拆分和整理,并實現上述功能。一期共計收錄各種類型古籍目錄二十七部,書目條目的數量超過二百萬,實際上也就僅完成了一期。這些書目包括《漢書藝文志》《崇文總目》《郡齋讀書志》《中國古籍善本書目》《叢書綜錄》等史志目錄、公私目錄和彙編目錄,具有各時代和類型的代表性。
圖4 “中國歷代典籍總目系統”首頁
我們對書目進行了結構化拆分,然後對書目著錄項進行了同一化、標準化加工[11],所以我們可以提供更多維度的導航,比如除按標準分類和原書目錄導航以外,還可以按照成書時代、版本類型和版本時代進行導航,比如瀏覽其中著錄的所有活字本。系統還提供了強大的檢索功能,檢索條件包括:書名、書目範圍、分類、書目層級、版本類型、版本時代、責任信息、責任時間以及全文檢索等,所有條件都可以進行組合檢索,以實現複雜的檢索要求。
系統同時提供了強大的分析功能,包括:責任者相關性分析、書目層次聚類分析、成書年代分佈統計分析等。責任者相關性分析是統計不同責任者在同一典籍下責任行爲中共現的次數,比如:分析與顧廣圻有相關性不小於5次的責任者。書目層次聚類分析即在給定條件下,按照典籍的品種、版本、印次和複本四個層次進行的統計。需要說明的是在這個系統中,我們並沒有做這四個層次的同一化,這裡只是提供系統自動的聚類歸並結果。最後一個分析功能是成書年代分佈統計分析,即在給定條件下,按照典籍的成書年代進行的統計。例如:我們想知道歷代“經部詩類”成書分佈情況,得到結果如下:
圖5 歷代“經部詩類”典籍成書時代分佈情況
由於系統只完成了第一期,所以無論從收錄書目條目數量還是書目數據的加工深度都不能令人滿意,分析功能也相對簡單,不過這依舊不失爲大型書目知識庫建設早期一次重要的嘗試,從書目數據結構化的加工深度而言,至今沒有書目庫超越。我們在這一系統開發經驗的基礎上正在嘗試建設“中國歷代典籍目錄總庫”,目前已經完成初步設計和開發。
四、結語
我們認爲古籍數字化工作目前亟需加强古籍數字化基礎設施建設,這部分工作由古籍目錄庫、古籍圖文庫和古籍知識庫三部分組成。目前古籍圖文庫發展比較突出,經過二三十年的建設,商業數據庫領域已經有愛如生、書同文、雕龍、鼎秀等古籍數據庫能提供幾萬種古籍的圖文服務,而中國國家圖書館、日本國立公文書館、美國哈佛燕京圖書館等也建設了包含數萬種古籍圖像的數據庫,最近“識典古籍平臺”在抖音集團的大力支持下,也宣稱在幾年內提供數萬種古籍圖文庫,可以說這些已經能够滿足研究的基本需求。還出現了“全球漢籍影像開放集成系統”提供古籍圖像庫的檢索發現功能。而古籍目錄庫和古籍知識庫的建設則比較落後,與古籍目錄庫相比,以時間、地名、人物、機構、職官、文獻、名物、術語等爲主要內容的古籍知識庫建設還沒有實質性起步,這方面建設應該是近期古籍數字化工作的重點。另外,進入到古籍智能化階段,大模型技術會出現知識幻覺等缺陷,還需要配合專業領域模型應用,古籍知識庫也正是專業領域模型建設的重要路徑。這裡我們回顧了十五年前北京大學數據分析研究中心建設的古籍目錄庫和古籍知識庫兩個超前實例,回應近期古籍數字化工作的發展趨勢。
作者單位:
孫顯斌:中國科學院自然科學史研究所
攸興超:斗拱科技有限公司
[1] 趙薇《量化方法運用于古代文學研究的進展和問題——以近年數字人文脉絡中的個案探索爲中心》,《文學遺産》2022年第6期,第169頁。
[2] 鄭永曉、段海蓉《古籍數字化、數字人文與古代文學研究——訪中國社會科學院鄭永曉教授》,《吉首大學學報(社會科學版)》2020年第2期,第145頁。
[3] 鄭永曉.《錢鍾書與中國社科院古代典籍數字化工程》,《山東社會科學》2019年第6期,第32-36頁。
[4] 詳細論述參見 孫顯斌、李偉《古籍數據庫化工作淺談》,《圖書館理論與實踐》2012年第8期,第23-24頁。
[5] 史睿《論中國古籍的數字化與人文學術研究》,《北京圖書館館刊》1999第2期,第32-33頁。
[6] 程佳羽、史睿.《古籍數字資源的知識庫建設解析》,《數字圖書館論壇》2006年第12期,第1-2頁。
[7] 李鐸《從檢索到分析——計算機知識服務的時代》,《文學遺產》2009年第1期,第137頁。
[8] 孫顯斌、李偉《古籍數據庫化工作淺談》,《圖書館理論與實踐》2012年第8期,第23-25頁。
[9] 由於種種原因,“資治通鑒知識服務系統”2019年才投入商業銷售,2022年北京大學數字人文中心購買了一套,清華大學數字人文中心正準備購買一套。
[10] 據我們所知,目前購買這一系統的有“哈佛燕京圖書館”“德國國立學術圖書館”“中國國家博物館”“湖北省圖書館”,其中“湖北省圖書館”可以在網絡註冊後訪問。
[11] 關於書目本體和數據加工參見 孫顯斌、李偉《古籍數據庫化工作淺談》,《圖書館理論與實踐》2012年第8期,第24-25頁。
来源:古籍