陈晗婷,刘昕妍,王于静,林子宜,顾元烨,杨曜嘉,王维广,翟双庆
(北京中医药大学中医学院,北京 100029)
中医古籍卷帙浩繁,其中医案形式多样,内容丰富,记载了海量疾病诊疗方法与经验。但大部分古籍作为文物被各大图书馆、博物馆收藏,这对检索查阅造成困难。随着中医现代化研究的深入,传统古籍整理手段与知识获取方式已不能满足当前中医学发展和传承的需要。对古籍中的医案进行知识元标引,不仅能将医案信息完整保留,实现资源共享,也能够在数据深度挖掘方面,如特定证型诊疗规律[1]的研究、组方用药[2]等方面发挥相应作用。
20世纪70年代后期,弗拉基米尔·斯拉麦卡指出,知识的控制单位将从文献深入到其中的数据、公式、事实、结论等最小的独立的“知识元”[3]。在中医古籍标引中,柳长华先生提出“知识元是知识系统中可以表达一个完整概念的不可分解的最小知识单元。知识元是由一个或一个以上的元概念和构建这个元概念的语义成分(属性词)构成的”[4]。知识元标引即通过分析文本内容逻辑以“知识元-关系-知识元”的方式构建知识图谱,形成中医古籍结构化数据库。
知识元标引通常有两种模式:一是自上而下的标引模式,即以知识体、知识元、语义类型、语义关联的顺序,知识体量逐渐缩小进行标引(下文称为“模板标引方法”)[5];二是自下而上的标引模式,即先对数据进行预处理,提取关键词,提取关键句,最后定义知识元结构(下文称为“节点自定标引方法”)[6]。
目前根据模板标引方法在中医药领域已构建的平台有由中国中医科学院研发的“古籍文献知识加工平台”[7],国家重点研发计划立项的“中医古籍‘病脉证并治’知识元标引系统”[8]。模板标引方法有结构清晰、标引难度小等优点,但在标引医案类文本时,尚存在不足之处。因此,本研究提出基于自下而上标引模式的节点自定标引方法,并构建了标引平台“中医经典知识挖掘与传播平台”。下文将从标引医案时模板标引方法标引流程及存在的问题,节点自定标引方法的解决对策,两方法标引同一医案的对比这三方面进行详细论述。
模板标引方法依托“中医古籍‘病脉证并治’知识元标引系统”进行介绍。系统提前为标引者设立“病脉证并治”“方剂”“本草”“医案”等标引模板,并结合中医理论与辨证特点,在各模板中搭建好固定“知识体-知识元”关系框架。以下为具体操作流程。
2.1.1 确定模板 登录系统后,标引者可依据自身中医理论知识判断并选择需标引文本所适用模板。如医案类中医古籍文本可选择“医案”标引模板。
2.1.2 确定知识元 标引者根据标引内容,将需标引文本划分至不同的知识元。在知识体(即所选模板)标引界面,模板提前设立该知识体所可能包含的全部知识元。如病脉证并治模板包含知识元:病名、病因、病位、病程、鉴别诊断、脉位、主脉、兼脉、死脉、辨证、病机、治则、治法、方剂、药物、计量、炮制、加减法、煎法、制法、服法、中病反应、欲解时、针灸、其他治法、治案、预后、宜忌、误治、释义、其他,共计31个知识元。
2.1.3 确定语义 选定知识元相应内容后,标引者可对知识元进一步拆分,对文本再次碎片化,提取语义并根据系统推荐选择需创建的语义关联。平台提供释义关系、并病关系、合病关系、舌机关系、传变关系、误治关系、组成关系、从属关系、鉴别关系、脉机关系、症机关系、病脉关系、病证关系、药性功用关系、病因关系、病脉关系、方药关系、真脏脉关系、脉证关系、药效关系、药证关系、方效关系、方证关系、配伍关系、症治关系、证象关系、辨治关系、证因关系,共28种语义关系。操作界面如图1。此标引方式具有较强结构性,便于研究人员索引与学习。
图1 中医古籍“病脉证并治”知识元标引系统操作界面Fig.1 The "combined treatment based on diagnosed disease, pulse and syndromes" system operation interface
如标引文字:“一人久疟,先间日,后一日一来,早晚不定,皆肾不纳气故也。用人参、茯苓、半夏各一钱,丁香、五味子各五分,益智、甘草各三分,姜水煎服。”[9]195
根据文本,可提取知识元:病名-久疟;病程-先间日,后一日一来,早晚不定;病机-肾不纳气;方剂-一人久疟方剂;药物-人参、茯苓、半夏,剂量-一钱;药物-丁香、五味子,剂量-五分;药物-益智、甘草,剂量-三分;服法-姜水煎服。
相应知识元下提语义并建立语义关系。“久疟”提语义为“病症-疟”,“先间日,后一日一来,早晚不定”提语义为“症候表现-疟先间日”“症候表现-疟一日一来”“症候表现-疟早晚不定”,“肾不纳气”提语义为“病因病机-肾不纳气”,“一人久疟方剂”提语义为“方剂-一人久疟方剂”,“人参、茯苓、半夏”提语义为“药物-人参”“药物-茯苓”“药物-半夏”,“一钱”提语义为“剂量-一钱”,“丁香、五味子”提语义为“药物-丁香”“药物-五味子”,“五分”提语义为“剂量-五分”,“益智、甘草”提语义为“药物-益智”“药物-甘草”,“三分”提语义为“剂量-三分”,“姜水煎服”提语义为“用法-姜水煎服”。建立五种语义关联,分别为病证关系、辨治关系、药制量关系、方用关系、组成关系。形成知识图谱如图2所示。
图2 久疟案知识图谱(模板标引方法)Fig.2 Knowledge graph of malaria case (Template indexing method)
2.3.1 标引复诊医案知识元及语义关联模板数量不足 中医古籍的记叙方式较为自由。由于“中医古籍‘病脉证并治’知识元标引系统”仅支持建立其模板预设的语义关联,因此即使对于规范性较强的医案类中医古籍文本,系统也不能保证其知识元及语义关联能够完全适用。如含有复诊过程的医案,系统并未给出初诊、复诊、三诊等知识元,标引时只能将所有诊疗过程统一划分为单一知识元“症候表现”或“治则治法”“误治”等,无法反映出各部分诊疗过程所包含的逻辑关系。
且平台提前为用户设立标引模板虽然降低了标引难度,但固定的知识元与语义关联并不利于开展一些探索性、需要自定义建立不同知识元间关系的研究。如地理环境因素对某一病症的影响、特定年代与用药的关系、特定证型与方药的联系等研究。
2.3.2 语义粒度较大 语义粒度[10]反映了语义文本所包含的信息量,文本包含信息量大,语义粒度便大,反之则小。“中医古籍‘病脉证并治’知识元标引系统”中,知识元为包含同一类中医知识的语料的集合名称,语义为知识元的再分,不同语义对应包含不同信息的文本。系统以其提前给出的语义(病证、病因病机、药物、剂量等)为基本单位建立语义关联。在实际标引中,用户往往按知识元、语义将原文划分,虽然结构清晰,但在语义粒度方面则有所欠缺。如标引病机“肝木乘脾”,根据模板标引方法应建立知识元病机-肝木乘脾,并提语义病因病机-肝木乘脾。但这种标引方式并不能表现肝气疏泄太过,横逆犯脾胃的病理过程,导致“中医古籍‘病脉证并治’知识元标引系统”最终建立的知识网络具有一定局限性,可能不利于中医古籍的智能检索或规则挖掘等研究的开展。
节点自定标引方法主要从自定义建立语义及语义关系,并根据标引内容选择性建立附加节点三个方面进行。“节点自定标引方法”的使用依托“中医经典知识挖掘与传播平台”(http://202.204.35.217/dp/login.html),在标引过程中,节点自定标引方法可有效解决模板标引方法存在的问题。
节点自定标引方法中知识元是将原文碎片化后得到的,可以表达一个完整概念,且不可拆分的最小知识单元。语义是对所属知识元的解释与补充,并取代知识元作为知识网络中关系建立节点。如“杜仲温肾阳”,为解释动词中所包含的中医信息,我们可提取知识元“杜仲”“肾阳”。同时,为解释杜仲温补的功效,须对肾阳的属性进行标引,即给肾阳标注增加这一特征,并以“注释关系”标注特征和实体之间的关系。本句话的语义为“杜仲-杜仲”“肾阳-肾阳”,并在此两者之间建立语义关联“导致关系”,在“肾阳”和“增加”之间建立“注释关系”。此方法使最终形成的知识网络准确性大大增加,且能够极大程度保留原文含义。见图3。
图3 “杜仲温肾阳”知识图谱(节点自定标引方法)Fig.3 Knowledge graph of "eucommia ulmoides increases kidney Yang" (Custom node method)
“中医经典知识挖掘与传播平台”支持自定义建立语义关系,自定义主要体现在建立语义联系的过程中关系名称、建立对象、建立数量、建立方向的高度标引自由。平台支持在任意两个语义之间建立语义关系,关系名称可按用户标引需要手动输入;关系建立有“一对一”与“一对多”两种建立形式,正向、逆向、双向三种方向,且同一知识元无关系建立限制。如下文图4知识图谱中“常溪伤寒第二阶段症状”,既可与症状“渴饮”“不多饮”建立一对多单向属于关系,又可与“常溪伤寒第一阶段病机”“常溪伤寒第三阶段病机”分别建立一对一单向导致关系。在标引过程中,标引关系自由建立的实现,对各团队根据自身研究方向与研究内容建立符合自身需要的标引手册,并进行深度知识挖掘研究具有重要意义。
节点自定标引方法相对自由,虽然这有利于探索性研究或指向性研究的开展,但自由标引也可能造成标引命名不规范的问题,如同一标引内容“二陈汤药物组成”可能会出现“二陈汤的药物组成”“二陈汤组成”“二陈汤的组成”等不同标引形式。为后续查找、研究工作造成困难。
由于中医古籍目前并无叙词表,课题组建立了相关知识元标引规则[11],规定非一级标引名称药物组成、症状、主治病症、功效、制法、服法、用法、药后调理、用药后表现、应用注意事项、应用禁忌、治法、治疗用药;并从从属、因果、空间关系、方药、其他五方面规定标准关系名称40个;设立关系申报机制,由专家讨论标引关系的增减与应用语境,保证了标引的规范化,以便后期检索与科学研究数据、深度挖掘整理等工作的开展。
附加节点是对有原文对应的节点的归纳,以增强知识图谱的结构性。如标引“外感风寒,恶寒发热”,可将“恶寒”“发热”归纳为“伤寒医案症状”,“风邪”“寒邪”归纳为“伤寒医案病机”。附加节点“伤寒医案症状”“伤寒医案病机”与有原文对应的节点“恶寒”“发热”“风邪”“寒邪”共同作为一个完整医案知识图谱的组成部分。同时,附加节点展示了文本中各节点之间的逻辑关系。如麻黄汤的药物组成为麻黄、桂枝、杏仁、甘草,标引时这四味药并不直接属于节点“麻黄汤”,而是增加一个附加节点“麻黄汤药物组成”,这4味药属于这个附加节点。
以《续名医类案》中的医案为例。该医案主要阐述了张子和随病情变化治疗伤寒的用药及经验。原文是“张子和曰:予之常溪,雪中冒寒入浴,重感风寒,遂病不起。但使煎通圣散单服之,一二日不食,惟渴饮水,亦不多饮。时时使人捶其股,按其腹,凡三四日不食,日饮水一二十度。至六日,有谵语妄见,以调胃承气汤下之,汗出而愈。常谓人曰:伤寒勿妄用药,惟饮水最为妙药,但不可使之伤,常令揉散,乃大佳耳。至六七日,见有下证,方可下之,岂有变异哉。奈何医者禁人饮水,至有渴死者。病患若不渴,强与水饮亦不肯饮也。”[9]3
图4、图5分别为通过节点自定标引方法、模板标引方法标引后形成的知识网络。
图4 常溪伤寒案知识图谱(节点自定标引方法)Fig.4 Knowledge graph of Changxi typhoid case(Custom node method)
图5 常溪伤寒案知识图谱(模板标引方法)Fig.5 Knowledge graph of Changxi typhoid case (Template indexing method)
比较以上两图可以发现:
(1)在结构性方面,模板标引方法结构性较强。固定设置的关系框架使医案结构一目了然。
(2)在原文表达方面,节点自定标引方法能够更好地还原原文,体现原文中不同诊次之间的病机和用药变化。通过建立附加节点,节点自定标引方法体现了医案的不同诊疗阶段,并保留了早期诊疗过程中用药对后续症状影响的逻辑关系。
(3)在粒度方面,节点自定标引法在标引实体中,颗粒度更小。节点自定标引方法共产生节点21个,模板标引方法共产生节点12个。通过自定义建立语义关系与提取最小知识元,节点自定标引方法将“伤寒勿妄用药,惟饮水最为妙药,但不可使之伤,常令揉散,乃大佳耳。至六七日,见有下证,方可下之,岂有变异哉。奈何医者禁人饮水,至有渴死者。病患若不渴,强与水饮亦不肯饮也”这一治疗经验简化为“饮水”“揉散”“不伤之”。更小的粒度将易于后期数据挖掘与分析工作的进行。
在对中医古籍医案的标引中,模板标引方法操作简单,结构性强,但在完整保留中医古籍原文含义与标引精度方面有所不足。节点自定标引方法通过规定知识元为最小知识单元,自定义建立标引关系,建立附加节点的形式,实现了知识网络的构建。解决了模板标引方法存在的标引复诊医案知识元及语义关联模板数量不足,语义粒度较大的问题。在保留标引原文与逻辑关系构建方面更为完善,并具有一定规范性。此方法对保留中医古籍原文信息,进行中医古籍数据挖掘研究具有重要意义。但节点自定标引方法也存在标引难度高,结构较为不清晰的问题,仍待进一步完善。