近年來(lái),生物醫(yī)學(xué)文獻(xiàn)數(shù)量以前所未有的速度增長(zhǎng)。文獻(xiàn)中蘊(yùn)含著大量的知識(shí),對(duì)其進(jìn)行數(shù)據(jù)挖掘及知識(shí)發(fā)現(xiàn)對(duì)后續(xù)的科學(xué)研究有著重要的指導(dǎo)意義[1]。但是,面對(duì)海量的生物醫(yī)學(xué)文獻(xiàn),人們往往難以快速挖掘出其中有價(jià)值的信息[2],因此利用信息抽取技術(shù)(Information Extraction,IE)實(shí)現(xiàn)對(duì)文獻(xiàn)的自動(dòng)知識(shí)獲取就顯得尤為重要。信息抽取技術(shù)中最大的挑戰(zhàn)是關(guān)系抽取(Relation Extraction,RE),其任務(wù)就是從大量的無(wú)規(guī)則語(yǔ)料中識(shí)別并獲取實(shí)體之間語(yǔ)義上的關(guān)系[3]。
關(guān)系抽取的方法主要分為基于機(jī)器學(xué)習(xí)的方法和基于規(guī)則的方法。Banko等人于2007年首次提出Open IE的研究思路[4],之后陸續(xù)問(wèn)世的Text Runner[5],WOE[6],ReVerb[7]等Open IE系統(tǒng),都是抽取以動(dòng)詞為核心的關(guān)系。Schmitz等提出的OLLIE[8]可同時(shí)抽取以動(dòng)詞、名詞、形容詞等為核心的關(guān)系元組;Del Corro等提出的一種基于子句的關(guān)系抽取方法—ClausIE[9]是將關(guān)系抽取分為檢測(cè)有用信息碎片和抽取關(guān)系表達(dá)形式2個(gè)子任務(wù)進(jìn)行;Stanford OPENIE[10]及PropS[11]等系統(tǒng)可進(jìn)一步獲得多個(gè)具有高置信度的關(guān)系元組。基于規(guī)則抽取的方法[12]也一直受到重視,主要是因?yàn)橐?guī)則的準(zhǔn)確率高[13]、易于解讀并易于被非技術(shù)人員定制改造,其性能在特定領(lǐng)域也優(yōu)于最高水平的監(jiān)督學(xué)習(xí)方法[14]。但是,基于規(guī)則的關(guān)系抽取依賴(lài)概念關(guān)系抽取模板,主要依賴(lài)于領(lǐng)域?qū)<腋鶕?jù)專(zhuān)業(yè)知識(shí)手工制定。手工制定規(guī)則需要大量的領(lǐng)域知識(shí)和人力勞動(dòng),既耗費(fèi)大量時(shí)間又難以全面覆蓋潛在概念關(guān)系,召回率偏低。如何自動(dòng)構(gòu)建語(yǔ)料庫(kù)并生成關(guān)系抽取的模板,是開(kāi)展關(guān)系抽取研究的關(guān)鍵問(wèn)題。因此,我們提出利用相關(guān)本體中概念之間的語(yǔ)義關(guān)系識(shí)別對(duì)應(yīng)的自然語(yǔ)言表達(dá)句子的方法。
在醫(yī)學(xué)情報(bào)領(lǐng)域的醫(yī)學(xué)主題詞本體《醫(yī)學(xué)主題詞表》(MeSH詞表)及其標(biāo)引規(guī)則中,已明確特定的概念及概念間的關(guān)系,但這僅是一種邏輯語(yǔ)義關(guān)聯(lián),并未明確主題詞之間的具體語(yǔ)義指向[15]。借助MeSH詞表中有關(guān)概念間的標(biāo)引規(guī)則,發(fā)現(xiàn)文摘中相應(yīng)的句法,能標(biāo)識(shí)概念間語(yǔ)義關(guān)系,提高文本中概念間語(yǔ)義關(guān)系抽取的效率,為文本挖掘和自然語(yǔ)言處理的自動(dòng)化提供一條有效途徑。
本文依據(jù)選取的MeSH主題詞組配規(guī)則“‘drug/therapeutic use’+‘disease/drug therapy’”,以二甲雙胍治療糖尿病為例,在PubMed數(shù)據(jù)庫(kù)中檢索“Metformin/therapeutic use”[MeSH] AND “Diabetes Mellitus/drug therapy”[MeSH]。僅對(duì)近10年的文獻(xiàn)數(shù)據(jù)進(jìn)行分析,即檢索時(shí)間限定為“2009/01/01-2018/12/31”,共得到3 549篇文獻(xiàn),以abstract(txt)格式下載,作為樣本數(shù)據(jù)集。
為得到后續(xù)研究需要的數(shù)據(jù)格式,首先對(duì)下載的PubMed數(shù)據(jù)進(jìn)行預(yù)處理,去除文檔行末尾標(biāo)識(shí)符。這是由于PubMed文檔格式問(wèn)題,一句話被分割出現(xiàn)在多行中,必須先去除文檔行末尾標(biāo)識(shí)符,形成便于后期處理的文檔格式。
分句處理。使用python語(yǔ)言編程,以“.”“!”“?”為句子結(jié)尾標(biāo)識(shí),將樣本文檔切分為以1個(gè)句子為1行的文本文檔(表1),且注意避免句子中含有小數(shù)時(shí)因小數(shù)點(diǎn)而被誤切。
MeSH主題詞表具有規(guī)范概念的表達(dá)形式,并配有副主題詞,以標(biāo)識(shí)文獻(xiàn)所論述內(nèi)容主題的方向與范圍,而且能清晰反映主題概念間的關(guān)系。即在使用MeSH主題詞進(jìn)行文獻(xiàn)標(biāo)引時(shí),除考慮使用“主題詞/副主題詞”的組配形式描述本文獻(xiàn)的某一主題概念的重點(diǎn)部分或其自然屬性之外(如“drug/therapeutic use”表示該文章主要討論的是藥物的治療應(yīng)用),還要考慮概念間的組配。概念組配是一種以概念分解為手段、以概念間邏輯關(guān)系為基礎(chǔ)、以表達(dá)復(fù)合概念為目的的組配方式。如“drug/therapeutic use + disease/drug therapy”,即如果藥物類(lèi)MeSH主題詞/治療應(yīng)用組配疾病類(lèi)MeSH主題詞/藥物治療,則表示該藥物用于治療該病,相當(dāng)于“drug treat disease”。
本文基于MeSH主題詞組配規(guī)則,采用自動(dòng)化的方法從文摘數(shù)據(jù)中匹配出含有2個(gè)特定MeSH主題詞概念的關(guān)系句,從中抽取出描述概念間關(guān)系的短語(yǔ)或句子,將其與人工標(biāo)注的結(jié)果進(jìn)行對(duì)比驗(yàn)證。最后,整理抽取出的描述概念間關(guān)系的短語(yǔ)或句子,得到特定概念間的語(yǔ)義關(guān)系表達(dá),即將標(biāo)引時(shí)隱含的語(yǔ)義邏輯加以明確化,達(dá)到標(biāo)識(shí)概念間語(yǔ)義關(guān)系的目的。
本文研究流程主要分為匹配候選關(guān)系句、概念間關(guān)系抽取、驗(yàn)證及整理概念間關(guān)系表達(dá)4個(gè)部分(圖1)。
圖1顯示了研究流程的具體框架。

