【《基于知识图谱的生物医学文献相似度分析系统设计》16000字(论文)】_第1页
【《基于知识图谱的生物医学文献相似度分析系统设计》16000字(论文)】_第2页
【《基于知识图谱的生物医学文献相似度分析系统设计》16000字(论文)】_第3页
【《基于知识图谱的生物医学文献相似度分析系统设计》16000字(论文)】_第4页
【《基于知识图谱的生物医学文献相似度分析系统设计》16000字(论文)】_第5页
已阅读5页,还剩30页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE基于知识图谱的生物医学文献相似度分析系统设计摘要文本相似度计算是自然语言处理方面的重要研究课题,在生物医学领域,文献相似度分析对于提高检索、收集文献效率有着重要的参考价值。本文采用基因本体论作为知识库,孪生神经网络作为计算文献相似度的模型,全局注意力分数作为辅助权重,提出了一种基于知识图谱的生物医学文献相似度算法。为了可视化相似度分析过程,系统通过D3.js与plotly.js实现相似度分析功能;为了方便用户查阅文献,系统实现了文献管理功能;为了保护知识产权,系统实现了身份验证功能。关键词:生物医学文献;相似度算法;基因本体论;知识图谱;D3.js目录1.绪论 11.1研究工作的背景及意义 11.2国内外发展现况 21.2.1相关领域国内外研究现况 21.2.2基于知识图谱生物医学文献相似度计算的国内外研究现况 31.3论文的主要工作与章节安排 41.3.1主要创新点 41.3.2章节安排 42.相关技术与理论 52.1生物医学文献相似度计算的特点及产生的问题 52.1.1有效分类文献少 52.1.2生物医学文本复杂 52.1.3基因本体识别难 62.2注意力机制 72.3基因本体相似度算法研究 72.3.1术语识别理论及常用方法 72.3.2术语间相似度分析常用方法 82.4文献相似度计算理论基础 82.4.1基于隐含狄利克雷分布的文献相似度算法 82.4.2基于孪生神经网络的文献相似度算法 92.5文献相似度计算技术基础 92.5.1Pytorch框架 92.5.2Gensim框架 92.5.3Transformer架构 102.6本章小结 103.基于知识图谱的生物医学文献相似度分析系统算法研究 113.1本文算法解决的主要问题 113.2生物医学文献相似度算法思想 113.3生物医学文献相似度算法实现 123.3.1数据预处理 123.3.2构建本体识别模型 133.3.3计算全局注意力权重 133.3.4构建基因本体相似度计算模型 143.3.5构建文献相似度计算模型 153.3.6对比实验模型 163.4实验设计与结果分析 173.4.1实验环境 173.4.2数据集 173.4.3评价指标 213.4.4实验结果与分析 213.5本章小结 224.生物医学文献相似度分析系统的设计与实现 224.1需求分析 224.2系统总体设计 224.2.1系统框架图 224.2.2系统架构设计 234.2.3开发框架选择与介绍 244.2.4数据库设计 254.3系统实现 254.3.1相似度分析功能 254.3.2文献管理功能 264.3.3身份验证功能 274.4本章小结 285.总结与展望 285.1总结 285.2展望 29参考文献 30

