,
近年,藥物安全問題日益凸顯。一方面,臨床上由于對藥物副作用的認識不足而導致的藥物治療錯誤、急慢性中毒、與藥物相關的發病率和病死率升高、藥物的濫用與錯用等問題頻繁出現;另一方面,由于臨床試驗的長期性、復雜性,批準上市藥物的副作用反饋有延遲,導致早期難以預測藥物副作用,如羅非昔布1999年5月由FDA批準上市,直至2004年方因其心血管危害性召回。因此,及時發現藥物副作用成為備受關注的話題。
目前具有藥物副作用關聯知識的數據庫均存在問題。如SRS(Spontaneous Reporting System)、FAERS(FDA Adverse Event Reporting System)等自發報告型數據庫的數據來源不夠權威,存在過度報告、數據不全、重復申報等局限性;SIDER (Side Effect Resource)數據僅涉及FDA批準的藥物,數據是通過簡單的模式匹配從文本中提取的,可靠性較差,而且臨床試驗中因素錯綜復雜,不能完全確定不良反應是由該藥物引起的;European Medicines Agency等大型數據庫涉及內容過多,無專門的藥物副作用檢索,使用效果不佳;還有個別數據庫存在不向公眾公開,不及時更新等問題。因此,用文本挖掘方法從自由文本中準確、全面探測藥物副作用,以充實藥物副作用數據庫十分必要。
最近大量基于文本挖掘的生物醫學知識發現研究成果表明[1],文本挖掘可成功地應用于基因位點、蛋白通路、疾病等生物醫學實體之間的關系探測,說明用文本挖掘方法預測和補充擴展現有數據庫的藥物副作用數據也是可行的,而且使用文本挖掘研究藥物副作用,更快捷,耗時耗資更少。但是,用文本挖掘技術從自由文本中提取藥物副作用的實現并不僅僅依賴于文本挖掘傳統的共現聚類分析等,還要結合復雜的自然語言處理工具。本文就當前最新生物醫學文本挖掘技術在藥物研究領域中的相關研究成果和主要方法進行了調查和分析,并對未來發展做出展望。
筆者就PubMed/MEDLINE中用文本挖掘技術從自由文本中提取藥物副作用的方法進行了調研。檢索策略為(“Data Mining”[Majr] OR “Natural Language Processing”[Majr]) AND (“adverse effects”[Subheading] OR “chemically induced”[Subheading]) AND (“0001/01/01”[PDAT]:“2014/12/31”[PDAT]),檢索時間為2015年6月11日,共檢索到71篇相關文獻。第一篇文獻出現于2003年,Trick WE等報告了首次將自然語言處理技術用于從中央靜脈導管插入術后病歷報告中識別副作用[2]。至今,從自由文本中自動提取藥物副作用信息的相關研究尚處于發展階段。從圖1的擬合曲線看,文獻數量隨時間推移幾乎呈指數趨勢上升,但尚未達到峰值,可見該領域仍具有廣大的研究空間。
以下從挖掘流程、挖掘/提取方法、結果評價和現有工具軟件4方面歸納總結用文本挖掘技術提取藥物副作用的研究現狀。

圖1 文本挖掘技術探測藥物副作用的文獻年代分布
用文本挖掘技術從自由文本中提取藥物副作用一般包括識別命名實體(Named Entity Recognization,NER)和探測藥物—疾病關系(Chemical Disease Relation,CDR)2項子任務。識別命名實體是在生物醫學數據中識別具有特定意義的實體,并將其歸類到預定義的類別,其難度在于現階段藥物命名實體數量的爆炸性增長、藥物命名實體構詞形式的多樣性和低規律性及藥物命名規則不統一[3];探測藥物—疾病關系面臨的難題是選擇與整合合適的方法,從而準確而全面地識別出更多的藥物—疾病關系。
根據已有文獻可知,用文本挖掘技術從自由文本中提取藥物副作用分為數據獲取、構建詞典、數據清洗和處理(段落和句子或詞語水平的切分)、藥物副作用提取、結果評價和反饋5個環節(圖2)。

