喬羽, 姚舒威
(復(fù)旦大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院, 上海 200433)
蛋白質(zhì)是人體細(xì)胞的重要組成成分,與人體各項(xiàng)生命活動(dòng)息息相關(guān),研究蛋白質(zhì)的功能對(duì)生物制藥,疾病預(yù)測(cè)等眾多領(lǐng)域有著重要的意義?;虮倔w(Gene Ontology, GO)是描述蛋白質(zhì)功能最常用的標(biāo)準(zhǔn)之一,包含生物學(xué)的3個(gè)不同類別:分子功能(Molecular Function Ontology, MFO)、生物進(jìn)程(Biological Process Ontology, BPO)、細(xì)胞組成(Cellular Component Ontology, CCO)?;谏瘜?shí)驗(yàn)確定蛋白功能,雖然標(biāo)注精準(zhǔn),但是對(duì)時(shí)間和資源的耗費(fèi)卻十分巨大,無法進(jìn)行大規(guī)模的標(biāo)注。這也使得UniProt數(shù)據(jù)庫中擁有實(shí)驗(yàn)標(biāo)注的蛋白質(zhì)還不足總量的1%,如何低成本且高效地確定大量蛋白質(zhì)的功能成為了研究瓶頸。利用機(jī)器學(xué)習(xí)的方法進(jìn)行自動(dòng)的蛋白質(zhì)功能預(yù)測(cè)(Automatic Function Prediction, AFP)成為研究熱點(diǎn)[1-2]。
為了評(píng)估蛋白質(zhì)功能預(yù)測(cè)方法的效果,CAFA(The Critical Assessment of protein Function Annotation algorithms)提供了一個(gè)公平且統(tǒng)一的評(píng)測(cè)平臺(tái)。CAFA按照一種延時(shí)評(píng)估的方式進(jìn)行評(píng)測(cè):即先選出測(cè)試集(T0時(shí)刻),經(jīng)過幾個(gè)月的時(shí)間累積實(shí)驗(yàn)標(biāo)注(T1時(shí)刻),最后用這些新的標(biāo)注去評(píng)估預(yù)測(cè)方法。目前已經(jīng)舉辦了3次比賽:CAFA1(2010-2011),CAFA2(2013-2014)和CAFA3(2016-2017),結(jié)果中絕大多數(shù)的優(yōu)秀方法都利用了序列信息,這證明了蛋白序列的重要作用[3-4]。
為了提高蛋白質(zhì)功能預(yù)測(cè)的精度,我們希望能夠充分利用除了蛋白質(zhì)序列以外的其它信息源。事實(shí)上,負(fù)責(zé)蛋白功能標(biāo)注的管理員也常常通過閱讀蛋白質(zhì)的相關(guān)文獻(xiàn)來進(jìn)行功能標(biāo)注。許多學(xué)者已經(jīng)將文本分類方法應(yīng)用于蛋白質(zhì)功能預(yù)測(cè)的領(lǐng)域,如Wong等人[5]提出了一個(gè)基于詞袋模型的文本稀疏表示的蛋白質(zhì)功能預(yù)測(cè)方法。對(duì)于給定的蛋白質(zhì),從PubMed中提取相關(guān)文檔。然后利用詞袋模型得到相關(guān)文檔的特征向量,并使用KNN進(jìn)行GO預(yù)測(cè)打分。該模型效果明顯好于兩個(gè)基準(zhǔn)方法:Naive(Base-Prior)和BLAST(Base-Seq)。但是該模型只對(duì)出現(xiàn)次數(shù)最頻繁的GO進(jìn)行打分,而沒有對(duì)所有GO進(jìn)行預(yù)測(cè)。與基于文本的蛋白質(zhì)功能預(yù)測(cè)任務(wù)類似,對(duì)PubMed文檔進(jìn)行MeSH(Medical Subject Headings)標(biāo)注也是一個(gè)多標(biāo)簽分類問題。Peng等人[6]在MeSHLabeler的基礎(chǔ)上提出了DeepMeSH模型,更好的解決了MeSH標(biāo)注問題。DeepMeSH同時(shí)結(jié)合了含有深度語義信息的稠密表示(D2V)和基于詞袋模型的稀疏表示(TFIDF),將二者拼接得到了含有二者優(yōu)點(diǎn)的D2V-TFIDF表示,比只使用稀疏表示的MeSHLabeler效果有顯著的提高。我們小組的You等人[7]基于DeepMeSH類似的思想,在蛋白質(zhì)功能預(yù)測(cè)任務(wù)中,提出了DeepText2GO模型。DeepText2GO同樣利用蛋白質(zhì)相關(guān)PubMed文檔信息,使用類似的D2V-TFIDF表示,同時(shí)還集成了基于同源信息的預(yù)測(cè)方法(BLAST-KNN)的預(yù)測(cè)結(jié)果。雖然DeepText2GO比基于傳統(tǒng)文本稀疏表示的方法效果有了很大提升,但是DeepText2GO直接使用的是D2V-TFIDF這個(gè)DeepMeSH中效果較好的文本表示方法,沒有嘗試其他的主流文本表示方法。
為了進(jìn)一步探究在蛋白質(zhì)功能預(yù)測(cè)任務(wù)中不同的文本表示對(duì)預(yù)測(cè)效果的影響,本文針對(duì)近年來主流的文本表示方法(TFIDF, W2V, GloVe, D2V)做了大量的實(shí)驗(yàn)和分析。其中,TFIDF表示是一種傳統(tǒng)的基于詞袋模型的稀疏向量表示。它忽略了詞序與上下文語義信息,突出了特定單詞的作用。得益于近年來興起的無監(jiān)督神經(jīng)網(wǎng)絡(luò)模型(Word2Vec, GloVe),我們可以輕松得到含有豐富深度語義信息的稠密詞向量,對(duì)文本中的詞向量進(jìn)行平均就可以得到文本的稠密向量表示(W2V, GloVe)。同時(shí)利用基于Word2Vec模型改進(jìn)的Doc2Vec模型可以直接得到文本的稠密向量表示(D2V),相比由詞向量得到的文本表示,Doc2Vec得到的文本表示能夠更加充分地利用文本的上下文與深度語義信息。
同時(shí)我們還進(jìn)行了兩方面的拓展:一是通過詞向量得到文本表示時(shí)考慮使用IDF加權(quán)平均(WW2V, WGloVe);二是將稀疏表示與稠密表示整合(WW2V-TFIDF, WGloVe-TFIDF, D2V-TFIDF),希望能夠利用它們的互補(bǔ)性,結(jié)合兩者的優(yōu)點(diǎn)。不同的文本表示方法直接決定基于文本信息的蛋白質(zhì)功能預(yù)測(cè)的效果,因此我們希望通過實(shí)驗(yàn)與分析不同的文本表示,找到最適合的文本表示方法,提高預(yù)測(cè)效果。
對(duì)于給定的蛋白質(zhì),找到它在PubMed中的相關(guān)文檔。通過這些相關(guān)文檔,得到不同的文本表示。利用這些文本表示,KNN與邏輯回歸會(huì)對(duì)每個(gè)GO進(jìn)行打分預(yù)測(cè)。本文方法的流程圖,如圖1所示。
圖1 本文方法的流程示意圖
我們用D表示一個(gè)給定的訓(xùn)練集,用ND表示訓(xùn)練集內(nèi)蛋白質(zhì)數(shù)量,即|D|=ND。我們用Gi表示第i個(gè)GO標(biāo)注,用NGi表示D中有Gi標(biāo)注的蛋白質(zhì)數(shù)量。需要注意的是,如果一個(gè)蛋白質(zhì)有GO標(biāo)注Gi,那么我們認(rèn)為在GO結(jié)構(gòu)中Gi的所有祖先GO都是這條蛋白的標(biāo)注。我們用T表示一個(gè)給定的測(cè)試集,用NT表示測(cè)試集內(nèi)蛋白質(zhì)數(shù)量,即|T|=NT,并且用Pj表示測(cè)試集中第j個(gè)蛋白。I(Gj,p)是個(gè)二值函數(shù),表示蛋白質(zhì)p是否有GO標(biāo)注Gi(1表示有,0表示沒有)。S(Pi,Gj)表示蛋白質(zhì)Pi有GO標(biāo)注Gj的打分。
文本預(yù)處理參照了Shatkay等人[8]的處理方法。對(duì)于給定的蛋白質(zhì),通過它的UniProt ID在Swiss-prot數(shù)據(jù)庫中查找相關(guān)文檔,得到這些文檔的PMID(PubMed ID)。通過這些PMID,提取每篇文檔的摘要。如果給定的蛋白質(zhì)有超過一篇的相關(guān)文檔,那么我們就將所有文檔的摘要拼接起來,作為這條蛋白的相關(guān)文檔。
1.3.1 TFIDF表示
TFIDF(term frequency-inverse document frequency)是一種傳統(tǒng)的基于詞袋模型的文本稀疏向量表示,在文本挖掘中有著廣泛的應(yīng)用。TFIDF使用一個(gè)詞典大小的向量表示文本。對(duì)于給定文本中的每個(gè)單詞,TFIDF使用詞頻TF和逆向文檔詞頻IDF的乘積來表示這個(gè)單詞的權(quán)重。TFIDF強(qiáng)調(diào)的是在文檔中出現(xiàn)次數(shù)較多以及在整個(gè)語料庫中出現(xiàn)次數(shù)較少的單詞。顯然,TFIDF將給定文本表示成了一個(gè)高維稀疏向量,并且忽略了文本中的語義信息與單詞順序。
1.3.2 W2V表示與WW2V表示
Word2Vec(Word to Vector)是Mikolov等人[9]在2013年提出的一種基于神經(jīng)網(wǎng)絡(luò)模型的詞向量模型。通過上下文單詞預(yù)測(cè)當(dāng)前單詞(CBOW)或當(dāng)前單詞預(yù)測(cè)上下文單詞(Skip-Gram)的概率來訓(xùn)練神經(jīng)網(wǎng)絡(luò),之后得到每個(gè)單詞的稠密向量表示。對(duì)于給定文本,將文本中所有單詞的詞向量進(jìn)行平均,就得到了文本的W2V表示。而類似TFIDF的思想,每個(gè)單詞的重要性不同,所以對(duì)于給定文本,將文本中所有單詞的詞向量使用IDF的加權(quán)平均,就可以得到文本的WW2V表示。顯然W2V與WW2V表示都是文本的稠密向量表示。
1.3.3 GloVe表示與WGloVe表示
GloVe[10]是另一種流行的詞向量模型。與Word2Vec不同,GloVe通過訓(xùn)練神經(jīng)網(wǎng)絡(luò),逼近整個(gè)語料庫中單詞對(duì)之間的條件概率,得到詞向量。所以相比于Word2Vec,GloVe更加強(qiáng)調(diào)的是在整個(gè)語料庫中的整體統(tǒng)計(jì)信息與單詞之間的關(guān)系。類似W2V與WW2V表示之間的關(guān)系,GloVe與WGloVe表示也是在得到的GloVe詞向量基礎(chǔ)上通過文本內(nèi)單詞詞向量的平均或者IDF加權(quán)平均得到它的文本表示。顯然GloVe和WGloVe表示都是文本的稠密向量表示。
1.3.4 D2V表示
Doc2Vec(Document to Vector)[11]是Le等人2014年提出的基于Word2Vec改進(jìn),直接得到文本深度稠密表示的方法。Doc2Vec在Word2Vec的模型基礎(chǔ)上,為每篇文檔增加了文檔向量,在訓(xùn)練神經(jīng)網(wǎng)絡(luò)的同時(shí)調(diào)整文檔與單詞的向量表示。通過這種方法得到的文本表示稱為D2V表示。顯然,D2V表示不僅是文本的稠密向量表示,相比上文提到的W2V與GloVe表示,更加充分的考慮了文本的深度語義信息。
1.3.5 表示的結(jié)合
因?yàn)門FIDF更強(qiáng)調(diào)指定的單詞,忽略了語義信息,而D2V等稠密表示恰好含有豐富的深度語義信息,而缺少了特定單詞的信息。為了利用兩者的互補(bǔ)性,結(jié)合兩者的優(yōu)點(diǎn),將TFIDF表示的向量和WW2V、WGloVe、D2V表示的向量分別拼接,得到WW2V-TFIDF、WGloVe-TFIDF以及D2V-TFIDF表示。同時(shí)為了因?yàn)椴徽撌窍∈璞硎具€是稠密表示,每個(gè)表示的優(yōu)缺點(diǎn),側(cè)重點(diǎn)都不同,所以我們也嘗試了將所有表示的向量拼接得到新的組合表示。
1.4.1K近鄰(KNN)
對(duì)于給定的蛋白質(zhì)Pi,它使用KNN的打分計(jì)算,如式(1)。
(1)
式中,I(Gj,Pk)是一個(gè)二值指示函數(shù)表示蛋白質(zhì)Pk是否已標(biāo)注功能Gj,Sim函數(shù)表示兩個(gè)蛋白質(zhì)的相似度,我們選用兩個(gè)文本表示的cosine距離作為相似度函數(shù)。
1.4.2 邏輯回歸(Logistic Regression)
對(duì)于每個(gè)GO,我們使用邏輯回歸模型以及所有正負(fù)樣本進(jìn)行分類器的訓(xùn)練。對(duì)于給定的蛋白質(zhì),直接將每個(gè)GO的邏輯回歸分類器的預(yù)測(cè)打分作為它的預(yù)測(cè)結(jié)果。
Naive是CAFA的基準(zhǔn)之一。對(duì)于所有給定蛋白,直接用每個(gè)GO在訓(xùn)練集中的頻率當(dāng)做這個(gè)GO的預(yù)測(cè)分?jǐn)?shù)。預(yù)測(cè)分?jǐn)?shù)如式(2)。
(2)
我們從UniProt/Swiss-prot[10]蛋白質(zhì)數(shù)據(jù)庫下載了2016.1與2016.10的標(biāo)注文件。為了實(shí)驗(yàn)更加準(zhǔn)確,我們仿照CAFA按照時(shí)間劃分訓(xùn)練集與測(cè)試集的設(shè)置。本文的實(shí)驗(yàn)中,我們將關(guān)注那些之前沒有任何實(shí)驗(yàn)標(biāo)注信息(no-knowledge)的新蛋白。我們將2016年1月前的標(biāo)注數(shù)據(jù)作為訓(xùn)練集,將2016年1月前沒有實(shí)驗(yàn)標(biāo)注的蛋白質(zhì)在2016.1~2016.10的標(biāo)注作為測(cè)試集。為了使數(shù)據(jù)更加準(zhǔn)確,我們只使用其中的生物實(shí)驗(yàn)標(biāo)注,即證據(jù)代碼為EXP,IDA,IPI,IMP,IGI,IEP,TAS,IC這8種類型的GO標(biāo)注。統(tǒng)計(jì)訓(xùn)練集和測(cè)試集的蛋白質(zhì)數(shù)量。如表1所示。
表1 訓(xùn)練集與預(yù)測(cè)集的蛋白質(zhì)數(shù)量
我們從Swiss-prot數(shù)據(jù)庫中提取訓(xùn)練集與測(cè)試集中蛋白質(zhì)的相關(guān)文檔的PMID,并且從PubMed數(shù)據(jù)庫中下載它們的摘要。其中訓(xùn)練集中有144 842篇Pubmed相關(guān)文檔,測(cè)試集中有2 713篇相關(guān)文檔。預(yù)處理采用WordNet詞典和NLTK分詞工具進(jìn)行分詞。參照Peng等[6]的參數(shù)設(shè)置,稠密表示的向量長度選擇200。
為了評(píng)估預(yù)測(cè)效果,我們選用Fmax和AUPR(The area under the precision-recall curve)作為評(píng)價(jià)指標(biāo)。AUPR是評(píng)估分類問題的常用指標(biāo),因?yàn)楸華UC對(duì)假陽性預(yù)測(cè)有更多懲罰,所以更適合用于高度不平衡的數(shù)據(jù)。因?yàn)榇蚍挚壳暗腉O更重要,所以我們?cè)谟?jì)算AUPR時(shí)只關(guān)注打分最靠前的100個(gè)GO。Fmax作為CAFA的評(píng)估指標(biāo)之一,在蛋白質(zhì)功能預(yù)測(cè)的效果評(píng)估中被廣泛應(yīng)用。Fmax的定義如式(3)。
(3)
式中pr(τ)和rc(τ)分別表示在某個(gè)截?cái)嘀郸酉碌臏?zhǔn)確率和召回率,定義如式(4)、(5)。
(4)
(5)
其中h(τ)是至少有一個(gè)GO標(biāo)注且分?jǐn)?shù)大于等于τ的蛋白質(zhì)個(gè)數(shù),函數(shù)1(·)在括號(hào)內(nèi)判斷為真時(shí)值為1,否則為0。對(duì)于給定的測(cè)試集,我們先計(jì)算每個(gè)蛋白質(zhì)與每個(gè)GO的預(yù)測(cè)分?jǐn)?shù),并將此分?jǐn)?shù)排序,再按照上述方法進(jìn)行AUPR和Fmax的評(píng)估。
2.3.1 基于不同表示的KNN效果對(duì)比
基于不同表示的KNN效果對(duì)比,如表2所示。
表2 文本表示在KNN下的Fmax和AUPR結(jié)果
表2每列最好的結(jié)果用黑體表示,第二名用下劃線表示。我們對(duì)稠密表示(W2V, WW2V, GloVe, WGloVe, D2V)與稀疏表示(TFIDF)進(jìn)行對(duì)比,發(fā)現(xiàn)對(duì)于所有指標(biāo),所有基于稠密表示的KNN效果都比基于稀疏表示(TFIDF)的KNN和Naive要好。例如,對(duì)于在MFO上的AUPR,基于稠密表示的KNN中效果最差的是KNNGloVe(0.248),最好的是KNNWW2V(0.292),明顯好于Naive(0.161)與KNNTFIDF(0.213)。對(duì)于基于詞向量的稠密表示(W2V, WW2V, GloVe, WGloVe),我們發(fā)現(xiàn)通常情況下使用IDF加權(quán)的(WW2V, WGloVe)要比直接求平均的(W2V, GloVe)效果好。例如在MFO的AUPR上,KNNWW2V明顯好于KNNW2V,而KNNWGloVe也明顯好于KNNGloVe。我們也嘗試了將稠密表示與稀疏表示進(jìn)行拼接結(jié)合(D2V-TFIDF, WW2V-TFIDF, WGloVe-TFIDF),并且發(fā)現(xiàn)在KNN中,因?yàn)門FIDF效果比較差,這種拼接的表示比起單獨(dú)使用稠密表示并沒有提高,反而大多數(shù)時(shí)候都在下降。通過觀察可以看出,所有單個(gè)稠密表示的KNN中并不存在一個(gè)最好的。即沒有在所有類別(MFO, BPO, CCO)的所有指標(biāo)(Fmax,AUPR)上都好于其他的。例如,對(duì)于MFO和BPO上的Fmax,KNNWW2V在所有稠密表示的KNN中效果最好(0.388, 0.380),而KNND2V則在CCO上的Fmax最好(0.646),且明顯高于KNNWW2V(0.610)。因此我們認(rèn)為每個(gè)表示由于計(jì)算方法不同,側(cè)重點(diǎn)不同,應(yīng)該具有互補(bǔ)性。所以我們嘗試選擇了3個(gè)最好稠密表示(WW2V, WGloVe, D2V)進(jìn)行拼接,得到KNNCombined的效果。我們觀察到,在3個(gè)類別的兩個(gè)指標(biāo)中,除了在BPO上的Fmax(0.377)稍次于KNNWW2V(0.380),其余的都取得了最好的效果。說明確實(shí)不同稠密表示是不一樣的,具有互補(bǔ)性。
2.3.2 基于不同表示的邏輯回歸效果對(duì)比
基于不同表示的邏輯回歸效果對(duì)比,如表3所示。
表3 文本表示在邏輯回歸下的Fmax和AUPR結(jié)果
表內(nèi)每列最好的結(jié)果用黑體表示,第二名用下劃線。我們同樣對(duì)稠密表示(W2V, WW2V, GloVe, WGloVe , D2V)與稀疏表示(TFIDF)進(jìn)行對(duì)比,同時(shí)也和KNNCombined與Naive進(jìn)行比較。我們發(fā)現(xiàn),基于稀疏表示的邏輯回歸比所有基于稠密表示的邏輯回歸效果更好,并且邏輯回歸的效果也明顯好于Naive與KNNCombined。例如對(duì)于MFO上的Fmax,LRTFIDF(0.461)好于稠密表示中最好的LRD2V(0.459),并且遠(yuǎn)好于KNNCombined(0.398)與Naive(0.272)。其次,類似在KNN中的發(fā)現(xiàn),在邏輯回歸中,用IDF加權(quán)平均的表示(WW2V, WGloVe)要比直接平均(W2V, GloVe)的效果更好。例如對(duì)于MFO上的AUPR,LRWW2V要明顯好于LRW2V,LRWGloVe也明顯好于LRGloVe。同樣考慮稀疏表示與稠密表示的互補(bǔ)性,我們?cè)谶壿嫽貧w中,也將稀疏與稠密兩種表示拼接結(jié)合后作為新的表示(WW2V-TFIDF, WGloVe-TFIDF, D2V-TFIDF)。我們發(fā)現(xiàn),因?yàn)橄∈璞硎九c稠密表示的效果差距沒有那么大,所以拼接后的效果達(dá)到預(yù)期,比單獨(dú)的稀疏和稠密表示的效果都更好。例如LRD2V-TFIDF在CCO上的AUPR(0.712),明顯好于LRTFIDF(0.696)和LRD2V(0.677)。這說明拼接的表示充分利用了兩者的互補(bǔ)性,結(jié)合了兩者的優(yōu)點(diǎn),提升了效果。同樣我們也發(fā)現(xiàn)在邏輯回歸中,LRD2V-TFIDF要比LRWW2V-TFIDF以及LRWGloVe-TFIDF的效果要更好。例如在MFO上的AUPR,LRD2V-TFIDF(0.458)明顯好于LRWW2V(0.428)與LRWGloVe(0.420),這說明了D2V確實(shí)比WW2V以及WGloVe表示含有更加豐富的深度語義信息,與TFIDF更具有互補(bǔ)性。最后我們嘗試將TFIDF, D2V, WW2V, WGloVe 4個(gè)表示進(jìn)行拼接得到LRCombined。通過觀察可以發(fā)現(xiàn),LRCombined確實(shí)比LRD2V-TFIDF有略微提高,在所有類別的所有指標(biāo)上效果最好。例如在MFO上的Fmax,LRCombined(0.508)略微好于LRD2V-TFIDF(0.504),說明基于這種拼接后表示的邏輯回歸,還是可以利用它們的互補(bǔ)性來提高效果的。
文本信息作為序列信息以外的信息源,在蛋白質(zhì)功能預(yù)測(cè)任務(wù)中同樣具有重要作用。在這篇文章中,我們?cè)陬愃艭AFA的實(shí)驗(yàn)設(shè)置下,探究了在利用文本信息進(jìn)行蛋白質(zhì)功能預(yù)測(cè)時(shí),使用不同文本表示的效果對(duì)比。我們嘗試了多種主流文本表示,包括傳統(tǒng)的基于詞袋模型的文本稀疏表示(TFIDF)和含有深度語義信息的文本稠密表示(W2V, GloVe, D2V)。同時(shí)我們還做了兩個(gè)拓展:針對(duì)基于詞向量的稠密表示,采用了IDF加權(quán)平均(WW2V, WGloVe),以及稀疏與稠密表示的拼接結(jié)合(WW2V-TFIDF, WGloVe-TFIDF, D2V-TFIDF, Combined)。實(shí)驗(yàn)表明,總體上來看,邏輯回歸要比KNN的效果更好。在KNN中,稠密表示效果比稀疏表示更好;而在邏輯回歸中正相反。無論在KNN還是邏輯回歸中,比較不同的稠密表示都各有側(cè)重點(diǎn),沒有最好的稠密表示。同時(shí)我們發(fā)現(xiàn),稀疏表示更側(cè)重特定單詞,而稠密表示含有深度語義信息,兩者是互補(bǔ)的。實(shí)驗(yàn)也證明了,將它們拼接結(jié)合,同時(shí)利用兩者的優(yōu)點(diǎn),效果會(huì)顯著提升。最后我們推薦基于Combined表示(同時(shí)拼接TFIDF, WW2V, WGloVe, D2V)的邏輯回歸,它在所有類別的所有指標(biāo)中效果都是最好的。在今后的研究中,在使用文本信息進(jìn)行蛋白質(zhì)功能預(yù)測(cè)的基礎(chǔ)上,我們也會(huì)嘗試融合序列信息以及其他信息來提高預(yù)測(cè)精度。