第PAGE1.绪论1.1研究工作的背景及意义随着生物医学领域的蓬勃发展,生物医学文献检索平台PubMed已包含超过3200万条来自MEDLINE、生命科学期刊和在线书籍的生物医学文献引文。在线数据的激增打破了研究学者在地理、空间上的限制,实现在疫情期间跨地域协同合作,对学术界发展好处良多。PubMed医学文献检索服务系统中的检索方法相对滞后,多采取基于关键词匹配的检索方法,诸如主题检索、著者检索、刊名检索、日期或范围检索等,即客户在查找标准的时候,先根据对既定对象的理解,列出能描述既定对象的关键词,然后在数据库中进行关键词匹配检索,进而找到标准。基于关键词的检索方法,关键词排列顺序会直接影响检索结果,要花费大量的资源进行关键词的组合排序然后检索,检索的查全率与查准率也会相对受到影响。针对目标主题,研究人员通常需花费大量时间完成单个文献梳理、归纳、总结,从而发现多个文献间的相似性。为精准检索、整合文献数据信息,复用于新的领域研究的过程带来阻碍。在深度学习领域,通常很难采用高科技计算生物医学文献相似度、文献聚类、文献分类,因为对于该领域文本计算相似度测量来说,训练一个准确性较好的模型,并不是一个小问题。相较于其他领域文本,生物医学文献计算相似度有着更多的变化和难点。基于通用本体训练获得的分类结构模型,如WordNet同义词库、HowNet义原语义知识库,应用于生物医学领域时,仍需要对与分类结构有关的语义相似度方法重新计算,大大降低了方法的扩展性和适用范围。除了扩展性问题外,由于通用本体对医疗词汇的覆盖性有限,导致对医学概念相似性评估的准确性不够[1]。生物医学文献相似度计算模型的训练难点有以下几个方面的问题:第一,稀缺性:与通用领域相比,在生物医学领域中,文本类型的公开数据集较少,对文献种类进行标注的数据集更为罕见,部分论文所使用的数据集为研究者自行标注。第二,多变性:药名、基因、蛋白质等命名实体命名复杂,多以词组形式出现,难以按空格之类的分割符,直接分词;缩略词形式多变,没有明确的规律可以参考,且部分英文命名实体在不同语境、领域的含义不同。第三,复杂性:由于篇章级的文本数据比短文本更大,受客观因素影响,数据噪音更大,所表示的语义内容也更为复杂。虽然传统的表面文本相似度计算方法[2]和文献相似度分析具有许多相同的问题和解决方案,但表面文本相似度计算方法只考虑表层字词而不考虑这些字词在句子中真实的含义,难以考虑词语的同义性,无法应用到多个短语表示同一含义的文献相似度计算中。文献相似度计算的问题关键是找到根据现有的知识图谱的检索同义词组,重点对该类型词组相似度计算,以达到语义层次的文献相似度分析。为了分析词组多变的文献相似度,没必要识别文献间相同单词,只需要识别文献间的基因本体术语。但是,对于这些语义相似度算法来说,得到数据往往是大量文献相似度计量值及其文献种类标签,相对与文本标签来说,相似度计量值更为抽象。通过离散数值,难以分析算法的优劣,或者判断两个文献是否同属于一种类型,方式相对抽象,对于研究和分析来说都是不小的障碍。对相似度计量值聚类,通过预测结果与标签的误差衡量模型的性能,并对识别到的生物医学术语做可视化图形显示,给人直观的感受,对分析文献相似度帮助。基于以上背景,本课题选择了生物医学领域下,基于知识图谱的文献相似度分析系统分析与设计,目的是为文献相似度系统用户提供精准分析服务,以此改善文献相似度系统智能分析体验效果。1.2国内外发展现况1.2.1相关领域国内外研究现况相似度分析系统可以根据文献的标题、摘要内容来自动分析多个文献间的相似度,以此来满足用户高效挖掘数据的需求。相似度分析系统与现有的相似度计算系统有所不同,相似度分析系统着重于将相似度数据提炼、总结、分析,将完整的分析过程提供给用户,而不是像相似度计算模型提供给用户基于词袋模型、词句匹配的相似文本词句序列。近年来,准确预测文本相似度对于许多文本分析系统来说非常重要,例如文档搜索引擎、文档推荐、文档分类等。近年来,深度学习领域、硬件算力都获得了显著的提高,为准确计算文本相似度提供可能。文本相似度算法的理论研究已然枝繁叶茂,传统意义下的文本相似度,通常指的是语义文本相似度。语义文本相似度[3],即在语义层面衡量两段文本的相近程度。语义相似度计算大致可分为四种:基于字符串的语义相似度计算算法、基于统计的语义相似度计算算法、基于知识库的语义相似度计算算法、基于深度学习的语义相似度计算算法,总体分类情况如图1.1展示。图1.1语义相似度计算研究分类由于人类语言表达的多样性,相似度计算时往往需考虑同义词、缩略词、否定词等单词转换的情况,以及复杂多变的句法结构,加大了基于字符串的方法与基于统计串的方法计算难度。基于知识库的语义相似度计算与基于深度学习的语义相似度计算,通常具备更好的性能与更高的结果准确性。1.2.2基于知识图谱生物医学文献相似度计算的国内外研究现况在生物医学领域中,根据知识库的不同种类,可分为两类常用方法:MeSH词表与GeneOntology基因本体论。一、基于MeSH词表的方法:往往从入口词、直接上下位词和范围三个维度计算语义相似度,忽略距离对语义相似度的影响。在医学文献主题语义相似度计算方法中,以入口词、语义距离和注释三个维度构建方法,但仍存在在语义角度,忽略主题间在统计上的特点。二、基于GO基因本体论的方法[4]:其基本思想是识别文本中的基因本体,并求GO中术语间的相似性,算法可分为两类:基于信息量、基于概念距离。基于语义子图的GO术语语义相似性度量方法[5]结合了改进,结合了基于信息量和基于概念距离的方法,但结合数据量过小,不适用与大规模GO术语相似度计算。目前有三种较为普遍方法Resnik方法、Jiang和Conrath方法、Lin方法。1.3论文的主要工作与章节安排1.3.1主要创新点本文主要的创新点在于:一、改进术语识别模型ncgocr[6],使得识别基因本体GeneOntology得到的数据信息,在权重计算、文本相似度计算中,更准确得预测文献间得相关性。二、基于注意力机制得出的整体注意力GlobalAttention权重、基因本体GeneOntology坐标矩阵及相似度矩阵融合,提升模型在生物医学领域文献相似度计算准确性。三、分析文献相似度,采用孪生神经网络、生物医学词嵌入模型PubMed-shuffle[7]与Wiki_vectors_300[8]词向量模型融合,并利用谱聚类对文献分类。将相似度计算、分析过程可视化,将用户的使用痛点考虑在内。1.3.2章节安排本文一共包含了五个章节,分别如下:第一章,绪论。介绍本章节的研究工作背景及意义;分析国内外发展现况,可分为两个板块,一是相关领域国内外研究现况,即文本相似度的研究现况,二是基于知识图谱生物医学文献相似度计算的国内外研究现况,即根据该领域知识库情况分类说明;最后在章节的结尾给出本论文的结构安排,即课题主要创新点与章节安排。第二章,相关技术与理论。本章通过分析文献相似度计算的特点及产生问题,介绍相关技术与算法原理,如注意力机制、基因本体识别、本体相似度计算及文献相似度计算的理论基础。第三章,基于知识图谱的生物医学文献相似度分析系统算法研究。本章提出了本文算法主要解决的问题,辅助研究人员快速挖掘文献间的相关性及相似点。在算法实现部分,逐条陈述实验的过程,并就实验环境、数据集、实验结果进行了介绍。第四章,生物医学文献相似度分析系统的设计与实现。本章通过对系统需求分析,挖掘用户痛点,合理将用户需求合并至系统的主业务流程,使得用户提高查阅文献效率,降低时间成本。而后,通过对系统总体设计逐条陈述,设计理念、实现方法、实现功能情况。第五章,总结与展望。总结了全文的研究内容,并给出后续研究方法的建议。相关技术与理论本章主要介绍了与生物医学文献相似度相关的理论基础与算法模型。首先介绍了相似度计算的特点及产生的问题,而后介绍文献相似度算法的研究。2.1生物医学文献相似度计算的特点及产生的问题2.1.1有效分类文献少在生物医学领域文献相关的公开数据集较少,其中经预处理,存在种类标签的数据更为少见。出现该情况的原因,一是生物医学研究主题广泛,在目前大型生物医学文献检索平台PubMed中主题筛选功能中仅设立十一种,即艾滋病、生物伦理学、癌症、补充医学、发育和生殖毒理学(DART)、膳食补充剂、医学史、太空生命科学、系统评价、毒理学、兽医学。种类设立与生物医学常识有所差异,通常情况下人们将医学研究领域划分为内科学,外科学,泌尿科学,妇产科学,儿科学,眼科学,耳鼻喉科学等临床医学;将生物研究领域划分原核生物界、原生生物界、真菌界、植物界、动物界。大多数研究学者在实验中,大多通过检索词汇、目标标签,采用爬虫技术或PubMed相关接口自行收集文本数据并完成标签标注。由于搜索的工作方式为自动术语映射(ATM),即在搜索框中输入的未标记词与主题翻译表匹配,顺序为MeSH医学主题词、期刊翻译表、作者索引和研究者(协作者)索引。当在翻译表中找到一个术语或短语的匹配项时,映射过程将完成,并且不会继续到下一个翻译表,从而完成搜索。导致搜索的结果可能与目标标签存在误差,导致实验数据出现失真。2.1.2生物医学文本复杂生物医学文献文本的复杂性,可归结于两点原因:一是论文、期刊类文本内容一般情况下字数较多。几乎所有研究领域中,所有的期刊、论文发表都存在一定的最低字数要求,普通期刊字数要求在三千字左右,核心期刊对论文字数要求往往较高,在五千至六千字左右。论文长度,本身就为模型计算相似度时,机器的算力与模型的时间复杂度、空间复杂度带来要求。二是生物医学词汇中,存在同义词、派生词、复合词、缩略词、词类转换等现象,影响单词映射效果。(1)同义词:由于政治与历史原因,医学英语带有多国成分,因而具有大量的同义词现象,即同一个词义具有多种表示形态。如“臀”一词,在英语中存在七种表达方式,“buttock”、“breech”、“rump”、“clunis”、“nates”、“gluteo”、“pygo”。(2)派生词:由于医学词汇数量逐步扩大,需采用相对稳定的的构词法构造新词以适应生物医学领域发展的脉搏,如派生法,即在词根的前面加上前缀或者在后面加上后缀构成一个新词。通过词根确定单词领域,所有医学词汇都存在至少一个词根,如胃肠炎“gastroenteritis”中胃“gastr-”和肠“-enter-”两个词根;通过前缀改变原词意思,但一般不改变词义,如血压过低“hypotension”与血压过高“bypertension”中的前缀“hypo-”与“byper-”、心搏缓慢“bradycardia”和心动过速“tachycardia”中的词缀“brady”、“tachy“;通过后缀不改变词根含义,同时赋予词汇不同的含义,如词根胃“gastro-”经添加不同词缀产生不同词语,含义也发生转变,胃炎“gastritis”、胃痛“gastralgia”、胃镜“gastroscopy”、胃切开术“gastrotomy”、巨胃“gastromegaly”等。(3)缩略词:为顺应语言由繁向简的普遍发展趋势,简化拗口复杂的医学词汇以方便日常书写与口语交流,多采用缩略法,即新词由原词的第一个字母和其中重要词根的第一个字母所组成,并将新词替代原有的词或者词组。如:中医“TCM”可替代“traditionalChinesemedicine”、心电图“ECG”可替代“Electrocardiograph”、计算机断层摄影术“CT”可替代“computedtomography”等。2.1.3基因本体识别难生物医学领域,识别文献中的基因本体难,主要由于三个原因:一是基因本体的数量非常大,难以有效识别。基因本体资源库逐年递增,现本体论有效条目为43987个,注解批注数量为8,006,434个,仍未有相对官方、高效的识别本体接口,因此需要研究人员需自行完成文献中的本体识别工作。二是由于GO概念的名称及其组成结构过于复杂,研究人员对GO术语尚未达成共识,在文献撰写时往往会采用不同名称指代同一概念。三是难以通过规则描述基因本体的构词规律与其高频上下文词,即难以通过规则识别方法完成识别工作。2.2注意力机制采用神经网络处理长序列数据时,可借鉴人类观察事物时的注意力机制,即人们在观看图片时,往往会将注意力集中与图片的某个区域,着重记忆图片的该区域。此前,注意力机制主要应用于深度学习中的图像处理板块。2014年GoogleMind所发表的《RecurrentModelsofVisualAttention》,将注意力机制与RNN模型结合,完成图像的分类工作。