圖2用文本挖掘技術從自由文本中提取藥物副作用的主要流程
2.2.1 數據獲取
可用于文本挖掘的數據資源包括病人的健康檔案、電子病歷(Electronic Health Record,EHR)、醫療病例報告、研究論文、專利、博客、論壇以及新聞報道等多種形式[4],具體可分為以下四大類。一是電子病歷,通常包括人口統計學、病史、藥物過敏、免疫狀態、實驗室測試結果、放射學圖像、生命體征等多種信息,對分析患者的治療效果最有價值。有研究證實可利用EHR早期預警藥物副作用[5]。但獲得完整的電子病歷困難,而且其高度異質性和非結構化限制了它的使用。EHR的可獲得性及資料完整性并不易實現。二是研究論文,主要是MEDLINE收錄的生物醫學文獻,數據回溯到1946年并可免費檢索,同時全文獲得和自然語言處理是難題。三是社會媒體,其來源廣泛,可獲得性強,但是存在病人表述不準、用語不規范、報告角度與專業人員不對口、虛假報告等問題,對數據清洗和處理提出挑戰。四是Web 數據,如搜索記錄等,存在與社交網絡類似的問題。還有藥物產品標簽(Daily-Med Website可下載電子版藥物標簽)、臨床試驗、自發報告等可作為藥物副作用提取的數據源。
2.2.2 構建詞典
詞典質量影響藥物副作用提取結果,其價值在于通過基于字符串匹配或字符串相似等算法識別自由文本中出現的藥物和疾病實體。詞典通常來自多個標準術語資源,目前常用于構建詞典的術語集[4-5]如表1所示。除此之外,NCBO(The National Center for Biomedical Ontology)的 BioPortal (http://bioportal.bioontology.org/)是最全面的生物醫學開放存儲庫,整合匯集了441種生物醫學本體資源(包括以下大部分術語集),可提供Web瀏覽和檢索。

表1 常用術語集簡介
2.2.3 數據清洗及標準化處理
數據清洗和標準化處理通常是借助一定的軟件工具和計算機語言實現,涉及到句子切分、標準化、詞性分類、詞形還原及詞干化、上下文消歧等工作,目的是使詞典能夠更為準確地匹配出相應的藥物和疾病實體。常用軟件工具有Stanford Parser和Link Grammar Parser。詞形還原和詞性標準及詞干化的工具有Stanford CoreNLP,NLTK(python包),Specialist NLP Tools,Tree Tagger,European Languages Lemmatiser,CST's Lemmatiser,WMTrans Lemmatiser等。
Stanford Parser是斯坦福大學開發的自然語言處理軟件,主要基于優化的概率,運用上下文無關文法和詞匯化依存句法分析方法,生成句法結構樹以及句子中各成分之間的依存關系[6]。Link Grammar Parser依據語法和形態規則對句子進行分析,并輸出其句法結構,它包含一組鏈接字對的標簽集合以及結構樹,也可以生成Stanford風格的句子的依存結構。近期研究表明,Specialist NLP Tools對于詞形還原和詞干化的效果較好,準確率較高[7]。
2.2.4 實體識別方法和關系抽取算法
2.2.4.1 實體識別方法
從清洗后的數據中識別命名實體的常用方法包括基于規則、基于詞典和基于機器學習的方法,在實際使用中通常會將幾種方法結合,以獲得更好的識別效果。
基于規則的方法,即依據特定規則識別命名實體,這些規則描述了自由文本中使用的語法、句法、詞匯、形態以及書寫的特點長期形成的模式。基于規則的命名實體識別系統通常依賴于正則表達式組合和由領域專家設計的規則。因為對專家知識的依賴,這種命名實體識別系統缺乏可擴展性和適應性。徐博等采用基于上下文模板的方法,從PubMed中構建的豐富的藥物詞典,不僅可識別出Drugbank中已有藥名,甚至還能識別該庫中沒有的藥物[8]。Tikk D等使用基于規則的方法和條件隨機場方法進行了藥物提取[9]。
基于詞典的方法,依賴于現有的字典識別自由文本中的命名實體,通常是基于字符串匹配或字符串相似的算法。其性能取決于底層術語資源的全面性及算法性能。何林娜等人綜合運用基于詞典的方法和條件隨機場方法,利用PubMed信息構建了藥物詞典,并利用特征耦合泛化等方法對詞典進行去噪,獲得了較好的F值[10]。
基于機器學習的方法,適用于不同的學習算法訓練模式,但它需要人工注釋語料庫。機器學習模型的性能取決于文本特征的辨別力以及算法[11]。條件隨機場(CRF)是最常用的技術,其識別生物醫學實體效果較好[12]。
2.2.4.2 藥物及其副作用關系抽取方法
從自由文本中識別出藥物實體和疾病實體之后,提取藥物及其副作用的基本方法可以分為基于規則、基于統計學和基于機器學習的方法。
基于規則/模式的方法通常是利用生物學實體的一般知識并結合語言結構尋找文本中明確陳述的關系,如“A effect B”等。更為復雜的方法是結合語義知識和詞性分類來解釋,還涉及到停止詞去除、否定詞探測、詞義消歧、時間推理等利用人工輔助規則。Rong Xu等利用Stanford Parser生成語法樹,從中提取出語法模式,并利用該模式識別出更多包含藥物副作用的句子[13]。
基于機器學習的方法,借鑒了詞性分類、語法切分、術語頻次等方法及語法的上下文知識,通常效果較好,其局限性依然是需要大量的人工注釋。機器學習常用算法有支持向量機(SVM)、貝葉斯模型、隱馬爾科夫模型(HMM)、條件隨機場(CRFs)和最大熵[12],實際應用中也常與標準化最小二乘法分類、特征向量提取、logistic回歸、十迭交叉驗證等算法結合以獲得更好的效果。Yang等[14]比較了不同的機器學習算法,綜合運用樸素貝葉斯、決策樹和支持向量機方法,從致編者的信中提取不良藥物反應。Christian M Rochefort等[15]運用logistic回歸和AUC曲線等方法實現了醫院流行的3種不良事件的自動檢測。
基于統計學的方法,可以是基于共同出現的頻次,即通過共現頻次排序消除薄弱關聯;也可結合列聯表和相似性系數,通過ROC曲線確定閾值進行評價;還可以進行聚類分析和網絡分析。在自發報告系統中探測藥物不良反應,主要是利用失衡分析方法(Disproportionality Analysis,DPA)。通過某藥物與其可疑的不良反應之間的共現次數來預測二者的關聯[16]。
2.2.5 結果評價和反饋
為了更好地評價藥物副作用提取系統或者提取結果的優劣,需要確定指標對結果進行評價。首先,需找到可作為評價金標準的數據集,即經評判、公認的正確提取的藥物—副作用關系對的集合。目前研究者通常從國際性相關比賽公布的訓練集或語料庫中尋找。如EU-ADR (Exploring and Understanding Adverse Drug Reactions)、 Biocreative Challenge,i2b2 NLP Challenge,ADE-EXT Corpus等比賽發布了一些利用計算機技術結合文本挖掘技術從各種數據源(病歷、文獻等)中自動提取藥物副作用的任務,并提供了手工標注的金標準和相對公平的評價標準,供科研人員使用。
常用的評價指標主要有F值,受試者特征曲線ROC(Receiver Operating Characteristic,ROC)和曲線下面積(Area Under Curve,AUC)。
F值是通過準確率(Precision)和召回率(Recall)來綜合評價提取結果,其計算公式為:F=2×Precision×Recall/(Precision+Recall)。其中,準確率是指提取出來的正確的(真實的)藥物-副作用對占提取出來的所有的藥物—副作用對的百分比,召回率(又稱查全率)是指提取出來的正確的(真實的)藥物—副作用對占所有的應提取出來的藥物—副作用對的百分比。F值越高(越接近于1)表示效果越好,目前運用較廣。
ROC和AUC是考量評價分類器的指標。在ROC 空間中,橫坐標對應于FPR(假陽性率,即負類被錯誤判斷為正類的百分比),縱坐標是TPR(真陽性率,即正類被正確地判斷為正類的百分比)。對于二分類問題,通過設定一個閾值,將實例分類到正類或者負類(如大于閾值劃分為正類)。那么變化閾值并根據不同的閾值進行分類,根據分類結果可計算得到ROC空間中相應的點,連接這些點就形成ROC曲線。ROC 曲線經過(0,0)和(1,1),(0,0)和(1,1)連線形成的ROC 可看作一個隨機分類器。一般情況下,這個曲線都應該處于(0, 0)和(1, 1)連線的上方。ROC 可直觀表示分類器的表現,而AUC可量化標志分類器的好壞。通常,AUC的值介于0.5-1.0之間,AUC值越大越好。
經評價后的結果可用于反饋、調整藥物副作用提取方法,直到達到較滿意的效果為止。
目前,網絡上有很多可用的命名實體識別工具[6],為研究者提供了便利,但功能均不完善,或者只針對某種數據類型,使用時需結合計算機及數據庫知識進行拓展(表2)。

表2 現有命名實體識別相關工具
除了表2中的命名實體識別相關工具,還有整合工具Pubtator,它是一個基于Web的生物醫學實體關系的提取系統,不僅可從生物醫學文獻數據庫(MEDLINE)中提取生物實體(主要是基因、疾病、化學物質),還能將他們之間的關系提取出來。該系統與PubMed連接,可以直接在該網站檢索,每天實時更新標注記錄。當然,該系統目前的控測僅限于PubMed摘要部分,未來期待通過更精準的文本挖掘算法,實現對全文內實體的定位與關系的探測[17]。
綜上所述,利用文本挖掘技術發現藥物及其副作用研究還有一些問題亟待解決,未來仍有較大發展空間。首先,該領域需要大量研究數據,包括研究數據的選擇、詞典的選擇和訓練集測試集的選擇等。選擇數據源時考慮到數據結構的異質性和數據的質量、可靠度、完整性和可獲得性,研究人員應結合課題和實際情況收集盡量完善、真實、結構化的數據,為數據的清洗和處理做準備。其次,文本挖掘算法、偏倚和混雜因素都有可能影響算法的性能和提取效果,而計算機相關研究人員可能更注重于算法的改良,文本挖掘研究人員似乎更青睞于研究方法的創新,二者融合是該研究發展的必然趨勢。只有融會貫通才能提供更準確、更有借鑒意義的藥物預警信息。再次,現階段研究人員定制的方法和算法多半是針對某一特定數據源、數據庫和語料庫的,研究算法和方法的通用性和可移植性不高,這是未來發展應當關注并解決的問題。最后,通過文本挖掘方法檢測到的藥物不良反應信號可作為警告信息,其確認仍然應該通過適當的臨床試驗評估獲得支持。