胡 浩,高 靜,劉振羽
1.內蒙古農業(yè)大學 計算機與信息工程學院,呼和浩特010018
2.內蒙古自治區(qū)農牧業(yè)大數(shù)據(jù)研究與應用重點實驗室,呼和浩特010018
隨著領域數(shù)據(jù)的爆發(fā)式增長,目前科研人員在尋找與特定表型相關的基因時,需要在不同的基因或表型數(shù)據(jù)庫中人工整理基因及表型間的關系,以此確定某一基因型對表型的不同影響,這就需要構建大量的特定物種的特定表型與基因型的關系庫。目前主流的構建數(shù)據(jù)庫的方式有兩種,一種是基于測序數(shù)據(jù)[1],另外一種是基于文獻挖掘。
對于傳統(tǒng)的基因變異數(shù)據(jù)庫而言,數(shù)據(jù)主要來源于通過高通量測序等一系列生物分子技術實驗得到的原始數(shù)據(jù)和大型數(shù)據(jù)庫已有數(shù)據(jù)[2]。例如:Kamiński等人[3]為了處理和編目所有關于直接、間接或潛在與牛奶蛋白生物合成相關的單核苷酸多態(tài)性(SNPS)的可用信息。建立了一個包含39個基因中的339個SNPs的數(shù)據(jù)庫。在339個SNPs中,發(fā)現(xiàn)了316個單核苷酸取代、8個缺失、5個重復、7個插入和3個插入。該研究中SNPs的收集可作為研究牛奶蛋白質生物合成變異的遺傳測定和經過廣泛的種群篩選后的可靠資源,也可用于奶牛的親子鑒定和進化研究。Ogorevc等人[4]構建開發(fā)了一個關于牛奶生產和乳腺炎的候選基因和遺傳標記的牛數(shù)據(jù)庫來作為一個綜合的研究工具,該數(shù)據(jù)庫包含943個參與乳腺發(fā)育和功能的基因和基因標記,作為進一步功能研究的候選對象,候選基因點被繪制在基因圖上,之后利用七種不同研究方法通過多個獨立分析發(fā)現(xiàn)的4個基因被認為是最有前途的候選基因,并進一步分析出硅泌乳乳腺的表達水平、基因變異和功能網絡的最優(yōu)生物學功能。
與此同時,還有一大部分科研成果以文獻或報告的形式存在于不同的文獻數(shù)據(jù)庫中,要在大量文獻中檢索出針對特定表型被哪些基因型及變異影響,就需要進行繁瑣復雜的人力工作,將會耗時較長,嚴重影響研究進展[5]。而如果能夠對文獻中的基因表型關聯(lián)知識進行收集和整理,將隱含在文獻中的信息有邏輯地建立關系,就能極大地減少科研人員收集和檢索的時間,為知識的有效利用奠定相應的基礎。
因此,為滿足領域相關科研人員快速了解當前研究領域現(xiàn)狀,基于文獻挖掘的數(shù)據(jù)庫成為了研究的熱點。例如:佟凡[6]針對當前自然語言處理技術精準面對醫(yī)學知識庫的構建時,仍因模型、算法存在諸多局限和不足而導致難以滿足實際需求的情況,基于生物醫(yī)學文獻庫及現(xiàn)有知識庫資源,結合自然語言處理技術,優(yōu)化了基因、變異和疾病命名實體識別算法,構建了滿足“基因-變異-疾病”文獻挖掘任務需求的關系類型和關系抽取語料庫,設計了適用于“基因-變異-疾病”關系抽取的新算法,開發(fā)出可集成不同來源知識的“基因-變異-疾病”知識圖譜構建、編審、可視化檢索利用和展示的平臺。2020年付義報[7]基于共現(xiàn)的方法,從PubMed歷年文獻中篩選出生缺陷與表型/癥狀、基因、致畸物/藥物等共同出現(xiàn)的句子。首先,對這些句子進行假陽性處理,根據(jù)遠程監(jiān)督的思想,利用UMLS定義的關系,人工給句子中兩個實體標注關系,從而建立起出生缺陷相關的語料庫。然后,利用人工標注好的語料庫訓練了三種不同的深度學習關系抽取模型并依據(jù)這三種模型的預測結果,采用多數(shù)表決和高置信度的方法,生成最終的關系抽取預測模型以得到<實體,關系,實體>三元組,之后將三元組相關信息存儲在圖數(shù)據(jù)庫Neo4j中,構建了出生缺陷領域的知識圖譜。最后,利用訓練好的預測模型對新句子進行預測從而推斷出句子中實體之間的關系,并將新得到的三元組添加到知識圖譜中。
隨著高通量測序技術的不斷發(fā)展,基于大規(guī)模的生物信息學數(shù)據(jù)積累,篩選出與提高牛奶產量和質量的相關基因或者物理環(huán)境的影響因素成為生物學家與相關畜牧業(yè)專家研究奶產量領域的重中之重。伴隨領域數(shù)據(jù)的爆發(fā)式增長,單純依賴人工采集、編審的傳統(tǒng)知識庫構建策略,由于其耗時長、無法自動更新等原因已不再適合,從文獻中自動抽取信息和挖掘潛在知識成為近年的研究重點與應用熱點[8]。
針對現(xiàn)有生物領域數(shù)據(jù)庫的研究中還沒有基于奶牛產奶量-基因而構建的專題知識庫,且現(xiàn)有生物數(shù)據(jù)庫大多使用關系型數(shù)據(jù)庫存儲數(shù)據(jù),在對數(shù)據(jù)進行多對多關系建模時并不合適。本文在文獻挖掘的基礎上,基于知識圖譜構建各類奶牛產奶量-基因知識庫,通過多實體識別得到基因和物理影響因素的信息,再進行產奶量-基因的關系抽取,經過人工審核后,采用Neo4j圖數(shù)據(jù)庫以圖形化方式更加直觀地描述奶牛產奶量-基因的關系[9],形成基因-表型知識庫。為科研人員進一步篩選與表型相關的主效基因提供基礎知識庫的支撐。
知識圖譜(knowledge graph)于2012年由谷歌公司首次提出,與傳統(tǒng)存儲結構不同,知識圖譜本質上是一種語義網絡,是以圖的形式來描繪客觀事物。這里的圖即指數(shù)據(jù)結構中的圖,是由節(jié)點和邊構成,其中的節(jié)點表示實體或者概念,即現(xiàn)實或者抽象出來的事物,而邊表示事物的關系和屬性,事物的內部特征用屬性來表示,外部聯(lián)系用關系來表示[10-11]。
在以往的搜索引擎核心中,都是將要搜索的內容看作字符串,將其與數(shù)據(jù)庫中數(shù)據(jù)進行比對,按照匹配度從高到低的形式展現(xiàn)給用戶。將知識圖譜的技術加入后,可以將搜索內容看作客觀世界的事物,也就是單獨的個體后進行語義搜索,去查找所需的本體或者本體關聯(lián)的信息。因此知識圖譜在智能問答、語義搜索、推薦系統(tǒng)等方面具有廣泛的應用前景。
基于知識圖譜構建奶牛產奶量-基因知識庫的構建方法主要分為四個階段如圖1所示。
圖1 奶牛產奶量-基因知識圖譜的構建方法Fig.1 Construction method of knowledge graph of gene-production traits in dairy cows
(1)數(shù)據(jù)的采集和預處理:為確保數(shù)據(jù)具有權威性,數(shù)據(jù)采集階段以目前國際上公認的生物醫(yī)學文獻數(shù)據(jù)庫PubMed為來源,PubMed是一個免費的文獻搜索引擎,其中相關文獻的摘要部分一般包括研究目的、方法、結果和結論,能夠基本涵蓋論文主旨。本實驗以“產奶量”“基因”為關鍵字,對在PubMed中檢索出的700多篇文獻進行篩選整理后,將符合條件的170余篇文獻作為實驗數(shù)據(jù)的來源。
通過引擎自動相關文獻摘要的功能獲取原始數(shù)據(jù),采用自然語言處理技術對文本進行預處理,刪除作者詳細信息及出版商信息等數(shù)據(jù),保留文獻URL、標題、摘要以及實驗樣本等關鍵信息,為后續(xù)知識抽取工作做準備。
(2)基因/物種命名實體識別:隨著生物醫(yī)學的快速發(fā)展,相關文獻數(shù)量也以爆發(fā)式的速度在增長,而從生物醫(yī)學文獻到結構化的數(shù)據(jù)是非常耗時且繁瑣的,這就使得生物醫(yī)學研究很難及時順利地開展[12]。因此,通過自動文本挖掘工具幫助定位相關物種、基因、性狀等成為了幫助相關人員研究工作的利器。
PubTator是一個基于Web的系統(tǒng),區(qū)別于現(xiàn)有的注釋和文獻挖掘工具[13],PubTator具有幾個優(yōu)秀的特性。首先,PubTator是一個集成式工具,可以為相關研究者從搜索和檢索相關文獻到注釋選定文章提供一站式服務。第二,用戶在PubTator中的輸入既可以是搜索查詢,也可以是PubMed文章的列表。在完成手動管理后,用戶就可以輕松地下載和導出其注釋文件。第三,PubTator的界面設計與PubMed類似,使得相關生物研究人員可以輕松地使用操作。第四,PubTator中集成了目前多種已經在生物醫(yī)學領域具有較高精確度的文本挖掘工具[14],可以自動地識別關鍵的基因、物種、疾病等相關實體,如表1所示。
表1 Pubtator集成工具展示Table 1 Pubtator integration tool presentation
(3)生產性狀-基因關系抽?。涸跇嫿ㄖR圖譜時,關系的抽取直接影響著之后生物研究人員對于檢索信息的篩選和判斷。所需的信息即為文獻中直接提到的基因型與相關生產性狀之間的表達關系。由于目前沒有大規(guī)模人工注釋的表型-基因型的語料庫。為此本文采用Open IE關系抽取工具進行半自動篩選。Open information extraction(Open IE)能夠從純文本中提取開放域關系三元組,用以表示關系的主體、關系和客體[15]。
(4)關系表示、存儲和可視化:本文的目的是通過三元組來構建實體及實體間的關系,因此采用Neo4j圖數(shù)據(jù)庫表示和存儲數(shù)據(jù)。Neo4j是一種高性能NOSQL圖形數(shù)據(jù)庫,它將結構化數(shù)據(jù)存儲在網絡上而不是表中,是一個嵌入式的,基于磁盤存儲的,具備完全的事務特性的Java持久化引擎[16]。在Neo4j中,一般通過兩種三元組關系建立聯(lián)系,一種是實體-關系-實體,用以表達基因和生產性狀之間的關系[17]。另一種是實體-屬性-值,用以表達目標基因所涉及文獻的相關屬性,以便于研究人員快速找到對應文獻或關鍵信息,進行更深入的研究。
以PubMed文獻庫為數(shù)據(jù)來源,按照關鍵詞“Milk Yield”“gene”進行檢索,共得到700余篇相關文獻,之后根據(jù)文章摘要部分對文獻進行篩選,得到170余篇在文章摘要中包含奶?;蚣爱a奶量相關關系的文獻。利用PubTator對目標文獻進行導出,其中涵蓋了文章的PMID、文章出版時間、標題、作者信息、摘要等相關信息。利用腳本對文章進行預處理,刪除其中的作者信息、出版時間等,方便之后對于文章摘要部分進行命名實體識別以及關系抽取等關鍵步驟。
利用Pubtator命名實體識別工具對170余篇文獻進行處理,剔除掉疾病、化學因素等與本文沒有聯(lián)系的實體,發(fā)現(xiàn)Pubtator對于基因實體的識別度相對較高,能有效地挖掘文獻文本中存在的基因種類,在此基礎上,再通過閱讀文獻對上述基因進行進一步的篩選,選出其中對產奶量能夠產生影響的基因實體,并進行統(tǒng)計整理后,得到結構化數(shù)據(jù),以便構建知識圖譜。相對于基因實體,Pubtator對于物種的識別度較低,大多只能識別出cattle、Bovine等科級門類,而對下一等級的屬、種難以識別,如表2所示。例如,本文將文獻涉及樣本精確到了牛的具體種類或狀態(tài)如:China Holstein(中國荷斯坦奶牛)、Italian Holstein(意大利荷斯坦奶牛)、Jersey cattle(澤西牛)、wild yak(牦牛)、Egyptian buffaloes(埃及水牛),calving patterns(產犢狀態(tài))等。對于無法識別的具體種類,在經過數(shù)據(jù)清洗并通過人工審核篩選后最終得到139個基因實體,6個物理環(huán)境影響因素(heat stress(HT)and photoperiod(熱應激和光周期)、milking frequency(擠奶頻率)等)?;谝陨蠈嶒灁?shù)據(jù),Pubtator對于基因的識別準確率約為82.35%,能夠滿足前期對于初始數(shù)據(jù)的較為高效的篩選,極大減少了人力工作,提高了研究進展。值得一提的是,Pubtator是一個基于網絡的輔助生物醫(yī)學文本挖掘工具,對于不同需求種類的文本有著不一樣的準確率,且差異化明顯。因此要想使Pubtator能夠較好地適用于自身需求,需要不斷地完善和豐富自身語料庫,這也是后期需要不斷完善和改進的地方。經過校對和整理后,文獻庫中得到了140個對應文獻的實驗樣本。
表2 命名實體識別結果數(shù)據(jù)Table 2 Named entity recognition
利用Stanford Open IE對已經經過命名實體識別后的文獻文本進行實體關系的抽取,經過Open IE抽取后以{'subject:','relation:','object:'}的三元組形式輸出,由于Open IE是通用領域關系抽取工具,抽取結果會以多可能性的方式展現(xiàn),因此在抽取后還需進一步經過人工篩選校對,抽取及校對后得到的關系示例如下:
(1)奶牛產奶量-基因關系:對于包含關系的語句“These results would suggest that LPIN1 is having an effect on yak milk fat synthesis.”在經過抽取后得到若干條可能存在的關系,如表3所示。經過篩選后保留三元組{'subject':'LPIN1','relation':'having an effect on','object':'yak milk fat synthesis'}。
表3 基因-生產性狀關系抽取結果數(shù)據(jù)Table 3 Result data extracted from gene-production trait relationship
(2)奶牛產奶量-物理環(huán)境因素關系:對于包含語句“Heat stress(HT)and photoperiod affect milk production and immune status of dairy cows.”在經過抽取后得到若干條可能存在的關系,如表4所示。經過篩選后保留三元組{'subject':'Heat stress(HT)and photoperiod',
表4 奶牛產奶量-物理環(huán)境因素關系抽取結果數(shù)據(jù)Table 4 Extracting result data from relationship between physical environmental factors and production traits
'relation':'affects','object':'milk production and immune status'}。經整理校對后,共得到生產性狀-基因關系139條,生產性狀-物理環(huán)境因素6條,如表5所示,整理為結構化數(shù)據(jù)后,方便下一步知識圖譜的構建。
表5 奶牛產奶量-基因/物理環(huán)境因素實體關系展示Table 5 Partial gene/physical environment factor-production trait entity relationship display
OpenIE實現(xiàn)了對海量信息中可能存在的關系的抽取,該種方法不需要前期手工標注訓練集,也不局限于特定的領域,而是通過自動的學習和統(tǒng)計來實現(xiàn)關系的抽取。在上述實驗的過程中,OpenIE能夠較好地完成對含有基因表型實體的特定語句的關系抽取,且準確率隨著實驗數(shù)據(jù)的積累不斷提高。但同時也存在著部分關系抽取不明確,可能存在關系較多需要后期人工篩選等的情況出現(xiàn)。并且,作為自然語言處理領域較為常見的指代消減等問題也同樣存在,需要在自動抽取的基礎上進一步篩查校對,保證關系的準確性和對生物醫(yī)學文獻中所存在關系的最精確的保留和引用。后期,隨著文獻庫中數(shù)據(jù)量的不斷擴大和新的表型性狀的不斷加入,構建一個關于奶牛的基因表型特定語料庫對于關系抽取的準確性和精確性會有進一步的提高。
對經過結構化處理后的數(shù)據(jù)進行整體分析,創(chuàng)建了7種實體類型,構建出如圖2的關系結構圖。
圖2 奶牛產奶量-基因知識庫實體關系結構圖Fig.2 Structure diagram of entity relationship between milk yield of dairy cows and gene knowledge base
結合奶牛產奶量的實體關系結構,確定實體與實體以及實體與屬性間的關系類型。Production traits實體與Milk Yield實體間,Milk Yield實體與Physical factors實體及Genetic factors實體間,Physical factors實體與Physical Environment實體,Genetic factors實體與Gene實體間的關系均為include,Physical Environment實體及Gene實體與Title、Simple和Link實體間的關系均為property,如表6所示。
表6 實體關系類別Table 6 Entity relationship category
為了使基因與表達性狀間的關系表達更為準確,本文直接采用文獻中對于關系的描述,沒有做人為的更改。例如:medium effect on,was associated with decreased,had no significant effect,shows a statistically significant relationship(P=0.05),have potential effects on,had significant(P<0.05)effect on等140余種不同的在原文獻中對于關系的表達。按照實體與實體或者實體與屬性的關系將奶牛產奶量與基因、物理環(huán)境因素以及其所在文獻的標題、鏈接、實驗樣本等相關信息一次建立關系,方便后續(xù)的檢索和審查。在建立關系時,首先將前期整理好的結構化數(shù)據(jù)以CSV格式儲存,再通過Python讀取,按照前期設計的關系結構,以父子節(jié)點的方式存儲,存儲時首先檢查庫中是否存在該種實體節(jié)點,如存在則合并,如不存在則創(chuàng)建新的節(jié)點,建立聯(lián)系。將定義好的實體節(jié)點和關系存儲到Neo4j圖數(shù)據(jù)庫中用到了Python語言提供的py2neo接口實現(xiàn)。最終構建的知識圖譜部分數(shù)據(jù)展示如圖3。
圖3 奶牛產奶量-基因知識圖譜Fig.3 Milk yield of dairy cows-genetic knowledge graph
奶牛產奶量-基因的可視化平臺搭建使用了前后端分離的技術,后端搭建以目前較為流行的Python Web框架Flask為基礎,通過導入py2neo包連接Neo4j數(shù)據(jù)庫,將用戶輸入的字符串利用json模塊轉化為字典,結合提前寫好的Cypher查詢語句框架,對數(shù)據(jù)庫中已有內容進行查詢檢索。檢索平臺前端通過同樣流行的開源框架Vue實現(xiàn),方便后期功能的完善和管理的同時具備了較好的兼容性。檢索系統(tǒng)目前主要包含了以下三類功能:
(1)查詢奶牛產奶量-基因相關文獻信息功能。分別支持按照基因Genetic factors或生產性狀Phenotype兩種關鍵詞的搜索方式進行檢索,檢索關鍵詞不區(qū)分大小寫,檢索結果以生產性狀類型、相關聯(lián)基因、具體基因型,以及文獻的標題、實驗所涉及樣本和文章在PubMed中的具體鏈接的形式返回給用戶,方便研究人員直接找到對應文獻進行更為深入的查閱和研究。如圖4所示,在類型選擇下拉列表中選擇Phenotype,在對應的名稱輸入框中輸入“Milk Yield”關鍵字,點擊“搜索”按鈕,即可以表格的形式獲得與產奶量有關的所涉及的全部基因以及其文獻資料的相關詳細信息。
圖4 奶?;?生產性狀知識庫界面Fig.4 Dairy cow gene-production traits knowledge base interface
(2)查詢奶牛產奶量-基因關系圖查詢功能。該功能以單個目標基因為主體,方便在上一個功能的基礎上查詢特定的基因,在輸入特定基因后檢索系統(tǒng)可以將特定基因與生產性狀的關系以力向導圖的形式展現(xiàn)給用戶。用戶還可以根據(jù)自身需求,對關系圖進行縮小、放大、旋轉和拖動,當用戶將光標移動到某一節(jié)點上時,該節(jié)點以及對應的關系和關系節(jié)點都將高亮顯示,同時,其他節(jié)點變?yōu)榛叶蕊@示。同時,關系圖還提供了下載保存到本地的功能。
(3)奶牛產奶量-基因知識圖譜的可視化功能。如圖5所示,該功能可向用戶以力向導圖的形式展示現(xiàn)有數(shù)據(jù)庫中所有存在的約600個實體節(jié)點和500余條存在的關系,同樣支持放大、縮小、拖動和旋轉功能方便用戶查看。
圖5 奶牛產奶量-基因知識圖譜可視化Fig.5 Visualization of dairy cow gene-production trait knowledge graph
奶牛產奶量性狀相關基因知識圖譜及平臺支持研究人員在海量文獻庫中快速檢索挑選影響奶產量的重要文獻,鎖定目標基因與相關表型的關系,能夠在確定相關表型的基礎上,快速對該種表型的其他影響基因進行深入了解,或在已知特定基因的基礎上,查詢與之相關聯(lián)的基因,確定多種基因之間是否存在共同影響作用,并且對于將基因與表型、基因與基因間關系進行非結構化的呈現(xiàn)等多種實際用途。具有直觀、清晰、易于操作的特點,為研究人員進一步篩選與奶牛奶產量表型相關的主效基因提供知識庫支撐。
本文詳細闡述了奶牛產奶量-基因知識圖譜的構建,前期共涉及文獻700余篇,經整理篩選后得到與生產性狀的相關文獻170余篇,共篩選出約140個關聯(lián)基因和130余條關聯(lián)關系,這些數(shù)據(jù)為相關研究人員提供了方便,對奶牛生產性狀,尤其是產奶量這一表型的深入研究具有重要意義。同時,也存在著前期人工篩選耗時,命名實體識別與關系抽取準確率有待提高等問題,針對這些問題,后續(xù)將繼續(xù)深入完善優(yōu)化,力爭實現(xiàn)垂直領域的特定語料庫,將在大大提高識別準確率的同時進一步解放勞動力,而著力于數(shù)據(jù)量的擴展和數(shù)據(jù)庫字段類型的豐富。此外,后續(xù)還將繼續(xù)對檢索系統(tǒng)做進一步的完善優(yōu)化,增加用戶意見以及詞條修正等功能,使廣大專業(yè)領域研究人員能夠積極參與到提高基因-表型關系精確度的工作中來。