程 寧
(南京師范大學(xué) 文學(xué)院,江蘇 南京 210097)
縱觀古今,但凡涉及閱讀或研究文獻(xiàn)資料,我們不可回避的一個問題就是專名辨識的問題,如果能夠通過某種途徑對文獻(xiàn)中出現(xiàn)的各種專名信息有一個基本了解,這不僅可以加深我們對文獻(xiàn)的理解,也可以促進(jìn)文獻(xiàn)研究的進(jìn)一步深入。早在先秦時(shí)期,前人就已經(jīng)開始了專名信息的整理與研究,并取得罕見的成果,這為我們研究古代專名提供了無比珍貴的資源。隨著社會的發(fā)展,海量紛雜的電子文本開始活躍在人們視野之中,為了更好地傳承我國優(yōu)秀的傳統(tǒng)文化,對古籍?dāng)?shù)字化的整理與研究已然成為時(shí)代迫切的需要。近年來,自然語言處理研究逐步向古籍文獻(xiàn)領(lǐng)域深入,這必然給古籍文獻(xiàn)的研究帶來新的生機(jī)與活力。在科學(xué)技術(shù)高速發(fā)展的今天,古籍文獻(xiàn)資料的自然語言處理也將成為影響社會經(jīng)濟(jì)文化發(fā)展進(jìn)程的重要因素。古籍專名的信息處理是古籍信息處理不可或缺的重要組成部分,本文旨在建立一個包含六種專名(人名、地名、書名、官職、年號、朝代)的古籍專名數(shù)據(jù)庫,該庫的構(gòu)建可以服務(wù)于專名自動標(biāo)引系統(tǒng),在專名自動標(biāo)引的基礎(chǔ)上,增加詞典的匹配查詞,可以有效提升專名標(biāo)引的效果。
通過構(gòu)建大規(guī)模古籍專名數(shù)據(jù)庫,將古籍中存在的大部分專名及其釋義有機(jī)整合在一起,該數(shù)據(jù)庫可服務(wù)于古籍專名的自動識別。本數(shù)據(jù)庫通過析取和整合大量的外部詞典資源以及期刊文獻(xiàn)資源,分別構(gòu)建了人名表、地名表、書名表、官職表、年號表和朝代表這六種專名詞表,并且按照規(guī)定的字段組織形式將這六種不同的專名信息進(jìn)行匯總,得到一個涵蓋這六種專名的總的專名詞表。對于中國歷史上繁多的年號信息及公元紀(jì)年對應(yīng),也通過人工整理入庫。目前已經(jīng)提取了《中國歷史大詞典》《中國歷史人名大詞典》《中國歷史地名大詞典》《佛經(jīng)詞典》《佛教人名庫》《佛教地名庫》《歷代名僧辭典》《禪宗典籍560種提要》《閱藏知津》等多部xml格式詞典中的詞條和釋義信息??傇~條數(shù)量已超過90萬條,專名詞條按出處分布如表1所示。
表1 收錄專名詞條數(shù)最多的前15個出處
該數(shù)據(jù)庫共收錄專名詞條90萬條。由于人名、地名以及書名在歷史上是比較多產(chǎn)的,并且有很多外部電子文獻(xiàn)資源可以利用,所以它們在詞條收錄上占了該數(shù)據(jù)庫的絕大部分。由于歷史朝代和年號相對于其他專名來說,本來數(shù)目就不多,所以它們僅占了數(shù)據(jù)庫的很小一部分,但這一部分對于專名時(shí)代標(biāo)引的詞典匹配又是不可或缺的。該數(shù)據(jù)庫六種專名的比例分布如圖1所示。
圖1 六專名的比例分布圖
由于專名詞典數(shù)據(jù)表專名詞條數(shù)目眾多,而且不同專名的數(shù)據(jù)來源大有不用。為了便于后期維護(hù)和完善,采用分表構(gòu)建的方式。先分別構(gòu)建人名表、地名表、官職表、書名表等六個專名表,不同的專名表設(shè)定不同的字段來匯總專名信息,最后再將六個專名表按照統(tǒng)一規(guī)定的字段合并為一個總表。在專名表構(gòu)建的過程中采用Python作為主要編程語言,用于各種專名的析取和整合。
以人名表為例,人名表匯集了百度百科、中國歷史人名大辭典、中國歷史大辭典、佛教人名庫、佛經(jīng)詞典、歷代名僧辭典,以及其他各種期刊文獻(xiàn)中的人名信息。不同的文獻(xiàn)資源,對人名解釋方式是不同的,有的給出了詳細(xì)釋義,有的只是簡單介紹。所以人名表的字段設(shè)計(jì)需要參照外部文獻(xiàn)資源的具體釋義情況來定。
例如,《中國歷史人名大詞典》中對“丁汝昌”的解釋信息較為豐富:
丁汝昌(1836—1895)清安徽廬江人,字禹廷,一字雨亭。初隸長[江水]師,從劉銘傳鎮(zhèn)壓捻軍,官至提督。光緒十四年任海軍提督,統(tǒng)率北洋艦隊(duì)。黃海海戰(zhàn)后,奉李鴻章避戰(zhàn)保艦之命,困守威海衛(wèi)軍港。日軍攻陷威海衛(wèi)時(shí),拒降服毒而死。
該詞條可以分解出較為細(xì)致的數(shù)據(jù)表格形式。如表2所示:
表2 提取特征后的專名詞條
再如,《歷代名僧詞典》中對某一人名的解釋如下(xml格式):
</script></head><bodybgcolor="#D2B48C">【佛馱什(宋建康龍光寺)﹝梁.慧皎《高僧傳》卷三﹞】<hr><BR>佛馱什。此云覺壽。罽賓人。少受業(yè)于彌沙塞部僧。專精律品兼達(dá)禪要。以宋景平元年七月屆于揚(yáng)州。先沙門法顯。于師子國得彌沙塞律梵本……什后不知所終。 <BR><BR><hr>FROM:【歷代名僧辭典】</script>
通過對xml格式的文本進(jìn)行解析,解析結(jié)果如表3所示。
表3 XML文檔解析后的專名詞條
用于抽取人名的外部詞典數(shù)量眾多,通過對多部詞典進(jìn)行整合,詞表數(shù)據(jù)項(xiàng)不斷擴(kuò)充,從而得到一個總的人名表。其他專名表依照這種方法類推,形成六張數(shù)據(jù)項(xiàng)詳盡、詞條規(guī)??捎^的專名詞表。
在各專名數(shù)據(jù)表的基礎(chǔ)上,進(jìn)行古籍專名總表的構(gòu)建。由于各專名數(shù)據(jù)項(xiàng)的設(shè)定不盡相同,比如,人名表有生卒年的設(shè)定,地名表有地理坐標(biāo)的設(shè)定,書名表有編纂者的設(shè)定等,為了避免總表的數(shù)據(jù)項(xiàng)過于冗雜,我們提前設(shè)計(jì)了總表的基本數(shù)據(jù)項(xiàng)。如表4所示。
表4 古籍專名數(shù)據(jù)表總表的數(shù)據(jù)項(xiàng)設(shè)計(jì)
確定好總表字段以后,需要對六張專名表進(jìn)行合并歸類,六張專名表除了涵蓋了總表字段之外的其他字段內(nèi)容視情況歸并到“sense”字段中去。這樣就形成了一個簡化的總的專名數(shù)據(jù)表,第一條專名到最后一條專名用一個總的id號來標(biāo)明。專名總表的樣例如表5所示(根據(jù)專名類型各舉一例)。
表5 古籍專名總表樣例
專名詞條的數(shù)據(jù)來源廣泛,導(dǎo)致匯總的專名數(shù)據(jù)表中有不少專名詞條重合。比如,人名詞條“一行”可能會在多種外部詞典資源中出現(xiàn),這種情況不僅會造成數(shù)據(jù)庫內(nèi)容的臃腫繁雜,而且不利于古籍文本專名的自動標(biāo)引。具體樣本實(shí)例如表6所示。
表6 專名詞條“一行”的收錄情況
因此,要對上述情況進(jìn)行歸并,只保留一個專名詞條,其他字段信息合并處理,用“;”進(jìn)行界定,表示不同的義項(xiàng)信息。合并之后的專名信息不會發(fā)生錯亂,可以根據(jù)各數(shù)據(jù)項(xiàng)中的“;”還原成合并之前的形式。通過數(shù)據(jù)表進(jìn)行處理,保證數(shù)據(jù)庫中每一種專名類型下每一個專名都是獨(dú)一無二的。合并結(jié)果如表7所示。
表7 專名詞條“一行”合并后的表格形式
通過這種方法對專名詞典所有詞條進(jìn)行去重處理,這樣關(guān)于某一專名的所有解釋都集中在了專名數(shù)據(jù)庫中的一條記錄上,分號隔開的不同義項(xiàng)信息分別來自于不同的外部詞典,不會發(fā)生錯亂。這樣在古文專名標(biāo)引過程中,如果識別到“一行”這樣的詞條,將其鏈接到數(shù)據(jù)庫中,這個專名的所有數(shù)據(jù)項(xiàng)內(nèi)容就可以有條理地呈現(xiàn)出來。
該數(shù)據(jù)庫所收錄的專名來源廣泛,有相當(dāng)一部分抽取自不同的期刊文獻(xiàn),不能保證所有的詞條信息都準(zhǔn)確無誤,而且在真實(shí)語料的詞性標(biāo)注過程中有很多詞條既可以充當(dāng)專有名詞,又可以充當(dāng)非專有名詞。比如,“吉祥”一詞在古代漢語中有時(shí)候既可以充當(dāng)名詞作賓語又可以充當(dāng)形容詞作定語。示例如下:
①恢恢/a六合/n,/w成/v吉祥/a之/u宅/n。 /w(《高僧傳卷第四》)
②菩薩/nr謂/v吉祥/nr曰/v:/w“/w欲/v得/v草/n坐/v,/w地/n則/d大/a動/v。(《經(jīng)律異相卷第四·現(xiàn)跡成道》)
上述兩例所用到的語料均來自于中古時(shí)期古籍文本??梢园l(fā)現(xiàn),“吉祥”一詞在①中是形容詞詞性,在②中是名詞詞性,而且它表示一個人名?!斗鸾倘嗣麕臁穼υ撛~的解釋如下:
吉祥:雞足山直隸僧。明天啟年間,與雞山各直隸僧儒能、排寂、周輝、悟?qū)挼冗B名具訴,奉批允賞立直隸勒碑,蠲免一應(yīng)夫馬雜差。鼎革之后,內(nèi)里排將僧等,妄扳置日夫馬雜差,諸僧人再次連名上訴??滴醵荒辏?682),經(jīng)大理府批示,各僧遵照嗣后輸納錢糧,止許本山、本剎田地,其他雜差悉行豁免,以永名山香火。
可見,該詞的確能夠充當(dāng)人名。但是這種詞型較豐富的詞要不要最終收錄進(jìn)古籍專名數(shù)據(jù)庫中,需要具體情況具體分析。
還有另外一種情況需要考慮,比如某一詞條,即使在某些專名詞典中已收錄。但是在大規(guī)模古文語料中,該詞的成詞概率較低。從古籍信息處理的角度來看,這種詞形并不能很好地服務(wù)于專名的自動識別。
比如,“何求”作為一個詞時(shí)可以在古代漢語中充當(dāng)專有名詞(人名),《中國歷史人名大辭典》解釋如下:
何求:南朝齊廬江潛人,字子有。宋文帝元嘉末,歷官丹陽、吳郡丞,太子中舍人。宋明帝泰始中,妻亡,還吳,累遷不拜。齊武帝永明間,征太中大夫,又不就。隱居虎丘。初求父有風(fēng)疾,無故害死求母,坐法死,求兄弟以此無宦情。
“何求”作為一個字串時(shí)可以切分成兩個詞,即“何”和“求”。
下面是兩個關(guān)于“何求”的語料實(shí)例(詞性標(biāo)記規(guī)范參考LDC發(fā)布的《左傳》語料庫①):
①何求/nr字/v子有/n,/w廬江/n灊/n人/n也/u。 /w (《南齊書·高逸傳·何求》)
②不/d知/v我/r者/r,/w謂/v我/r何/r求/v。 /w(《詩經(jīng)》)
不難發(fā)現(xiàn),①中“何求”是一個人名,而在②中則是兩個獨(dú)立運(yùn)用的詞。
綜合以上所述,語法功能較活躍的一些詞(既可以充當(dāng)專名,又可以充當(dāng)其他詞類)以及成詞概率較低的一些專名要不要最終收錄進(jìn)專名數(shù)據(jù)庫,需要對這些詞進(jìn)行專名置信程度的統(tǒng)計(jì)計(jì)算。如果一個詞在古代漢語中成詞概率較高,而且該詞經(jīng)常作為專名出現(xiàn),那么這個詞作為專名置信程度一般;如果一個詞成詞概率較低,或者不經(jīng)常作為專名出現(xiàn),那么這個詞作為專名的置信程度較低;如果一個詞只能作為專名出現(xiàn),且結(jié)合緊密,那么這個詞作為專名的置信程度極高。
該研究以完成分詞與詞性標(biāo)注任務(wù)的先秦22本古籍語料、史記語料以及中古語料為基礎(chǔ)(語料總詞次為261萬),將專名數(shù)據(jù)庫中的所有專名與該語料中的詞或者字串進(jìn)行匹配計(jì)算,統(tǒng)計(jì)出每個專名的置信程度,用0、1、-1來表示置信程度的高低。具體統(tǒng)計(jì)方法如下:
(1)將專名詞條與標(biāo)注好詞性的先秦和中古語料進(jìn)行匹配。在原專名數(shù)據(jù)庫中新增三列數(shù)據(jù)項(xiàng):
A專名作為純字符串在語料中出現(xiàn)的次數(shù)
B專名作為一個詞且標(biāo)注為專名詞性的詞例在語料中出現(xiàn)的次數(shù)
C專名作為一個獨(dú)立運(yùn)用的詞且詞性不屬于專名的詞例在語料中出現(xiàn)的次數(shù)
(2)根據(jù)新得出的三列詞頻信息計(jì)算詞語置信程度并將統(tǒng)計(jì)結(jié)果新增至數(shù)據(jù)庫“grade”字段中:
當(dāng)A、B、C三列字段統(tǒng)計(jì)結(jié)果均為0時(shí),grade屬性為0。 當(dāng)三列字段統(tǒng)計(jì)結(jié)果有不為0的情況,則繼續(xù)進(jìn)行如下計(jì)算:
若專名詞長等于1且B/A=1,則grade屬性為1,否則為-1;若詞長大于1:如果B/A=1,且C/B<1,則grade屬性為1;如果B/A<0.1或C/B>1,則grade屬性為-1;如果0.1<B/A<1且C/B<1,則grade屬性為0。部分統(tǒng)計(jì)結(jié)果如表8所示。
表8 專名置信程度的部分統(tǒng)計(jì)
ID word 字符串頻次專名詞性頻次非專名詞性頻次專名詞性頻次/字符串頻次非專名詞性頻次/專名詞性頻次置信程度31619 仲淵2 2 0 1 0 1 31973 宋武13 4 0 0.308 0 0 487516 鄢郢3 3 0 1 0 1 487517 鄞3 2 0 0.667 0 -1 487521 鼓806 273 260 0.339 0.952 -1 487653 蒲212 56 0 0.264 0 -1 487694 蒲坂20 19 0 0.950 0 0 487715 蒲姑3 1 0 0.333 0 0 487734 蒲圃6 6 0 1 0 1
通過進(jìn)一步分析,發(fā)現(xiàn)古代漢語中某些單字詞只作為專名使用。這種只能作為專名的單字詞在數(shù)據(jù)庫中有72條,其中人名8條,地名32條,書名32條。部分統(tǒng)計(jì)結(jié)果如表9所示,其中ns表示地名,nr表示人名,nx表示其他專名。
表9 頻次最高的前15個只能用作專名的單字詞
古籍專名數(shù)據(jù)庫中所收錄的專名歷史跨度大,詞條數(shù)目眾多。有的專名大家耳熟能詳,有的專名并不常見。一個專名有可能被多部古籍辭典以及多種期刊文獻(xiàn)所記載,根據(jù)專名的各個出處,對所收錄的專名進(jìn)行量化統(tǒng)計(jì),可以清楚地看到有哪些專名在歷史上打下的烙印比較深。本文對古籍專名數(shù)據(jù)庫中專名出處較廣的人名、地名、書名進(jìn)行了統(tǒng)計(jì)分析,得到了每個專名出處的頻次信息,并進(jìn)行降序排列。如表10所示。
表10 出處最多的前15個專名詞條(人名、地名、書名)
不難發(fā)現(xiàn),排名靠前的人名多為佛教僧人,經(jīng)過分析發(fā)現(xiàn),該數(shù)據(jù)庫收錄的佛經(jīng)文獻(xiàn)資源來源廣泛,包括《佛教人名庫》《佛經(jīng)詞典》《歷代名僧詞典》《閱藏知津》等,并且一些有名的僧人不僅在佛經(jīng)詞典資源中有所收錄,在普通的歷史詞典中也有收錄,比如“法藏”在《中國歷史大辭典》就有所記載。大家耳熟能詳?shù)囊恍┤嗣热纭巴醢彩薄岸鸥Α薄爸祆洹钡扰琶埠芸壳?,他們都有四個不同的出處。在地名兩列中不難發(fā)現(xiàn),排名靠前的多是山名、水名,而國名、城邑名排名相對靠后。在書名兩列中,可以發(fā)現(xiàn)排名前15的書名大家都很熟悉,四書五經(jīng)基本都涵蓋在內(nèi)。
通過對數(shù)據(jù)庫中各專名本身的構(gòu)詞材料進(jìn)行統(tǒng)計(jì),比如,統(tǒng)計(jì)出某類專名中哪些字用的比較頻繁,可以窺探出古代專名的一些命名規(guī)律。統(tǒng)計(jì)結(jié)果如表11所示。
表11 古籍專名中前20個高頻字統(tǒng)計(jì)
人名 頻次 地名 頻次 書名 頻次年號 頻次宗5641安2364論9887寶17孫5547口2255公9362始16林5473江2123三9299嘉16鄭5376溪2089中8802正16大5356塘1998圖8714延15 15朱5206西1990篇8614泰
從上表人名兩列信息可發(fā)現(xiàn),古籍中有很多以“氏”結(jié)尾的專有名詞,除了人名中基本的姓氏以外,“繼”“文”“子”“宗”“德”等字占了很高的比例。從地名兩列可以窺探到古代地名的基本分類,即國名、城邑名、山名、水名、部族名以及部分建筑名,而且不少地名包含表示方位的詞素,如上表中的“南”、“西”。從年號兩列信息中可以發(fā)現(xiàn),“天”排在了首位,這也映照了我國歷史上封建王朝的體制特點(diǎn)與封建思想??傆[全表,可以發(fā)現(xiàn)一個有趣的現(xiàn)象,各專名都包含一個相同的高頻詞素,即“大”。說明此字在古代較為活躍,構(gòu)詞能力極強(qiáng)?!稘h語大詞典》關(guān)于“大”的釋義義項(xiàng)極多,可以作為姓,又可以作為一種尊稱,還可以表示程度深的含義等,而且古通“太”和“泰”。所以古代各專名采用“大”作為它們的構(gòu)詞材料也就不足為奇了。
本文總結(jié)了古籍專名數(shù)據(jù)庫的構(gòu)建方法以及構(gòu)建過程,介紹了該數(shù)據(jù)庫中的專名構(gòu)成,簡單統(tǒng)計(jì)分析了該數(shù)據(jù)庫中各專名的置信程度,以及古籍專名的諸多特點(diǎn)。該庫的構(gòu)建可以服務(wù)于古籍文本的專名自動識別,也可以服務(wù)于古代漢語理論方面的研究。
當(dāng)然,該數(shù)據(jù)庫仍然存在一些缺點(diǎn)和不足,例如專名的同名異指問題還沒有在數(shù)據(jù)庫中得到有效的區(qū)分:某一專名出處眾多,不同出處給出不同的解釋,有的出處對該專名的解釋內(nèi)容大體一致,有的出處對該專名的解釋完全不一致??梢哉J(rèn)定這是兩個形式相同而內(nèi)容不同的專名,這種詞條需要在數(shù)據(jù)庫中加以標(biāo)明。古籍專名數(shù)據(jù)庫的構(gòu)建不是一蹴而就的,需要對數(shù)據(jù)庫進(jìn)行不斷地優(yōu)化和完善,這也是今后我們工作要努力的方向。
注釋:
①LDC左傳語料庫https://catalog.ldc.upenn.edu/LDC2017T14