鄭豐杰,周璐,李宇航
北京中醫(yī)藥大學(xué),北京 100029
張仲景所撰《傷寒雜病論》成書(shū)不久即散亂不 存,魏晉太醫(yī)令王叔和將其“傷寒”部分,編次為《張仲景方十五卷》,得以流傳。北宋王洙在宮藏舊書(shū)中得仲景《金匱玉函要略方》三卷,宋臣孫奇、林億等將“雜病”內(nèi)容,又“采散在諸家之方”,編勒成《金匱方論》,后世習(xí)稱(chēng)《金匱要略》,但原版已佚。元代鄧珍復(fù)刻仿宋本《新編金匱方論》傳承王洙蠹簡(jiǎn)本,據(jù)目前所知,世間僅存一部,是趙開(kāi)美本、醫(yī)統(tǒng)本、明仿宋本、俞橋本的祖本,也是現(xiàn)存大字本系統(tǒng)中最善本[1]。
據(jù)宋臣孫奇、林億等統(tǒng)計(jì),《金匱要略》全書(shū)“凡二十五篇,除重復(fù),合二百六十二方”。關(guān)于262方之統(tǒng)計(jì),后世習(xí)以正方、附方和雜療三篇方分別計(jì)數(shù),但正方有226首、183首、177首、176首之說(shuō),附方有26首、28首、29首之謂[2-6],但雜療方計(jì)數(shù)不詳,全書(shū)條文計(jì)數(shù)也未見(jiàn)報(bào)道。本文以元代鄧珍本《金匱要略》為藍(lán)本,建立原文和方劑數(shù)據(jù)庫(kù),采用可提取電子文本特定內(nèi)容的正則表達(dá)式與描述數(shù)據(jù)間映射關(guān)系的數(shù)據(jù)字典技術(shù),結(jié)合人工校對(duì),對(duì)《金匱要略》全篇條文與載方進(jìn)行統(tǒng)計(jì),以期為系統(tǒng)研究與學(xué)習(xí)《金匱要略》提供參考。
以影印元代鄧珍本《新編金匱方論》為數(shù)據(jù)源[7],將原文與載方數(shù)據(jù)錄入數(shù)據(jù)庫(kù)。數(shù)據(jù)表中字段設(shè)置如下:段落ID字段(用于標(biāo)識(shí)原文段落號(hào)),來(lái)源篇目字段(記錄源于《金匱要略》篇目),段落字段(記述原文段落)。在此基礎(chǔ)上,遵循《金匱要略方論》中“逐方次于證候之下”的原文排版,設(shè)置方名字段與方劑組成字段,列于段落字段之后。根據(jù)上述字段劃分,各字段錄入規(guī)則與示例如下:①論述證候與治療用方的原文錄入:即一段原文論述證候與治療用方,再起一段原文記述具體的方藥組成。對(duì)于此類(lèi)原文,將論述證候與治療用方的原文錄入段落字段,具體的方藥組成內(nèi)容錄入方名字段與方劑組成字段,如表1中段落ID為71與72的內(nèi)容;②未載方名的原文錄入:原文錄入段落字段,方名字段與方劑組成字段以“無(wú)”字填充,如表1段落ID為70的內(nèi)容;③有方無(wú)論的原文錄入:若原文單列方名,則納入條文段落當(dāng)中,以作為有方無(wú)論的條文,如表1中段落ID為73的內(nèi)容;④若記載方名與組成的原文存在多方并舉,如《禽獸魚(yú)蟲(chóng)禁忌并治第二十四》中載:“香豉二兩,杏仁三兩。右二味,蒸一食頃,熟杵之服,日再服;又方,煮蘆根汁,飲之良?!狈矫蚪M成均以“/”進(jìn)行分割,如表1中段落ID為275與331的內(nèi)容;⑤若原文中某方劑未載藥物組成,且非附方,可按原文方后所附說(shuō)明找到方劑出處,繼而確定方藥組成。如“產(chǎn)后風(fēng),續(xù)之?dāng)?shù)十日不解,頭微痛,惡寒,時(shí)時(shí)有熱,心下悶,干嘔汗出,雖久,陽(yáng)旦證續(xù)在耳,可與陽(yáng)旦湯即桂枝湯,方見(jiàn)下利中?!备鶕?jù)“即桂枝湯,方見(jiàn)下利中”提示,按桂枝湯藥物組成錄入。
表1 《金匱要略》原文數(shù)據(jù)表結(jié)構(gòu)與示例
根據(jù)上述錄入方案,從《臟腑經(jīng)絡(luò)先后病脈證第一》至《果實(shí)菜谷禁忌并治第二十五》,共采集364個(gè)段落,作為條文與載方統(tǒng)計(jì)的數(shù)據(jù)基礎(chǔ)。
2.1條文劃分規(guī)則的確立本文《金匱要略》原文條文劃分,據(jù)元代鄧珍復(fù)刻影印本[7],這是現(xiàn)存最早的孤本、珍善本,最大程度上保留了宋版原貌。
該影印本為豎排版式,每段原文結(jié)尾后,新的一段原文另起一豎行,這種書(shū)寫(xiě)形式構(gòu)成了原文固有的自然段,各自然段內(nèi)的醫(yī)理論述完整。此外,在部分原文段落內(nèi)存在一種特殊的符號(hào)“○”??v觀全書(shū),根據(jù)該符號(hào)所在位置的規(guī)律,可總結(jié)出以下四種功能:第一,標(biāo)示篇名:“○”出現(xiàn)在各篇篇名之前,如“○痙濕暍病脈證并治第二”;第二,原文分段:“○”在原文之間,將大段的原文進(jìn)一步分成若干醫(yī)理論述完整的小段,如《痙濕暍病脈證并治第二》篇中“太陽(yáng)病,發(fā)熱無(wú)汗,反惡寒者,名曰剛痓。一作痙,余同?!鹛?yáng)病,發(fā)熱汗出而不惡寒,名曰柔痓?!鹛?yáng)病,發(fā)熱,脈沉而細(xì)者,名曰痓,為難治?!钡谌瑯?biāo)示問(wèn)答句式:見(jiàn)于“問(wèn)曰”“師曰”句式中,如“問(wèn)曰,上工治未病,何也?○師曰,夫治未病者,見(jiàn)肝之病,知肝傳脾,當(dāng)先實(shí)脾……”。第四,標(biāo)示加減法:如《瘧病脈證并治第四》篇“蜀漆散方”后所附“○溫瘧加蜀漆半分,臨發(fā)服一錢(qián)匕”。
本文即根據(jù)原文固有自然段與“○”的分段功能,結(jié)合分段后的原文應(yīng)具有完整醫(yī)理論述的規(guī)律,來(lái)確立條文的劃分規(guī)則,即:①獨(dú)立成條:原文段落中無(wú)“○”,則將原文固有的自然段落作為一則條文。②以“○”分條:原文段落中以“○”作為對(duì)條文劃分的標(biāo)識(shí)符,對(duì)段落中的條文進(jìn)行劃分。
經(jīng)過(guò)正則表達(dá)式的條文劃分統(tǒng)計(jì),依據(jù)獨(dú)立成條進(jìn)行條文劃分,100%的條文具有完整的醫(yī)理論述。根據(jù)以“○”分條進(jìn)行條文劃分,所分條文的99.4%(317條)具有完整的醫(yī)理論述??梢?jiàn),完整的醫(yī)理論述是鄧珍復(fù)刻影印本[7]固有條文劃分規(guī)律。
據(jù)統(tǒng)計(jì),僅2處,占0.6%,疑似“○”誤標(biāo),具體如下:①《痰飲咳嗽病脈證并治》中的“病溢飲者,當(dāng)發(fā)其汗,大青龍湯主之?!鹦∏帻垳嘀髦??!雹凇肚莴F魚(yú)蟲(chóng)禁忌并治第二十四》中的“鱉目凹陷者,及壓下有王字形者,不可食之?!鹌淙獠坏煤想u鴨子食之?!?/p>
可以看出,若將此兩處誤標(biāo)“○”刪除,則能體現(xiàn)出完整的醫(yī)理論述特征,從而更加完整地體現(xiàn)出此影印本條文劃分的固有規(guī)則。
故本文將“病溢飲者,當(dāng)發(fā)其汗,大青龍湯主之。小青龍湯亦主之?!弊鳛橐粭l而不是兩條;將“鱉目凹陷者,及壓下有王字形者,不可食之。其肉不得合雞鴨子食之。”作為一條而不是兩條。
2.2利用正則表達(dá)進(jìn)行條文計(jì)數(shù)正則表達(dá)是對(duì)字符操作的一種邏輯公式,用事先定義好的字符及字符組合,組成規(guī)則字符串,對(duì)符合規(guī)則的電子文本進(jìn)行提取,該方法被廣泛用于提取電子文本中的特定內(nèi)容[8]。根據(jù)條文劃分標(biāo)志“○”,從段落中取出條文的正則表達(dá)式可寫(xiě)為“\○(.+?)\○/g”,該表達(dá)式中的兩個(gè)“\○”表示將條文的提取限定在兩個(gè)“○”之間;“(.+?)”表示提取出兩“○”之間的全部文字,即提取出條文;“/g”意為global(全局)有效,即只要段落中的文字在兩“○”之間,則作為條文取出。該正表達(dá)式可用java或python等計(jì)算機(jī)編程語(yǔ)言編寫(xiě)。使用編寫(xiě)的正則表達(dá)式進(jìn)行條文提取前,先將上述①②中不作為條文劃分標(biāo)志的“○”去除,以避免錯(cuò)誤的條文提取。
正則表達(dá)式作用于段落提取時(shí),計(jì)算機(jī)會(huì)在所有段落的開(kāi)頭與末尾加入“○”,以保證正則表達(dá)式能將獨(dú)立成條的段落提取為一則條文。如《肺痿肺癰咳嗽上氣病脈證治第七》中的段落:“脈沉者,澤漆湯主之?!奔尤搿啊稹弊?yōu)椤啊鹈}沉者,澤漆湯主之?!稹保瑥亩拐齽t表達(dá)式的規(guī)則也適用于獨(dú)立成條的段落。又如《五臟風(fēng)寒積聚病脈證并治第十一》中段落:“肺中風(fēng)者,口燥而喘,身運(yùn)而重,冒而腫脹。○肺中寒,吐濁涕?!鸱嗡啦兀≈?,按之弱如蔥葉,下無(wú)根者,死?!钡拈_(kāi)頭與末尾加入“○”后,正則表達(dá)式可提取“肺中風(fēng)者,口燥而喘,身運(yùn)而重,冒而腫脹?!薄胺沃泻?,吐濁涕?!薄胺嗡啦兀≈?,按之弱如蔥葉,下無(wú)根者,死?!惫?條原文。
經(jīng)統(tǒng)計(jì),鄧珍本《金匱要略》各篇條文計(jì)數(shù)如表2所示,其中前22篇共計(jì)431條,后3篇共計(jì)209條,全書(shū)共載條文640條。
表2 《金匱要略》各篇條文計(jì)數(shù)一覽表
3.1“方名-藥物數(shù)據(jù)字典”的建立數(shù)據(jù)字典是一種用于對(duì)數(shù)據(jù)進(jìn)行描述的計(jì)算機(jī)技術(shù),可用于存放具有映射關(guān)系的數(shù)據(jù)[9]。利用數(shù)據(jù)字典,可將各篇的方名與方劑組成字段下的數(shù)據(jù)形成“鍵”與“值”的映射,其中方名作為數(shù)據(jù)字典的“鍵”,即方名索引,藥物作為數(shù)據(jù)字典的值,即索引對(duì)應(yīng)的具體藥物組成,形成“方名-藥物數(shù)據(jù)字典”。若方名下實(shí)載多方,則按方名_1,方名_2,方名_3……給予編號(hào)。字典示例如表3所示。
表3 方名-藥物數(shù)據(jù)字典示例
3.2《金匱要略》全書(shū)載方計(jì)數(shù)應(yīng)用數(shù)據(jù)字典進(jìn)行統(tǒng)計(jì)鄧珍本所載方劑計(jì)數(shù),是在建立數(shù)據(jù)字典后,由計(jì)算機(jī)對(duì)各篇方名進(jìn)行遍歷,并利用數(shù)據(jù)字典獲取方名對(duì)應(yīng)的藥物,獲取藥物組成后,再與篇內(nèi)中其他方名對(duì)應(yīng)的藥物進(jìn)行兩兩對(duì)比。在綜合考慮方劑名稱(chēng)、藥物組成與劑量、主治病證等基礎(chǔ)上,確立兩兩比對(duì)標(biāo)準(zhǔn)如下:①方名相同(去除《外臺(tái)》、《千金》等標(biāo)明方劑來(lái)源的前綴)、藥物組成相同,算作一方。如水氣病篇之防己黃芪湯與《外臺(tái)》防己黃芪湯,二者均由防己、甘草、白術(shù)、黃芪組成,且《外臺(tái)》防己黃芪湯原文中寫(xiě)有“方見(jiàn)風(fēng)濕中”。②方名不同(去除《外臺(tái)》、《千金》等標(biāo)明方劑來(lái)源的前綴),藥物組成與劑量相同,視作一方,藥物組成相同但劑量不同視作兩方,如小承氣湯與厚樸三物湯。
基于以上標(biāo)準(zhǔn),應(yīng)用數(shù)據(jù)字典對(duì)鄧珍本《金匱要略》各篇載方數(shù)統(tǒng)計(jì)表明,全書(shū)二十五篇共載方297首,去除重復(fù)共計(jì)262方,其中前22篇去除重復(fù)為205方,其中正方182首(包括有方名而無(wú)藥物組成方劑6首,即杏子湯、黃連粉、藜蘆甘草湯、附子湯、膠姜湯、葶藶丸),見(jiàn)表4,附方23首,見(jiàn)表5,后3篇載方除重復(fù)共57首,見(jiàn)表6。
表4 《金匱要略》正方182首一覽表
表5 《金匱要略》前22篇23首附方一覽表
表6 《金匱要略》后3篇57首雜療方一覽表
續(xù)表4 《金匱要略》正方182首一覽表
對(duì)于鄧珍本《金匱要略》的條文,使用正則表達(dá)的方法進(jìn)行劃分,可確保條文切分的客觀性與準(zhǔn)確性,依據(jù)劃分條文的醫(yī)理論述是否完備,確定條文是否需要合并,可保證條文能夠傳遞完整的醫(yī)理論述。經(jīng)過(guò)條文計(jì)數(shù)的核定,鄧珍本《金匱要略》全書(shū)條文為640條。對(duì)于《金匱要略》所載方劑,習(xí)慣上被分為正方、附方和雜療方[10]。正方和附方均見(jiàn)于前22篇,附方是林億等“采散在諸家之方,附于諸篇之末”之方,雖多冠以《千金》《外臺(tái)》等晉唐方書(shū),多數(shù)學(xué)者均認(rèn)為宋臣校訂《金匱要略》持之有據(jù),方錄之以附,故亦屬仲景方的體系范疇[6,11-12]。在鄧珍本中正方、附方方名多用黑底陰文(有學(xué)者稱(chēng)之為“黑帽”[13])突出顯示。雜療方專(zhuān)指《雜療方第二十三》《禽獸魚(yú)蟲(chóng)禁忌并治第二十四》《果實(shí)菜谷禁忌并治第二十五》3篇所載方劑。分析學(xué)者統(tǒng)計(jì)《金匱要略》載方數(shù)不同的原因,可能主要與劃分標(biāo)準(zhǔn)、重復(fù)計(jì)算、依據(jù)版本等有關(guān)。我們以鄧珍本為數(shù)據(jù)源,采用數(shù)據(jù)字典技術(shù),發(fā)揮計(jì)算機(jī)統(tǒng)計(jì)標(biāo)準(zhǔn)一致、客觀性高等特點(diǎn),核定出《金匱要略》各篇載方、正方、附方、雜療方數(shù),除去重復(fù),全書(shū)上中下三卷25篇共載方262首,與林億等所云[7]:“斷自雜病以下,終于飲食禁忌,凡二十五篇,除重復(fù),合二百六十二方”之說(shuō)相合。《金匱要略》條文與載方統(tǒng)計(jì),既為《金匱要略》的系統(tǒng)學(xué)習(xí)與研究提供了參考,也為中醫(yī)古籍文獻(xiàn)整理提供了方法學(xué)借鑒。