自2005年后,注意力机制逐步应用在文本处理领域,多用于文本翻译内容对齐;在Google机器翻译团队发表的《AttentionisAllYouNeed》[9]中,将注意力机制划分为软注意力(Soft-Attention)、硬注意力(Hard-Attention)、自注意力(self-attention)、多头注意力(Multi-headAttention)如图2.1、局部注意力(Local-Attention)、整体注意力(Global-Attention)等,提出了基于注意力机制的Transformer网络框架,将注意力机制应用与其他领域提供了可能。图2.1多头自我注意力模型结构2.3基因本体相似度算法研究2.3.1术语识别理论及常用方法在识别本体领域,多采用字典匹配、规则匹配或机器学习的方法完成文本中的识别工作。文本数据往往以知识爆炸的形式发展,难以通过人工分析、总结规则形成字典,完成表达式匹配。为更高效、全面的识别术语,往往采用字典匹配与机器学习相结合的方式完成识别本体。GOCat[10]利用知识数据库中包含注释的句子,通过K近邻方式为输入句子分配主流GO概念及其相似性得分的列表,在文档和句子级别具有解决方案,但无法应用于字符级别。Ncgocr通过使用较小片段简化GO术语,并以此片段与输入句子中的词语比对,挖掘与GO术语共享命名片段的候选词语,最后使用机器学习算法确定该词语的存在和位置。2.3.2术语间相似度分析常用方法衡量基因本体间的相似性,可分为基于边缘的方法与基于节点的方法。基于边缘的方法,通过GO术语间的最短路径的边数计算GO术语间的相似性。基于节点的方法,通过查询节点及其祖先节点或后代节点的属性来计算相似性。如Resnik方法,使用GO术语中信息量最大的共同祖先的信息内容作为语义相似性。为避免预先计算术语的信息内容值,Wang等发表了一种信息量与概念距离混合的方法,基于基因本体有向无环图的拓扑结构计算语义相似度,可将计算过程视为衡量祖先节点对其后代节点的语义影响,这也使得Wang的方法比Resnik的方法更稳定[11]。2.4文献相似度计算理论基础2.4.1基于隐含狄利克雷分布的文献相似度算法隐含狄利克雷分布[12](LatentDirichletallocation)是一种词袋模型,即模型认定每篇文档都是由一组词构成的一个无序集合,词与词间不存在逻辑关系、先后语序关系。任何一篇文档都可以包含一个或多个主题,文档中任意单词都由其中的一个主题生成。作为无监督学习算法,无需使用标注数据集,仅需给定文档集与指定主题数量便可开始训练。训练过程如下:对每个主题,通过隐含狄利克雷分布得到该主题下的单词分布序列,并用此序列来代表该主题;对每篇文章,通过隐含狄利克雷分布得到该文章的主题概率分布。在自然语言处理领域,诸如文本主题分类、文本主题识别、文本相似度计算都有着广泛的应用,尤其适用于大量未经标注文本数据集。2.4.2基于孪生神经网络的文献相似度算法采用神经网络分析相似度时,可借鉴孪生神经网络,即在两个相同的人工神经网络中,通过前馈感知器学习输入数据的隐藏表示,在训练过程中采用误差反向传播,串联并行工作,最后通过余弦距离比较它们的输出向量,以此获得两个输入数据的相似程度。孪生神经网络往往用于图像处理领域中,查找相同对象,即人脸比对、指纹比较等情境。因此在分析计算相似程度时,通常需要一个基准样本,在训练过程中,一般为预先计算某个输出向量,形成基线,将剩余输出向量与基线比对,类似于局部敏感哈希的距离函数。2.5文献相似度计算技术基础2.5.1Pytorch框架PyTorch,提供了一种快速的方法来修改现有的神经网络,而无需从头开始重建网络。相较于TensorFlow符号式编程,PyTorch命令式编程程实现更为方便、调试更加灵活。起初用于GPU加速的深度神经网络编程的Python程序包,而后可同时兼容GPU与CPU两种运行环境。该程序包提供了大量与神经网络,任意张量代数,数据整理和其他目的有关的操作,可以补充或部分替换现有的Python程序包的数学和统计信息,如NumPy。由于PyTorch在NVIDIAcuDNN、IntelMKL或NNPACK等库的支持下对运行环境下的CPU和GPU的操作进行了高度优化的实现,因此训练速度得到大幅提高。2.5.2Gensim框架Gensim,用于主题建模,文档索引和大型语料库相似性检索的Python库,流行算法的高效多核实现,多应用于自然语言处理和信息检索社区,如在线潜在语义分析(LSA、LSI、SVD)、潜在狄利克雷分配(LDA)、随机投影(RP)、分层狄利克雷过程(HDP)。现今,也同时支持其他自然语言处理任务,如将单词转换为向量(word2vec),将文档转换为向量(doc2vec),查找文本相似性和文本摘要。2.5.3Transformer架构自论文《AttentionIsAllYouNeed》发表以来,Transformer架构开始逐渐热门。改架构使用注意力机制。如循环神经网络(LSTM),Transformer是一种通过两个部分,即编码器和解码器,将序列数据转换为另一个序列数据的体系结构,可以计算输入序列中所有位置的相似度得分。与其余的序列到序列(Seq2Seq)模型不同,其中并不包含递归网络,经典架构如图。图2.2transformer经典架构2.6本章小结本章通过分析现下生物医学领域文献相似度计算的特点及难点,分类介绍课题所使用的相关技术与算法原理,如注意力机制获取文本中重点信息,采用基因本体识别、基因本体相似度作为文献间的相似度的计算基础;详细介绍了相似度计算中所涉及的技术实现部分,如Pytorch框架实现基于循环神经网络的孪生神经网络模型,Gensim框架实现基于隐含狄利克雷分布的文献相似度算法,Transformer架构实现对文本的注意力权重计算。3.基于知识图谱的生物医学文献相似度分析系统算法研究3.1本文算法解决的主要问题生物医学文献相似度分析,实际上是通过深度学习的方式将大量文献逐对计算文献间的相似度。基于基因本体论对文献相似度分析研究,主要解决,生物医学文献过长、生物医学术语复杂,不好分析文献间相关性的问题。从知识图谱基因本体论的角度,解决模型对生物医学文献的认知,挖掘文献间的相似度;通过self-attention自注意力机制,获取文献中每个词的注意力权重,将模型聚焦于重点关联词句中;通过LSTM模型,学习文本中长期依赖信息,并通过惩罚项,学习句子内部的词依赖关系,挖掘句子内部结构。从语义层面,衡量文献间相似性,辅助研究人员快速挖掘文献间的相关性及相似点。3.2生物医学文献相似度算法思想本文主要研究基于知识图谱的生物医学文献相似度算法,在基因本体论知识库(知识图谱)中,本体涵盖三个领域:细胞成分、分子功能、生物过程。每个GO术语都有一个术语序号,作为唯一的字母数字标识符。因此,基于基因本体论的特殊性,本文算法的描述如下:首先,生物医学文献中,最重要的信息即为生物医学专有词汇,通过专有词汇间的关系可推测文献间的关系。但由于基因本体知识库蕴含术语过多,文献撰写者难以全部记忆,不同撰写者往往会自创不同词句来指代同一GO术语。因此,文献相似度算法的关键点为识别文献中的GO术语,在对文献数据预处理前需先完成本体识别任务。其次,由于知识库的特殊性,本体间以有向无环图的拓扑结构相互联系,因此获得GO术语序号后,须以基因本体论中专有的计算术语间相似度方法,完成相似度度量任务。此外,存在GO术语的部分词句也表明了文献中的局部特征,需要在该类位置加强权重比例。然后,本课题数据集主要由文献标题、文献摘要构成,属于长序列文本,因此采用注意力机制,通过学习文本中每个词的全局注意力分数,作为计算文献相似度模型中前向传播的部分权重。最后,结合上述部分中的GO术语间的相似度方法、全局注意力分数等数据,针对长序列文本的特性,采用循环神经网络(LSTM)作为孪生神经网络的编码器,避免模型忘记较早时输入的数据信息。对孪生神经网络[15]中的两个输出序列度量相似性,并与输入序列的标签比较,计算余弦相似度作为损失函数,进一步调整模型中的权重。3.3生物医学文献相似度算法实现3.3.1数据预处理对原始数据预处理的目的是,将原始数据通过清洗、筛选、合并处理等手段,获得含信息量大、适合训练模型的数据集。预处理主要有分词、去停用词、去除数字、去除有效长度多短的词等标准步骤。首先,由于原始数据采用json格式储存,存有大量与本课题无关的冗余属性需去除,将文献信息删减至仅包括文献标题、Mesh词标签、摘要、文献编号PMID。为便于明确文献是否属于同一类别,将含多Mesh词标签的文献去除,仅保留含有单个Mesh词标签的文献。然后,将文献编号PMID作为文献的唯一索引,合并标题与摘要作为训练数据,Mesh词标签作为文献分类类别,为方便后续模型计算,将标签映射成数字形式储存在数据集中。接着,由于GO术语识别的特殊性,需先获取GO术语的位置与GO序号,将文献中GO术语对应的部分转换为GO序号,再通过句号、空格对文本信息进行分句、分词,去除文本中与主体信息无关的冗余数据,去除数字、停用词如程度词、助动词、介词等,去除词向量模型中无法识别的词汇。最后,通过统计各类文献中的GO术语的数量与占有效文本中的比例,截选部分含GO术语较高、所占百分比较高的文献作为实验数据集。为简化模型中的数据加载过程,将词向量中包含的词汇映射成数字,同时将文本序列转换成对应的数字序列保存。3.3.2构建本体识别模型本体识别的过程中,以ncgocr模型为基础,将命名概念的较小片段作为基本识别概念单元,例如,在GO序号为“GO:0031047”的GO术语“RNA-mediatedgenesilencing”中,包含了两个命名概念“RNA”与“genesilencing”。将GOCR任务分为字典匹配和机器学习步骤。载入GO术语知识库(内含24337条术语,30306条声明),及经标注GO术语的CRAFT语料库(内含67篇文章,21646条标注信息)作为字典匹配,将CRAFT中的词句与标注之间的映射关系作为机器学习的数据集。通过收集训练数据中使用的术语名称,通过命名概念的连接,增强模型领悟GO术语同义词的概念,以此增强在文本中识别更多GO概念的能力。训练完成后,将本课题中涉及的数据集带入模型中训练,完成GO术语识别任务,结果为五元组(PMID,GOID,start,end,GO),如下表3.1。表3.1文献序号为4132的基因本体识别结果PMIDGOIDstartendGO4132GO:0005623229237cellular4132GO:0005622280293intracellular4132GO:0005576298311extracellular4132GO:0005179439447hormonal4132GO:0051606489496sensing4132GO:0042592562573homeostatic4132GO:0051606658665sensing4132GO:0008152709718metabolic通过收集训练数据中使用的术语名称,通过命名概念的连接,增强模型领悟GO术语同义词的概念,以此增强在文本中识别更多GO概念的能力。3.3.3计算全局注意力权重通过Transformer框架下的Longformer,即预训练模型“longformer-base-4096”[13]。Longformer是一种类似BERT的模型,其针对长文档进行了最小学习机(MLM)训练它,且最大支持长度为4,096的输入序列。首先,调整数据集以适应模型的输入条件,采用预处理中去除停用、数字等无关信息的数据集版本;然后,初始化局部注意力掩码,由于模型将未达到设定长度的序列自动填充零,因此需通过在掩码中标注的方式,使得模式针对有效文本数据计算注意力分数。其次,在模型中,通过计算窗口化的局部注意力分数,经归一化处理后,作为句子中单词与单词间的注意力分数。最后,通过初始化全局注意力掩码,通过在掩码中标注的方式,使得模型针对待计算全局注意力的词条完成计算任务,关键代码如图3.2。图3.2生成全局注意力分数矩阵的关键代码该模型中输出的结果为四元组:(batch_size,num_heads,sequence_length,x)。其中x,经过加权平均计算,可获得各个标注计算全局注意力分数的词语对应其他词语的注意力权重。由于该模型输出数据并不规整,仅截取含有全局注意力分数的部分,去除矩阵中填充为0的位置,便于后续相似度计算。3.3.4构建基因本体相似度计算模型基因本体[14]间存在两种类型的子对父关系为“is_a”与“part_of”,当子术语是父术语的子类时,关系为“is_a”,当子术语是父术语的一部分时,关系为“part_of”。采用GO术语间相似度计算wang方法时,假设“is-a”和“part-of”关系的语义贡献因子分别为0.8和0.6,与所经过的边相乘计算该路径的语义贡献值,关键代码如图3.3。图3.3计算基因本体相似度的关键代码给定一个术语c1与及其父术语p,用Sc1,p表示父术语p对术语c1的语义贡献,P1为术语c1的所有祖先术语的集合,P2为术语c2的所有祖先术语的集合,图3.4wang方法基因本体相似度计算公式3.3.5构建文献相似度计算模型普通文献相似度计算模型首先,将文献按句号拆分成句子序列,再通过空格将句子拆分成单词,得到按句子划分的单词序列。然后,将文献中的字词分为两类,一类为通过本体识别模型识别出的基因术语,一类为非基因术语的普通单词,分别采用GO词向量序列与PubMed-shuffle-win-2的生物医学文本词向量模型对单词完成映射。接着,通过逐对比较文献中的句子与另一文献中的句子,先计算词向量与词向量间的相似度,通过基因本体相似度组成的权重矩阵,加权平均获得句子与句子间的相似度矩阵,通过归一化计算句子级的相似度。最后,由句子相似度组成文献与文献间的文献级相似度矩阵,最后则再一次通过归一化计算文献级的相似度。基于孪生神经网络的文献相似度计算模型一方面,定义循环神经网络,用于记忆长序列文本中的较早输入数据,避免计算至数据结尾处,遗忘开始部分数据信息。在模型的前向传播的部分,将数据中的映射序号转换为词向量,再通过根据权重信息对由词向量加权,完成循环神经网络的权重更新与结果输出,如图3.5。图3.5循环神经网络前向传播的关键代码另一方面,定义孪生神经网络,通过将循环神经网络作为解码器。在模型的前向传播的部分,通过两个输入序列间的GO术语位置与信息更新权重矩阵,输入至内部的循环神经网络中,完成孪生神经网络的权重更新与结果输出。3.3.6对比实验模型(1)隐含狄利克雷分布[16]模型采用Gensim框架下的models.LdaModel模型。通过该模型将数据集分类后,获得各个主题中的主题词,再获得文献的主题概率分布,最后通过主题概率分布计算文献间的相似度。(2)PubMed-shuffle-win-2词嵌入模型采用Gensim框架下的KeyedVectors.load_word2vec_format加载预训练的词嵌入模型PubMed-shuffle-win-2,该模型采用大量的Word2vec模型进行嵌入训练。因此,仅需将数据集直接输入模型,便可获得将文献中的词语转换成词向量,直接通过计算词向量间的余弦相似度获得文献相似度。3.4实验设计与结果分析3.4.1实验环境由于实验数据过大,导致难以单靠CPU及现有GPU机器完成模型的训练工作,需要使用云服务器加速模型训练,正因如此由于主开发机上未有GPU因此难以调试torch.cuda(),因此采用了三个实验环境:开发机、调试机与云服务器。开发机的操作系统为macOSBigSur,CPU为IntelCorei5@2GHz,内存为16GB,开发环境是PyCharm;调试机的操作系统为Windows10,CPU为IntelCorei5-6300HQCPU@2.30GHz,内存为8GB,GPU为NVIDIAGeForceGTX965M,开发环境是PyCharm;训练模型使用矩池云中的云服务器,操作系统为Unbuntu20.04,CPU为Intel(R)Xeon(R),CPU内存为32GB,GPU为NVIDIAGeForceRTX2080Ti,显卡内存为11GB。3.4.2数据集UVigoMED数据集,2014年的MeSH树结构,采用2014年MeSH树结构中的疾病组,其中包含26个类别。数据来源为MEDLINE,收集了所有类别下2014年文章的所有描述,并从每篇文章描述中提取标题、摘要及其所属的类别。为便于数据整合、处理、分类,将文章类别映射为数字,如下表所示。表3.6种类序号与种类名称的对应情况及所属文献个数种类序号种类名称文献个数1Animal

