謝 靖
(南京中醫(yī)藥大學(xué)經(jīng)貿(mào)管理學(xué)院信息管理系,江蘇 南京210023)
異文是指古代同一文字材料在流傳過(guò)程中出現(xiàn)的文句互異,中醫(yī)古籍文獻(xiàn)中存在大量異文,對(duì)其中因通假、古今、異體字而造成的異文進(jìn)行對(duì)比分析有助于中醫(yī)古籍文獻(xiàn)的學(xué)習(xí)與研究。我國(guó)異文研究歷史悠久,古人對(duì)經(jīng)傳的注疏中就發(fā)掘了許多異文,近現(xiàn)代也有不少學(xué)者系統(tǒng)研究中國(guó)古籍的版本異文:李索以抄成于南北朝至初唐時(shí)期的寫(xiě)卷《春秋經(jīng)傳集解》與以宋刻本為底本的傳世本相比勘的異文為研究對(duì)象,對(duì)敦煌寫(xiě)卷《春秋經(jīng)傳集解》進(jìn)行了對(duì)比研究[1];秦淑華通過(guò)詞語(yǔ)異文考察了《史記》與《戰(zhàn)國(guó)策》的異文情況,為研究先秦時(shí)期的中國(guó)史學(xué)文獻(xiàn)提供了支持[2];俞紹宏等通過(guò)敦煌寫(xiě)本《詩(shī)經(jīng)》異文中的隸定古文異文,研究其先秦古文字的隸定形式的手寫(xiě)形,展現(xiàn)中文古籍中的正字異體[3]。自20世紀(jì)90年代以來(lái),隨著計(jì)算機(jī)技術(shù)的發(fā)展,學(xué)者們提出了一系列利用信息技術(shù)進(jìn)行異文研究的方法:常娥等描述了中國(guó)古籍自動(dòng)??毕到y(tǒng)的設(shè)計(jì)及實(shí)現(xiàn),并進(jìn)行了實(shí)際勘校[4];肖磊等提出了基于句珠相似度的古籍異文版本自動(dòng)識(shí)別算法,能夠在異文句珠中不斷地去掉最長(zhǎng)同文,并輸出異文結(jié)果[5]。
本研究旨在通過(guò)句子匹配算法,對(duì)中醫(yī)古籍文獻(xiàn)的經(jīng)典《黃帝內(nèi)經(jīng)》進(jìn)行不同版本的異文自動(dòng)識(shí)別。通過(guò)自動(dòng)化的異文比對(duì),實(shí)現(xiàn)對(duì)中醫(yī)古籍文獻(xiàn)異文的快速提取,為中醫(yī)古籍文獻(xiàn)異文研究及中醫(yī)古籍文獻(xiàn)智能化信息處理研究做有益探索。
文章以《黃帝內(nèi)經(jīng)》中的《素問(wèn)》作為研究對(duì)象,展現(xiàn)句子匹配算法在中醫(yī)古籍文獻(xiàn)異文自動(dòng)發(fā)現(xiàn)工作中的實(shí)際效果。對(duì)于《黃帝內(nèi)經(jīng)》的異文研究,一直是中醫(yī)文獻(xiàn)學(xué)家的關(guān)注熱點(diǎn):郝娟、沈澍農(nóng)將《靈樞經(jīng)》《黃帝內(nèi)經(jīng)太素》異文根據(jù)形成原因和形音義聯(lián)系歸納為八種基本類(lèi)型,并進(jìn)一步分析例釋[6];李懷芝以《素問(wèn)》、《靈樞》、《太素》、《甲乙經(jīng)》為對(duì)象,進(jìn)行了文句互異對(duì)比[7]。文章在參考前人研究基礎(chǔ)上,利用句子匹配算法,對(duì)《黃帝內(nèi)經(jīng)》中《素問(wèn)》各版本異文做自動(dòng)識(shí)別。
《素問(wèn)》漢晉傳本:不存世。但《脈經(jīng)》有部分引文、別傳本《甲乙經(jīng)》中有載文。南北朝傳本:也不存世。但《黃帝內(nèi)經(jīng)太素》的底本為北朝傳本,王冰次注本祖本,全元起注本為兩個(gè)不同的南朝傳本。隋唐傳本:現(xiàn)存楊上善《黃帝內(nèi)經(jīng)太素》、王冰《黃帝內(nèi)經(jīng)素問(wèn)》,在敦煌卷子中目前發(fā)現(xiàn)兩個(gè)單篇?jiǎng)e抄本。宋金元:《重廣補(bǔ)注黃帝內(nèi)經(jīng)素問(wèn)》。宋金元的刊本情況:北宋刊本原本目前未見(jiàn)、南宋刊本有理宗紹定年間刊本,原本也未見(jiàn)。但明代顧從德本是翻刻宋本。金刊本,北京圖書(shū)館有原本殘卷。元刊本有兩種,胡氏古林書(shū)堂刊本與不明具體年代的殘卷本。明傳本:明英宗《正統(tǒng)道藏》本、明憲宗成化十年熊氏種德堂刊本、山東布政司刊本、趙府居敬堂刊本、吳悌本、顧從德家傳宋本翻刻本、歷城儒學(xué)校諭田經(jīng)校本、繡谷書(shū)林周曰校(周對(duì)峰)刊本、吳勉學(xué)《醫(yī)統(tǒng)正脈》本、潘之恒《黃?!繁?、詹林刊本。清刊本:清刊本很多,而且有不少的《素問(wèn)》、《靈樞》合刻本,合刻本著名的佳本有金陵本,京口文成堂本,分刻本有京口遵仁堂本;近現(xiàn)代,主要有郭靄春先生編著的《黃帝內(nèi)經(jīng)素問(wèn)校注語(yǔ)譯》等。
在考察各版本《素問(wèn)》的文本基礎(chǔ)上,文章發(fā)現(xiàn)各個(gè)版本大同小異,具體來(lái)說(shuō)有以下幾個(gè)方面特點(diǎn):
(1)篇章結(jié)構(gòu)大體相同,因此應(yīng)該以篇章為單位進(jìn)行處理,以免異文配對(duì)發(fā)生跨越篇章界限的錯(cuò)誤。有時(shí)某個(gè)版本可能多出一些篇章,對(duì)于多出的篇章,不加比較就好了。
(2)各版本同一篇章的句子基本對(duì)應(yīng),且句子個(gè)數(shù)相近,因此原則上可以根據(jù)標(biāo)點(diǎn)分割句子,逐句進(jìn)行比較。但是標(biāo)點(diǎn)系后人所加,各個(gè)版本的斷句或有不同。當(dāng)然,完全忽略這些標(biāo)點(diǎn)也不可取,可能導(dǎo)致篇章范圍內(nèi)的異文配對(duì)錯(cuò)誤。文章的做法是先按標(biāo)點(diǎn)分割句子并隱去所有標(biāo)點(diǎn),接著尋找兩版本之間相似度最大的句珠配對(duì),然后在句珠中發(fā)現(xiàn)異文。
(3)大多數(shù)句珠的文本是完全相同的,只需關(guān)注那些文本不完全相同的句珠。文章的基本方法是從句珠中去掉相同文字,遇到異文時(shí)再向后搜索相同文字以確定異文的右邊界并輸出異文,如此循環(huán)直至句珠遍歷完畢。
在眾多的《黃帝內(nèi)經(jīng)》的版本中確定四個(gè)比較有影響力的《素問(wèn)》版本:郭靄春版的《黃帝內(nèi)經(jīng)》(以下簡(jiǎn)稱(chēng)郭本),胡氏古林書(shū)堂《新刊黃帝內(nèi)經(jīng)靈樞》刻本(以下簡(jiǎn)稱(chēng)胡本),熊宗立種德堂以《黃帝素問(wèn)靈樞集注》元本為底本重刻的版本(以下簡(jiǎn)稱(chēng)熊本)以及《重廣補(bǔ)注黃帝內(nèi)經(jīng)素問(wèn)》(哈佛燕京圖書(shū)館藏中文善本古籍特藏,以下簡(jiǎn)稱(chēng)重廣本)。對(duì)這四個(gè)版本的素問(wèn)以整句的形式進(jìn)行電子化,文章主要針對(duì)的是非異體字形式的異文自動(dòng)識(shí)別,因而將本次實(shí)驗(yàn)的黃帝內(nèi)經(jīng)素問(wèn)版本通過(guò)統(tǒng)一字體,防止異體字出現(xiàn)。
文章從信息處理角度將異文定義為:句珠中完全不同的兩個(gè)子串。允許其中一個(gè)子串是空串,但不能都是空串。例如,“春必病溫:春必溫病”不是一個(gè)異文,因?yàn)槠渲泻邢嗤哟氨亍?,需分解為“春:溫”和“溫:春”兩個(gè)異文。
按照這個(gè)定義得到的異文絕大多數(shù)是單字對(duì)單字,也有些是空串對(duì)單字、空串對(duì)多字、單字對(duì)多字、多字對(duì)多字,等等。例如:
(1a)此所謂氣之標(biāo),蓋南面而待之也。(重廣補(bǔ)素問(wèn)68)
(1b)此所謂氣之標(biāo),蓋南面而待也。(熊本素問(wèn)68)
(2a)今時(shí)之人,年半百而動(dòng)作皆衰,時(shí)世異耶?(郭本素問(wèn)一上古天真論)
(2b)今時(shí)之人,年半百而動(dòng)作皆衰者,時(shí)世異耶?(重廣補(bǔ)素問(wèn)一上古天真論)
(3a)故病有五,五五二十五變,及反其傳化。(熊本素問(wèn)19)
(3b)故病有五,五五二十五變,反其傳化。(郭本素問(wèn)19)
(4a)岐伯曰:亢則害,承乃制,制則生化,外列盛衰,害則敗亂,生化大病。
(熊本素問(wèn)68)
(4b)岐伯曰:亢則害,承乃制,制生則化,外列盛衰,害則敗亂,生化大病。
(胡本素問(wèn)68)
從文字語(yǔ)言學(xué)角度來(lái)看,(1)中的異文都應(yīng)該是“衰:衰者”,按本節(jié)的定義,這個(gè)異文是“衰:*”(*為異文字符),因?yàn)楹?jiǎn)單的字符串匹配并不能確定應(yīng)把“衰者”看做一個(gè)詞還是把“衰”看做衍文。類(lèi)似地,(2)中的異文應(yīng)是“*:反其傳化”,這里被當(dāng)做是一處。可以考慮在本節(jié)異文發(fā)現(xiàn)算法的基礎(chǔ)之上用統(tǒng)計(jì)方法得到更具語(yǔ)言學(xué)或文獻(xiàn)學(xué)意義的異文數(shù)據(jù)。
文章中異文配對(duì)算法的基本思想是:比對(duì)并去掉兩個(gè)序列的共同前綴,使得異文出現(xiàn)在串首,然后從兩個(gè)序列的串首開(kāi)始搜索相同子串。與“異文”相對(duì),相同子串可稱(chēng)之為“同文”。同文之前的便是異文。如果句珠中有多處異文,則重復(fù)上述過(guò)程。
搜索同文時(shí)可能存在多個(gè)解。例如:
(5a)岐伯曰:陰陽(yáng)之氣,高下之理,大小之異也。(熊本素問(wèn)70)(5b)岐伯曰:陰陽(yáng)之氣,高下之理,太少之異也。(郭本素問(wèn)70)
此時(shí)同文有許多解,例如位置11:11上的“理”(不包括標(biāo)點(diǎn)符號(hào)排序),依此得到異文“大:太”;位置 14:14 上的“之”,依此得到異文“小:少”,等等。其中同文最長(zhǎng)的是最優(yōu)解,因?yàn)橥脑介L(zhǎng),則左邊的文字差異就越可靠。對(duì)于這個(gè)例子來(lái)說(shuō),位置11:11是最優(yōu)解,因?yàn)閺倪@個(gè)位置上開(kāi)始的同文“岐伯曰:陰陽(yáng)之氣,高下之理,太少之異也?!弊铋L(zhǎng),由此得到異文“大?。禾佟?。
如果存在多個(gè)最長(zhǎng)同文,則選擇位置之差最小者。為便于觀察,將例(6)重列于下:
(6a)岐伯曰:亢則害,承乃制,制則生化,外列盛衰,害則敗亂,生化大病。
(熊本素問(wèn)68)
(6b)岐伯曰:亢則害,承乃制,制生則化,外列盛衰,害則敗亂,生化大病。
(胡本素問(wèn)68)
去掉共同前綴之后變?yōu)椋?/p>
(6a’)則生化,外列盛衰,害則敗亂,生化大病。(6b’)生則化,外列盛衰,害則敗亂,生化大病。
搜索到最長(zhǎng)同文“化,外列盛衰,害則敗亂,生化大病”,左邊是“則生:生則”。如前所述,其中含有同文“化”,不符合我們的定義,需要遞歸調(diào)用異文發(fā)現(xiàn)算法來(lái)處理。對(duì)此,向后搜索最長(zhǎng)同文時(shí)有三個(gè)解,長(zhǎng)度均為 1,即 2:2(“化”)、1:3(“則”)和 3:1(“生”),其中第一個(gè)解同文位置之差為0,故確定第一處異文“衛(wèi):蔡”。去掉共同前綴之后,可得到第二處異文“則:生”。
根據(jù)上一節(jié)列出的基于句子匹配的《素問(wèn)》異文匹配算法思想,文章對(duì)四個(gè)版本的《素問(wèn)》進(jìn)行了異文自動(dòng)匹配,相關(guān)結(jié)果如下表1。
表1 異文匹配實(shí)驗(yàn)結(jié)果
從《素問(wèn)》的4504個(gè)句子中,共得到四版異文263例。以上數(shù)據(jù)進(jìn)一步表明,郭靄春版素問(wèn)與胡版素問(wèn)的差異最大,重廣補(bǔ)素問(wèn)與郭靄春版素問(wèn)的差異最小。這個(gè)結(jié)果表明,基于句子匹配的異文自動(dòng)識(shí)別可以發(fā)現(xiàn)中醫(yī)古籍文獻(xiàn)版本異文中完全不同的兩個(gè)子串,有助于中醫(yī)古籍版本的自動(dòng)化研究。
本文以中國(guó)古籍文獻(xiàn)中的異文為研究對(duì)象,以《黃帝內(nèi)經(jīng)·素問(wèn)》為實(shí)例,通過(guò)基于句子匹配的異文識(shí)別算法,探索了中醫(yī)古籍文獻(xiàn)的異文自動(dòng)識(shí)別。相關(guān)實(shí)驗(yàn)表明,對(duì)于古籍版本中的不同子串識(shí)別(非異體字異文識(shí)別)研究,基于句子匹配的思想具有較好的識(shí)別效果,能夠?qū)Ρ瘸霾煌姹镜牟町?,為版本研究提供有力信息支持?/p>
[1]李索.敦煌寫(xiě)卷《春秋經(jīng)傳集解》異文研究[M].北京:中國(guó)社會(huì)科學(xué)出版社,2007.
[2]秦淑華.《史記》與《戰(zhàn)國(guó)策》的異文研究[J].漢字文化,2002(4):42-43.
[3]俞紹宏,李索.敦煌寫(xiě)本《詩(shī)經(jīng)》異文中的隸定古文釋例[J].古籍整理研究學(xué)刊,2015(3):34-37.
[4]常娥,侯漢清,曹玲.古籍自動(dòng)校勘的研究和實(shí)現(xiàn)[J].中文信息學(xué)報(bào),2007(2):83-88.
[5]肖磊,陳小荷.古籍版本異文的自動(dòng)發(fā)現(xiàn)[J].中文信息學(xué)報(bào),2010(5):50-55.
[6]郝娟,沈澍農(nóng).《靈樞經(jīng)》《黃帝內(nèi)經(jīng)太素》傳本與史崧傳本之異文例釋[J].江西中醫(yī)藥大學(xué)學(xué)報(bào),2006(3):17-19.
[7]李懷芝.《素問(wèn)》《靈樞》《太素》《甲乙經(jīng)》異文例釋[J].山東中醫(yī)藥大學(xué)學(xué)報(bào),2008(3):226-227.