毛宇薇,牛 耘
(南京航空航天大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 南京 211106)
蛋白質(zhì)是生物細胞的重要組成成分,細胞中多數(shù)重要的分子過程均通過蛋白質(zhì)交互作用完成。蛋白質(zhì)交互關(guān)系(protein-protein interaction,PPI)的識別對于生命過程的研究、疾病的治療以及新藥的研制具有十分重要的意義,是解決大量醫(yī)學(xué)難題的關(guān)鍵信息。隨著近年來互聯(lián)網(wǎng)的迅速發(fā)展,生物醫(yī)學(xué)文獻數(shù)量飛速增長,以人工識別的方式從文獻中獲取蛋白質(zhì)交互關(guān)系已經(jīng)難以滿足實際應(yīng)用的需求。因此,利用信息抽取技術(shù)自動識別PPI已經(jīng)成為一項重要的研究內(nèi)容。
目前用于PPI識別的技術(shù)主要分為以下幾種:基于共現(xiàn)的方法[1]、基于模式匹配的方法[2]、基于自然語言處理的方法[3-4]和基于機器學(xué)習(xí)的方法[5-6]?;诠铂F(xiàn)的方法通過統(tǒng)計蛋白質(zhì)對在句子中出現(xiàn)的概率來識別蛋白質(zhì)之間是否存在交互關(guān)系,這種方法召回率較高,但缺點在于無法識別出詞典外的PPI?;谀J狡ヅ涞姆椒ㄍㄟ^事先建立的模式集合在文本中進行匹配來識別PPI,可以獲得較高的精確度,但是人工構(gòu)造模式集合需要耗費大量的人力物力?;跈C器學(xué)習(xí)的方法通過將PPI識別轉(zhuǎn)化為文本分類問題,同時結(jié)合自然語言處理技術(shù),可以很好地利用已有的大量文本數(shù)據(jù),是目前PPI識別的主要研究方法[7-8]。這種方法首先通過自然語言處理技術(shù)對文本進行處理并抽取句子中的語言學(xué)特征對蛋白質(zhì)交互關(guān)系進行表示,然后利用機器學(xué)習(xí)方法從大規(guī)模文本數(shù)據(jù)中學(xué)習(xí)并建立模型來對未知蛋白質(zhì)交互關(guān)系進行識別。傳統(tǒng)的機器學(xué)習(xí)方法根據(jù)語料標注情況可以分為有監(jiān)督和無監(jiān)督的方法。有監(jiān)督的方法利用大量有標注的訓(xùn)練語料來訓(xùn)練分類模型,無監(jiān)督的方法不依賴于標注語料,可以自動識別文本中的PPI[9-10]。有監(jiān)督的方法對于標注語料的要求較高,而無監(jiān)督的聚類方法選擇缺少理論指導(dǎo),二者均難以滿足實際的應(yīng)用需求,因而出現(xiàn)了基于弱監(jiān)督的PPI識別方法[9]。
文中采用的基于弱監(jiān)督的方法結(jié)合了有監(jiān)督方法和無監(jiān)督方法的優(yōu)點,通過擴充少量有標注的種子集來對PPI進行識別,既節(jié)省了人工標注語料的成本,同時具有較好的性能。
采用的蛋白質(zhì)交互關(guān)系識別框架基于弱監(jiān)督的方法,僅需少量有標注的語料進行PPI識別。首先,針對語料中的每一個句子,提取能夠表達蛋白質(zhì)交互關(guān)系的特征作為詞匯模式,以語料中少量帶標注的蛋白質(zhì)對作為種子集,依照分布式假設(shè)原理,根據(jù)詞匯模式在種子集中的分布對其進行向量化表示。然后,通過相似性計算,將語料中與種子詞匯模式相似的詞匯模式挑選出,視為表達交互關(guān)系并加入候選集中;最后對候選集中的詞匯模式進行打分,根據(jù)詞匯模式的分數(shù)計算相應(yīng)蛋白質(zhì)對的得分,將得分大于閾值的蛋白質(zhì)對加入種子集中。不斷重復(fù)該過程,通過迭代完成蛋白質(zhì)交互關(guān)系的識別。
對每一個目標蛋白質(zhì)對(protein1,protein2),檢索出數(shù)據(jù)庫中同時包含protein1和protein2的句子集合,作為該蛋白質(zhì)對的簽名檔。通過觀察發(fā)現(xiàn),句子中兩個蛋白質(zhì)之間的動詞和名詞在該蛋白質(zhì)對交互關(guān)系的表達上起到了重要作用。因此,提取兩個蛋白質(zhì)之間的動詞和名詞,去掉無實際意義的停止詞,作為表達蛋白質(zhì)交互關(guān)系的詞匯模式。
分布式假設(shè)原理為相似上下文的單詞具有相似的語義。根據(jù)該假設(shè),如果兩個句子的詞匯模式出現(xiàn)在相似的蛋白質(zhì)對中,則這兩個詞匯模式具有相似的語義關(guān)系。根據(jù)詞匯模式在種子集中的分布對其進行向量表示,向量的維度即為種子集中蛋白質(zhì)對的個數(shù),由此得到向量空間模型。
以少量有交互關(guān)系的蛋白質(zhì)對作為初始種子集,對種子蛋白質(zhì)對的詞匯模式采用序列聚類算法,將在種子集中分布相似的詞匯模式聚為簇,得到語義關(guān)系相似的模式簇。每一個簇中的詞匯模式都分布在相似的蛋白質(zhì)對中,因此具有相似的語義關(guān)系。
在序列聚類算法中,聚類前對詞匯模式的排序極為重要,對聚類結(jié)果有較大影響。在基礎(chǔ)的算法框架中,根據(jù)詞匯模式集所共現(xiàn)的種子蛋白質(zhì)對個數(shù)進行降序排序,并且刪除與種子蛋白質(zhì)對共現(xiàn)次數(shù)過少的詞匯模式。該排序方式依據(jù)的原理為:若詞匯模式與越多的種子蛋白質(zhì)對共現(xiàn),則其表達交互關(guān)系的可能性越高。
聚類后,將語料庫中的詞匯模式與所得到的語義關(guān)系簇進行相似性計算,將相似度大于閾值Q的詞匯模式及其所對應(yīng)的蛋白質(zhì)對加入候選集。根據(jù)每一個簇中挑選出的詞匯模式計算該簇的得分,表示該簇挑選出的有交互詞匯模式的可靠性。
對候選集中的每一個詞匯模式,根據(jù)挑選出該模式的語義關(guān)系簇得分及模式與簇之間的相似度,可計算得出該詞匯模式的分數(shù)。通過蛋白質(zhì)對所對應(yīng)的所有詞匯模式的得分,可進一步計算得到蛋白質(zhì)對得分。挑選出分數(shù)大于閾值T的蛋白質(zhì)對作為本次迭代所識別出的有交互關(guān)系的蛋白質(zhì)對,加入到種子集。不斷迭代上述過程擴充種子集,直到滿足終止條件,最終完成對蛋白質(zhì)交互關(guān)系的識別。
基礎(chǔ)的蛋白質(zhì)交互識別框架僅以詞匯模式與種子蛋白質(zhì)對的共現(xiàn)次數(shù)為線索對模式進行排序與挑選。雖然一部分與種子蛋白質(zhì)對共現(xiàn)較多的詞匯模式有可能表達交互關(guān)系,有些詞匯模式,如:express(表達)等,雖與較多種子共現(xiàn),但并不能表達交互關(guān)系。因此,這種方法可能將一些未表達交互關(guān)系的詞匯模式當作較為可靠的表達交互關(guān)系的模式,排在模式集合前面,影響了聚類結(jié)果,進而影響最終的識別效果。
通過對蛋白質(zhì)對簽名檔的觀察,一些關(guān)鍵詞,如:inhabit(抑制)、induce(引起)等能夠較好地表達蛋白質(zhì)對交互關(guān)系。因此,如果一個詞匯模式包含有關(guān)鍵詞,則認為該詞匯模式更有可能表達交互關(guān)系;并且如果一個關(guān)鍵詞越有可能表達交互關(guān)系,則包含有該關(guān)鍵詞的詞匯模式也更可能表達交互關(guān)系。文中提出利用關(guān)鍵詞對聚類算法的排序過程進行改進,將包含可靠關(guān)鍵詞的詞匯模式排在模式集的頭部,并且去掉沒有關(guān)鍵詞的詞匯模式,改善聚類效果,使得語義關(guān)系簇所表達的交互關(guān)系更為準確。
文中采用的初始關(guān)鍵詞為Joshua M等[11]提出的表達蛋白質(zhì)交互關(guān)系的關(guān)鍵詞,共179個。這些關(guān)鍵詞雖然能精確表達交互關(guān)系,但并不全面,有些不包含于這些關(guān)鍵詞中的單詞也可能表達交互關(guān)系。因此,根據(jù)初始關(guān)鍵詞集,采用基于詞向量的方法,挑選出與初始關(guān)鍵詞相似度較高的單詞作為新的關(guān)鍵詞,并對新關(guān)鍵詞表達交互關(guān)系的可靠性進行評分。
采用詞向量(word embedding)來計算單詞之間的相似度。詞向量作為深度學(xué)習(xí)(deep learning)模型中一種單詞的分布式表達(distributed representation),最早由Hinton提出[12-13]。相對于傳統(tǒng)的獨熱表示(one-hot representation)方法,該表示方法最大的優(yōu)點在于可以通過向量的距離衡量詞之間的相似度;此外,通過低維表示的詞向量大幅減小了計算的復(fù)雜度,從而提高了方法的實用程度[14-15]。
詞向量通常利用無監(jiān)督的語言模型在大量未標注的文本數(shù)據(jù)中訓(xùn)練得到,文中對蛋白質(zhì)對簽名檔中的所有句子所形成的初始語料進行預(yù)處理,作為訓(xùn)練數(shù)據(jù),具體預(yù)處理過程如下:
(1)在生物醫(yī)學(xué)文獻中存在大量種類繁多的生物體名稱,這些存在于當前詞上下文中的不同生物體名稱對詞向量的訓(xùn)練會有較大的影響。因此將不同種類的生物體名稱按照其類型進行替換,如:將蛋白質(zhì)名稱“cd4”、“cd44”等替換為“Protein”。
(2)對句子進行分詞處理,并去掉標點符號(除了連詞符‘-’),去掉數(shù)字、單字符單詞和無實際意義的停止詞。
(3)對單詞進行詞干提取,使相同詞干的單詞變?yōu)橥粋€單詞,如:induce,induced,induces都變?yōu)閕nduc。
通過Skip-gram模型訓(xùn)練經(jīng)過上述處理后所得到的訓(xùn)練數(shù)據(jù),得到詞向量模型,根據(jù)該模型可計算得到簽名檔中每個單詞的詞向量。
根據(jù)初始關(guān)鍵詞集合K和2.1所得到的詞向量,算法1描述了關(guān)鍵詞生成算法,算法輸出新的關(guān)鍵詞集合,其中包含每個關(guān)鍵詞及其表達交互關(guān)系的得分。
輸入:初始關(guān)鍵詞集合K={k1,k2,…,kn},詞向量W={w1,w2,…,wn},閾值θ
輸出:新關(guān)鍵詞與對應(yīng)分數(shù)集合N={[n1,s1],[n2,s2],…,[nn,sn]}
1:N={}
2:forki∈Kdo
3:forwi∈Wdo
4:sim(ki=sim(ki)∪calc_sim(ki,wi,θ))
5:end for
6:sort(sim(ki))
7:for [wi,simi]∈sim(ki) do
8:mark=0
9:for [ni,si]∈Ndo
10:ifwi==nithen
11:sj+=simi
12:mark=1
13:end if
14:end for
15:if mark==0 then
16:N=N∪[wi,simi]
17:end if
18:end for
19:end for
20:returnN
首先,初始化新關(guān)鍵詞集合N。外層循環(huán)(第2步)遍歷集合K中的每一個初始關(guān)鍵詞ki,內(nèi)層循環(huán)(第3步)遍歷每一個單詞的詞向量wi,函數(shù)calc_sim(ki,wi,θ)計算ki和wi的相似度,返回相似度simi。如果相似度simi大于閾值θ,則把wi及相似度simi加入到集合sim(ki)中。函數(shù)sort(sim(ki))對集合sim(ki)按相似度降序排序。接著,外層循環(huán)(第7步)遍歷集合sim(ki)中的每一個關(guān)鍵詞,標志mark初始化為0,表示該關(guān)鍵詞不在新關(guān)鍵詞集合N中。內(nèi)層循環(huán)(第9步)遍歷新關(guān)鍵詞集合N,如果wi等于nj,則表示該關(guān)鍵詞已存在于集合N中,將原先的分數(shù)sj加上相似度simi得到新的分數(shù),并將標志mark賦值為1。如果內(nèi)層循環(huán)結(jié)束,標志mark等于0,則表明該關(guān)鍵詞wi不在集合N中,將相似度simi作為wi的分數(shù),加入到集合N中。最后,函數(shù)Norm(N)將所有的關(guān)鍵詞分數(shù)除以最大的分數(shù),更新每個關(guān)鍵詞的得分,返回關(guān)鍵詞集合N。
基于文中語料通過2.1可以得到能夠表達交互關(guān)系的新關(guān)鍵詞及其表達交互關(guān)系的可靠性分數(shù)。將初始關(guān)鍵詞的分數(shù)設(shè)置為1,與新關(guān)鍵詞合并,得到關(guān)鍵詞集合。根據(jù)該關(guān)鍵詞集合對聚類算法做如下改進:
(1)遍歷輸入的種子詞匯模式集合,對每一個詞匯模式,如果其中含有關(guān)鍵詞,則認為該詞匯模式較可能表達交互關(guān)系,予以保留;否則認為該模式表達交互關(guān)系的可能性過低,去掉該詞匯模式。
(2)對集合進行重新排序:首先,根據(jù)每一個詞匯模式中所包含的關(guān)鍵詞的分數(shù)降序排序,如果一個詞匯模式中包含有兩個及以上的關(guān)鍵詞,則根據(jù)分數(shù)較大的關(guān)鍵詞進行排序;然后,對于所含關(guān)鍵詞分數(shù)一樣的詞匯模式,根據(jù)其與種子集共現(xiàn)的次數(shù)進行降序排序。最終得到的詞匯模式集以關(guān)鍵詞的分數(shù)為首要排序依據(jù),排在集合頭部的詞匯模式含有分數(shù)較高的關(guān)鍵詞,其表達交互關(guān)系的可能性更大。
實驗中采用的有交互關(guān)系蛋白質(zhì)對來源于專業(yè)PPI數(shù)據(jù)庫HPRD[14],并且只保留出現(xiàn)在PubMed數(shù)據(jù)庫[15]一篇以上摘要里的蛋白質(zhì)對。同時,采用生物醫(yī)學(xué)領(lǐng)域的常用方法,將獲得的有交互蛋白質(zhì)對進行隨機組合,去除其中已經(jīng)包含在HPRD中的蛋白質(zhì)對。最終分別得到1 141對有交互關(guān)系的蛋白質(zhì)對和1 353對無交互關(guān)系的蛋白質(zhì)對。對每一個蛋白質(zhì)對,檢索PubMed數(shù)據(jù)庫的文獻摘要,并提取所有包含此蛋白質(zhì)對的句子構(gòu)成該蛋白質(zhì)對的簽名檔。所有的2 494個蛋白質(zhì)對及其簽名檔構(gòu)成文中的語料庫,并從有交互關(guān)系的蛋白質(zhì)對中隨機選出100對構(gòu)成種子集。
實驗過程中所需要設(shè)置的參數(shù)有兩個:一是挑選與語義關(guān)系簇相似度大于閾值Q的詞匯模式加入候選集中,閾值Q設(shè)置為0.6;二是選擇分數(shù)大于閾值θ的關(guān)鍵詞為新增加的表達交互關(guān)系的關(guān)鍵詞,這里的閾值θ設(shè)置為0.7。實驗采用的結(jié)果性能評價指標是當前PPI抽取系統(tǒng)主要使用的3個指標:精確度、召回率和F值。
Precision=TP/(TP+FP)
Recall=TP/(TP+FN)
F-Score=2×P×R/(P+R)
表1為基礎(chǔ)PPI識別框架第一次迭代后,閾值T的不同取值所得到的結(jié)果。
表1 基礎(chǔ)框架不同閾值結(jié)果對比 %
從表1可以看出,隨著T值的增大,識別的精確度上升,召回率下降,總體F值上升。閾值為0.4時,得到的召回率最高為91.76%,精確度最低為51.05%,總體F值也最低,為65.60%。閾值為0.7時,得到的召回率最低為91.32%,精確度最高為51.23%,總體F值也最高,為65.66%。0.4到0.7的所有閾值T取值所得的4個結(jié)果,雖然召回率都較高,但精確度都較低,精確度與召回率的值差距較大,因此總體F值都不高。
表2為添加了關(guān)鍵詞模塊的改進PPI識別算法,通過第一次迭代過程,根據(jù)閾值T的不同取值所得到的結(jié)果。
表2 改進算法不同閾值結(jié)果對比 %
從表2可以看出,隨著T值從0.4增大到0.5,識別的精確度從52.15%顯著增加到57.86%,召回率下降,總體F值上升。T值從0.5增加到0.6的結(jié)果影響不大。當T值從0.6增大到0.7時,精確度從57.93%顯著增加到64.52%,召回率下降,總體F值上升。T值為0.7時F值最高,為67.20%。
對比表1和表2可以發(fā)現(xiàn),在考慮了關(guān)鍵詞這一線索后,識別的精確度有了顯著提高,雖然召回率下降,但整體F值有明顯提高。其中當閾值為0.7時,兩種算法都達到了最高的F值,相較于改進前的基礎(chǔ)框架,改進后的算法的精確度提高了13.27%,召回率下降了21.21%,總體F值提高了1.54%。由實驗結(jié)果可知,通過關(guān)鍵詞對種子詞匯模式集進行挑選,以及在聚類前對模式集進行排序,能夠明顯提高聚類的效果,使得語義關(guān)系簇中的詞匯模式表達交互關(guān)系的可靠性更高,進而后續(xù)對語料詞匯模式的識別更加準確,使得蛋白質(zhì)對識別的精確度明顯提高。因為將沒有關(guān)鍵詞的詞匯模式刪除,使得有些可能表達交互關(guān)系但沒有關(guān)鍵詞的詞匯模式被去掉,導(dǎo)致召回率下降。實驗結(jié)果表明總體F值有明顯提升,該基于關(guān)鍵詞的改進算法對PPI識別有著較好的改進效果。同時,通過該步驟,聚類算法的輸入詞匯模式數(shù)從原先的8 520個減少到3 493個(僅為原先的41%),極大地提高了算法的效率,運算速度明顯提高。
設(shè)置第一次迭代后F值取得最高時的閾值T=0.7作為迭代過程中挑選蛋白質(zhì)對加入種子集的閾值。表3為改進算法的閾值T取0.7時,每一次迭代的實驗結(jié)果。
表3 迭代結(jié)果 %
從表3可以看出,隨著迭代次數(shù)的增加,蛋白質(zhì)對交互關(guān)系的識別精確度略有下降,召回率有較明顯提升,整體F值上升,同時第3次迭代后的結(jié)果與第2次的迭代結(jié)果相差不大。該實驗結(jié)果表明迭代過程可以較好地提高算法的性能,并且經(jīng)過3次迭代后算法已經(jīng)取得了較好的結(jié)果,3次迭代后的F值可達到69.05%。
文中的基礎(chǔ)蛋白質(zhì)交互識別算法框架采用弱監(jiān)督的方法,僅需少量有交互關(guān)系的蛋白質(zhì)對作為種子集,利用相似性聚類方法迭代擴充種子集,最終完成交互關(guān)系的識別。利用關(guān)鍵詞能夠較好地表達蛋白質(zhì)交互關(guān)系這一線索,該改進算法基于詞向量對初始關(guān)鍵詞進行擴充,并根據(jù)擴充后的關(guān)鍵詞集合對聚類算法的輸入詞匯模式集合進行挑選與排序,提高聚類算法的效果進而提高最終的識別結(jié)果。實驗結(jié)果表明,該方法以較少的有標注數(shù)據(jù)取得了較高的精確度與召回率,同時改進后的算法與之前的基礎(chǔ)算法相比,精確度明顯提升,總體F值也有一定提高。
目前的方法僅在聚類算法中利用關(guān)鍵詞這一線索,之后的研究將進一步在算法的其他步驟,如候選集的評分機制中考慮關(guān)鍵詞這一線索,并且將挖掘其他在表達交互關(guān)系中較為重要的線索。