APP下载

基于词向量的特征词选择

2018-06-20彭昀磊

计算机技术与发展 2018年6期
关键词:特征词频数相似性

彭昀磊,牛 耘

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

0 引 言

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

在此背景下,有监督的机器学习方法被大量地运用到研究PPI关系识别中,但需要依赖于大量的文本集合,并要求文本集合质量高且标注蛋白质交互信息,而构造这样的集合需要耗费大量的人力和时间。因此,笔者在之前的研究中提出了一种基于弱监督的蛋白质交互识别法,只需利用少量已有的标注信息进行蛋白质交互关系识别。该方法对蛋白质关系描述的上下文进行聚类,提取出交互关系描述的模式,用模式对交互关系进行判断。文中在该方法的基础上,提出了基于词向量的特征词选择。为特征词集合中的每个单词产生一个向量,再根据单词对应的向量将单词聚类,然后从聚类结果中选出更能表达PPI信息的词,继而进行PPI识别。

1 相关工作

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

与上述方法不同,笔者在之前的工作中采用弱监督方式,只需利用少量的标注数据,利用与交互关系的模式的相似性对交互关系进行判断。基于该方法,文中利用基于词向量的方法对特征词集合中的单词进行聚类,并从聚类结果中选出对PPI识别有效的特征词,继而进行蛋白质交互识别。

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

基于弱监督的蛋白质交互识别主要分为四个模块,下面简单描述这四个模块。

2.1 种子实例特征表示

该模块找到文本库中包含种子的句子,其中每个句子对应一个关系实例,然后生成关系实例的向量表示。其中每个句子的上下文都分为三个部分:第一个蛋白质左边n个单词(BEF)、两蛋白质之间的单词(BET)、第二个蛋白质右边n个单词(AFT)。

2.2 产生提取模式

根据PPI描述的相似性对PPI描述的上下文进行聚类,形成PPI描述的提取模式。先对每个实例赋予一个bet得分,再根据该得分,对实例从大到小排序。然后,采用单次聚类算法(single-pass clustering)对排序好的实例进行聚类,聚类生成的结果也即PPI关系的提取模式。

2.3 用提取模式寻找候选的关系实例

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

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

每一个候选实例对应的蛋白质对,称为候选蛋白质对。本节对候选蛋白质对打分,得分越高,该蛋白质对越有可能存在交互关系。最后,将候选蛋白质得分大于等于Ttuple(Ttuple是候选蛋白质对得分的阈值)的蛋白质对添加到种子集中,以用于下一轮的迭代,直到满足迭代的终止条件。

3 基于词向量的特征词选择

在基于弱监督的蛋白质交互关系识别中,选取特征词的方式过于简单,使得特征词集合中存在大量的、不能有效表达交互关系的词,如:show(说明)、express(表达)。

文中的目的是从特征词集合中选出能有效表达交互关系的词。首先,对于三个部分上下文,对每个上下文中的单词作初步过滤(是指从特征词集合中删除停用词、单字符单词、数字、“字母+数字”的词)。然后,从剩下的词中过滤掉出现频次小于等于3次的词。接下来的处理过程主要分为四个模块,下面详细描述这四个模块。

3.1 特征词聚类

根据对众多特征词的观察,发现能较好表达交互关系的词往往很相似,能够被划分在同一类,如:inhabit(抑制)、induce(引起)。部分不能表达交互关系的词也很相似,亦能被划分在同一组内,如:cause(引起)、result(导致)。剩下的单词和其他单词都不相似,只能独自归为一类,如:member(成员)、type(类型),这些单词一定不能表达交互关系,直接过滤掉。

3.1.1 训练词向量

文中描述的词向量是distributed representation,是采用神经网络训练出来的向量。其基本思想是:通过训练,将语料中的每个词都映射成一个固定长度(N维)的向量。该词向量克服了one-hot representation(建立一个词表,向量维度等于词表大小,词表示为对应维度为1)的缺点,即容易受到维数灾难(是指在涉及到向量的计算中,随着维数的增加,计算量呈指数倍增长的现象)的困扰、不能很好地刻画词与词之间的相似性。

采用的词向量工具word2vec是Google开源的词向量工具,其中模型采用的是Skip-Gram模型。训练词向量所用的语料是所有蛋白质对对应的句子。

3.1.2 将特征词聚类并过滤仅含一个词的类

根据单词之间的相似性分别对bef、bet、aft上下文中的单词进行单次聚类,得到三个聚类结果clus_bef、clus_bet、clus_aft。算法1描述了单次聚类的过程,该算法的输入是单词集合。

算法1:single-pass clustering。

输入:Words={w1,w2,…,wn}

输出:Clusters={}

1:cl1={w1}

2:Clusters={cl1}

3:forwn∈Words do

4:map={}//类号和相似性值的映射

