朱 玲,朱 彥,楊 峰
(中國中醫(yī)科學院中醫(yī)藥信息研究所 北京 100700)
基于中醫(yī)疾病相關(guān)語義關(guān)系的正則表達式及知識抽取研究*
朱 玲,朱 彥,楊 峰**
(中國中醫(yī)科學院中醫(yī)藥信息研究所 北京 100700)
目的:目前已有的知識抽取方法雖然多面向英文,但中文醫(yī)學文獻的數(shù)量也正在迅速增長,而且中醫(yī)古籍文獻中也有很多有價值的知識需要獲取。基于此,本文以疾病“崩漏”為例,以正則表達式為規(guī)則,試圖抽取中醫(yī)古籍中疾病相關(guān)的知識,以構(gòu)建中醫(yī)疾病知識的語義框架。方法:建立崩漏相關(guān)的等同關(guān)系、因果關(guān)系、治療關(guān)系的正則表達式,進而建立以正則表達式為規(guī)則的知識抽取及可視化平臺。結(jié)果:實現(xiàn)對崩漏相關(guān)知識框架的抽取與表達,通過人工抽取和計算機知識平臺抽取方式構(gòu)建中醫(yī)疾病語義框架,并在此基礎(chǔ)上完成中醫(yī)疾病相關(guān)的知識框架描述。結(jié)論:研究發(fā)現(xiàn),以正則表達式為規(guī)則的知識抽取可視化平臺,可以實現(xiàn)對崩漏相關(guān)知識框架的抽取與表達,并為中醫(yī)疾病知識的邏輯化描述與未來的抽取及應(yīng)用提供了方法,為實現(xiàn)中醫(yī)疾病相關(guān)的知識框架描述奠定基礎(chǔ),可單一地基于正則表達式的信息抽取方式難以達到很好的召回率,如果在正則表達規(guī)則的基礎(chǔ)上考慮篇章結(jié)構(gòu),同時整合機器學習與語義標注的混合信息抽取方法可能進一步提高抽取的效能。
崩漏 疾病 正則表達式 知識抽取
中醫(yī)藥學歷經(jīng)2000余年的歷史,積累了數(shù)以萬計的經(jīng)典文獻,其中蘊含的寶貴知識至今都有指導臨床的實際意義,但如何從大量的中醫(yī)文獻中獲取需要的知識,是極具研究價值的領(lǐng)域。而信息抽取是可行的方法之一。
目前,信息抽取主要有兩大方法∶ 一是知識工程方法,二是自動訓練方法[1]。
知識工程方法主要靠手工編制規(guī)則使系統(tǒng)能處理特定知識領(lǐng)域的信息抽取問題。正則表達式[2]是一種強大、快捷、高效的文本處理工具,描述了一種字符串匹配的模式,可以用來檢查一個串是否含有某個子串、將匹配的子串進行替換以及從某個串中取出符合某個條件的子串等,其具有字符串所不具備的強大和靈活的表達能力,能夠準確地表達出復(fù)雜的特征。
知識抽取是屬于知識工程的方法,是根據(jù)本體識別并抽取無語義標注的信息中與本體匹配的事實知識,用來構(gòu)建各種基于知識的服務(wù),如基于語義的智能知識搜索等[3]。目前已有的知識抽取方法多面向英文[4],但中文醫(yī)學文獻的數(shù)量正在迅速增長,而且中醫(yī)古籍文獻中也有很多有價值的知識需要獲取。基于此,本文以疾病“崩漏”為例,以正則表達式為規(guī)則,試圖抽取中醫(yī)古籍中疾病相關(guān)的知識。
本研究從中醫(yī)古籍中抽取崩漏相關(guān)語義,從病因病機、并發(fā)癥以及中醫(yī)治療3個方面構(gòu)建崩漏相關(guān)語義框架,并以此為例,分別通過人工抽取和計算機知識平臺抽取方式構(gòu)建中醫(yī)疾病語義框架。
本文以第5版《中華醫(yī)典》為研究對象,完成“崩漏”相關(guān)的文獻檢索及數(shù)據(jù)整合,建立相關(guān)文獻數(shù)據(jù)庫[5]。全文區(qū)以“崩漏”、“崩中”、“崩”、“暴崩”、“漏下”、“經(jīng)崩”、“經(jīng)漏”、“血崩”、“敗血”、“漏血”、“崩下”、“崩中暴下”、“血山崩”、“暴下血”、“崩血”、“血淋”、“崩淋”、“漏” 為檢索詞[6],檢索共得到數(shù)據(jù)846條(對于以崩漏為名的整段內(nèi)容描述則未作拆分)。以書名、篇章名、前后相關(guān)內(nèi)容為綱組成崩漏相關(guān)中醫(yī)古籍文獻的小型文獻數(shù)據(jù)庫。以此數(shù)據(jù)庫為基礎(chǔ),進行“崩漏”相關(guān)的語義關(guān)系及行文規(guī)則的人工抽取。
1.1 等同關(guān)系
如“者……也”、“曰”、“又名”、“以……當”、“為”、“乃”、“皆”、“,名”、“,……也”這些經(jīng)典的古文句式提示文中前后存在等同關(guān)系。如“先天歸一湯又名啟扁湯”則提示這兩首方劑是同名方,屬于同名方的還有“灶心土亦名伏龍肝,乃灶中對釜月下黃土也”。
1.2 因果關(guān)系
原因和結(jié)果是揭示客觀世界中普遍聯(lián)系著的事物具有先后相繼、彼此制約的一對范疇。因果關(guān)系所考察的是兩種現(xiàn)象之間引起與被引起的關(guān)系,這種關(guān)系是內(nèi)在的、本質(zhì)的,又是必然的、規(guī)律性的關(guān)系[7]。病因病機是因果關(guān)系在古籍疾病相關(guān)描述中最為直觀的表述形式。病因就是致病因素,分為內(nèi)因、外因、不內(nèi)外因3種。凡病從外來者為外因,病從內(nèi)起者為內(nèi)因,不屬以上范圍內(nèi)的如意外創(chuàng)傷和蟲獸傷害等為不內(nèi)外因。病機是對疾病發(fā)生、發(fā)展和變化機理的關(guān)鍵性概括。即致病因素作用于人體,破壞了人體陰陽平衡以后,所出現(xiàn)的癥狀體征的改變。病機就是從復(fù)雜的臨證變化中,提煉出機要性的綱領(lǐng),作為審證求因的依據(jù)[8]。
表1 “崩漏”相關(guān)的疾病與病因病機知識表述形式
1.2.1 病因病機
由表1可知,“因”、“由……”、“皆由”、“皆致……”、“若……,乃……”、“若……,故……”、“若因……”、“此乃……”、“屬……”、“屬……所致”、“由……所致”、“遂致”、“蓋……所得”、“主于……”、“乃……”是中醫(yī)古籍文中常見的與病因病機相關(guān)的知識表達句式。其中“因”、“致”等是最為常用的行文規(guī)則,在進行計算機知識抽取的時候當是最值得關(guān)注的特征之一。
其中“乃”一字值得關(guān)注,其基本字義有多種,如:才、是、為、竟、于是、就、你,但在中醫(yī)古籍的行文描述中,除去表示上述的等同關(guān)系,即后者所述之物與前者一致,也會與“……之故”一起出現(xiàn),以表示后者乃前者出現(xiàn)的原因所在,即形成對病因的經(jīng)典表述形式,如“治經(jīng)水先期而來,乃血熱之故”,則提示血熱是經(jīng)水先期而來的病因描述。
中醫(yī)古籍語義關(guān)系詞“多屬”、“屬”與中醫(yī)藥學語言系統(tǒng)(TCMLS)中語義關(guān)系“引起”、“導致”類似[9],是論元A、B前后倒置句式,論元A(主體元素)為病因,論元B(客體元素)為疾病或癥狀名,“多屬”、“屬”之后的詞是施動詞,如“產(chǎn)后發(fā)熱,多屬虛寒”。
從知識梳理的層面來看崩漏的病因,有過度勞累,有悲哀太甚,有飲食失節(jié),有年老體虛,有寒,有熱,從病機看有虛熱,有實熱,有血虛,有血瘀,有肝郁,有脾虛,有陽虛,有陰虛,有氣血不足,有肝家不能收攝榮氣,有濁氣郁滯沖任,有陰陽盛衰,陰氣乘陽,可謂虛實夾雜,寒熱交錯,十分復(fù)雜。
1.2.2 并發(fā)癥
所謂并發(fā)癥,是指一種疾病在發(fā)展過程中引起另一種疾病或癥狀的發(fā)生,后者即為前者的并發(fā)癥[10]。其實細究之,關(guān)于并發(fā)癥有兩層含義,其中有一種是后一種疾病的發(fā)生是由前一種疾病所引起的;第二層含義是從后一種疾病的發(fā)生規(guī)律上看,前后疾病之間不具有必然的因果關(guān)系,只具有偶然的因果關(guān)系。因此,后種疾病的出現(xiàn)屬于突發(fā)性的。所以此處崩漏所涉及的并發(fā)癥,兩層含義均有,并未進行區(qū)分。
表2 崩漏并發(fā)癥相關(guān)表述舉隅
由表2可知,崩漏的并發(fā)癥在中醫(yī)古籍中有很多記載,其常見的并發(fā)癥有頭暈、面色萎黃、心神不安、心痛、胎弱、不孕、發(fā)熱、足跟痛、巔頂痛、癥瘕、眼珠痛、錯語失神、抽搐、膚腫等,其中大多是因為崩漏導致血虛,由血虛導致臟腑經(jīng)絡(luò)失之濡養(yǎng)的一系列癥狀,膚腫則是血虛導致的水停。
描述形式有“繼以……”、“因而……”、“轉(zhuǎn)為”、“由……而成”,與表示病因病機的句式頗多類似,但更強調(diào)時間上的先后關(guān)系,如“血崩后繼以溺血,溺血后繼以白帶,淋瀝不已”與“崩漏之后,轉(zhuǎn)為膚腫”等。
1.3 治療關(guān)系
治療關(guān)系對于以疾病為核心的知識模型表示來說,可謂最重要的語義關(guān)系,以“崩漏”為核心的疾病與方劑或中藥或腧穴相關(guān)知識表述形式舉隅。
由表3可見,“治”在疾病知識的相關(guān)表述中還是占有很重要的地位,共出現(xiàn)550次,占全部數(shù)據(jù)的65%,如“用……湯,治崩漏”,或“治以……”,“治……,用……”,“兼治……”。方劑或出現(xiàn)在“治”的前面,或出現(xiàn)在后面,兩種情況均十分常見。和“治”同義的詞“療”也在行文中出現(xiàn),如“地榆療崩漏下行諸血”,共出現(xiàn)46次,占全部數(shù)據(jù)的5.4%。
表3 以“崩漏”為核心的疾病與方劑或中藥或腧穴相關(guān)知識表述形式
“宜”、“治宜”、“宜服”、“宜……主之”、“宜進”也是與方劑一起出現(xiàn)的描述方式,但有時會與治則治法同時出現(xiàn),如“宜大補其氣血”,在進行知識抽取時當注意。與“宜”相關(guān)的數(shù)據(jù),占全部數(shù)據(jù)的1/4之多,也是屬于相對比較常見的行文規(guī)則。
“主之”作為動賓倒置的經(jīng)典句式,在數(shù)據(jù)庫中也有32次出現(xiàn),占3.8%,如“如經(jīng)脈崩漏者……以艾葉姜苓湯主之”、“血崩之人,如服煎藥不效者,火也,三黃湯主之”。又如“熱體崩漏之側(cè)柏、薊根,寒體崩漏之烏賊、禹糧”則僅僅使用“之”來作為疾病名與中藥名之間的連接動詞,亦是中醫(yī)古籍的一大特色。
“血山崩漏。貼陰交穴”,“氣門二穴在關(guān)元旁三寸主治婦人崩漏”,“崩漏不止取血海陰谷三陰交行間大沖中極”,“行間在足大指間動脈應(yīng)手陷中……主治……崩漏白濁”,“氣門二穴在關(guān)元旁三寸。主婦人崩漏”則描述了幾種腧穴治療的方法,與中藥方劑基本類似,但“取……”、“貼……”的行文規(guī)則還是頗有針灸推拿治療的特點。
此外,“……加減”,加減之前必然是一方劑名,并與該病治療相關(guān),這也是抽取的規(guī)則之一。
從古籍文獻中人工抽取出崩漏的病因病機、并發(fā)癥、疾病治療相關(guān)語義,并按照語義關(guān)系分為等同關(guān)系、因果關(guān)系和治療關(guān)系,其中病因病機和并發(fā)癥相關(guān)語句屬于因果關(guān)系。基于這些人工抽取結(jié)果,下面將采用計算機知識平臺進行知識抽取,以形成病因病機、并發(fā)癥、治療三者關(guān)聯(lián)的語義網(wǎng)絡(luò)。
為了宏觀快速地了解某研究領(lǐng)域的進展情況,科研人員往往需要掌握具體的性能指標[11]。這樣,只在句子級別粒度的信息抽取就不能滿足需求。正則表達式可以迅速準確地抽取出需要的內(nèi)容,如:等同關(guān)系、因果關(guān)系和治療關(guān)系,下文將用vb.net開發(fā)完成基于正則表達式的知識抽取及可視化平臺。
2.1 相關(guān)結(jié)果
根據(jù)真實中醫(yī)古籍文本總結(jié)的行文規(guī)則及對應(yīng)語義關(guān)系,建立相關(guān)正則表達式,結(jié)合崩漏疾病本體及中醫(yī)藥古籍語言系統(tǒng)進行知識抽取[12]。相關(guān)正則表達式見圖1。
2.2 知識抽取的程序?qū)崿F(xiàn)
用vb.net開發(fā)完成基于正則表達式的知識抽取及可視化平臺1.0版本。其主要功能有3個:①自然語言處理,從粗文本里面提取基于分詞和正則表達式的相關(guān)概念術(shù)語及關(guān)系;②用基于抽取的術(shù)語和現(xiàn)有的本體知識庫[13]匹配,獲得已有的實體關(guān)系以及可能潛在的實體及關(guān)系,并以網(wǎng)絡(luò)圖的形式進行可視化;③人工篩選審核抽取的知識,歸入已有崩漏知識庫。
圖2-圖4分別是中醫(yī)崩漏疾病語義中等同關(guān)系、因果關(guān)系和治療關(guān)系的抽取樣例其展示了等同關(guān)系、因果關(guān)系以及治療關(guān)系的多種表現(xiàn)形式。如:啟扁湯又名先天歸一湯,桑寄生主崩漏,崩漏取三陰交,崩漏皆由血氣傷這些崩漏相關(guān)的核心知識就被圖形化的抽取并展示。
由圖5可見,灰色框內(nèi)為古籍原文,紅色框內(nèi)為古籍語義關(guān)系的表述方式,粉色框內(nèi)為崩漏本體中已經(jīng)存在的概念,經(jīng)過抽取可以得到實體與實體之間的語義關(guān)聯(lián),經(jīng)過人工審核,補充進入崩漏的知識庫。
圖1 正則表達式
圖2 基于計算機知識平臺的中醫(yī)崩漏疾病等同關(guān)系的抽取結(jié)果
圖4 基于計算機知識平臺的中醫(yī)崩漏疾病治療關(guān)系的抽取結(jié)果
圖3 基于計算機知識平臺的中醫(yī)崩漏疾病因果關(guān)系的抽取結(jié)果
經(jīng)過上述人工抽取和計算機平臺抽取過程,已完成以正則表達式規(guī)則為崩漏相關(guān)知識的抽取和表達。在此基礎(chǔ)上,又構(gòu)建崩漏相關(guān)的知識語義框架,從而將崩漏的辨證論治思路可視化。并通過崩漏語義框架的構(gòu)建,完成整個中醫(yī)疾病知識框架的信息模型。
3.1 崩漏知識語義框架
由圖6可知,崩漏的常見病因有七情所傷、勞役過度、產(chǎn)后失調(diào)、飲食不節(jié)等,病因可以導致沖任虛損、心火亢盛、氣血不足、濕旺木郁、肝不藏血等病機的出現(xiàn),與此同時在臨床會有不同的癥狀表現(xiàn),如下血過多、四肢無力、面色萎黃等,根據(jù)這些癥狀,進行辨證論治就可以得到氣虛證、水濕證,還是陰盛陽虛證等相關(guān)診斷,相應(yīng)的證候決定了采用什么樣的治則治法,是扶正,還是祛邪,是選擇大補氣血的藥物治療,還是針灸治療。針灸治療一般是作用于經(jīng)絡(luò)或者腧穴,常見的腧穴實例有關(guān)元、期門、血海、三陰交等。方藥治療的常用方劑有七灰散、三黃湯、烏賊丸、烏金散等。此外,還有崩漏日久可能導致的并發(fā)癥,如眩暈、經(jīng)閉、胎弱、血風證等。崩漏期間禁服的藥物有花椒、胡椒、王不留行等。
3.2 疾病知識語義框架
圖7是由崩漏啟發(fā)而聯(lián)想完成的整個中醫(yī)的疾病知識框架,為構(gòu)建中醫(yī)藥概念信息模型奠定基礎(chǔ)[14]。對于一個疾病而言,其必須具有的屬性是癥狀,進而就可以辨治為某種證候,可以被方劑、中成藥或某種其他療法治療,也可能會導致某個并發(fā)癥,如果在疾病的過程中出現(xiàn)某個癥狀可能提示不好的預(yù)后,同時也可以決定方劑中具體藥物的加減。
圖5 經(jīng)人工審核后的中醫(yī)崩漏疾病語義網(wǎng)絡(luò)抽取結(jié)果
圖6 崩漏知識語義框架
本文通過對中醫(yī)古籍中疾病“崩漏”相關(guān)的語義關(guān)系抽取,建立等同關(guān)系、因果關(guān)系、治療關(guān)系的正則表達式,建立以正則表達式為規(guī)則的知識抽取及可視化平臺,實現(xiàn)對崩漏相關(guān)知識框架的抽取與表達,并在此基礎(chǔ)上完成中醫(yī)疾病相關(guān)的知識框架描述。
但研究發(fā)現(xiàn),單一的基于正則表達式的信息抽取難以達到很好的召回率,而且中醫(yī)古籍的信息抽取更是知識抽取的瓶頸所在。如果在正則表達規(guī)則的基礎(chǔ)上考慮篇章結(jié)構(gòu),同時整合機器學習[15]與語義標注的混合信息抽取方法可能進一步提高抽取的效能。此外如何對信息抽取后出現(xiàn)的噪音數(shù)據(jù)進行自動處理也是未來的研究工作之一。
圖7 疾病的知識框架
1 周順先. 文本信息抽取模型及算法研究. 長沙: 湖南大學博士學位論文, 2007.
2 秦元坤. 正則表達式匹配中的DFA優(yōu)化技術(shù)研究. 北京: 清華大學碩士學位論文, 2008: 9-10.
3 車海燕, 馮鐵, 張家晨, 等. 面向中文自然語言文檔的自動知識抽取方法. 計算機研究與發(fā)展, 2013, 50(4): 834-842.
4 Toepfer M, Corovic H, Fette G, et al. Fine-grained information extraction from German transthoracic echocardiography reports. BMC Med Inform Decis Mak, 2015, 15: 103.
5 中華醫(yī)典. 湖南電子音像出版社, 2000(2): 21.
6 王東梅. 崩漏文獻及方藥證治規(guī)律研究. 濟南: 山東中醫(yī)藥大學博士學位論文, 2006: 3-5.
7 曹照潔. 因果關(guān)系研究述評. 重慶: 西南師范大學碩士學位論文, 2004: 7-8.
8 李經(jīng)緯, 區(qū)永欣, 余瀛鰲, 等. 簡明中醫(yī)辭典. 北京: 中國中醫(yī)藥出版社, 2001: 840.
9 于彤, 崔蒙, 李海燕, 等. 中醫(yī)藥學語言系統(tǒng)的語義網(wǎng)絡(luò)框架: 一個面向中醫(yī)藥領(lǐng)域的規(guī)范化頂層本體. 中國數(shù)字醫(yī)學, 2014, 9(1): 44-47.
10 王翔樸, 王營通, 李玨聲. 衛(wèi)生學大辭典. 青島: 青島出版社, 2000: 40.
11 冷伏海, 白如江, 祝清松. 面向科技文獻的混合語義信息抽取方法研究. 圖書情報工作, 2013, 57(11): 112-119.
12 朱玲, 尹愛寧, 崔蒙. 中醫(yī)古籍語言系統(tǒng)構(gòu)建的關(guān)鍵問題與對策.中國中醫(yī)藥信息雜志, 2010, 17(4): 98-99.
13 朱玲, 劉靜, 賈李蓉, 等. 知識本體的構(gòu)建研究. 中國數(shù)字醫(yī)學, 2014, 9(2): 85-87.
14 謝琪, 崔蒙, 曹存根, 等. 基于領(lǐng)域本體方法構(gòu)建中醫(yī)概念信息模型的思考. 世界科學技術(shù)-中醫(yī)藥現(xiàn)代化, 2009, 11(4): 621-625.
15 周俊生, 戴新宇, 尹存燕, 等. 自然語言信息抽取中的機器學習方法研究. 計算機科學, 2005, 32(3): 186-189, 199.
Knowledge Extraction Research for Semantic Expression of Diseases in Chinese Medicine
Zhu Ling, Zhu Yan, Yang Feng
(Institute of Information on Traditional Chinese Medicine, China Academy of Chinese Medical Sciences, Beijing 100700, China)
At present most knowledge extraction methods were from English literatures. As a surge of literature study and lots of values in ancient books, the semantic network of diseases and the principle of regular expression of traditional Chinese medicine (TCM) were described. In this study, uterine bleeding in TCM was taken for instance. Regular expression of semantic relations, including equivalence relationship, causal relationship and therapeutic relationship was constructed before establishing the visualization platform of knowledge extraction. As a result, the framework of diseases in TCM was formed after completing knowledge extraction for uterine bleeding. The later was implemented by the principle of regular expression, and laid a fundamental for the application of knowledge extraction in TCM. However, the recall rate was undesirable through single principle of regular expression for the knowledge framework of uterine bleeding and other diseases. The efficiency of knowledge extraction in the further exploration could have been advisable and improved by means of hybrid information extraction method, including machine learning and semantic annotation.
Uterine bleeding, disease, regular expression, knowledge extraction
10.11842/wst.2016.08.004
R277.7
A
(責任編輯:朱黎婷 張志華,責任譯審:朱黎婷)
2015-12-07
修回日期:2015-12-09
* 國家自然科學基金委青年科學基金項目(81202758):基于語義網(wǎng)絡(luò)的傳統(tǒng)針灸概念體系表示及應(yīng)用研究,負責人:朱玲;國家自然科學基金委青年科學基金項目(81403491):基于語義相似度的古代散在針灸知識框架構(gòu)建研究,負責人:楊峰。
** 通訊作者:楊峰,副研究員,主要研究方向:針灸文獻、理論研究。