圖1 研究框架
本文關(guān)注在同一句中存在的特定概念之間的三元組關(guān)系。首先從切分后的句子中匹配出僅含有2個(gè)特定概念(糖尿病和二甲雙胍)的句子作為候選關(guān)系句;其次對(duì)候選關(guān)系句進(jìn)行自動(dòng)概念間關(guān)系抽取,得到句子中含有的主謂賓三元組結(jié)構(gòu),僅篩出本文中特定的疾病和藥物分別作為主語(yǔ)或謂語(yǔ)的關(guān)系元組,并與人工標(biāo)注結(jié)果進(jìn)行對(duì)比。
例如,句子”Metformin is the first-line therapy for the treatment of diabetes mellitus.”自動(dòng)抽取出的概念間三元組關(guān)系為:
原句中所涉及的MeSH主題詞“Metformin”及“Diabetes mellitus”之間的語(yǔ)義關(guān)系“is therapy for”被正確地抽取出來(lái)。
在進(jìn)行數(shù)據(jù)預(yù)處理后,從分句處理后的文檔中自動(dòng)匹配出文章標(biāo)題或摘要中同時(shí)含有“糖尿病”及“二甲雙胍”的句子。在PubMed生物醫(yī)學(xué)數(shù)據(jù)庫(kù)收錄的文獻(xiàn)中,一篇文獻(xiàn)的條目除書(shū)目信息及文獻(xiàn)摘要外,還有文章的主題詞和副主題詞。MeSH主題詞是經(jīng)過(guò)詞匯控制的,具有單一性,一個(gè)概念只用一個(gè)規(guī)范化的語(yǔ)詞表達(dá)。如二甲雙胍常見(jiàn)的同義詞表達(dá)還有Dimethylbiguanidine,Glucophage等,但是主要論及二甲雙胍的文獻(xiàn),不管文獻(xiàn)中使用的是哪個(gè)術(shù)語(yǔ),標(biāo)引時(shí)均采用規(guī)范化的主題詞Metformin來(lái)表達(dá)。
因此,在匹配候選關(guān)系句時(shí),除匹配疾病、藥物的主題詞之外,同時(shí)還要匹配該概念的其他表達(dá)方式,即MeSH詞表中該主題詞的入口詞(圖2),以提高匹配精度,以保證結(jié)果的完整性。在同一句中有時(shí)會(huì)出現(xiàn)同一概念的不同表達(dá)方式,為避免結(jié)果誤差,對(duì)匹配得到的所有句子進(jìn)行去重處理,得到最終的候選關(guān)系句。