Diseases44692Bacterial

Infections

and

Mycoses52823Cardiovascular

Diseases8694Chemically-Induced

Disorders26665Congenital

Hereditary

and

Neonatal

Diseases

and

Abnormalities38676Digestive

System

Diseases52767Disorders

of

Environmental

Origin238Endocrine

System

Diseases38819Eye

Diseases171810Female

Urogenital

Diseases

and

Pregnancy

Complications54811Hemic

and

Lymphatic

Diseases320412Immune

System

Diseases18313Male

Urogenital

Diseases425814Musculoskeletal

Diseases29215Neoplasms278316Nervous

System

Diseases51317Nutritional

and

Metabolic

Diseases93218Occupational

Diseases33219Otorhinolaryngologic

Diseases118720Parasitic

Diseases170721Pathological

Conditions

and

Signs

and

Symptoms146322Respiratory

Tract

Diseases170323Skin

and

Connective

Tissue

Diseases17524Stomatognathic

Diseases194925Virus

Diseases46826Wounds

and

Injuries5097表中可见,数据集本身存在种类分布不均的情况,如种类7:DisordersofEnvironmentalOrigin仅有23篇文献,而种类26:WoundsandInjuries存在5097篇文献。图3.6存在基因本体的文献于UVigoMED数据集的分布情况经过对完整数据集分析与基因本体识别后,发现含基因本体的文献占比较少且存在数据不平均的问题,如图3.6与3.7。图3.7不存在基因本体的文献于UVigoMED数据集的分布情况于图3.8中可见,类别1与类别2中存在大量含GO术语的文献,分析比较不同类下各文献中识别到基因术语数量分布情况。如图3.9,其横轴为文献中含基因本体的数量,纵轴表示在目标种类下包括该数量基因本体的文献总数。图3.8是否存在基因本体于UVigoMED数据集的对比情况图3.9各种类下文献中含固定数目基因本体的分布图从图3.9中可发现,各种类中含基因本体数目中段的文献个数相对平稳且接近。因此为确保使用数据集的均衡性,将含基因本体较少的类别去除,同时选取剩余16种中GO术语数量较多,且占文本比重较高前20篇文献数据,共组成320篇文献参与模型训练。3.4.3评价指标谱聚类技术利用相似性矩阵中数据的频谱,来进行降维便于多维聚类,因此对于处理稀疏数据的聚类很有效。而传统聚类算法诸如K-Means很难做到。其原理是,将相似度矩阵中所有的数据都看作图中的点,通过对所有数据点组成的图进行切图,降低相异子图间边权重和,提高子图内的边权重和,从而达到聚类的目的。在本实验中,便采用谱聚类的方式评估实验结果,提供相似度矩阵作为输入。3.4.4实验结果与分析Fowlkes–MallowsIndex(FMI)值越高,表明聚类和基准分类之间的相似度越高。值接近于0表示两个标签赋值基本独立,而接近于1的值表示显著一致。AdjuestedRandIndex(ARI)调整兰德指数,取值范围为[-1,1],负值表示独立标记,存在相似聚类则取值为正。AdjustedMutualInformation(AMI)调整互信息,通过互信息的变化来衡量聚类结果;Vmeasure是均匀性和完整性之间的谐波均值。本章涉及算法实验结果可见表3.10,经观察可发现,孪生神经网络模型在其中效果最佳,普通文献相似度计算模型仅次于词嵌入模型,而主题模型效果最差。进一步确定了,通用模型难以直接迁移至垂直领域,诸如生物医学领域下使用。表3.10各算法模型的实验结果FMIAMIARIVmeasure隐含狄利克雷分布模型0.530.520.500.18PubMed-shuffle-win-2词嵌入模型0.570.600.540.66普通文献相似度计算模型0.560.560.530.72孪生神经网络的文献相似度计算模型0.630.670.600.453.5本章小结第三章提出了本文算法主要解决的问题,辅助研究人员快速挖掘文献间的相关性及相似点。在算法实现部分,逐条陈述实验的过程,并就实验环境、数据集、实验结果进行了介绍。生物医学文献相似度分析系统的设计与实现4.1需求分析生物医学文献相似度分析系统的主要需求是分析文献间的相似度情况,除此之外还增加了生物医学文献的管理功能与用户身份验证功能。首先,用户在系统主界面可根据Mesh词表按类检索查看文献的信息。基于前文算法的基础上,实现了生物医学文献间的相似度计算功能。因此,用户通过点击主页面上的任何一个文献都可转到该文献的详情页,查看文献的具体内容。通过显示界面,用户可以查看与该文献与其余文献的相似度情况,同时了解算法判定相似度的过程,即查看文献中的GO术语分布情况,及全局注意力分数分布情况等,从而实现分析文献相似度的目的。其次,在系统中,用户查看了文献的相似度情况后,若对文献的相似度分析过程感兴趣,可以保存该文献的分析过程,以便后续查阅;若对相关的文献产生兴趣,可以通过收藏的方式,保存该文献在主页中进行查看。最后,本系统需用户完成身份认证后才可进入,即通过邮箱认证后,确定用户的真实性后,才可进入系统查看本系统内对文献相似度分析的过程。4.2系统总体设计4.2.1系统框架图本系统旨在以知识图谱的角度,分析生物医学领域下文献相似度情况。(1)识别单个文献中的GO术语,即展示在生物医学领域下的专有词汇分布情况;(2)分析单个文献中句向量的注意力权重,即展示句子内部的依赖关系与该句子中的重点关注内容;(3)分析多个文献间的相似度产生原因,解释模型计算相似度的过程;(4)自动划分多个文献的种类,展示多个文献间的相关程度与分类情况。上述四大功能,第1项最重要,需要对原始数据预处理——完成GO术语识别、分词、去除停用词等操作后,以知识图谱及网页标识的形式进行,GO术语布局情况可视化;第2项,是要找到句子内部的依赖关系,即重点字词,进行强弱标识;第3项,需要分析文献相似度,需要以多种模型对照实验计算文献的相似度矩阵;第四项,对多个文献划分的种类,并与数据集标签对比实验结果是否正确。并且,本系统的数据库中包含原始文本信息及其对应的标签信息、术语识别信息、attention权重信息、词向量信息、相似度信息,用于数据交换。详细系统框架如图4.1所示。图4.1系统主框架流程图4.2.2系统架构设计经验证身份后,用户只需要使用手机或电脑与生物医学文献相似度分析系统完成交互,就可以获取文献相似度分析的过程,实现文献管理的功能。首先,用户通过移动端在网页上对系统服务器发生访问请求,服务器根据请求数据在数据库中检索、查询信息,最终数据库返回查询结果,服务器端返回响应,从而完成用户与系统之间一个周期的交互行为,如图4.2。图4.2系统架构图4.2.3开发框架选择与介绍本章设计的生物医学文献相似度分析系统的主要模块有四个板块:基于Flask框架的网页服务器模块,基于MySQL数据库的数据管理模块,基于Bootstrap的前端框架,基于D3.js、plotly.js可视化库。Flask是采用Python编写的微型Web框架。无需要特定的工具或库,没有数据库抽象层、表单验证或任何其他现有的第三方库提供公用功能的组件。但是,Flask支持添加应用程序功能的扩展,可以使用MVC框架进行系统的开发,通过模型部分完成与数据库的交互,通过视图部分完成前端界面的显示、跳转,通过控制器接收用户的请求内容。MySQL,是一种开源关系数据库管理系统(RDBMS),通过将数据存储到一个或多个数据表中,其中的数据彼此存在关系。Bootstrap是一个HTML,CSS和JS库,致力于简化信息丰富的网页的开发。在其添加到Web项目后,Bootstrap将颜色,大小,字体和布局的选择应用于此项目。Bootstrap会为所有HTML元素提供基本的样式定义,使得整个Web浏览器中排版、表单、按钮、导航等界面组件的外观统一。此外,开发人员可以利用Bootstrap中定义的CSS类来进一步自定义其内容的外观D3.js是一个JavaScript库,用于在Web浏览器中生成动态的交互式数据可视化。它利用可伸缩矢量图形(SVG),HTML5和级联样式表(CSS)标准,使用预建函数来选择元素,创建SVG对象,设置其样式或向其添加过渡,动态效果或工具提示。Plotly为个人和企业提供在线图形,分析和统计工具。其中Dash该公司旗下的开源产品,是一个基于JavaScript库React的Python框架。4.2.4数据库设计数据库设计是系统开发的基础,关系到后续系统后端数据交互的合理性,因此不仅需要考虑用户的使用场景,也需要考虑系统业务的内部数据流转情况。生物医学文献相似度分析系统的主要数据,毋庸置疑是文献信息,即文献序号、文献标题、文献摘要、文献类别、文献中的基因本体信息、文献的注意力分数矩阵,相似度分析信息,即文献1序号、文献2序号、文献间的相似度。图4.3数据库设计由于本系统需通过身份验证才可进入系统查看文献相似度分析信息,因此用户间存在普通用户与管理员之间的权限差异,即普通用户可查看分析信息,而管理元可以查看用户信息,删除非法注册用户。整体数据库设计如图4.3,从而实现系统的内部逻辑实现闭环。4.3系统实现4.3.1相似度分析功能相似度分析功能主要是将课题中文献间相似度的计算过程进行了可视化的展示。可视化的部分,可分为四个板块:可视化文献间基因本体的关系[17],如图4.4。图4.4文献中基因本体可视化标注文献中的基因本体与其在基因本体论中的序号,可视化该文章的全局注意力分数[18],可视化与该文章相似度分数前五的文章,如图4.5。图4.5全局注意力分数矩阵及识别基因本体结果4.3.2文献管理功能文献管理功能,系统MeSH词表分类显示文献信息,如图4.6;用户可将感兴趣的文章或其分析过程保存至个人中心,如图4.4;或是在该文献相似度分析界面,完成下载功能,如图4.5。图4.6分类展示类别下文献信息4.3.3身份验证功能身份验证功能,即用户查看本系统中的文献相似度分析报告前,需先完成个人的身份验证,新用户需完成邮箱注册后才可登录,老用户需密码登录,如图4.7,管理员可对非法注册用户完成清除操作。图4.7新用户注册、老用户登录界面4.4本章小结通过对系统需求分析,挖掘用户痛点,合理将用户需求合并至系统的主业务流程,使得用户提高查阅文献效率,降低时间成本。而后,通过对系统总体设计逐条陈述,设计理念、实现方法、实现功能情况。5.总结与展望5.1总结本文提出了一种基于知识图谱的生物医学文献相似度算法,并在此基础上完成了相似度分析系统的设计与实现。本文在实现上述工作的工程中主要进行了以下的相关工作:

