APP下载

基于弱监督的蛋白质交互识别

2018-03-05彭昀磊

计算机技术与发展 2018年2期
关键词:键值相似性实例

彭昀磊,牛 耘

(南京航空航天大学 计算机科学与技术学院,江苏 南京 210016)

0 引 言

蛋白质是实现生命机能的基本单位,是生物细胞最重要的成分。细胞中的蛋白质通过相互作用完成细胞中的大部分过程,比如细胞内通讯。因而,蛋白质交互信息(protein- protein interaction,PPI)成为了解决大量医学难题的关键信息。目前,生物学家通过人工阅读大量的医学文献识别其中的PPI,并以统一的格式将这些重要的信息录入数据库,如HPRD[1]、IntAct[2]、MINT[3]。然而以上数据库中的PPI信息并不全面,而且随着生物医学的迅速发展,相关科学文献的数量正以每年千万篇的速度递增,新的蛋白质之间的关系也在产生。因此,手工地从医学文献中收集PPI信息难以满足现实的需求。

在此背景下,基于自然语言处理的PPI识别技术取得了很大进展。研究PPI关系识别的技术主要是基于有监督的机器学习方法,这种方法需要依赖于数量大且质量高的标注了蛋白质交互信息的文本集合,而构造此集合需要耗费大量的人力和时间。因此,文中提出了一种基于弱监督的蛋白质交互识别方法,只需利用少量已有的标注信息进行蛋白质交互关系的识别。该方法对蛋白质关系描述的上下文进行聚类,提取出交互关系描述的模式,利用模式对交互关系进行判断。最后通过实验对该方法进行了验证。

1 相关工作

近年来,研究者们越来越多地采用基于机器学习的方法进行PPI的识别[4-6],该方法主要是以单个句子为研究对象的,并且是有监督的。基于机器学习的方法主要包括两大类:基于特征的方法和基于核函数的方法。基于特征的方法试图从标注有交互关系的蛋白质对的句子中提取出对PPI识别有效的特征来建立模型,进而判断蛋白质对是否存在交互关系。例如,文献[7-8]从句子中的词汇形式、位置以及蛋白质的上下文等信息中提取特征。Yang等[9-10]使用了词汇、关键词、蛋白质实体间距离、链接等丰富的特征。基于核函数的方法首先深入研究句子结构,通过设计核函数衡量不同蛋白质对间的相似度,然后使用支持核函数的分类器进行PPI关系识别。例如,Bunescu R C等[11]提出了最短依赖路径核,将句子以树的形式表示,用两个实体之间的最短路径表示实体之间的关系;文献[12]使用图核,文献[13]使用多核,文献[14]使用基于树核的学习方法进行PPI信息的抽取。但是,有监督的方法需要大量有标注的数据,另外以单个句子为研究对象的方法只能依赖一个句子中的线索,对于句子复杂描述很难判断。

与上述方法不同,文中采用弱监督方式,只需利用少量的标注数据,利用与交互关系的模式的相似性对交互关系进行判断。

2 基于弱监督的蛋白质交互关系识别

文中是从文本中识别出有交互关系的蛋白质对,主要分为四个模块,下面详述之。

2.1 种子实例特征表示

该模块找到文本库中包含种子的句子,其中每个句子对应一个关系实例,然后生成关系实例的向量表示。因为一个句子中的上下文在表达交互关系上起了重要作用,所以提取上下文作为关系表达的特征。每个句子的上下文都分为三个部分:第一个蛋白质左边n个单词(BEF),两蛋白质之间的单词(BET),第二个蛋白质右边n个单词(AFT)。因为动词和名词通常有实际含义,所以只取出上下文中的动词和名词。对三个上下文,找每个单词的词根,构成其对应的特征集合f_bef、f_bet和f_aft。根据特征集合,得到关系实例的向量表示。其中向量采用0/1权重,即特征集合中的特征在上下文中出现,则权值为1,否则为0。

2.2 产生提取模式

PPI的文本描述存在相似性,比如interact、bind等词常用来描述PPI。本节根据PPI描述的相似性对PPI描述的上下文进行聚类,形成PPI描述的提取模式。

算法1描述了单次聚类算法的过程,该算法的输入是包含种子蛋白质对的关系实例的向量集合。下面详细说明聚类算法。

算法1:Single-Pass Clustering

输入:Instances={i1,i2,…,in}

输出:Patterns={}

1:Sort(instances)

2:cl1={i1}

