论文部分内容阅读
摘 要:[目的/意义]随着大数据和人工智能时代的来临,基于数据驱动的医疗辅助决策以及医疗健康知识挖掘受到人们的极大关注。医疗知识图谱是医疗信息分析和知识服务的基础,在醫疗人工智能和医疗信息检索中发挥着重要作用。[方法/过程]本文以医疗领域的实际应用需求为出发点,从医疗大数据获取、医疗实体及关系标注、医疗实体识别、医疗实体链接、医疗实体关系挖掘、中文医疗知识图谱表示和存储等关键技术入手,提出了多数据源融合的医疗知识图谱构建的理论框架。[结果/结论]面向医疗领域的知识图谱构建是一项非常重要的基础任务,同时也是人工智能领域的重要发展方向。
关键词:医疗知识图谱;多源数据融合;实体识别;实体链接;实体关系
DOI:10.3969/j.issn.1008-0821.2019.06.009
〔中图分类号〕G250.2 〔文献标识码〕A 〔文章编号〕1008-0821(2019)06-0081-10
Abstract:[Purpose/Significance]With the approaching of the big data and artificial intelligence age,people have been paying great attention to the medical-assisted decision making and mining for the medical health knowledge based on the data driving.As the basis of medical information analysis and medical knowledge services,medical health knowledge graphs play a significant role in the medical artificial intelligence and medical information retrieval.[Method/Process]Therefore,based on the actual application demand in medical field and proceeded with such key technologies as acquisition of medical big data,annotation of medical entities and their relations,identification of medical entities,linkage of medical entities,mining for relations of medical entities,as well as expression and storage of Chinese medical health knowledge graphs,this paper put forward a theoretical framework regarding construction of the medical health knowledge graph integrated with multi-data sources.[Result/Conclusion]The construction of knowledge maps for the medical field was a very important basic task,and it is also an important development direction in the field of artificial intelligence.
Key words:medical knowledge graph;multi-data source fusion;entity recognition;entity linking;entity relationship
随着医疗信息化的迅猛发展,医疗机构以及各类互联网平台产生了大量的医疗数据,这些数据蕴含着丰富的医疗知识,经过处理和分析的医疗大数据不仅可以为医生的临床诊断提供辅助决策[1];还可以通过各种应用平台为公众提供高质量的医疗信息服务,提升公众的医疗信息素养。因此,如何深入挖掘并利用各类医疗大数据成为当前人们关注的热点。
近些年,受到自然语言理解和人工智能的推动,基于大数据的语义知识库自动构建受到了学界和业界的极大关注。2012年,Google提出了知识图谱的概念,此后国内外出现了面向各种应用的知识图谱。常见的如DBpedia[2]、Freebase[3]、Knowledge Vault[4]、NELL[5]、YAGO[6]等,这些知识图谱的数据主要来自维基百科。国内中文知识图谱主要有百度的“知心”、搜狗的“知立方”、SSCO[7]和Zhishi.me[8]等,这些通用知识图谱以各类非结构化或半结构化数据为来源,体量大,覆盖面广。但在面向专业领域的信息分析等需求时,通用知识图谱在实体粒度以及领域语义知识表征不够细化,尤其是对于专业要求非常高的医疗领域。因此,在医疗领域的信息分析和人工智能应用中,面向领域的知识图谱更有针对性。Ernst P等[9]基于科学文献、健康记录以及问答社区等多种网络数据源构建了健康和生命科学的英文知识图谱。此外,国外已经建成了医疗领域资源库一体化医学语言系统(UMLS)[10]、医学系统命名法—临床术语(SNOMED CT)知识库[11]等资源。在国内,由复旦大学等构建了面向细分领域的中文知识图谱OpenKG.cn。虽然国内出现了一些探索和尝试,但更多的还是处于探索阶段。陈德华[12]等提出了一种基于增量学习的临床领域时序知识图谱链接预测模型。Weng H等[13]基于临床病历,提出了自动构建中医知识图谱的研究框架。He B[14]等建立了一个包含句法和语义的中文电子病历语义知识库。阮彤等[15]、贾李蓉等[16]基于中医病症分类代码和中医药学语言系统,构建了中医药知识图谱。通过文献梳理可以发现,通用领域知识图谱已经比较成熟,但领域知识图谱更多的还处于探索中。和国外相比,国内医疗领域知识图谱才刚刚开始起步,亟需学界和业界齐心协力构建面向各类医疗需求的领域知识图谱,进而提升国内的医疗信息服务和人工智能水平。 医疗健康是人们关注的重点,与此相关的信息检索和知识服务是当前人们最为迫切的需求之一。据公开数据显示,百度每天搜索量约60亿次,其中25%与疾病健康有关。相比国外較为完善的医疗语义资源,中文医疗资源建设起步比较晚,开放的医疗资源更是很有限。在当前背景下,构建中文医疗知识图谱是一项非常迫切的研究课题,其意义主要体现在以下几个方面:1)有助于提高临床治疗水平,为医生提供辅助决策。在临床中,医生的诊断水平受到医学知识水平和临床经验的影响,因此一套辅助决策和导向作用的决策支持系统是非常有必要的,而决策支持系统离不了医疗知识图谱的支撑。2)提升公众的医疗健康信息素养和健康信息意识。和发达国家相比,国内公众的医疗健康知识水平偏低,医疗健康信息意识比较薄弱,这些问题一定程度上影响着医患关系,影响着医疗领域的整体服务水平。3)医疗知识图谱是医疗健康信息化发展的重要资源,医疗知识图谱构建是人工智能在医疗领域的发展趋势,同时也是医疗健康信息化的必然要求。虽然国外出现了一些英文的医疗知识图谱探索和研究,但中文的特点决定了其它语言的医疗知识图谱不能直接照搬,其理论和实践还亟待研究和探索。4)各类医疗数据包含了不同的医疗知识,只有融合多种医疗数据,才能充分发挥各类医疗大数据的价值。本文以多源医疗大数据为数据源,从数据获取、实体识别、实体链接及数据融合、实体关系挖掘、知识图谱表示和存储方面,系统地提出一套面向多源大数据的医疗知识图谱构建的概念模型,为国内医疗健康知识图谱的相关理论和实践提供借鉴和参考,进而推动国内医疗健康信息化的快速发展。
1 知识图谱概念
通常认为,知识图谱就是现实世界中根据实体间关系相互连接起来所形成的一种网络结构[17],其本身就是结构化的语义知识库[18],属于语义网络的范畴[12]。目前,知识图谱已经成为一种新的关系表现形式,用于呈现各类实体以及实体间的关联关系。根据知识图谱的覆盖范围不同,可分为通用知识图谱和领域知识图谱。目前国内外通用知识图谱的相关研究比较多见,领域知识图谱的研究刚开始起步。相比于领域知识图谱,通用知识图谱覆盖面更加广泛,能够满足多方面需求,但因其范围过于宽泛,造成其专业领域知识深度表征不够,无法描述更细化的领域实体知识。与其它领域不同的是,医疗领域实体数量巨大,新词频出、复合词组合多样以及实体间关系复杂,通用知识图谱难以承载这一领域的专业知识。同时,医疗知识图谱是医疗信息处理、信息检索以及问答系统的重要组成部分,也是当前需求最为迫切的基础资源之一,因此医疗知识图谱的构建是一项非常重要的研究方向。本文的知识图谱是指实体以及实体间关系的语义网络结构。而另外一个研究方向主要是用图形的方式直观地呈现学科或领域知识的各种联系[19]。虽然名称上完全一样,但属于两个不同的研究领域。本文所述的知识图谱则是以自然语言处理和文本挖掘为基础,通过数据获取、文本挖掘、语义分析以及人工智能的方法来挖掘并采用网络结构来表示的医疗实体以及实体间的关联关系,是一种可以不断更新的医疗领域语义资源知识网络。
2 医疗知识图谱数据源
2.1 医疗文本数据的分类
常见医疗大数据既有较为规范的电子病历,也有医疗健康社区中的用户生成内容(UGC),以及医疗词典资源和相关政策文件。根据数据的表现形式,可以将医疗健康数据分为结构化数据、半结构化数据以及非结构化数据3类。1)结构化医疗数据:主要包括医疗疾病词典、中医药词典等,如国际疾病分类手册ICD11;2)半结构化医疗数据:主要包括电子病历和医学文献等;3)非结构化医疗数据:主要包括各类百科中的医疗词条、以及好问康、家庭医生在线和求医网等医疗论坛上的文本数据。
2.2 医疗文本数据的获取
医疗数据直接影响着医疗知识图谱的质量。已有的医疗语义知识库数据来源单一,对专家知识依赖性强,没有充分利用当前的各类医疗大数据,尤其是以医院真实电子病历为数据源的医疗知识图谱还不多见[12]。吴运兵等[20]提出通过融合多方数据资源构建知识图谱的方法,以提升知识图谱的实际应用价值。针对临床辅助决策和医疗问答系统应用场景的实际需求,医疗健康知识图谱构建需重点考虑以下数据资源。
1)医疗词典:这类资源主要包括已有的医疗词典资源,如国际疾病分类手册ICD11等,这类资源具有较高的专业性,是医疗知识图谱的重要数据源之一;
2)电子病历:电子病历是临床医生对病程的记录,主要包括出院小结和各类病程记录,如入院记录、检查记录和治疗记录等等,是医疗知识图谱的非常重要的数据源;
3)医学文献:医学文献是科学研究成果的呈现,也是高质量的医疗数据源之一。医学文献摘要是论文内容的高度凝练,也是医疗知识图谱中医学文献数据源的关键内容;
4)互联网上的用户生成内容:随着信息技术的发展,互联网上积累大量关于医疗健康的用户生成内容。这类数据的量十分巨大,数据质量也在日趋提高,是医疗知识图谱的重要补充数据。
3 中文医疗知识图谱模型构建研究
3.1 多数据源融合的医疗知识图谱构建思路
融合多源数据的医疗知识图谱首先通过各个渠道获取医疗文本大数据,然后对各类数据采用XML统一格式、进行数据清洗、分词和词性标注,接着采用机器学习方法进行医疗实体识别及实体关系标注;然后以疾病为中心,挖掘其它实体与疾病之间的关系,并利用RDF和Neo4j进行存储和呈现;针对不断增长的各类医疗大数据和实际应用需要,可以利用Spark技术生成动态医疗知识图谱,最后在医疗知识图谱基础上,为临床辅助诊断决策和医疗健康问答系统提供医疗知识来源。具体思路如图1。
3.2 医疗文本数据处理
医疗大数据来源渠道多样,数据格式、编码方案和存储格式不尽相同,为了后续多源数据融合以及医疗知识图谱构建的需要,该部分工作主要包括以下几个方面。1)统一数据格式:包括统一数据存储格式、编码方案,针对后续RDF标准和多数据源融合需求,将多数据源的医疗数据转换为包含数据来源、时间和类型等属性的XML文件。2)数据清洗和筛选:互联网医疗文本数据中存在大量广告信息,电子病历中也存在较大比例的重复段落以 及质量较低的信息。通常的做法是去除那些可信度较低,信息欠完整的数据(如成分残缺的句子),来确保数据的质量[21]。3)分词和词性标注:医疗文本分词是知识图谱构建中非常重要的环节,直接影响着实体识别的效果。目前常用的有ICTCLAS、Stanford Parser、Ansj、Jieba及mmseg4j[22]。此外,哈尔滨工业大学的语言技术平台(LTP)也提供分词和词性标注功能。针对医疗领域分词问题,基于ICTCLAS,李国垒等[23]提出了中文病历的分词策略;也有学者[24]对不同的分词方法进行测评,探索更适合于医疗领域的分词策略,如张立邦等[25]提出了基于无监督学习的中文电子病历分词方法。
虽然有不少成熟的分词工具供选择,但医疗领域词汇专业性非常强,新词频现,加上各类复合词的组合规律十分复杂,造成目前医疗领域分词结果很不理想。因此,医疗领域不仅需要适合的分词算法,还需要高质量的医学词典。在医疗词典资源上,国外有比较知名的ICD11、UMLS等资源,但中文领域的医学词典资源还比较匮乏。
3.3 医疗实体识别
医疗实体识别是知识图谱构建的关键技术环节。根据所采用的方法,可将医疗实体识别分为基于医学词典的方法、基于规则的方法和基于机器学习的方法。基于医学词典的方法是利用实体词典抽取相关实体,Sasaki Y等[26]等通过加入实体词性来构建实体词典以提高蛋白质实体的识别效果,该方法的实体识别准确率比较高,但对医疗词典的要求非常高,基于规则的方法则是根据实体的表现特征制定相应规则,叶枫等[27]通过加入语言符号、词性、构词特征、词边界和上下文的特征,来提高医疗实体的识别效果。在CCKS2017任务中,Hu J等[28]针对不同类型实体构建了众多规则来提高实验效果。虽然规则在一定程度上能提升实体识别效果,但由于医疗文本来源多样,基于先验知识的规则也会变得非常复杂,并且可迁移性较差。
机器学习是目前医疗实体识别中最为流行的方法,常见的机器学习方法有最大熵模型(ME)、支持向量机(SVM)、隐马尔可夫模型(HMM)、条件随机场(CRF)以及循环神经网络(RNN)。在通常的命名实体识别任务中,CRF和SVM在使用同样特征时有着非常相近的表现[29]。在英文领域,Jiang M等[30]发现CRF对医疗实体识别的效果要好于SVM。Lei J等[31]通过采用同样的特征对CRF、SVM、SSVM和ME 4种方法进行了对比,结果发现SSVM方法在中文医疗实体识别中要略好于其它方法。Chen Yanxu等[32]在CCKS2017任务中,发现单纯CRF的F值要高于LSTM-CRF。Liu Z等[33]利用2010、2012和2014 i2b2 NLP的比赛数据进行了多组对照实验,发现LSTM要好于CRF方法。在中医实体识别研究中,王世昆等[34]发现CRF对中医实体的识别效果要好于ME和SVM。Wang Y等[35]比较了CRF、HMM、MEMM 3种模型在中医症状实体识别上的效果,发现CRF模型更适合于中医实体的识别。此外,也有研究者采用改进的机器学习方法,如燕杨[36]等提出了基于层叠条件随机场的中文医疗实体识别方法;针对电子病历语料标注的难题,在不增加标注量的前提下,王润奇等[37]基于Tri-Training的半监督学习方法进行中文医疗实体识别;Hu J[28]等在CCKS2017任务中采用多种方法进行了对照实验,发现加入特征的BI-LSTM方法要好于CRF方法。
从以上研究可以发现,在医疗实体识别模型中,CRF有着较好的表现。随着深度学习和人工智能的推进,基于循环神经网络以及长短时记忆网络(LSTM)的改进算法[38]和CRF相结合,利用海量的医疗数据特征作为词向量在医疗实体识别上取得了比较显著的结果。另外,从已有研究来看,由于医疗领域分词带来的问题过多,基于字的实体识别效果要高于基于词的识别效果。
3.4 医疗实体及实体关系标注
3.4.1 医疗实体标注
医疗实体标注是实体识别和实体关系挖掘的基础,在已有研究基础上,结合实体识别算法的格式要求,可采用BX、IX、EX、SX以及O作為实体标识符,其中B(实体开头)、I(实体中间)、E(实体结尾)、S(独立词位实体)、O(非实体),X表示实体所属类别,包括D(疾病)、S(症状)、C(检查)、T(治疗)以及O(组织器官)。例如,风湿性关节炎是一种常见的急性或慢性结缔组织炎症,分词后可标注为:
风湿性/BD关节炎/ED是/O一种/O常见的/O急性/O或/O 慢性/O结缔组织/SO炎症/SS。
3.4.2 医疗实体关系标注
3.5 医疗实体链接与知识融合
医疗实体链接是将多数据源中的实体通过链接关联起来,以更好地表述不同数据源实体间的语义关联关系,进而实现多源数据融合以用于医疗人工智能中的语义理解和语义分析。在各类医疗文本数据源中,疾病、症状、检查和药物等各类实体的表述是多样化的,医疗实体缩写、简写以及中英文混合等不规范表述以及实体的上下文指代不明给实体链接带来了极大困难。根据所采用的相关关系计算方法,实体链接方法主要分为两大类,一类是基于实体本身的方法,该方法主要是利用实体字符本身的特征进行计算,如字符串编辑距离、Jaro距离、Jaro-Winkler距离和Smith-Waterman算法;另一类是基于实体背景信息的计算方法,通常有余弦相似度、Jaccard系数、主题模型、词向量、SimRank和图结构的方法。周鹏程等[40]提出了一种基于多知识库的实体链接方法,进而实现对多个知识库的实体链接。王雪鹏等[41]给出了一种基于网络语义标签的多源知识库实体对齐算法。通过获取实体各种属性值之间的相似度特征,李阳等[42]提出了基于语义的实体相似度计算方法。Wang Y[43]等采用基于字面的相似度、基于特征的相似度方法以及混合相似度的方法对中医实体名称进行了归一化研究。由于医疗实体的复杂性,通常辅助标准化的医疗术语库(如ICD11)进行多源医疗实体链接。通过多源医疗实体链接融合不同数据源的同一实体,解决单一数据源知识图谱覆盖面过低的问题,从根本上促进医疗数据融合。 3.6 医疗实体关系抽取
实体关系抽取是医疗知识图谱构建的关键环节,本文中实体关系主要是疾病实体与其它几类实体的关系,具体如表1所示。从已有研究来看,目前医疗实体关系挖掘可分为基于模式匹配、基于语义词典、基于特征和基于机器学习的方法。模式匹配是以实体识别结果为基础,以句子为单位,根据标志词来制定相应模式,进而通过模式匹配比对,确定相应实体间的关系。如“服用吲哚美辛后,关节肿痛缓解”,能够匹配治疗类实体 症状类实体 “缓解”这一模式,进而将“吲哚美辛”与“关节肿痛”关系标注为TBS。基于词典的方法是在语义词典资源基础上,根据实体间的关联确定实体关系。基于特征的方法是根据实体类型、词性、词与词之间的位置、实体前后的词与词性等特征,通过不断迭代与聚合,将具有相同特征的实体组(通常为两个非同类实体)视为同一类型,然后进行实体关系挖掘。当前医疗实体关系挖掘比较常用的是机器学习法,这类方法的思路是将关系挖掘转换为分类问题。Demner-Fushman D等[44]采用多种方法对I2B2 2010电子病历中的实体进行了挖掘研究,发现词典资源在实体关系挖掘中有着重要作用。Frunza O等[45]采用多种机器学习方法探究疾病和治疗之间的3种关系,发现贝叶斯分类法和其它特征组合取得了较好的效果。Wang X等[46]根据上下文共现关系对疾病和症状间的关联关系进行了挖掘。Luo Y[47]采用循环神经网络对I2B2 2010电子病历中的实体关系进行了抽取,发现加入医疗词向量有助于实体关系的挖掘。Hwang S等[48]基于PubMed文献数据,采用TF-IDF和共现关系识别了疾病和症状关系。吴嘉伟等[49]从特征选择角度,采用深度学习算法对英文电子病历中的实体关系进行了抽取研究。Zhao C等[50]基于实体共现关系构建了疾病和症状关系的二分网络。李梦箐等[51]通过二分图和复杂网络的结构来挖掘疾病与中药之间的关系。通过构建K-partite网络,Kamdar M R等[52]采用隐条件随机场来挖掘药物及药物反应实体间的隐藏关系。可以发现,医疗实体关系挖掘目前是医疗信息处理和分析研究中的热点,基于机器学习的方法是医疗实体关系抽取中的常用方法。目前在多源医疗文本大数据中,通常将实体关系抽取研究视为分类问题,然后挖掘实体各种特征来提升实体关系的抽取效果。
3.7 中文医疗知识图谱表示及存储
知识图谱表示和存储是将医疗实体以及实体关系按照一定规范存储,为后续的医疗知识分析和知识服务做好准备。目前较为广泛的数据描述模型有RDF以及最近兴起的图数据库两种存储方案。夏宇航等[53]通过数据库与RDF三元组相结合对电子病历进行拆分存储,以提高实体的检索效率。阮彤等[54]将中医药关系转为RDF格式数据来存储中医药领域知识图谱。Beyan O D等[55]提出一种基于RDF的结构来描述电子病历中的时序关系。Kamdar M R等[52]通过RDF框架存储药物、蛋白质等实体间的隐藏关系并基于SPARQL进行查询。遵从RDF规范,Wang M等[56]通过构建病人、药物和治疗的RDF图,进而链接已有的知识图谱资源,并提供基于SPARQL的在线查询。在医疗知识图谱存储时,可以基于RDF语法,构建以疾病为中心,其它四类为属性的疾病——属性——关系三元组,以此存储实体识别及实体间关系。每一个实体都有一个URL(Uniform Resource Locator,统一资源定位符)与之对应,通过URL就能跳转到相应的实体,实现实体数据间的链接。如下所示。
在上例医疗知识图谱中,描述的是以风湿疾病为中心,以及相关的症状等其它实体间的关系。医疗知识图谱本身是一种图结构,而图形数据库通过键和链接存储实体及实体关系,因此在网络结构存储时比较占优势,近些年基于图数据库的语义关系存储受到研究者的重视。但由于图数据库技术发展时间较短,在标准和规范方面还不够完善[57]。目前常用的图形数据库有Neo4j、Titan和FlockDB等。Neo4j是由Java和Scala语言写成NoSql数据库,也是目前使用较多的图形数据库。通过Neo4j可以直观呈现实体间的各种关系(如图2所示),可為临床辅助诊断以及公众的医疗健康信息服务提供更易于理解和交互的知识呈现方式。Neo4j代码格式和可视化呈现如下。
3.8 医疗知识图谱的动态构建
随着信息技术的发展,医疗领域的各类大数据在飞速增长,面向各类医疗应用需求的医疗知识图谱需要即时进行动态更新。针对多源的医疗文本大数据,可通过加州大学伯克利分校AMP实验室开源的Spark[58-59]技术平台行大数据的快速处理,根据已有的症状、检查、治疗、组织器官4类实体所占的关系权重,快速确定疾病与其它实体间的距离。同时,该技术有着比MapReduce更为快捷迅速的处理效率,基于内存的操作更是大大加快了大数据的处理速度,此外,通过Spark的流技术还可以实现医疗知识图谱的持续更新,面对当前呈现指数增长医疗数据以及人们迫切的应用需求,实时更新知识图谱的重要性不言而喻。通过引入Spark技术,可以大大提升医疗知识图谱的实际应用价值,加快推进医疗大数据应用的快速发展。
4 结 语
医疗知识图谱是医疗信息分析和知识服务的基础,同时也是医疗领域人工智能的重要知识源。本文针对临床和公众两大用户需求,提出了融合多种数据源的医疗知识图谱构建的概念模型,该模型主要包括各类医疗数据的获取、医疗文本数据的处理、医疗实体及实体关系标注、医疗实体识别、医疗实体链接、实体关系挖掘以及知识图谱的存储和表示等关键技术环节。本文一方面提出了融合多种医疗文本数据源的理念,所构建的医疗知识图谱更为全面、更具实际应用价值;另一方面,提出了基于Spark技术的医疗知识图谱动态更新思路,即所构建的医疗知识图谱是随着数据增长而动态更新的,具有较强的现实意义和应用价值。尽管如此,在医疗知识图谱的具体实施和推广时,仍然面临着许多问题,如电子病历属于患者的个人隐私,任何机构和个人在没有经过授权情况不能擅自使用,所以从国家层面亟待出台相关的法律法规,同时也需要学界和业界的协力推进,进一步推动医疗知识图谱的理论和实践。 参考文献
[1]李徐曼,沈江,余海燕.数据驱动的医疗与健康决策支持研究综述[J].工业工程与管理,2017,22(1):1-13.
[2]Lehmann J.DBpedia:A large-scale,Multilingual Knowledge Base Extracted from Wikipedia[J].Semantic Web,2015,6(2):167-195.
[3]Bollacker K,Evans C,Paritosh P,et al.Freebase:A Collaboratively Created Graph Database for Structuring Human Knowledge[C].Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data.ACM,2008:1247-1250.
[4]Dong X,Gabrilovich E,Heitz G,et al.Knowledge Vault:A Web-scale Approach to Probabilistic Knowledge Fusion[C]//ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.ACM,2014:601-610.
[5]Mitchell T,Cohen W,Hruschka E,et al.Never-ending Learning[J].Communications of the ACM,2018,61(5):103-115.
[6]Biega J,Kuzey E,Suchanek F M.Inside YAGO2s:A Transparent Information Extraction Architecture[C].Proceedings of the 22nd International Conference on World Wide Web.ACM,2013:325-328.
[7]Hu F H,Shao Z Q,Ruan T.Self-Supervised Chinese Ontology Learning from Online Encyclopedias[J].The Scientific World Journal,2014:Article ID 848631.
[8]Niu X,Sun X,Wang H,et al.Zhishi.me-weaving Chinese Linking Open Data[C].International Semantic Web Conference.Springer,Berlin,Heidelberg,2011:205-220.
[9]Ernst P,Siu A,Weikum G.KnowLife:A Versatile Approach for Constructing a Large Knowledge Graph for Biomedical Sciences.[J].Bmc Bioinformatics,2015,16(1):1-13.
[10]Bodenreider O.The Unified Medical Language System(UMLS):Integrating Biomedical Terminology[J].Nucleic Acids Research,2004,32(suppl_1):D267-D270.
[11]Uzuner ,Solti I,Cadag E.Extracting Medication Information from Clinical Text[J].Journal of the American Medical Informatics Association,2010,17(5):514-518.
[12]陈德华,殷苏娜,乐嘉锦,等.一种面向临床领域时序知识图谱的链接预测模型[J].计算机研究与发展,2017,54(12):2920-2930.
[13]Weng H,Liu Z,Yan S,et al.A Framework for Automated Knowledge Graph Construction Towards Traditional Chinese Medicine[C].International Conference on Health Information Science.Springer,Cham,2017:170-181.
[14]He B,Dong B,Guan Y,et al.Building a Comprehensive Syntactic and Semantic Corpus of Chinese Clinical Texts[J].Journal of Biomedical Informatics,2017,69:203-217.
[15]阮彤,孫程琳,王昊奋,等.中医药知识图谱构建与应用[J].医学信息学杂志,2016,37(4):8-13
[16]贾李蓉,刘静,于彤,等.中医药知识图谱构建[J].医学信息学杂志,2015,36(8):51-53.
[17]Singhal A.Introducing the Knowledge Graph:Things,Not Strings[EB/OL].http://googleblog.blogspot.ie/2012/05/introducing-knowledgegraph-things-not.html,2018-07-12. [18]刘峤,李杨,段宏,等.知识图谱构建技术综述[J].计算机研究与发展,2016,53(3):582-600.
[19]冯新翎,何胜,熊太纯,等.“科学知识图谱”与“Google知识图谱”比较分析——基于知识管理理论视角[J].情报杂志,2017,36(1):149-153.
[20]吴运兵,阴爱英,林开标,等.基于多数据源的知识图谱构建方法研究[J].福州大学学报:自然科学版,2017,45(3):329-335.
[21]张坤丽,马鸿超,赵悦淑,等.基于自然语言处理的中文产科电子病历研究[J].郑州大学学报:理学版,2017,49(4):40-45.
[22]黄翼彪.开源中文分词器的比较研究[D].郑州:郑州大学,2013.
[23]李国垒,陈先来,夏冬,等.中文病历文本分词方法研究[J].中国生物医学工程学报,2016,35(4):477-481.
[24]于清,陈永杰,丁岩.适用于医疗卫生领域的中文分词方法研究[J].新疆师范大学学报:自然科学版,2017,36(1):62-66.
[25]张立邦,关毅,杨锦峰.基于无监督学习的中文电子病历分词[J].智能计算机与应用,2014,(2):68-71.
[26]Sasaki Y,Tsuruoka Y,McNaught J,et al.How to Make the Most of NE Dictionaries in Statistical NER[J].BMC Bioinformatics,2008,9(11):S5.
[27]叶枫,陈莺莺,周根贵,等.电子病历中命名实体的智能识别[J].中国生物医学工程学报,2011,30(2):256-262.
[28]Hu J,Shi X,Liu Z,et al.HITSZ_CNER:A Hybrid System for Entity Recognition from Chinese Clinical Text[C].China Conference on Knowledge Graph and Semantic Computing 2017,SiChuan:Chendu,August,2017:26- 29.
[29]Keerthi S S,Sundararajan S.CRF Versus SVM-struct for Sequence Labeling[R].Yahoo Research Technical Report,2007.
[30]Jiang M,Chen Y,Liu M,et al.A Study of Machine-learning-based Approaches to Extract Clinical Entities and Their Assertions from Discharge Summaries[J].Journal of the American Medical Informatics Association,2011,18(5):601-606.
[31]Lei J,Tang B,Lu X,et al.A Comprehensive Study of Named Entity Recognition in Chinese Clinical Text[J].Journal of the American Medical Informatics Association,2013,21(5):808-814.
[32]Chen Yanxu,Zhang Gang,Fang Haizhou,et al.Clinical Named Entity Recognition Method Based on CRF[C].China Conference on Knowledge Graph and Semantic Computing 2017,SiChuan:Chendu,August,2017:26- 29.
[33]Liu Z,Yang M,Wang X,et al.Entity Recognition from Clinical Texts Via Recurrent Neural Network[J].BMC Medical Informatics and Decision Making,2017,17(2):67.
[34]王世昆,李绍滋,陈彤生.基于条件随机场的中医命名实体识别[J].厦门大学学报:自然版,2009,26(3):359-364.
[35]Wang Y,Yu Z,Li C,et al.Supervised Methods for Symptom Name Recognition in Free-text Clinical Records of Traditional Chinese Medicine:An Empirical Study[J].Journal of Biomedical Informatics,2013,47(2):91-104.
[36]燕楊,文敦伟,王云吉,等.基于层叠条件随机场的中文病历命名实体识别[J].吉林大学学报(工),2014,44(6):1843-1848.
[37]王润奇,关毅.基于Tri-Training算法的中文电子病历实体识别研究[J].智能计算机与应用,2017,7(6):132-134.
[38]Sundermeyer M,Schlüter R,Ney H.LSTM Neural Networks for Language Modeling[C]//Thirteenth Annual Conference of the International Speech Communication Association,2012.
关键词:医疗知识图谱;多源数据融合;实体识别;实体链接;实体关系
DOI:10.3969/j.issn.1008-0821.2019.06.009
〔中图分类号〕G250.2 〔文献标识码〕A 〔文章编号〕1008-0821(2019)06-0081-10
Abstract:[Purpose/Significance]With the approaching of the big data and artificial intelligence age,people have been paying great attention to the medical-assisted decision making and mining for the medical health knowledge based on the data driving.As the basis of medical information analysis and medical knowledge services,medical health knowledge graphs play a significant role in the medical artificial intelligence and medical information retrieval.[Method/Process]Therefore,based on the actual application demand in medical field and proceeded with such key technologies as acquisition of medical big data,annotation of medical entities and their relations,identification of medical entities,linkage of medical entities,mining for relations of medical entities,as well as expression and storage of Chinese medical health knowledge graphs,this paper put forward a theoretical framework regarding construction of the medical health knowledge graph integrated with multi-data sources.[Result/Conclusion]The construction of knowledge maps for the medical field was a very important basic task,and it is also an important development direction in the field of artificial intelligence.
Key words:medical knowledge graph;multi-data source fusion;entity recognition;entity linking;entity relationship
随着医疗信息化的迅猛发展,医疗机构以及各类互联网平台产生了大量的医疗数据,这些数据蕴含着丰富的医疗知识,经过处理和分析的医疗大数据不仅可以为医生的临床诊断提供辅助决策[1];还可以通过各种应用平台为公众提供高质量的医疗信息服务,提升公众的医疗信息素养。因此,如何深入挖掘并利用各类医疗大数据成为当前人们关注的热点。
近些年,受到自然语言理解和人工智能的推动,基于大数据的语义知识库自动构建受到了学界和业界的极大关注。2012年,Google提出了知识图谱的概念,此后国内外出现了面向各种应用的知识图谱。常见的如DBpedia[2]、Freebase[3]、Knowledge Vault[4]、NELL[5]、YAGO[6]等,这些知识图谱的数据主要来自维基百科。国内中文知识图谱主要有百度的“知心”、搜狗的“知立方”、SSCO[7]和Zhishi.me[8]等,这些通用知识图谱以各类非结构化或半结构化数据为来源,体量大,覆盖面广。但在面向专业领域的信息分析等需求时,通用知识图谱在实体粒度以及领域语义知识表征不够细化,尤其是对于专业要求非常高的医疗领域。因此,在医疗领域的信息分析和人工智能应用中,面向领域的知识图谱更有针对性。Ernst P等[9]基于科学文献、健康记录以及问答社区等多种网络数据源构建了健康和生命科学的英文知识图谱。此外,国外已经建成了医疗领域资源库一体化医学语言系统(UMLS)[10]、医学系统命名法—临床术语(SNOMED CT)知识库[11]等资源。在国内,由复旦大学等构建了面向细分领域的中文知识图谱OpenKG.cn。虽然国内出现了一些探索和尝试,但更多的还是处于探索阶段。陈德华[12]等提出了一种基于增量学习的临床领域时序知识图谱链接预测模型。Weng H等[13]基于临床病历,提出了自动构建中医知识图谱的研究框架。He B[14]等建立了一个包含句法和语义的中文电子病历语义知识库。阮彤等[15]、贾李蓉等[16]基于中医病症分类代码和中医药学语言系统,构建了中医药知识图谱。通过文献梳理可以发现,通用领域知识图谱已经比较成熟,但领域知识图谱更多的还处于探索中。和国外相比,国内医疗领域知识图谱才刚刚开始起步,亟需学界和业界齐心协力构建面向各类医疗需求的领域知识图谱,进而提升国内的医疗信息服务和人工智能水平。 医疗健康是人们关注的重点,与此相关的信息检索和知识服务是当前人们最为迫切的需求之一。据公开数据显示,百度每天搜索量约60亿次,其中25%与疾病健康有关。相比国外較为完善的医疗语义资源,中文医疗资源建设起步比较晚,开放的医疗资源更是很有限。在当前背景下,构建中文医疗知识图谱是一项非常迫切的研究课题,其意义主要体现在以下几个方面:1)有助于提高临床治疗水平,为医生提供辅助决策。在临床中,医生的诊断水平受到医学知识水平和临床经验的影响,因此一套辅助决策和导向作用的决策支持系统是非常有必要的,而决策支持系统离不了医疗知识图谱的支撑。2)提升公众的医疗健康信息素养和健康信息意识。和发达国家相比,国内公众的医疗健康知识水平偏低,医疗健康信息意识比较薄弱,这些问题一定程度上影响着医患关系,影响着医疗领域的整体服务水平。3)医疗知识图谱是医疗健康信息化发展的重要资源,医疗知识图谱构建是人工智能在医疗领域的发展趋势,同时也是医疗健康信息化的必然要求。虽然国外出现了一些英文的医疗知识图谱探索和研究,但中文的特点决定了其它语言的医疗知识图谱不能直接照搬,其理论和实践还亟待研究和探索。4)各类医疗数据包含了不同的医疗知识,只有融合多种医疗数据,才能充分发挥各类医疗大数据的价值。本文以多源医疗大数据为数据源,从数据获取、实体识别、实体链接及数据融合、实体关系挖掘、知识图谱表示和存储方面,系统地提出一套面向多源大数据的医疗知识图谱构建的概念模型,为国内医疗健康知识图谱的相关理论和实践提供借鉴和参考,进而推动国内医疗健康信息化的快速发展。
1 知识图谱概念
通常认为,知识图谱就是现实世界中根据实体间关系相互连接起来所形成的一种网络结构[17],其本身就是结构化的语义知识库[18],属于语义网络的范畴[12]。目前,知识图谱已经成为一种新的关系表现形式,用于呈现各类实体以及实体间的关联关系。根据知识图谱的覆盖范围不同,可分为通用知识图谱和领域知识图谱。目前国内外通用知识图谱的相关研究比较多见,领域知识图谱的研究刚开始起步。相比于领域知识图谱,通用知识图谱覆盖面更加广泛,能够满足多方面需求,但因其范围过于宽泛,造成其专业领域知识深度表征不够,无法描述更细化的领域实体知识。与其它领域不同的是,医疗领域实体数量巨大,新词频出、复合词组合多样以及实体间关系复杂,通用知识图谱难以承载这一领域的专业知识。同时,医疗知识图谱是医疗信息处理、信息检索以及问答系统的重要组成部分,也是当前需求最为迫切的基础资源之一,因此医疗知识图谱的构建是一项非常重要的研究方向。本文的知识图谱是指实体以及实体间关系的语义网络结构。而另外一个研究方向主要是用图形的方式直观地呈现学科或领域知识的各种联系[19]。虽然名称上完全一样,但属于两个不同的研究领域。本文所述的知识图谱则是以自然语言处理和文本挖掘为基础,通过数据获取、文本挖掘、语义分析以及人工智能的方法来挖掘并采用网络结构来表示的医疗实体以及实体间的关联关系,是一种可以不断更新的医疗领域语义资源知识网络。
2 医疗知识图谱数据源
2.1 医疗文本数据的分类
常见医疗大数据既有较为规范的电子病历,也有医疗健康社区中的用户生成内容(UGC),以及医疗词典资源和相关政策文件。根据数据的表现形式,可以将医疗健康数据分为结构化数据、半结构化数据以及非结构化数据3类。1)结构化医疗数据:主要包括医疗疾病词典、中医药词典等,如国际疾病分类手册ICD11;2)半结构化医疗数据:主要包括电子病历和医学文献等;3)非结构化医疗数据:主要包括各类百科中的医疗词条、以及好问康、家庭医生在线和求医网等医疗论坛上的文本数据。
2.2 医疗文本数据的获取
医疗数据直接影响着医疗知识图谱的质量。已有的医疗语义知识库数据来源单一,对专家知识依赖性强,没有充分利用当前的各类医疗大数据,尤其是以医院真实电子病历为数据源的医疗知识图谱还不多见[12]。吴运兵等[20]提出通过融合多方数据资源构建知识图谱的方法,以提升知识图谱的实际应用价值。针对临床辅助决策和医疗问答系统应用场景的实际需求,医疗健康知识图谱构建需重点考虑以下数据资源。
1)医疗词典:这类资源主要包括已有的医疗词典资源,如国际疾病分类手册ICD11等,这类资源具有较高的专业性,是医疗知识图谱的重要数据源之一;
2)电子病历:电子病历是临床医生对病程的记录,主要包括出院小结和各类病程记录,如入院记录、检查记录和治疗记录等等,是医疗知识图谱的非常重要的数据源;
3)医学文献:医学文献是科学研究成果的呈现,也是高质量的医疗数据源之一。医学文献摘要是论文内容的高度凝练,也是医疗知识图谱中医学文献数据源的关键内容;
4)互联网上的用户生成内容:随着信息技术的发展,互联网上积累大量关于医疗健康的用户生成内容。这类数据的量十分巨大,数据质量也在日趋提高,是医疗知识图谱的重要补充数据。
3 中文医疗知识图谱模型构建研究
3.1 多数据源融合的医疗知识图谱构建思路
融合多源数据的医疗知识图谱首先通过各个渠道获取医疗文本大数据,然后对各类数据采用XML统一格式、进行数据清洗、分词和词性标注,接着采用机器学习方法进行医疗实体识别及实体关系标注;然后以疾病为中心,挖掘其它实体与疾病之间的关系,并利用RDF和Neo4j进行存储和呈现;针对不断增长的各类医疗大数据和实际应用需要,可以利用Spark技术生成动态医疗知识图谱,最后在医疗知识图谱基础上,为临床辅助诊断决策和医疗健康问答系统提供医疗知识来源。具体思路如图1。
3.2 医疗文本数据处理
医疗大数据来源渠道多样,数据格式、编码方案和存储格式不尽相同,为了后续多源数据融合以及医疗知识图谱构建的需要,该部分工作主要包括以下几个方面。1)统一数据格式:包括统一数据存储格式、编码方案,针对后续RDF标准和多数据源融合需求,将多数据源的医疗数据转换为包含数据来源、时间和类型等属性的XML文件。2)数据清洗和筛选:互联网医疗文本数据中存在大量广告信息,电子病历中也存在较大比例的重复段落以 及质量较低的信息。通常的做法是去除那些可信度较低,信息欠完整的数据(如成分残缺的句子),来确保数据的质量[21]。3)分词和词性标注:医疗文本分词是知识图谱构建中非常重要的环节,直接影响着实体识别的效果。目前常用的有ICTCLAS、Stanford Parser、Ansj、Jieba及mmseg4j[22]。此外,哈尔滨工业大学的语言技术平台(LTP)也提供分词和词性标注功能。针对医疗领域分词问题,基于ICTCLAS,李国垒等[23]提出了中文病历的分词策略;也有学者[24]对不同的分词方法进行测评,探索更适合于医疗领域的分词策略,如张立邦等[25]提出了基于无监督学习的中文电子病历分词方法。
虽然有不少成熟的分词工具供选择,但医疗领域词汇专业性非常强,新词频现,加上各类复合词的组合规律十分复杂,造成目前医疗领域分词结果很不理想。因此,医疗领域不仅需要适合的分词算法,还需要高质量的医学词典。在医疗词典资源上,国外有比较知名的ICD11、UMLS等资源,但中文领域的医学词典资源还比较匮乏。
3.3 医疗实体识别
医疗实体识别是知识图谱构建的关键技术环节。根据所采用的方法,可将医疗实体识别分为基于医学词典的方法、基于规则的方法和基于机器学习的方法。基于医学词典的方法是利用实体词典抽取相关实体,Sasaki Y等[26]等通过加入实体词性来构建实体词典以提高蛋白质实体的识别效果,该方法的实体识别准确率比较高,但对医疗词典的要求非常高,基于规则的方法则是根据实体的表现特征制定相应规则,叶枫等[27]通过加入语言符号、词性、构词特征、词边界和上下文的特征,来提高医疗实体的识别效果。在CCKS2017任务中,Hu J等[28]针对不同类型实体构建了众多规则来提高实验效果。虽然规则在一定程度上能提升实体识别效果,但由于医疗文本来源多样,基于先验知识的规则也会变得非常复杂,并且可迁移性较差。
机器学习是目前医疗实体识别中最为流行的方法,常见的机器学习方法有最大熵模型(ME)、支持向量机(SVM)、隐马尔可夫模型(HMM)、条件随机场(CRF)以及循环神经网络(RNN)。在通常的命名实体识别任务中,CRF和SVM在使用同样特征时有着非常相近的表现[29]。在英文领域,Jiang M等[30]发现CRF对医疗实体识别的效果要好于SVM。Lei J等[31]通过采用同样的特征对CRF、SVM、SSVM和ME 4种方法进行了对比,结果发现SSVM方法在中文医疗实体识别中要略好于其它方法。Chen Yanxu等[32]在CCKS2017任务中,发现单纯CRF的F值要高于LSTM-CRF。Liu Z等[33]利用2010、2012和2014 i2b2 NLP的比赛数据进行了多组对照实验,发现LSTM要好于CRF方法。在中医实体识别研究中,王世昆等[34]发现CRF对中医实体的识别效果要好于ME和SVM。Wang Y等[35]比较了CRF、HMM、MEMM 3种模型在中医症状实体识别上的效果,发现CRF模型更适合于中医实体的识别。此外,也有研究者采用改进的机器学习方法,如燕杨[36]等提出了基于层叠条件随机场的中文医疗实体识别方法;针对电子病历语料标注的难题,在不增加标注量的前提下,王润奇等[37]基于Tri-Training的半监督学习方法进行中文医疗实体识别;Hu J[28]等在CCKS2017任务中采用多种方法进行了对照实验,发现加入特征的BI-LSTM方法要好于CRF方法。
从以上研究可以发现,在医疗实体识别模型中,CRF有着较好的表现。随着深度学习和人工智能的推进,基于循环神经网络以及长短时记忆网络(LSTM)的改进算法[38]和CRF相结合,利用海量的医疗数据特征作为词向量在医疗实体识别上取得了比较显著的结果。另外,从已有研究来看,由于医疗领域分词带来的问题过多,基于字的实体识别效果要高于基于词的识别效果。
3.4 医疗实体及实体关系标注
3.4.1 医疗实体标注
医疗实体标注是实体识别和实体关系挖掘的基础,在已有研究基础上,结合实体识别算法的格式要求,可采用BX、IX、EX、SX以及O作為实体标识符,其中B(实体开头)、I(实体中间)、E(实体结尾)、S(独立词位实体)、O(非实体),X表示实体所属类别,包括D(疾病)、S(症状)、C(检查)、T(治疗)以及O(组织器官)。例如,风湿性关节炎是一种常见的急性或慢性结缔组织炎症,分词后可标注为:
风湿性/BD关节炎/ED是/O一种/O常见的/O急性/O或/O 慢性/O结缔组织/SO炎症/SS。
3.4.2 医疗实体关系标注
3.5 医疗实体链接与知识融合
医疗实体链接是将多数据源中的实体通过链接关联起来,以更好地表述不同数据源实体间的语义关联关系,进而实现多源数据融合以用于医疗人工智能中的语义理解和语义分析。在各类医疗文本数据源中,疾病、症状、检查和药物等各类实体的表述是多样化的,医疗实体缩写、简写以及中英文混合等不规范表述以及实体的上下文指代不明给实体链接带来了极大困难。根据所采用的相关关系计算方法,实体链接方法主要分为两大类,一类是基于实体本身的方法,该方法主要是利用实体字符本身的特征进行计算,如字符串编辑距离、Jaro距离、Jaro-Winkler距离和Smith-Waterman算法;另一类是基于实体背景信息的计算方法,通常有余弦相似度、Jaccard系数、主题模型、词向量、SimRank和图结构的方法。周鹏程等[40]提出了一种基于多知识库的实体链接方法,进而实现对多个知识库的实体链接。王雪鹏等[41]给出了一种基于网络语义标签的多源知识库实体对齐算法。通过获取实体各种属性值之间的相似度特征,李阳等[42]提出了基于语义的实体相似度计算方法。Wang Y[43]等采用基于字面的相似度、基于特征的相似度方法以及混合相似度的方法对中医实体名称进行了归一化研究。由于医疗实体的复杂性,通常辅助标准化的医疗术语库(如ICD11)进行多源医疗实体链接。通过多源医疗实体链接融合不同数据源的同一实体,解决单一数据源知识图谱覆盖面过低的问题,从根本上促进医疗数据融合。 3.6 医疗实体关系抽取
实体关系抽取是医疗知识图谱构建的关键环节,本文中实体关系主要是疾病实体与其它几类实体的关系,具体如表1所示。从已有研究来看,目前医疗实体关系挖掘可分为基于模式匹配、基于语义词典、基于特征和基于机器学习的方法。模式匹配是以实体识别结果为基础,以句子为单位,根据标志词来制定相应模式,进而通过模式匹配比对,确定相应实体间的关系。如“服用吲哚美辛后,关节肿痛缓解”,能够匹配治疗类实体 症状类实体 “缓解”这一模式,进而将“吲哚美辛”与“关节肿痛”关系标注为TBS。基于词典的方法是在语义词典资源基础上,根据实体间的关联确定实体关系。基于特征的方法是根据实体类型、词性、词与词之间的位置、实体前后的词与词性等特征,通过不断迭代与聚合,将具有相同特征的实体组(通常为两个非同类实体)视为同一类型,然后进行实体关系挖掘。当前医疗实体关系挖掘比较常用的是机器学习法,这类方法的思路是将关系挖掘转换为分类问题。Demner-Fushman D等[44]采用多种方法对I2B2 2010电子病历中的实体进行了挖掘研究,发现词典资源在实体关系挖掘中有着重要作用。Frunza O等[45]采用多种机器学习方法探究疾病和治疗之间的3种关系,发现贝叶斯分类法和其它特征组合取得了较好的效果。Wang X等[46]根据上下文共现关系对疾病和症状间的关联关系进行了挖掘。Luo Y[47]采用循环神经网络对I2B2 2010电子病历中的实体关系进行了抽取,发现加入医疗词向量有助于实体关系的挖掘。Hwang S等[48]基于PubMed文献数据,采用TF-IDF和共现关系识别了疾病和症状关系。吴嘉伟等[49]从特征选择角度,采用深度学习算法对英文电子病历中的实体关系进行了抽取研究。Zhao C等[50]基于实体共现关系构建了疾病和症状关系的二分网络。李梦箐等[51]通过二分图和复杂网络的结构来挖掘疾病与中药之间的关系。通过构建K-partite网络,Kamdar M R等[52]采用隐条件随机场来挖掘药物及药物反应实体间的隐藏关系。可以发现,医疗实体关系挖掘目前是医疗信息处理和分析研究中的热点,基于机器学习的方法是医疗实体关系抽取中的常用方法。目前在多源医疗文本大数据中,通常将实体关系抽取研究视为分类问题,然后挖掘实体各种特征来提升实体关系的抽取效果。
3.7 中文医疗知识图谱表示及存储
知识图谱表示和存储是将医疗实体以及实体关系按照一定规范存储,为后续的医疗知识分析和知识服务做好准备。目前较为广泛的数据描述模型有RDF以及最近兴起的图数据库两种存储方案。夏宇航等[53]通过数据库与RDF三元组相结合对电子病历进行拆分存储,以提高实体的检索效率。阮彤等[54]将中医药关系转为RDF格式数据来存储中医药领域知识图谱。Beyan O D等[55]提出一种基于RDF的结构来描述电子病历中的时序关系。Kamdar M R等[52]通过RDF框架存储药物、蛋白质等实体间的隐藏关系并基于SPARQL进行查询。遵从RDF规范,Wang M等[56]通过构建病人、药物和治疗的RDF图,进而链接已有的知识图谱资源,并提供基于SPARQL的在线查询。在医疗知识图谱存储时,可以基于RDF语法,构建以疾病为中心,其它四类为属性的疾病——属性——关系三元组,以此存储实体识别及实体间关系。每一个实体都有一个URL(Uniform Resource Locator,统一资源定位符)与之对应,通过URL就能跳转到相应的实体,实现实体数据间的链接。如下所示。
在上例医疗知识图谱中,描述的是以风湿疾病为中心,以及相关的症状等其它实体间的关系。医疗知识图谱本身是一种图结构,而图形数据库通过键和链接存储实体及实体关系,因此在网络结构存储时比较占优势,近些年基于图数据库的语义关系存储受到研究者的重视。但由于图数据库技术发展时间较短,在标准和规范方面还不够完善[57]。目前常用的图形数据库有Neo4j、Titan和FlockDB等。Neo4j是由Java和Scala语言写成NoSql数据库,也是目前使用较多的图形数据库。通过Neo4j可以直观呈现实体间的各种关系(如图2所示),可為临床辅助诊断以及公众的医疗健康信息服务提供更易于理解和交互的知识呈现方式。Neo4j代码格式和可视化呈现如下。
3.8 医疗知识图谱的动态构建
随着信息技术的发展,医疗领域的各类大数据在飞速增长,面向各类医疗应用需求的医疗知识图谱需要即时进行动态更新。针对多源的医疗文本大数据,可通过加州大学伯克利分校AMP实验室开源的Spark[58-59]技术平台行大数据的快速处理,根据已有的症状、检查、治疗、组织器官4类实体所占的关系权重,快速确定疾病与其它实体间的距离。同时,该技术有着比MapReduce更为快捷迅速的处理效率,基于内存的操作更是大大加快了大数据的处理速度,此外,通过Spark的流技术还可以实现医疗知识图谱的持续更新,面对当前呈现指数增长医疗数据以及人们迫切的应用需求,实时更新知识图谱的重要性不言而喻。通过引入Spark技术,可以大大提升医疗知识图谱的实际应用价值,加快推进医疗大数据应用的快速发展。
4 结 语
医疗知识图谱是医疗信息分析和知识服务的基础,同时也是医疗领域人工智能的重要知识源。本文针对临床和公众两大用户需求,提出了融合多种数据源的医疗知识图谱构建的概念模型,该模型主要包括各类医疗数据的获取、医疗文本数据的处理、医疗实体及实体关系标注、医疗实体识别、医疗实体链接、实体关系挖掘以及知识图谱的存储和表示等关键技术环节。本文一方面提出了融合多种医疗文本数据源的理念,所构建的医疗知识图谱更为全面、更具实际应用价值;另一方面,提出了基于Spark技术的医疗知识图谱动态更新思路,即所构建的医疗知识图谱是随着数据增长而动态更新的,具有较强的现实意义和应用价值。尽管如此,在医疗知识图谱的具体实施和推广时,仍然面临着许多问题,如电子病历属于患者的个人隐私,任何机构和个人在没有经过授权情况不能擅自使用,所以从国家层面亟待出台相关的法律法规,同时也需要学界和业界的协力推进,进一步推动医疗知识图谱的理论和实践。 参考文献
[1]李徐曼,沈江,余海燕.数据驱动的医疗与健康决策支持研究综述[J].工业工程与管理,2017,22(1):1-13.
[2]Lehmann J.DBpedia:A large-scale,Multilingual Knowledge Base Extracted from Wikipedia[J].Semantic Web,2015,6(2):167-195.
[3]Bollacker K,Evans C,Paritosh P,et al.Freebase:A Collaboratively Created Graph Database for Structuring Human Knowledge[C].Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data.ACM,2008:1247-1250.
[4]Dong X,Gabrilovich E,Heitz G,et al.Knowledge Vault:A Web-scale Approach to Probabilistic Knowledge Fusion[C]//ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.ACM,2014:601-610.
[5]Mitchell T,Cohen W,Hruschka E,et al.Never-ending Learning[J].Communications of the ACM,2018,61(5):103-115.
[6]Biega J,Kuzey E,Suchanek F M.Inside YAGO2s:A Transparent Information Extraction Architecture[C].Proceedings of the 22nd International Conference on World Wide Web.ACM,2013:325-328.
[7]Hu F H,Shao Z Q,Ruan T.Self-Supervised Chinese Ontology Learning from Online Encyclopedias[J].The Scientific World Journal,2014:Article ID 848631.
[8]Niu X,Sun X,Wang H,et al.Zhishi.me-weaving Chinese Linking Open Data[C].International Semantic Web Conference.Springer,Berlin,Heidelberg,2011:205-220.
[9]Ernst P,Siu A,Weikum G.KnowLife:A Versatile Approach for Constructing a Large Knowledge Graph for Biomedical Sciences.[J].Bmc Bioinformatics,2015,16(1):1-13.
[10]Bodenreider O.The Unified Medical Language System(UMLS):Integrating Biomedical Terminology[J].Nucleic Acids Research,2004,32(suppl_1):D267-D270.
[11]Uzuner ,Solti I,Cadag E.Extracting Medication Information from Clinical Text[J].Journal of the American Medical Informatics Association,2010,17(5):514-518.
[12]陈德华,殷苏娜,乐嘉锦,等.一种面向临床领域时序知识图谱的链接预测模型[J].计算机研究与发展,2017,54(12):2920-2930.
[13]Weng H,Liu Z,Yan S,et al.A Framework for Automated Knowledge Graph Construction Towards Traditional Chinese Medicine[C].International Conference on Health Information Science.Springer,Cham,2017:170-181.
[14]He B,Dong B,Guan Y,et al.Building a Comprehensive Syntactic and Semantic Corpus of Chinese Clinical Texts[J].Journal of Biomedical Informatics,2017,69:203-217.
[15]阮彤,孫程琳,王昊奋,等.中医药知识图谱构建与应用[J].医学信息学杂志,2016,37(4):8-13
[16]贾李蓉,刘静,于彤,等.中医药知识图谱构建[J].医学信息学杂志,2015,36(8):51-53.
[17]Singhal A.Introducing the Knowledge Graph:Things,Not Strings[EB/OL].http://googleblog.blogspot.ie/2012/05/introducing-knowledgegraph-things-not.html,2018-07-12. [18]刘峤,李杨,段宏,等.知识图谱构建技术综述[J].计算机研究与发展,2016,53(3):582-600.
[19]冯新翎,何胜,熊太纯,等.“科学知识图谱”与“Google知识图谱”比较分析——基于知识管理理论视角[J].情报杂志,2017,36(1):149-153.
[20]吴运兵,阴爱英,林开标,等.基于多数据源的知识图谱构建方法研究[J].福州大学学报:自然科学版,2017,45(3):329-335.
[21]张坤丽,马鸿超,赵悦淑,等.基于自然语言处理的中文产科电子病历研究[J].郑州大学学报:理学版,2017,49(4):40-45.
[22]黄翼彪.开源中文分词器的比较研究[D].郑州:郑州大学,2013.
[23]李国垒,陈先来,夏冬,等.中文病历文本分词方法研究[J].中国生物医学工程学报,2016,35(4):477-481.
[24]于清,陈永杰,丁岩.适用于医疗卫生领域的中文分词方法研究[J].新疆师范大学学报:自然科学版,2017,36(1):62-66.
[25]张立邦,关毅,杨锦峰.基于无监督学习的中文电子病历分词[J].智能计算机与应用,2014,(2):68-71.
[26]Sasaki Y,Tsuruoka Y,McNaught J,et al.How to Make the Most of NE Dictionaries in Statistical NER[J].BMC Bioinformatics,2008,9(11):S5.
[27]叶枫,陈莺莺,周根贵,等.电子病历中命名实体的智能识别[J].中国生物医学工程学报,2011,30(2):256-262.
[28]Hu J,Shi X,Liu Z,et al.HITSZ_CNER:A Hybrid System for Entity Recognition from Chinese Clinical Text[C].China Conference on Knowledge Graph and Semantic Computing 2017,SiChuan:Chendu,August,2017:26- 29.
[29]Keerthi S S,Sundararajan S.CRF Versus SVM-struct for Sequence Labeling[R].Yahoo Research Technical Report,2007.
[30]Jiang M,Chen Y,Liu M,et al.A Study of Machine-learning-based Approaches to Extract Clinical Entities and Their Assertions from Discharge Summaries[J].Journal of the American Medical Informatics Association,2011,18(5):601-606.
[31]Lei J,Tang B,Lu X,et al.A Comprehensive Study of Named Entity Recognition in Chinese Clinical Text[J].Journal of the American Medical Informatics Association,2013,21(5):808-814.
[32]Chen Yanxu,Zhang Gang,Fang Haizhou,et al.Clinical Named Entity Recognition Method Based on CRF[C].China Conference on Knowledge Graph and Semantic Computing 2017,SiChuan:Chendu,August,2017:26- 29.
[33]Liu Z,Yang M,Wang X,et al.Entity Recognition from Clinical Texts Via Recurrent Neural Network[J].BMC Medical Informatics and Decision Making,2017,17(2):67.
[34]王世昆,李绍滋,陈彤生.基于条件随机场的中医命名实体识别[J].厦门大学学报:自然版,2009,26(3):359-364.
[35]Wang Y,Yu Z,Li C,et al.Supervised Methods for Symptom Name Recognition in Free-text Clinical Records of Traditional Chinese Medicine:An Empirical Study[J].Journal of Biomedical Informatics,2013,47(2):91-104.
[36]燕楊,文敦伟,王云吉,等.基于层叠条件随机场的中文病历命名实体识别[J].吉林大学学报(工),2014,44(6):1843-1848.
[37]王润奇,关毅.基于Tri-Training算法的中文电子病历实体识别研究[J].智能计算机与应用,2017,7(6):132-134.
[38]Sundermeyer M,Schlüter R,Ney H.LSTM Neural Networks for Language Modeling[C]//Thirteenth Annual Conference of the International Speech Communication Association,2012.