随着生物医学领域研究的飞速发展,生物医学文献正在以指数增长[ 1]。截至2013年3月国际上生物医学领域的权威数据库Medline(http://www.ncbi.nlm.nih.gov/pubmed)已经含有2 200多万条记录,并且每年以约60万条记录的速度增长。但是,人们对生物医学数据处理和分析的进度却远远落后于数据本身的增长,这就产生了生
物医学信息过载问题[ 2]。因此,生物医学研究者迫切需要一种有效的工具来高效地利用这些文献中所蕴含的生物医学知识。
关系抽取可以帮助生物医学研究者解决信息过载的问题。当前,生物医学领域的关系抽取主要集中在基因与基因关系、蛋白质与蛋白质相互作用关系、基因与疾病的关系、基因与药物的关系、疾病与治疗的关系等方面。生物医学实体语义关系抽取主要采用基于共现(Co-occurrence Based)[ 3, 4, 5, 6, 7]的方法、基于自然语言处理(Natural Language Processing, NLP -based)[ 8, 9, 10, 11, 12, 13, 14]的方法和基于模式匹配(规则) (Rule-based)[ 15, 16, 17, 18]的方法。这些方法都有各自的优缺点,通常将现有方法有机结合[ 19, 20]来提高系统的性能。
但是,上述这些关系抽取的研究多数停留在生物医学实体之间是否存在关系的层次上,很少有学者针对如何抽取表达具体关系类型的语义关系动词[ 21]进行研究。而实际上,描述生物医学实体关系主要是基于句子中能够反映语义关系的一些动词,利用这些动词进行关系抽取能准确地呈现出复杂句子中实体关系的描述规则, 在判断实体关系上有更好的效果。因此,有学者提出利用关键动词来识别实体间语义关系的研究思路。
Sekimizu等[ 22]利用文摘中高频动词识别基因以及基因产物之间的因果关系,首先人工确定常见的关键动词,如activate(激活)、bind(结合)、interact(相互作用)、regulate(调节)等,再利用EngCG句法分析器对句子进行浅层句法分析,找出句子中动词的主语、宾语,进而判断基因之间是否存在相互作用关系,其准确率在67.8%-83.3%之间。
Albert等[ 23]自拟出13个表示蛋白质相互作用的动词,如to interact(相互作用)、to bind(结合)、to associate(相关)等,利用蛋白质名称词典,从Medline记录中提取出两个蛋白质和一个相互作用动词三者同时出现的句子,最后归纳出3 308个蛋白质相互作用关系。
Sharma等[ 24]首先人工搜集含有关系的句子中与UMLS的54种语义关系语义相近的所有动词,然后利用OpenNLP生成句法树识别和提取句子中的主要动词,最后采用基于临近的方法(Proximity-based)提取动词前后的两个主要实体,进而提取关系,他们将这种算法称为以动词为中心的算法。
从上述利用关键动词识别实体间语义关系的研究中,可以发现确定表达语义关系的动词是开展信息抽取的基础和关键步骤,而且提取的语义关系动词还可以应用到其他相关领域。但是,目前研究中所利用的关键动词主要是人工选取的,涉及的主观因素(如研究者或系统开发者的相关专业及语言学知识的深度和广度)较多,且费时费力,影响关键动词选取的客观性、准确性和全面性。因此,本文提出一种客观地、系统地提取表达特定语义关系的动词的方法,即根据文献数据库文献记录的主题词关联规则来提取关键动词的研究思路。
在以往的研究中,主题词作为书目文献数据中的元数据,其在同一篇记录中的共现遵循着一定的关联规则,即某些主题词经常同时在一篇文献的记录中共现,并且这些经常共现的主题词之间存在确切的语义关系。本文利用关联规则和聚类分析算法挖掘提取出主题词之间的关联模式,这些模式具有比较明确的语义关系,如主题词“药物X/治疗应用”与“疾病Y/药物治疗”之间有较强的关联,表明药物X可以用于治疗疾病Y,根据一定的关联支持度和可信度以及聚类分析的结果,筛选出可以应用的“主题词关联规则”。本文尝试将这些规则返回到具体的文献记录中进行文献收集,获取研究的样本集合。
以阿司匹林副作用为例,搜集与主题词关联规则相对应的文献记录,采用基于共现和自然语言处理的方法分别从药物(Aspirin)与所有疾病相关概念共现的句子、药物(Aspirin)和胃肠道出血相关概念共现的句子中客观地提取语义关系动词,并对这两种方法提取出的动词进行综合比较,确定最终提取结果。
根据已经过验证的主题词关联规则——药物副作用引起疾病的主题词关联规则[ 25](IF 药物类主题词/adverse effects(副作用) AND 疾病类主题词/chemically induced (化学诱导),THEN 药物 引起 疾病),选取阿司匹林及其常见的副作用胃肠道出血为研究主题,构建出检索策略Aspirin/adverse effects[majr] AND Gastrointestinal Hemorrhage/chemically induced[majr](majr表示主要主题词字段),在PubMed数据库检索文献,检索时间截止到2012年4月22日。将检索结果的摘要保存为Medline格式,作为文本挖掘样本。
MetaMap是语义知识表达(Semantic Knowledge Representationhttp://skr.nlm.nih.gov/)的核心组件,将Medline格式保存的文档导入MetaMap软件的批处理模式,可以将自然语言文本映射到UMLS超级叙词表中的医学概念,并且每个概念都注有相应的语义类型,这些概念和语义类型是进一步抽取的依据。
利用自编的Java语言实现的文本挖掘软件处理MetaMap返回的结果,以UMLS语义网络http://www.nlm.nih.gov/research/umls/META3_current_semantic_types.html中可以表示疾病的语义类型为依据,找出药物和疾病共现的句子,即同时含有Aspirin和疾病相关语义类型概念的句子。作为比较,还提取了Aspirin和胃肠道出血相关概念(相对更具体的研究主题)共现的句子。由于通常情况下标题很少使用动词,故将共现的标题句删除,仅保留共现的摘要句。选取了10种与疾病相关的语义类型,如表1所示,MetaMap抽取出的与胃肠道出血相关的疾病概念共21个,如表2所示。
共检索出338篇阿司匹林引起胃肠道出血的文献,利用自编的文本挖掘软件共抽取出440个同时含有Aspirin和疾病相关语义类型的句子、286个同时含有Aspirin和胃肠道出血相关疾病概念的句子,部分结果如表3所示:
利用Stanford Parser软件分别对两种方法抽取出来的句子进行句法分析,命令模式的句法分析结果如图1所示:
.(1)Tregex软件从Aspirin和疾病相关语义类型共现句子的句法分析树中共提取出180个与Aspirin相关的动词短语,如caused by aspirin,induced by aspirin等。这些短语中涉及的动词重复率很高,而且有不是表示药物与疾病关系的,如been、done、have、had、were、is等用来表达时态的动词,administer、take、use等表示用药的动词以及本文涉及的特定动词hemorrage、bleed、microbleeding。最后人工分析这些动词短语及句法树,共筛选出35个表示药物与疾病关系的动词,如表4所示:
人工分析共现句子的句法分析树的同时,还发现人们在表达药物副作用与疾病之间的关系时主要采用以下4种句式:利用动词的主动和被动形式直接表达;利用系动词或助动词加介词或名称短语的形式表达;利用介词短语表达;利用形容词或副词短语表达。具体表达方式如表5所示。
(2)采用同样的方法,从Aspirin和胃肠道出血相关疾病概念共现句子的句法分析树中人工共提取出 23 个表示药物与疾病关系的动词,如表6所示。
(3)动词最终提取结果.
人工筛选出的是可以表示药物与疾病关系的动词,还需进一步判断哪些是表示药物副作用引起疾病的动词,进而比较利用相对泛泛的主题(所有疾病)和利用具体的主题(胃肠道出血相关疾病)两种方法提取动词的效果,作为今后研究的参考。
表6 从Aspirin与胃肠道出血疾病共现的句子中提取出的动词
从Aspirin与所有疾病共现的句子中共提取出35个动词,其中5个(表4中斜体带下划线的动词)不是表示药物副作用引起疾病的,而是表示Aspirin预防或减少除胃肠出血外的某种疾病的,因此准确率为85.71%(30/35);从Aspirin与胃肠道出血疾病共现的句子中共提取出23个动词,其中有两个不是表示药物副作用引起疾病的,准确率为91.30%(21/23)。后者准确率相对较高,但是提取的动词没有前一种方法全面。
因此,为了保证提取动词的全面性,选取从Aspirin与所有疾病共现的句子中提取出的35个动词作为最终提取结果。最后,将不是表示药物副作用引起疾病的5个动词剔除,共提取出30 个表示药物副作用引起疾病关系的动词,即表4中未加下划线的动词。
本文将共现和自然语言处理两种方法结合使用,既可发挥共现方法易于实现的优点,又可结合自然语言处理在解析语义和逻辑关系方面的优势,可以有效地提高准确率。与人工确定动词的研究相比,本文能够部分自动地提取语义关系动词,相对而言更客观、更全面。
一体化医学语言系统(UMLS)共定义了54种语义关系,通常用于表达各种实体间的多种关系,如 “引起(causes)”,根据它的定义(Definition of the Relation,DEF),它可以表示诱导(induces)、影响 (effects)、病因学(etiology)等。通过主题词关联规则聚焦于表示“药物副作用引起疾病”这一特定的语义关系,对“引起”这一语义关系做了进一步的细化,充实完善UMLS中所定义的语义关系。此外,UMLS的语义网络中没有系统地定义或公布出表达某种语义关系的具体动词,在对语义关系的定义中只列出部分表达这种关系的动词。本文则系统地搜集了表示某种语义关系的动词,这填补了UMLS的语义网络中对动词列举的空白。
利用本文的成果,可以将提取的语义关系动词与实体一起构建信息抽取模板,抽取有关的句子,抽取出的这些句子可用于构建问答系统。还可以利用抽取出的动词表达本体中概念之间的特定关系,进而构建本体知识库。此外,可以尝试将表示语义关系的动词嵌入到信息检索策略中,提高检索的准确度,尤其是对于没有主题词标引的文献数据库或者标引系统不是很完善的书目文献数据库(如Web of Science),利用动词和实体构建检索策略将更加具有实用价值。
由于自然语言表达的复杂性,在提取动词阶段进行了人工干预,这是本研究的不足之处。本文只是对该方法的初步探索,在此次探索取得成功的基础上,今后的研究中将会编制自动化程序提取语义关系动词,来减少人为因素带来的误差,并进一步扩大研究范围,将其他已经确认的主题词关联规则中的语义关系动词也提取出来,进而应用到信息抽取、信息检索等领域。还可以将本文的研究方法推广到其他领域,如基因与疾病关系、 蛋白质与疾病关系等,更好地帮助生物医学研究者从信息海洋中获取有用的知识。
通过对阿司匹林副作用引起胃肠出血的文献进行挖掘分析,本文提取语义关系动词的方法是可行的。利用已经过验证的主题词关联规则(药物/副作用 AND 疾病/化学诱导)搜集文献,然后采用基于共现和自然语言处理的方法,可以客观全面地提取文献中表达药物副作用与疾病间语义关系的动词。