论文部分内容阅读
随着生物医疗大数据的不断增长,用户对生物医疗大数据的搜索需求也随着具体生物问题的不同而蕴含着特定的语义需求。传统的搜索引擎如Google、百度等通用搜索引擎并不能够有效地利用生物语义关联关系,搜索出符合用户需求的生物医疗数据资源、信息,从而提供高效的生物医疗大数据搜索。国家863项目“生物大数据表述索引、搜索与存储访问关键技术研发”针对这个问题提出了解决方案。该项目目的是对整合的跨多数据源生物医疗大数据利用生物语义关联关系做生物医疗关联搜索引擎,而对于生物医疗大数据关联搜索引擎的构建,基于生物网络的多关键字关联搜索的算法研究是其中不可或缺的重要部分。近年来,基于图上的关键字子图查询匹配、基于图上关键字搜索问题都有相应的算法研究。但是若是把这些算法直接应用到生物网络中,便会存在着一定的不适性,使得查询结果在某种程度上缺乏生物语义信息和隐含结构信息。而且当网络规模和查询关键字集合达到一定程度的时候,算法的时间效率上会出现瓶颈。本课题为了解决这些问题,设计了一种层次斯坦纳树算法,并开展了实验。本课题针对基于生物网络的多关键字关联搜索问题提出层次斯坦纳树算法在生物网络中找到多关键字关联搜索的最优子网络,从而在帮助用户找到查询的关键字同时,帮助用户发现他可能感兴趣的相关知识。通过研究斯坦纳树问题及斯坦纳树问题在生物信息学中的应用,将生物网络上多关键字关联搜索问题建模到斯坦纳树问题上。考虑到斯坦纳树问题是NP-难解问题,我们在应用斯坦纳树来解决该问题的时候,选择了利用层次聚类算法来对生物网络进聚类预处理,以达到在进行多关键字关联搜索的时候,控制生物网络规模的同时可以控制斯坦纳树算法运行的终端节点的规模,以此来解决斯坦纳树算法的时间效率问题。图上斯坦纳树算法没有考虑网络中节点重要性,通过设计加入网络节点重要性计算,来突出生物网络中相关中心点。本课题算法主要由生物网络层次聚类预处理、层次聚类树状图分割、层次超图构建、节点重要性计算、Dijkstra’s-Steiner算法、层次斯坦纳树算法设计这六个部分组成。实验结果证明,在维持与Dijkstra’s-Steiner斯坦纳树算法找出的子网中间有效信息量差距不大的情况下,突出了生物网络中相关中心点,并且在时间效率上有了很大的提高。