5:forcli∈Clusters do

6:simVal=Sim(wn,cli)

7:ifsimVal>=Tsimthen

8:map=map∪{cli:simVal}

9:end if

10:end for

11:if map is not NULL then

12:sort(map,simVal)

13:index=map1[key]

14:clindex=clindex∪{wn}

15:else

16:clm={wn}

17:Clusters=Clusters∪{clm}

18:end if

19:end for

20:return Clusters

算法1的第1、2行表示将单词集合中的第一个单词作为第一个类中的第一个元素,第二个单词和它作相似性比较。若相似性满足阈值条件,则将第二个单词加入到第一个类中,否则,创建一个新类,并将第二个单词加入。算法1的第4~19行表示依次计算单词wn和每一个类cli之间的相似性,选出单词和任意类之间相似性最大的那个类clindex,并且单词和该类满足阈值条件,则将单词wn添加到类clindex中。如果单词wn和最大相似性的类都不满足阈值条件,则创建一个新的空类,将单词wn添加进去。算法1的第20行输出所生成的类。

一个单词和一个类之间的相似性是通过算法1第6行中的Sim(wn,cli)来计算的,也就是计算单词wn和类cli内的各个成员单词之间的相似性。对Sim(wn,cli),如果单词wn和类cli中半数以上单词的相似性都满足阈值条件,那么返回最大相似性值,否则返回0。

计算两个单词的相似性采用如下公式:

Sim(wm,wn)=cos(wordVectorm,wordVectorn)

(1)

(2)

其中,wordVectorm和wordVectorn分别表示第m和第n个单词对应的词向量。

然后,在聚类结果的每个类中,对于相同词根的词,只留一个。如一个类中有词bind、binds,则保留其中任意一个词。再过滤掉仅有一个元素的类,因为基于文中的假设,这些类中的元素不能表达交互关系。

3.2 选出不能表达交互关系的高频词

根据观察,可以发现出现频数大且不能表达交互关系的词在上下文中分布的特点是:(1)在bet上下文出现的频数小于在bef上下文或aft上下文中出现的频数(其中频数可分为“存在频数”和“总频数”)。例如:在50个蛋白质对中,有17个蛋白质对对应句子的bef上下文含有词“show”,且总共出现了27次,其存在频数和总频数分别是17和27;而只有7个蛋白质对对应句子的bet上下文含有词“show”,且总共出现了9次,其存在频数和总频数分别是7和9。(2)总频数的差值比存在频数的差值更加明显,即总频数之差大于存在频数之差。上述例子中总频数之差为27-9=18,而存在频数之差为17-7=10,且18>10。

因此,首先从bef、bet、aft上下文中分别选出各自的动词。继而统计各个动词的存在频数,记为x,并统计该动词的总频数,记为y。然后,对数据记录按照x从大到小排序,组成三张动词频率表bef_v、bet_v、aft_v,表中一条数据记录为(w,x,y)。然后,从三张动词频率表中选出不能表达交互关系的高频词。先从bef_v和bet_v中选择高频词,选择的方式如下:

(1)在bef_v和bet_v动词频率表中都存在;

(2)在bef_v频率表中的排名比在bet_v中的排名更加靠前;

(3)同一个单词,其在bef_v和bet_v中的总频数之差(y1-y2)比存在频数之差(x1-x2)更大。

三种方式的结果组成单词集合wordSet1。对于aft_v和bet_v,其选择方式与bef_v、bet_v之间的选择方式类似,其选择结果组成单词集合wordSet2。

3.3 过滤含有不能表达交互关系单词的类

由于3.1节得到的类中,每个类中的单词相互之间都是比较相似的,因此,一旦某个类中有单词被判定为不能表达交互关系,那么包含该单词的类的所有元素也都不能表达交互关系,于是把这个类删除。

对于在3.1节中聚类得到的clus_bef、clus_bet、clus_aft,以及在3.2节中得到的单词集合wordSet1、wordSet2,从类clus_bef中去掉含有集合wordSet1中单词的类,从类clus_aft中去掉含有集合wordSet2中单词的类,从类clus_bet中去掉含有集合wordSet1、wordSet2中单词的类。

3.4 过滤掉bet部分不存在的词

在一个句子中,bet上下文比bef和aft部分上下文更有可能出现能较好表达交互关系的词,因此,假如某些词只在bef或aft中出现,而未在bet中出现过,那么这些词不能表达交互关系,应该被过滤掉。

在剩余的类clus_bef、clus_bet、clus_aft中,对于类中的每个单词分别求词根,并从bef部分中去掉bef部分存在而bet部分不存在的词根,从aft部分中去掉aft部分存在而bet部分不存在的词根。

4 实 验

4.1 实验数据