3:Patterns={cl1}

4:for in∈Instances do

5:map={}//簇号和相似性值的映射

6:for cli∈Patterns do

7:simVal=Sim(in,cli)

8:if simVal>=Tsimthen

9:map=map∪{cli: simVal}

10:end if

11:end for

12:if map is not NULL then

13:sort(map,simVal)

14:index=map1[pattern]

15:clindex=clindex∪{in}

16:else

17:clm={in}

18:Patterns=Patterns∪{clm}

19:end if

20:end for

21:return Patterns

2.2.1 对实例排序

算法1的第1行是对实例排序。由于单次聚类算法具有明显的次序依赖特性,因此需要根据实例表示交互关系可能性的大小对实例进行排序。存在交互关系可能性大的实例越靠前,聚类效果越好。因此,文中先用f_bef,f_bet,f_aft对PPI的表达进行评估。

假设出现在多个交互关系描述中的单词对于表达交互关系比较重要。因此,统计一个单词在种子蛋白质对描述中出现的频率,用频率映射表来表示。频率映射表包含键和键值两个域。键表示一个上下文中出现的单词的词根,键值即为该词根的频率,即该词根出现在几个种子蛋白质对的描述中。然后,按键值从大到小的顺序排序。值越大,其对应的键描述PPI的重要性越大。相对f_bef和f_aft,f_bet对于关系的表达更重要,所以评分只根据f_bet。

对f_bet中的动词产生频率映射表,根据频率映射表来计算实例的f_bet得分。对f_bet中的每个词,如果其词根出现在频率映射表中,则找到其在映射表中对应的键值。然后采用两种方式对f_bet打分。(1)取所有词对应的最大键值作为f_bet得分;(2)取所有词对应键值的和作为f_bet得分。最后,根据实例中f_bet的得分,对实例从大到小排序。

2.2.2 对实例进行聚类

算法1的第2和第3行表示将排序后的实例集合中的第一个实例作为第一个簇中的第一个元素,第二个实例和它作相似性比较。若相似性满足阈值条件,则将第二个实例加入到第一个簇中,否则,创建一个新的簇,将第二个实例加入之。算法1的第4~20行表示依次计算实例in和每一个簇clj之间的相似性,选出实例和任意簇之间相似性最大的那个簇clindex,并且实例和该簇满足阈值条件,则将实例in添加到簇clindex中。如果实例in和最大相似性的簇都不满足阈值条件,那么创建一个新的空簇,将实例in添加进去。算法1的第21行输出所生成的簇,也即PPI关系的提取模式。

一个实例和一个提取模式之间的相似性是通过算法1第7行中的Sim(in,clj)来计算的,也就是计算实例in和簇clj内的各个成员实例之间的相似性。对Sim(in,clj),如果实例in和簇clj中半数以上实例的相似性都满足阈值条件,那么返回最大的相似性值,否则返回0。两个实例的相似性依赖于BEF、BET和AFT,计算实例与实例的相似性时采用如下公式:

Sim(im,in)=α·cos(v_befm,v_befn)+

β·cos(v_betm,v_betn)+

γ·cos(v_aftm,v_aftn)

(1)

(2)

其中,v_befm、v_betm和v_aftm表示组成实例im的三个上下文向量;α、β和γ分别代表了各自的权值,且β最大。文中设置α、β和γ分别为0.2,0.6,0.2。

2.3 寻找候选的关系实例

根据2.2节产生的提取模式,利用算法2寻找候选关系实例。对待判断关系的蛋白质对集中的每对蛋白质,和种子类似,在文本库中扫描包含该对蛋白质的句子。对每个句子,生成该句子对应实例的向量表示(算法第3行)。从所有关系实例中选出可能存在交互关系的实例,即候选关系实例。

算法2的输入为文本库,已知交互关系和待判断关系的蛋白质对集合,提取模式。

算法2的第1行表示初始化“模式-实例”映射表mapp-i,为空。“模式-实例”映射表的结构是一一对应的键值对,键的内容是提取模式,键值的内容是该模式提取出的所有候选实例组成的集合。

算法2:寻找候选实例

输入:Sentences ={s1,s2,…,sn};AllTupleSet={t1,t2,…,tn};Patterns={cl1,cl2,…,cln}

输出:candidateInstances CI

1:mapp-i={}

2:for si∈Sentences do

3:i=create_instance(si)

4:for cli∈Patterns do

5:simVal=Sim(i,cli)