圖2 MeSH主題詞Metformin及其入口詞
在得到候選關(guān)系句之后,使用PCFG算法借助Stanford Parser工具對(duì)其概念間的語(yǔ)義關(guān)系進(jìn)行自動(dòng)化抽取。Stanford Parser是由斯坦福大學(xué)開(kāi)發(fā)的基于概率統(tǒng)計(jì)句法分析的java實(shí)現(xiàn)的開(kāi)源句法分析器,支持多種平臺(tái),封裝了多種常用語(yǔ)言接口。本文將其封裝在python語(yǔ)言中使用。Stanford Parser可以對(duì)1個(gè)句子進(jìn)行樹(shù)狀結(jié)構(gòu)式的句法分析,即在得到1條主謂賓三元組結(jié)構(gòu)以后,對(duì)主語(yǔ)或謂語(yǔ)再次
解析,生成更小的三元組結(jié)構(gòu)。
對(duì)從候選關(guān)系句中得到的所有主謂賓三元組結(jié)果進(jìn)行篩選,挑選出含有特定概念的“疾病-謂詞-藥物”或“藥物-謂詞-疾病”的三元組表達(dá)。
為檢驗(yàn)實(shí)驗(yàn)研究結(jié)果,隨機(jī)選取100條候選關(guān)系句,由領(lǐng)域?qū)<覍?duì)其概念關(guān)系進(jìn)行人工抽取,得到人工總結(jié)的疾病“糖尿病”與藥物“二甲雙胍”之間的主謂賓三元組結(jié)構(gòu)。將自動(dòng)抽取得到的三元組結(jié)果與人工總結(jié)的三元組結(jié)果進(jìn)行比較,以準(zhǔn)確率(Precision)、召回率(Recall)和F1(micro F1 score)作為實(shí)驗(yàn)評(píng)價(jià)指標(biāo)。
對(duì)自動(dòng)抽取出的疾病“糖尿病”與藥物“二甲雙胍”之間的主謂賓三元組結(jié)構(gòu)進(jìn)行整理,得到兩概念之間的語(yǔ)義關(guān)系表達(dá)。
以二甲雙胍治療糖尿病為例進(jìn)行的實(shí)驗(yàn)中,從3 549篇文獻(xiàn)摘要的原始句子中共匹配出938條同時(shí)含有“二甲雙胍”及“糖尿病”的MeSH主題詞及其入口詞候選關(guān)系句。
對(duì)從候選關(guān)系句中抽取出的概念間語(yǔ)義關(guān)系表達(dá)進(jìn)行整理,篩選出399條同時(shí)含有“二甲雙胍”及“糖尿病”的三元組表達(dá)。
部分兩概念間語(yǔ)義關(guān)系謂詞見(jiàn)表2,兩概念間的主要謂詞及數(shù)量、占比見(jiàn)表3。

表2 程序自動(dòng)抽取的二甲雙胍治療糖尿病概念間三元組關(guān)系(部分)

續(xù)表2

表3 二甲雙胍與糖尿病之間的治療語(yǔ)義關(guān)系表達(dá)主要謂詞
邀請(qǐng)專(zhuān)家對(duì)100條候選關(guān)系句概念間語(yǔ)義關(guān)系進(jìn)行人工標(biāo)注后,共得到65條語(yǔ)義關(guān)系三元組作為評(píng)價(jià)金標(biāo)準(zhǔn)。實(shí)施自動(dòng)抽取后,得到46條三元組結(jié)果,其中有6條錯(cuò)誤,其準(zhǔn)確率為87 %(40/46),檢全率為62%(40/65),F(xiàn)1為71.8%。基于此方法抽取結(jié)果的準(zhǔn)確率、召回率及F1值均比較理想。
表4顯示了概念間關(guān)系三元組人工抽取和自動(dòng)抽取結(jié)果的具體樣例。

