蔡松成,牛 耘
(南京航空航天大學 計算機科學與技術(shù)學院,江蘇 南京 211106)
通過相互作用,細胞中的蛋白質(zhì)完成細胞中的大部分過程,比如細胞內(nèi)通訊。因而,蛋白質(zhì)交互信息(protein-protein interaction,PPI)成為了關(guān)鍵信息,用以解決大量醫(yī)學難題。目前,生物學家通過人工閱讀的方式識別醫(yī)學文獻中的PPI,并按照統(tǒng)一的格式將這些重要的信息錄入數(shù)據(jù)庫,如HPRD[1]、IntAc[2]、MINT[3]和BIND[4]等。然而以上數(shù)據(jù)庫中的PPI信息并不全面,而且生物醫(yī)學的快速發(fā)展導致每年相關(guān)科學文獻的增長數(shù)量達上千萬,每天也在產(chǎn)生新的蛋白質(zhì)之間的關(guān)系。因此要從醫(yī)學文獻中收集PPI信息,僅靠手工方式難以滿足現(xiàn)實的需求。
此背景下,有監(jiān)督的機器學習方法被大量地運用到研究PPI關(guān)系識別中,并取得了巨大進展。由于有監(jiān)督的機器學習方法需要大量人工標注的數(shù)據(jù),代價高昂,所以很多研究者將遠監(jiān)督[5]的思想應(yīng)用到PPI識別上,以解決訓練數(shù)據(jù)不足的問題。但是由于遠監(jiān)督思想的缺陷,引入了大量的噪音,影響現(xiàn)階段PPI識別的精度。因此,有研究人員提出了一種基于最大期望算法的蛋白質(zhì)交互識別方法,構(gòu)建多實例多標記學習模型,有效消除了簽名檔中噪音對交互關(guān)系識別的影響。文中在該方法的基礎(chǔ)上,對每一個蛋白質(zhì)對的簽名檔進行詞頻統(tǒng)計,得到相應(yīng)的高頻詞。利用這些信息對最大期望算法的初始化過程進行改進,繼而進行PPI識別。
隨著機器學習的流行,研究者們越來越多地采用基于機器學習的方法進行PPI識別?;跈C器學習的方法主要包括兩大類:基于核函數(shù)的方法和基于特征的方法?;诤撕瘮?shù)的方法首先對句子結(jié)構(gòu)進行深入研究,通過設(shè)計核函數(shù)衡量不同蛋白質(zhì)對間的相似度,然后使用支持核函數(shù)的分類器進行PPI關(guān)系識別。例如,Bunescu R C等[6]提出了最短依賴路徑核;文獻[7-9]使用基于多核(特征的核,樹核及圖核融合)的學習方法抽取PPI信息。基于特征的方法試圖從標注有交互關(guān)系的句子中抽取重要特征,包括詞匯特征、語法特征和語義特征,建立模型來判斷蛋白質(zhì)之間的交互關(guān)系[10-13]。但有監(jiān)督的方法需要大量有標注的數(shù)據(jù),且研究對象是單個句子,因此只能依賴一個句子中的線索,對于復(fù)雜的句子描述很難判斷。
文中主要從以下幾個方面對基于最大期望算法的多實例多標記學習框架[14-15]加以改進。
以遠監(jiān)督為基礎(chǔ)的關(guān)系抽取方法利用已有的知識庫和文本集,通過啟發(fā)式的匹配來提供訓練數(shù)據(jù)。這種方法可以產(chǎn)生大量帶標注的訓練數(shù)據(jù),很好地解決了人工標注數(shù)據(jù)代價昂貴的問題,節(jié)省了人力物力。但是這種匹配是基于假設(shè)條件:如果文本集中的語句包含了知識庫的實體對,那么這條語句就表達了實體對在知識庫中所對應(yīng)的關(guān)系。顯然,該假設(shè)過于理想化,會產(chǎn)生大量的噪音數(shù)據(jù)。
作為關(guān)系抽取在生物信息學方面的應(yīng)用,基于遠監(jiān)督的蛋白質(zhì)交互關(guān)系抽取同樣面臨訓練數(shù)據(jù)存在噪音的問題。首先,利用現(xiàn)有的HPRD數(shù)據(jù)庫查詢獲取有交互關(guān)系的蛋白質(zhì)對,然后從PubMed數(shù)據(jù)庫中自動獲取包含蛋白質(zhì)對的句子形成簽名檔。在得到的簽名檔中,部分句子并未表明目標蛋白質(zhì)對之間的交互關(guān)系。例如,(ahr,rela)是一對有交互關(guān)系的蛋白質(zhì)對,下面是其簽名檔中的兩個句子:
1:We demonstrated that #ahr# associates with #rela# in the cytosol and nucleus of human lung cells.
2:Thus, the #rela# and #ahr# proteins functionally cooperate to bind to NF-kappaB elements and induce c-myc gene expression.
在這兩個句子中,第一個句子確實表達了目標蛋白質(zhì)對(ahr,rela)之間的交互關(guān)系,而第二個句子只是包含了目標蛋白質(zhì)對,但并未表達兩者之間的交互關(guān)系,所以這個句子成為了該蛋白質(zhì)對的噪音。訓練數(shù)據(jù)中的這部分噪音會影響最終模型的性能。因此,文中提出了基于高頻詞的去噪模型來對訓練數(shù)據(jù)中的噪音進行處理。
2.1.1 提取簽名檔的詞頻統(tǒng)計信息
通過對蛋白質(zhì)對簽名檔數(shù)據(jù)的觀察發(fā)現(xiàn),對于這些描述蛋白質(zhì)交互作用的句子在單詞級別上是存在相似性的。句子中經(jīng)常出現(xiàn)bind、interact、activate、association、ligand、inhabit、induce等表示蛋白質(zhì)交互作用的單詞。鑒于生物醫(yī)學文本對于蛋白質(zhì)交互關(guān)系表達的這種規(guī)律,試圖對每一個蛋白質(zhì)對的簽名檔進行詞頻統(tǒng)計,同時設(shè)定閾值,得到對應(yīng)的高頻詞集。根據(jù)簽名檔的高頻詞集,對簽名檔中的句子進行去噪處理。
提取簽名檔的詞頻統(tǒng)計信息主要包括以下步驟:
(1)針對簽名檔數(shù)據(jù),利用NLTK自然語言處理工具包進行詞性標注;
(2)兩個目標蛋白質(zhì)之間的單詞對描述交互關(guān)系更為重要,所以只對這部分單詞進行詞頻統(tǒng)計;
(3)進行單詞預(yù)處理,刪除長度小于2的以及為純數(shù)字的單詞,同時將單詞中的大寫字母轉(zhuǎn)化為小寫字母;
(4)進行詞頻統(tǒng)計時,只考慮名詞和動詞這兩種具有實際意義的單詞,這兩種詞性的單詞對蛋白質(zhì)交互作用的描述起到了非常重要的作用,同時剔除掉名詞中的專有名詞;
(5)考慮到選擇出來的名詞中可能包含除目標蛋白質(zhì)以外的其他蛋白質(zhì),因此采用abner蛋白質(zhì)命名實體工具,識別出其他蛋白質(zhì)的名稱,將其去除掉;
(6)利用NLTK工具包進行英文詞干提取。
通過以上6個步驟,最終得到每個蛋白質(zhì)對簽名檔下的詞頻統(tǒng)計信息。
2.1.2 基于高頻詞的去噪模型
本節(jié)根據(jù)蛋白質(zhì)對的高頻詞集對簽名檔中的句子進行去噪處理。
算法1:利用高頻詞集確定句子類別。
輸入:
詞頻閾值TC
詞頻統(tǒng)計映射表WC
高頻詞(high frequency words)集合HFW={}//高頻詞和頻率的映射
句子特征詞集合F={f1, f2,…,fn}
輸出:句子標簽集label={r1, r2,…,rm}
1:if m<=C then
2:HFW=WC
3:else then
4:for count in WC. keys() do
5:if count>TC then
6:HFW=HFW∪{count:WC[count]}
7:flag=false //用以判斷句子類別的輔助標記
8:for fk∈Fido
9:if fkin HFW. keys() then
10:ri=‘1’
11:flag=true
12:if flag==flase then
13:ri=‘0’
14:return label
算法1描述了如何利用高頻詞集合確定句子的類別,其中句子特征詞集合就是利用2.2.1節(jié)提取詞頻統(tǒng)計信息的6個步驟后,得到每個句子兩個目標蛋白質(zhì)中間的若干一元詞。
算法1主要包含兩個步驟:
(1)如果簽名檔的大小小于閾值C,保留詞頻統(tǒng)計信息作為高頻詞集;大于閾值C,則對于詞頻統(tǒng)計映射表中頻率大于詞頻閾值TC的單詞才被保存到高頻詞集中,對應(yīng)算法1的1~6行,文中設(shè)置TC為1。
(2)根據(jù)得到的高頻詞集合來確定句子標簽,如果句子的特征詞集合中包含高頻詞,就認為其是有交互關(guān)系的,否則認為這個句子不表達交互關(guān)系,對應(yīng)算法的7~13行。
接下來通過獲取到的句子標簽集合對句子進行去噪處理,算法2描述了基于高頻詞的句子篩選過程。
算法2:基于高頻詞的句子去噪處理。
輸入:
有交互蛋白質(zhì)對集P
無交互蛋白質(zhì)對集N
句子標簽集label={r1,r2,…,rm}
簽名檔中的句子集合S={s1,s2,…,sm}
輸出:簽名檔中的句子集合
1:if
2:for ri∈label do
3:if ri==‘0’ then
4:count_1+=1
5:if count_1==m then
6:randomly save somesentences,others remove from S
7:else then
8:for ri∈label do
9:if ri==‘0’ then
10:removesifrom S
11:else then
12:for ri∈label do
13:if ri==‘1’ then
14:count_2+=1
15:if count_2==m then
16:randomly save some sentences and set the labe1 as ‘0’
17:else then
18:for ri∈label do
19:if ri==‘1’ then
20:remove sifrom S
21:return S
算法2對于有交互的蛋白質(zhì)對,根據(jù)高頻詞集判斷為無交互的句子被認定為噪音數(shù)據(jù),要從簽名檔中去除,對應(yīng)算法的7~10行。同時,可能一個蛋白質(zhì)對下的所有句子標記全是無交互的,為了避免把該蛋白質(zhì)對直接從訓練數(shù)據(jù)中過濾掉,隨機保留部分句子作為該蛋白質(zhì)對的簽名檔,對應(yīng)算法的1~6行。對于無交互蛋白質(zhì)對簽名檔中的句子,根據(jù)先驗知識,它們應(yīng)該都不表達交互關(guān)系,但是通過高頻詞集,同樣會把無交互蛋白質(zhì)對中的部分句子認定為是有交互關(guān)系的,這部分句子成為無交互蛋白質(zhì)對中的噪音,需要去除,對應(yīng)算法的17~20行。同樣,當整個簽名檔中的句子均判斷為有交互時,隨機保留部分句子。和有交互蛋白質(zhì)對不同的是,對于這部分句子,根據(jù)先驗知識,將其標記改為無交互的,對應(yīng)算法的12~16行。
由于蛋白質(zhì)對簽名檔中的句子標記是未知的,因此利用最大期望算法在模型存在未知變量的情況下,對模型參數(shù)進行極大似然估計。
在利用最大期望算法實現(xiàn)多實例多標記學習模型的過程中,為了保證模型的學習效果,主要針對最大期望算法的初始化步驟進行了處理。
初始化:由于最大期望算法并不是全局最優(yōu)算法,無法保證找到全局最優(yōu)解,因此初始值的選擇非常重要。在該模型中,初始值為簽名檔中句子的類別分布zi,算法起始于M步,在M步利用初始句子類別訓練模型中的分類器,然后在E步驟中對初始句子類別重新判斷,重復(fù)迭代。文中主要設(shè)置以下兩種初始值:
方案C1:以遠監(jiān)督匹配得到的句子類別作為多實例多標記模型的初始值。既有交互蛋白質(zhì)對簽名檔中的句子均為有交互,無交互簽名檔中的句子均視為無交互。
方案C2:利用基于高頻詞集合去噪處理后得到的句子及其句子類別作為多實例多標記模型的初始值。
文中采用這兩種不同的初始值設(shè)置方式試圖求得模型的最優(yōu)解。
實驗中有交互關(guān)系的蛋白質(zhì)對是直接從HPRD數(shù)據(jù)庫中查詢獲取,并且只保留被PubMed數(shù)據(jù)庫中一篇以上摘要包含的那些蛋白質(zhì)對。而對于無交互關(guān)系的蛋白質(zhì)對,將HPRD中的蛋白質(zhì)隨機組合成蛋白質(zhì)對,去除已被HPRD數(shù)據(jù)庫包含的蛋白質(zhì)對以及未被PubMed數(shù)據(jù)庫記載的蛋白質(zhì)對。以一對蛋白質(zhì)為查詢參數(shù),從文獻中檢索出描述這兩個蛋白質(zhì)的所有句子,作為該蛋白質(zhì)對的簽名檔。最終總共得到有交互關(guān)系和無交互關(guān)系的蛋白質(zhì)對分別為576對和578對,合計1 154對。
實驗采用的結(jié)果性能評價指標是當前PPI抽取系統(tǒng)主要使用的三個指標:精確度(Precision=TP/(TP+FP))、召回率(Recall=TP/(TP+FN))和F值(F-Score=2P×R/(P+R))。為了避免簡單應(yīng)用模型而產(chǎn)生過擬合問題,利用五折交叉驗證來評估模型的性能。
為了比較最大期望算法的兩種初始值設(shè)置方式的實驗效果,取最大期望算法迭代的前6次(迭代6次以后實驗結(jié)果基本趨向局部最優(yōu)解),對有交互蛋白質(zhì)對的識別結(jié)果如表1、表2所示。
表1 方案C1的識別結(jié)果 %
表2 方案C2的識別結(jié)果 %
通過對表1、表2的觀察可以發(fā)現(xiàn),在前三次迭代,實驗方案C2在精確度、召回率和F值上都有明顯的提高。隨著迭代次數(shù)的增加,C2獲得了較高的查準率,但是查全率相對較低。說明在基于高頻詞的去噪模型中,由于存在一部分被判斷為噪音數(shù)據(jù)的句子未被清除(為了避免該蛋白質(zhì)對簽名檔的數(shù)量為0),導致將一部分有交互的蛋白質(zhì)對認為是不表達交互關(guān)系的,從而獲得了較低的查全率,但是整體性能較實驗方案C1還是有明顯的提高。實驗結(jié)果說明,不同的初始化方式對本模型的迭代訓練過程有很大的影響,同時基于高頻詞的去噪模型對訓練數(shù)據(jù)的處理是合理的,使模型取得了更好的性能。
在基于最大期望算法的多實例多標記學習框架的基礎(chǔ)上,對訓練數(shù)據(jù)中存在的噪音問題進行處理,提出了基于高頻詞集的去噪模型來改進最大期望算法的初始化步驟,有效提升了蛋白質(zhì)交互關(guān)系抽取模型的整體性能。下一步可以在多實例多標記模型的迭代訓練過程中引入一定的先驗知識,以進一步提高模型的去噪能力。