6:if simVal>=Tsimthen

7:update(mapp-i)

8:end if

9:end for

10:end for

11:conf(Patterns)

12:conf(Instances)

13:return CI

每个实例都和提取模式逐个进行相似性计算,其运算方式和2.2.2节中计算实例和提取模式之间相似性的方式相同。如果某个实例i和某个模式j之间的相似性值满足阈值条件,表示该实例i成为了一个候选实例,称该模式提取出该实例,更新“模式-实例”映射表mapp-i(算法2第3~7行)。

不同的模式对表达交互关系的重要性不同,算法2第11行表示对模式的重要性打分。该得分反映了模式的可靠程度,得分越高,模式越可靠。模式得分公式如下:

patternScore=(|K|+|U|×wu)×|ACS|×|AIS|

(3)

其中,|K|表示“known”的数量;|U|表示“unknown”的数量。根据“模式-实例”映射表,由模式得到该模式提取出的所有实例,将这些实例和种子蛋白质对集合进行比较,若实例对应的蛋白质对出现在种子集合中,那么该蛋白质对被认为是“known”,否则认为是“unknown”。wu表示|U|的权值,因为unknown的可靠性不如known高,所以wu介于0~1之间,文中设置其为0.7。

在2.2.1节中,计算了每个实例的上下文得分,|ACS|表示一个模式提取出的所有实例的上下文得分的平均值,|AIS|表示组成模式的实例的平均相似性,即对组成该模式的实例,计算任意两个实例之间的相似性,并计算这些相似性的平均值。由此得到所有提取模式的得分,再将每个提取模式得分都除以其中的最高分,得到最终的得分。

文中对候选实例打分以评估一个候选实例的可靠性(算法2第12行)。该得分反映了实例对应的蛋白质对存在交互关系可能性的大小,实例得分越高,其对应的蛋白质对越有可能存在交互关系。候选实例的得分则根据如下公式:

Sim(i,ξj))

(4)

其中,ξ表示该实例i对应的所有提取模式的集合;patternScore(ξj)表示第i个模式的得分;Sim(i,ξj)表示该实例i和模式j的相似性得分。

2.4 用候选实例识别有交互关系的蛋白质对

每一个候选实例对应的蛋白质对,称为候选蛋白质对。本节对候选蛋白质对打分,得分越高,该蛋白质对越有可能存在交互关系。采用如下公式评分:

(5)

其中,ξ表示一个蛋白质对所对应的候选实例的集合。

最后,将满足tupleScore≥Ttuple(Ttuple是候选蛋白质对得分的阈值)的蛋白质对添加到种子集中,以用于下一轮的迭代,直到满足迭代的终止条件。

3 实 验

3.1 实验数据

实验中有交互关系的蛋白质对是直接从HPRD数据库中查询获取,并且只保留被PubMed数据库中一篇以上摘要包含的那些蛋白质对。而对于无交互关系的蛋白质对,将HPRD中的蛋白质随机组合成蛋白质对,去除已被HPRD数据库包含的蛋白质对以及未被PubMed数据库记载的蛋白质对。以一对蛋白质为查询参数,从文献中检索出描述这两个蛋白质的所有句子,作为该蛋白质对的签名档。设置一个句子中BET上下文的有效单词个数为6(有效单词个数是指不包括标点在内的单词个数,不够6个则取BET中所有的单词)。满足此要求的有交互和无交互关系的蛋白质对分别有964和870对,总共1 834对。这些蛋白质对对应的签名档构成文本库。从有交互关系的蛋白质对中随机选出50对作为种子。

3.2 实验设置

使用精度(P)、召回率(R)和F值(F)作为评价标准,它们的计算公式为:

(6)

算法1和算法2使用的相似性阈值Tsim相同。为设定合理阈值,从种子对应的实例中取2 000个实例,根据式(1),得到这2 000个实例两两之间的相似性值的分布。从分布值中发现,相似性值集中在0.22以下,从而确定Tsim为0.22。每一个Tsim的取值对应一个识别结果。

3.3 实验结果及分析

首先,比较两种上下文得分的计算方式。这里采用2.2.1节的两种打分方式计算实例的上下文得分,并将识别方法运算一次,获得识别结果。精度-召回率曲线(P-R图)如图1所示,其中候选蛋白质对得分的阈值Tsim在[0,5]范围内变化,以0.1为间隔,Tsim越小,对应的召回率recall越高。

图1 运算一次的P-R图