(1)本文对文本相似度计算的背景进行了调研,分析总结了相关领域国内外研究现况及细分领域,发现传统相似度计算方法难以有效解决生物医学文本中的词汇多变问题,现如今,往往需要依靠知识库、深度学习语义分析。其次,哪怕是在通用领域中效果极佳的深度学习模型,也难以在诸如生物医学之类的垂直领域发挥出功效。因此,针对生物医学文献相似度计算的难点,分成有效分类文献少、生物医学文本复杂、基因本体识别难三个板块进行了详细说明。(2)本文在分析了当前文献相似度计算的难点后,确定了本文算法主要待解决的问题。本文针对有效分类文献少的问题,采用了UVigoMED数据集,其采用了2014年疾病类的MeSH词表,将文献划分为26个类别;针对生物医学文本复杂的问题,采用了循环神经网络、全局注意力矩阵、知识图谱基因本体论,通过在文献中检索基因本体的方式,挖掘文献间的相似度;针对基因本体难以识别的问题,基于ncgocr模型,采用半监督的训练方式,通过识别标注数据集中基因本体的片段,以共享通用连接词的方式,增强模型对基因本体的同义词识别能力,从而增强文本中的基因本体识别能力。(3)为实现文献相似度算法,本文采用孪生神经网络[19],采用相同结构的模型,通过基因本体与全局注意力权重的相关信息,输入不同文本获取不同输出序列,对其完成相似度计算。为确保模型训练的准确性,提取UVigoMED数据集中基因本体含量较高的16种,并且筛选出每个类别中基因本体含量最高的20篇文献组合成新的训练数据集。(4)在基于文献相似度的算法基础上,又提出了三种相似度算法参与对比实验,最终将本算法作为基础,完成文献相似度分析系统的算法板块。为确保相似度分析过程具有可读性、可使用性,采用D3.js可视化基因本体间的关系,采用plotly可视化文献的全局注意力分数矩阵,采用bootstrap统一web端的界面格式与设计,采用flask轻量级开发web服务器。5.2展望本文提出的基于知识图谱的生物医学文献相似度算法,仅采用了16个类别,每个类别20篇文献,总共320篇的较小规模数据集参与模型训练,所以接下来将对更大数据集进行测试研究。另外一个主要问题是,由于训练设备的经济问题,整个训练过程仅经过了6个epoch,未能对更多的模型迭代情况展开探讨。此外,本算法所使用的深度学习框架为PyTorch,该框架设定为每次运行它知道用于组成算法的单个操作,需一个接一个地执行操作,导致涉及启动CUDA内核的操作的内核产生一定的开销。今后,尝试使用TensorFlow对本次使用孪生神经网络进行时间、空间效率上的优化。本次设计与实现的生物医学文献相似度分析系统可以实现文献间的相似度分析功能。该功能也是本系统的重中之重,从现阶段项目的实现中,依然存在着不少待优化的地方,由于本课题倾向于算法的实现与设计,较少时间完成系统的搭建,使得本系统中的衍生功能较少,虽整体系统形成闭环操作,但是缺少派生操作,如文献实时分析相似度情况。此外,在系统中虽实现了知识图谱[20]的可视化功能,但由于基因本体论需通过OLS才能导入至neo4j图数据库,因此未能根植于neo4j图数据库,实现更多相关功能。

参考文献范少萍,安新颖,逯万辉.医学文献

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论