表4 概念間關(guān)系自動(dòng)抽取樣例
與人工標(biāo)注出的概念間關(guān)系三元組相比,自動(dòng)抽取方法能抽取出特定的概念和表達(dá)概念間關(guān)系較為清晰的短語(yǔ)或句子,且抽取出的概念間關(guān)系的正確率和全面性都較高。如表4中序號(hào)為1的候選關(guān)系句中,自動(dòng)抽取出了3條三元組關(guān)系,均與人工標(biāo)注的三元組有一定差異。自動(dòng)抽取的前兩個(gè)概念間三元組關(guān)系有一定可取性,但是抽取出的第三條三元組關(guān)系“
總體而言,基于MeSH組配規(guī)則的命名實(shí)體關(guān)系抽取能夠得出理想的概念間關(guān)系,既可保證準(zhǔn)確度,也具有一定程度的召回率,能提高工作效率。
基于本文自動(dòng)抽取出的疾病“糖尿病”與藥物“二甲雙胍”之間治療關(guān)系的語(yǔ)義三元組結(jié)果比較理想,人工整理得到兩概念間治療關(guān)系的語(yǔ)義表達(dá)(表5)。

表5 概念“二甲雙胍”與“糖尿病”之間的治療關(guān)系語(yǔ)義表達(dá)方式
本文抽取出的兩概念間的三元組關(guān)系,不僅可以用于整理預(yù)設(shè)提取的兩概念間的語(yǔ)義關(guān)系(即“二甲雙胍”和“糖尿病”),還能發(fā)現(xiàn)與其有密切關(guān)聯(lián)的其他概念。如表2中列出的部分“二甲雙胍”和“糖尿病”的三元組關(guān)系中,我們發(fā)現(xiàn)一定數(shù)量的有關(guān)“二甲雙胍與雷帕洛斯同時(shí)使用可以預(yù)防新發(fā)糖尿病”的句式,提示在糖尿病預(yù)防時(shí)可采取藥物聯(lián)合使用方案。
從候選關(guān)系句里抽取出的僅含有預(yù)設(shè)提取概念之一的三元組關(guān)系(如表6所示的二甲雙胍)發(fā)現(xiàn),二甲雙胍與糖尿病(預(yù)設(shè)的另一個(gè)概念)以外的多種癌癥相關(guān),如二甲雙胍對(duì)前列腺癌有積極的治療作用、二甲雙胍可抑制大腸癌的相關(guān)信號(hào)轉(zhuǎn)導(dǎo)。在返回審讀抽取出來(lái)的這些二甲雙胍與癌癥相關(guān)的三元組關(guān)系的句子時(shí),我們發(fā)現(xiàn)這些自動(dòng)抽取出的結(jié)果也有較高的正確率。