实验中有交互关系的蛋白质对是直接从HPRD数据库中查询获取,并且只保留被PubMed数据库中一篇以上摘要包含的那些蛋白质对。而对于无交互关系的蛋白质对,将HPRD中的蛋白质随机组合成蛋白质对,去除已被HPRD数据库包含的蛋白质对以及未被PubMed数据库记载的蛋白质对。以一对蛋白质为查询参数,从文献中检索出描述这两个蛋白质的所有句子,作为该蛋白质对的签名档。

文中设置一个句子中BET上下文的有效单词个数为6(有效单词个数是指不包括标点在内的单词个数,不够6个则取BET中所有的单词)。满足此要求的有交互和无交互关系的蛋白质对分别有964和870对,总共1 834对。这些蛋白质对对应的签名档构成文本库。从有交互关系的蛋白质对中随机挑选出50对作为种子。

4.2 实验设置

训练词向量时有以下参数:min_count指最低频率,若一个词在预料中出现次数小于最低频率,就放弃该词;size指每个词的向量维度;window指训练时的上下文扫描窗口大小,如window为2就是考虑前2个词和后2个词。设置min_count为1,size为200,window为5。

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

(3)

(4)

(5)

为设定算法1中的单词相似性阈值wTsim,将wTsim从[0,1]变化,以0.1为间隔,观察聚类结果。当类内单词越相似,类间单词越迥异,聚类结果越理想,最终确定wTsim为0.5。在基于弱监督的蛋白质交互识别中,为取得合理的实例相似性阈值iTsim,将iTsim从[0.1,0.6]变化(避免F值过低),以0.1为间隔,记录实验结果。

4.3 实验结果及分析

表1列举了采用特征词选择前后,每个实例对应bef、bet、aft部分的特征词数量。

表1 各方案下的特征词数量

表1中,c1表示未采用特征词选择;c2表示用词向量进行聚类后,过滤仅含一个元素的类;c3表示未使用词向量进行聚类,只过滤掉不能表达交互关系的高频词以及bet中不存在的词;c4表示用词向量进行聚类,过滤仅含一个元素的类,根据不能表达交互关系的高频词,从聚类结果中过滤掉含有高频词的类,再过滤掉bet中不存在的词。从c1到c4,三个上下文的特征词数量大量减少。

分别采用方案c1~c4,得到不同实例相似性阈值iTim下的F值,如图1所示。从图1可以看出,方案c2和c3的F值基本比c1更优,表明特征词选择后识别结果更优。

分别采用c2和c3,得到不同实例相似性阈值iTim下的识别结果,如表2所示。

从表2可以发现,随着实例相似性阈值iTim减小,方案2和3的识别精度下降,召回率上升,F值上升。所有阈值iTim下,方案c3的精度都比方案c2的高。当阈值iTim在0.2及以下时,方案3的召回率和F值都比方案2的低;当阈值iTim在0.3及以上时,方案3的召回率和F值都比方案2的高。

表2 采用方案c2和c3的识别结果 %

文中使用多种特征词选择方法,使得特征词数量大幅减小,实例对应的特征向量维数明显降低,极大提高了蛋白质交互的识别效率,且识别结果更优。

5 结束语

为了从特征词中选择表达交互关系的词,提出了基于词向量的特征词选择方法。该方法在比较单词相似性时,使用了词向量的方式,取得了较好的识别结果。但在选择不能表达交互关系的高频词时,仅考虑其在上文中的分布情况,下一步的研究将尝试其他的选择方法。

参考文献:

[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] 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.Vancouver,British Columbia,Canada:Association for Computational Linguistics,2005:724-731.

[8] HIDO S,KASHIMA H.A linear-time graph kernel[C]//Ninth IEEE international conference on data mining.[s.l.]:IEEE,2009:179-188.

[9] AIROLA A, PYYSALO S, PAHIKKALA T, et al.A graph kernel for protein-protein interaction extraction[C]//Proceedings of workshop on current trends in biomedical natural language processing.[s.l.]:Association for Computational Linguistics,2008:1-9.

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

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

[12] NIU Y,OTASEK D,JURISICA I.Evaluation of linguistic features 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.

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

[14] 吴红梅,牛 耘.基于特征加权的蛋白质交互识别[J].计算机技术与发展,2016,26(2):114-117.

[15] 张 景,吴红梅,牛 耘.基于Minimum Cuts的蛋白质交互识别[J].计算机技术与发展,2017,27(6):17-21.

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

猜你喜欢

特征词频数相似性
基于Simhash改进的文本去重算法
基于类信息的TF-IDF权重分析与改进①
浅析当代中西方绘画的相似性
一种面向财务文本分类的TF-IDF改进算法
频数与频率:“统计学”的两个重要指标
12个毫无违和感的奇妙动物组合
基于隐喻相似性研究[血]的惯用句
中考频数分布直方图题型展示
学习制作频数分布直方图三部曲
频数和频率