标题 | 基于Neo4j生物医药知识图谱的构建 |
范文 | 曹皓伟 徐建良 窦方坤
摘? 要: 人类积累了大量的生物医药科研数据,这些数据以不同的形式存放在不同的数据源中,而数据的组织形式决定了数据的使用价值。为了使数据发挥更大的价值,将多源异构数据应用于知识挖掘与发现,深入研究和改进了知识融合等知识图谱的构建技术,使用Neo4j图形数據库进行数据存储,构建了生物医药领域的大规模知识图谱。知识图谱的构建可为后期的知识挖掘与知识图谱的应用作支撑。 关键词: Neo4j; 图数据库; 生物医药; 知识图谱构建; 数据融合 中图分类号:TP399? ? ? ? ? 文献标识码:A? ? ?文章编号:1006-8228(2020)06-35-04 Abstract: Human beings have accumulated a large number of biomedical research data, which are stored in different forms in different sources. The organization of the data determines the use value of the data. In order to make the data play a greater value, the multi-source heterogeneous data is applied to knowledge mining and discovery. The construction technologies of knowledge graph such as knowledge fusion are deeply studied and improved in this paper, and Neo4j graph database is used for data storage to construct a large-scale knowledge graph in the field of biomedicine, which can support knowledge mining and other applications later. Key words: Neo4j; knowledge graph; biomedicine; knowledge graph construction; data fusion 0 引言 2012年Google公司提出知识图谱的概念,目的是加强智能搜索[1],概念提出后备受关注,自此各大公司与科研机构先后推出面向各行业各领域的知识图谱。目前知识图谱已被广泛应用于电商、金融、医学等领域,在智能搜索、反欺诈、智能决策和智能问答等方面发挥着重要的作用[2]。 1 研究现状 1.1 知识图谱的定义 知识图谱基于图的数据结构进行存储,是语义网络的技术之一,知识图谱由head、relationship、tail三元组构成[3],可以表示为G={H,R,T},其中H={h1,h2,…h|n|}代表了知识图谱中实体的集合,R代表了知识图谱中所有关系的集合,T属于H×R×H,代表了知识图谱中的三元组集合,三元组集合的基本表示形式包括{实体A,关系,实体B},如化合物A对蛋白质B具有活性、{实体,包含,属性},如化合物具有相对分子质量的属性,{属性、属性的值、值},如相对分子质量是124.5g/mol等。知识图谱在本质上表示了实体之间的语义关系,是对现实世界中事物和关联的描述。 1.2 知识图谱的分类 按照面向领域的不同,识图谱可以分为开放链接知识图谱和垂直行业知识图谱[3]。开放链接知识图谱不面向特定领域,具有一定的普适性。例如基于维基百科的Wikidata[4]等;垂直行业知识图谱面向某个具体领域,具有一定的专业性,如GeoNames[5]等。 1.3 知识图谱的构建 知识图谱的构建方式分为自顶向下、自底向上和混合方式三种。自顶向下的构建方式是在知识图谱构建的初期先构建知识图谱的本体或模式层,预先定义知识图谱的组织结构。自底向上的构建方式在初期没有预定义的组织结构而是从数据源的模式层中不断的提取更新概念和概念之间的组织结构,通过数据层来指导模式层的构建。自顶向下与自底向上混合的构建方式是在初期有预定义的本体或模式层,同时随着数据源的加入,数据源的组织结构可以对知识图谱模式层进行更新改进,从而使知识图谱更加完善和可靠。 知识图谱构建的关键技术主要包括数据获取、知识抽取、知识融合、知识计算和知识应用,如图1所示。 数据获取:是前期对数据的准备,即对知识图谱所在的领域数据的获取,这些数据包括结构化数据、半结构化数据与非结构化数据。 知识抽取:知识抽取也叫信息抽取,是一种通过自动化的方式从半结构化或非结构化的数据中抽取实体、关系、属性信息的技术。在早期知识抽取主要通过启发式算法与规则相结合的方式来实现,现在常用的方法有借助本体与词汇集,借助多层神经网络和自然语言处理等。 知识融合:知识融合主要是对概念实体进行链接,来自不同数据源的概念可能在含义、指代粒度上有所不同,存在的问题主要有:①命名相同概念可能指代不同的实体;②命名不同的概念可能指代相同的实体;③概念指代的粒度不同。为了解决以上问题,常使用基于本体或神经网络的相似性打分函等方法进行知识融合。 知识计算:知识计算主要包括知识推理、置信度检查、子图匹配、本体推理、知识挖掘等几部分,是知识图谱用于智能计算和推理的基础。 知识应用:主要指基于知识图谱开发应用,例如基于知识图谱实现问答系统、专家系统、推荐系统等。 1.4 知识图谱的存储 目前知识图谱有多种存储方案,基于disk或mainmemory的原生数据库、基于关系型数据库、基于非关系型数据库。因为基于图形的存储结构更有利于发现实体之间潜在的关系,所以本文使用非关系型数据库中的图形数据库存储知识图谱。将知识图谱存入图数据库,是将知识图谱的实体存为图数据库中的节点,而实体间的关系存为连接各个节点的边[6]。目前主流的图数据库有美国Neo technology机构开发的Neo4j数据库、微软公司开发的GraphEngine数据库、北京大学开发的gstore数据库[7]等等。其中目前最常用的图数据库是Neo4j,它是一个成熟的高性能图引擎,同时支持分布式,Neo4j图数据库对Java平台具有很好的兼容性,有利于后期的工程开发。综合以上优势,本文使用Neo4j图数据库对知识图谱进行存储。 2 生物医药知识图谱的构建 生物医药知识图谱的构建主要包括数据获取、知识抽取、知识融合等几个步骤。数据获取即获取相关领域的数据源,知识抽取是从数据源中识别并提取相关实体,知识融合是把来源不同的等价或相关实体进行链接。 2.1 领域数据源 生物医药知识图谱的构建需要整合多个领域的数据,随着生物医药领域的发展,科学家积累了大量相关的科研数据,这些数据以多种多样的形式在互联网上开放共享,包括生物医药领域相关的文献、化合物、蛋白质、药物等等。目前主流的生物医药文献数据库有包括英国的Europe PubMED Center(Europe PMC)[8]数据库、美国的MEDLINE数据库等;主流的化合物数据库有ZINC15等。本文应用的数据库如表1所示。 2.2 数据获取与知识抽取 生物医药知识图谱涉及化合物、蛋白质、文献等多个领域的数据,这些领域数据大多以XML、JSON等格式存储并在互联网上开放共享,本文通过直接下载或者编写网络爬虫的方式来完成数据获取,数据获取后,通过实现对XML、JSON等多种格式的解析来实现对实体和关系的抽取。 2.3 知识融合 在知识融合阶段需要对实体和实体的属性进行对齐。在实体对齐阶段首先考虑通过实体的唯一标识进行实体对齐,例如化合物的InCHI属性和CAS Number属性,蛋白质的UniprotID属性等等,若实体不具有唯一标识的信息则需要使用基于相似性的打分函数来实现。同理,属性的对齐也是通过基于本体与词汇集的相似度评分算法来实现,例如化合物的“相对分子质量”属性,在PubCHEM数据源中为“Molecular Weight”,在Zinc15数据源中为“Mwt”,通过构建的本体来标识两个相同的属性概念从而实现实体属性的对齐。 下面将以蛋白质的相关数据为例介绍实体对齐方法并进行实验评估。蛋白质的命名具有多样性,来自不同数据源的同一个蛋白质可能具有不同的名称,例如人类的UBP7蛋白,其常见的命名有“UBP7_HUMAN”、“USP7 HAUSP”等6种,如表2所示。因为实体概念的同义词现象,导致在实体对齐时基于规则的算法不能准确的进行匹配,所以需要使用相似性函数进行相似度评估,常用的相似性函数有①基于文本的相似性函数如Jaccard相似性算法、余弦相似性算法、编辑距离相似性算法;②基于结构的相似性函数如共同邻居计数算法、Adar评分算法等。本文在综合使用这两种相似性算法的基础上构建了基于领域的本体与词汇表来提升相似性函数的准确性。 从不同蛋白质数据源中抽取1000个蛋白质概念的集合P={p1,p2,……,p1000}进行实验设计,将P平均分为两组P1和P2,使用P1集合构建蛋白质本体和词汇集,使用P2集合分别对三种相似性算法进行评估。其中基于文本的相似性函数综合使用了余弦相似性算法和编辑距离相似性算法,如公式⑴。 经过实验验证可以看出基于本体的实体对齐算法在精度、召回率、f-score值三个评估指标上都优于基于文本相似性和基于结构相似性算法,其中精度提升了16%,召回率提升了28%,f-score值提升了23%,综上所述,使用本体和同义词表有利于提升相似度算法的准确性。 2.4 生物医药知识图谱的存储 知识融合后需存入Neo4J图数据库,Neo4J图数据库底层使用图数据结构进行存储,大幅度提升了数据检索的性能。在数据导入方面,Neo4J支持三种数据导入方式:①通过Cypher Create语句;②通过Cypher LOAD CSV方式;③通过Neo4J-Import工具。前两种方式可以在任何情况下导入,但速度慢,第三种导入方式速度快但只能在初始化时进行数据导入。本文使用第三种方式,将融合后的数据格式化为CSV格式后,通过脚本进行数据导入。构建后的知识图谱如图2所示。其中知识图谱中包括76万条实体、230万条关联,如表4所示。 3 结束语 本文借助Neo4j图数据库构建了大规模生物医药知识图谱并借助领域本体与词汇集改进了知识融合算法,算法的准确性提升约20%,为知识图谱的自动化构建、知识图谱的应用做了准备。 本课题仍然有很多不足与待实现部分,如算法的准确性与知识图谱构建的自动化程度有待进一步提升,同时基于生物医药知识图谱可以开发知识问答、决策与发现系统,有待后期进一步完善。 参考文献(References): [1] 欧艳鹏.知识图谱技术研究综述[J].电子世界,2018.13:54,56 [2] 阮彤,孙程琳,王昊奋,方之家,殷亦超.中医药知识图谱构建与应用[J].医学信息学杂志,2016.37(4):8-13 [3] 徐增林,盛泳潘,贺丽荣,王雅芳.知识图谱技术综述[J].电子科技大学学报,2016.45(4):589-606 [4] WMF.Wikidata[EB/OL].[2015-11-11].https://www.wikidata.org/wiki/Wikidata:Main_Page. [5] NiuX,SunXR,WangHF,et al.Zhishi.me-weaving Chineselinking open data.Proceedings of the 10th International Semantic Web Conference.Bonn,Germany,2011:205-220 [6] 黃恒琪,于娟,廖晓,席运江.知识图谱研究综述[J].计算机系统应用,2019.28(6):1-12 [7] Zou L,?zsuMT,ChenL,etal.gStore:A graph-based SPARQLquery engine.The VLDB Journal,2014.23(4):565-590 [8] Hodgman, Charlie T .Insant notes in bioinformatics=生物信息学/2nd ed[M].科学出版社,2010. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。