表6 僅含一個(gè)概念(二甲雙胍)的三元組關(guān)系(部分)
該方法有效利用現(xiàn)有的MeSH主題詞組配規(guī)則進(jìn)行輔助,在保證正確率及召回率的前提下,實(shí)現(xiàn)了利用領(lǐng)域本體自動(dòng)抽取文獻(xiàn)中概念語(yǔ)義關(guān)系的任務(wù),且自動(dòng)抽取出的概念間語(yǔ)義關(guān)系結(jié)果對(duì)比人工標(biāo)注概念間關(guān)系結(jié)果,F(xiàn)1值達(dá)到了71.8%,具有很強(qiáng)的泛化性。
本文利用MeSH主題詞組合隱含的語(yǔ)義關(guān)系發(fā)現(xiàn)對(duì)應(yīng)的自然語(yǔ)言的句子,并對(duì)句子成分進(jìn)行以下初步分析和歸納。
MeSH(1)/Subheading(1)+MeSH(2)/Subheading(2)→Sentence1,2,3,
(1)
Sentence1,2,3,……→Subject+Verb+Object
(2)
今后的研究將對(duì)得到的句子集合進(jìn)行進(jìn)一步篩選和歸納整理,利用系統(tǒng)和客觀的方法總結(jié)出以下醫(yī)學(xué)文獻(xiàn)中特定語(yǔ)義關(guān)系的表達(dá)句式。
Subject(i) +Verb+Object(j)→Subject+relation+Object
(3)
通過(guò)挖掘語(yǔ)義關(guān)系及其表達(dá)規(guī)律,形成基于MeSH/subheading組配規(guī)則的語(yǔ)義關(guān)系規(guī)則知識(shí)庫(kù),設(shè)想這種語(yǔ)義關(guān)系抽取的模式在文本挖掘和知識(shí)發(fā)現(xiàn)的很多領(lǐng)域中具有廣闊的應(yīng)用前景。
利用公式(3)中固定的句式,制作反映特殊語(yǔ)義關(guān)系的自然語(yǔ)言處理中關(guān)系抽取模板。如利用“藥物名-cause-癥狀名”規(guī)則,對(duì)大批量文獻(xiàn)記錄的標(biāo)題和摘要進(jìn)行處理,抽取出特定藥物引起的各種不良反應(yīng),通過(guò)本文自動(dòng)化得到的語(yǔ)義關(guān)系表達(dá),實(shí)現(xiàn)模板構(gòu)建。
既可以通過(guò)廣泛挖掘MeSH/subheading之間組配規(guī)則的語(yǔ)義關(guān)系,形成關(guān)聯(lián)規(guī)則知識(shí)庫(kù)應(yīng)用于詞共現(xiàn)聚類(lèi)分析結(jié)果中,自動(dòng)解讀每一類(lèi)的含義,也可以直接將詞共現(xiàn)聚類(lèi)分析結(jié)果中同類(lèi)的MeSH/subheading兩兩組配后輸入到PubMed數(shù)據(jù)庫(kù)中,經(jīng)過(guò)合適的數(shù)據(jù)挖掘算法,直接提取對(duì)應(yīng)的句子,自動(dòng)生成對(duì)聚類(lèi)結(jié)果的自然語(yǔ)言解釋。
將上述過(guò)程逆向運(yùn)用,抽取論文的標(biāo)題和摘要中的句子,即將句子進(jìn)行解析后,根據(jù)其主謂賓結(jié)構(gòu)與已有的規(guī)則相匹配,得出相對(duì)應(yīng)的MeSH/Subheading的組合,作為該文獻(xiàn)的候選主題詞或標(biāo)引提示。如從文摘中抽取出的句子“Metformin is the recommended initial drug therapy for patients with type 2 diabetes mellitus (DM)”,可以解析為“
從特定的MeSH/subheading(如“糖尿病/并發(fā)癥”)出發(fā),檢索出與該詞共現(xiàn)頻次較高的其他MeSH疾病類(lèi)主題詞,依次與出發(fā)詞(如“糖尿病/并發(fā)癥”)組合,挖掘到相應(yīng)的句子,對(duì)句子結(jié)構(gòu)進(jìn)行解析后,根據(jù)特定的語(yǔ)義關(guān)系模式,發(fā)現(xiàn)與糖尿病相關(guān)的各種并發(fā)癥。
對(duì)于某一特定語(yǔ)義關(guān)系,在醫(yī)學(xué)論文中常見(jiàn)有多種表述方式。可以通過(guò)具有特定語(yǔ)義關(guān)系的MeSH/subheading組合,找到對(duì)應(yīng)的句子,統(tǒng)計(jì)各種句型出現(xiàn)的頻次,豐富醫(yī)學(xué)英語(yǔ)理解和寫(xiě)作的實(shí)例,并總結(jié)出確實(shí)可用的醫(yī)學(xué)寫(xiě)作實(shí)踐技巧。
本文借助MeSH主題詞的組配規(guī)則,在大量自然語(yǔ)言文本句中得到了2種特定概念間的語(yǔ)義關(guān)系表達(dá)方式,研究方法對(duì)加快生物醫(yī)學(xué)文本理解及醫(yī)學(xué)知識(shí)發(fā)現(xiàn)等具有借鑒意義。今后的研究需要擴(kuò)大基于主題詞組配中蘊(yùn)含的語(yǔ)義關(guān)系進(jìn)行信息抽取的適用范圍,全面梳理現(xiàn)有醫(yī)學(xué)文獻(xiàn)中各種語(yǔ)義關(guān)系,同時(shí)嘗試從只有2個(gè)MeSH詞及其入口詞在1個(gè)句子中的主謂賓三元組共現(xiàn)的情況,擴(kuò)大到多個(gè)概念及動(dòng)詞組配組合的研究,對(duì)復(fù)雜的嵌套式從句結(jié)構(gòu)以及否定句式等進(jìn)行深入研究,實(shí)現(xiàn)更加精準(zhǔn)的文本挖掘。
中華醫(yī)學(xué)圖書(shū)情報(bào)雜志2019年10期