图中,maxCooccur表示取所有词对应的最大键值作为f_bet得分,plusCooccur表示取所有词对应键值的和作为f_bet得分。从图1中可以发现两种方式识别结果很接近;相同召回率下,maxCooccur方式的精度在大部分情况下比另一种高。说明取所有词对应的最大键值作为f_bet得分的识别结果更好。

下面,在采用maxCooccur方式计算实例的上下文得分的情况下,考察迭代运算结果。为避免召回率过低,设置Tsim为0,0.1,得到迭代后的识别结果,如表1和表2所示。

表1 Tsim为0时的识别结果

表2 Tsim为0.1时的识别结果

从两张表可以发现,随着迭代次数的增加,种子集合增大,召回率上升,精度下降,总的F值上升。Tsim为0和0.1的识别结果相比,前者的精度明显小于后者,召回率和F值明显大于后者。

文中只采用了50个种子作为系统输入,先对描述蛋白质交互关系的上下文进行聚类,而后提取出描述交互关系的模式,再用模式判断交互关系。算法综合考虑了单句和多个句子的线索,取得了较高的精度。

4 结束语

为减少对标注数据的依赖,提出了一种基于弱监督的蛋白质交互关系识别方法。该方法使用了少量的种子,取得了较好的识别效果。该方法在实例之间比较相似性时只考虑到了余弦相似性的计算,下一步的研究将尝试其他相似性计算方法。

[1] PRASAD T S K,GOEL R,KANDASAMY K,et al.Human protein reference database-2009 update[J].Nucleic Acids Research,2009,37:767-772.

[2] KERRIEN S,ALAM-FARUQUE Y,ARANDA B,et al.IntAct-open source resource for molecular interaction data[J].Nucleic Acids Research,2007,35:561-565.

[3] CEOL A,ARYAMONTRI A C,LICATA L,et al.MINT,the molecular interaction database:2009 update[J].Nucleic Acids Research,2010,38:532-539.

[4] 崔宝今,林鸿飞,张 霄.基于半监督学习的蛋白质关系抽取研究[J].山东大学学报:工学版,2009,39(3):16-21.

[5] 董美豪.基于文本挖掘的蛋白质相互作用对抽取方法的研究[D].哈尔滨:哈尔滨工业大学,2015.

[6] 杨志豪,洪 莉,林鸿飞,等.基于支持向量机的生物医学文献蛋白质关系抽取[J].智能系统学报,2008,3(4):361-369.

[7] NIU Y,OTASEK D,JURISICA I.Evaluation of linguistic fe-atures useful in extraction of interactions from PubMed;application to annotating known, high-throughput and predicted interactions in I2D[J].Bioinformatics,2010,26(1):111-119.

[8] 高 飞.基于MapReduce的蛋白质相互作用信息抽取系统的设计与实现[D].杨凌:西北农林科技大学,2016.

[9] YANG Z H,HONG L,LIN H F,et al.Extraction of information on protein-protein interaction from biomedical literatures using an SVM[J].CAAI Transactions on Intelligent Systems,2008,3(4):361-369.

[10] 刘敏捷.基于组合学习和主动学习的蛋白质关系抽取[D].大连:大连理工大学,2015.

[11] BUNESCU R C,MOONEY R J.A shortest path dependency kernel for relation extraction[C]//Proceedings of the conference on human language technology and empirical methods in natural language processing.[s.l.]:Association for Computational Linguistics,2005:724-731.

[12] AIROLA A,PYYSALO S,PAHIKKALA T,et al.A graph kernel for protein-protein interaction extraction[C]//Workshop on current trends in biomedical natural language processing.[s.l.]:[s.n.],2008:1-9.

[13] 唐 楠,杨志豪,林鸿飞,等.基于多核学习的医学文献蛋白质关系抽取[J].计算机工程,2011,37(10):184-186.

[14] 刘 念,马长林,张 勇,等.基于树核的蛋白质相互作用关系提取的研究[J].华中科技大学学报:自然科学版,2013,41:232-236.

猜你喜欢

键值相似性实例
浅析当代中西方绘画的相似性
非请勿进 为注册表的重要键值上把“锁”
一键直达 Windows 10注册表编辑高招
12个毫无违和感的奇妙动物组合
基于隐喻相似性研究[血]的惯用句
完形填空Ⅱ
完形填空Ⅰ
V4国家经济的相似性与差异性
注册表值被删除导致文件夹选项成空白
“扫除”技巧之清除恶意程序