柴 華 路海明 劉清晨
(清華大學信息技術研究院 北京 100084)
?
中醫(yī)自然語言處理研究方法綜述
柴 華 路海明 劉清晨
(清華大學信息技術研究院 北京 100084)
簡要介紹自然語言處理在中醫(yī)學中的應用,通過對相關文獻的研究分析,闡述關聯(lián)規(guī)則挖掘、聚類分析、信息抽取、機器學習等方法的特點與應用方向??偨Y(jié)構(gòu)建中醫(yī)知識網(wǎng)絡的相關方法,基于構(gòu)建知識網(wǎng)絡的方法提出未來中醫(yī)自然語言處理研究的新思路。
中醫(yī);自然語言處理; 文本挖掘; 知識網(wǎng)絡; 詞向量
數(shù)據(jù)挖掘是數(shù)據(jù)庫知識發(fā)現(xiàn)(Knowledge Discovery in Databases, KDD)中的一個步驟,一般是指從大量的數(shù)據(jù)中通過算法搜索隱藏于其中信息的過程。近年來醫(yī)療數(shù)據(jù)挖掘發(fā)展迅速,然而目前醫(yī)療數(shù)據(jù)結(jié)構(gòu)化處于起步階段,更多的醫(yī)療數(shù)據(jù)仍然以自然語言文本形式出現(xiàn),這些醫(yī)學文本資料中的知識是不同地域、不同時代人們智慧的結(jié)晶,展現(xiàn)的是大量、未整理的文獻資料以及診療記錄,而這一點在中醫(yī)學中尤為突出。
自然人的學習能力有限,因此學者們嘗試通過自然語言處理(Natural Language Processing,NLP)輔助完成匯總中醫(yī)知識的過程,將知識提煉出來,提取其中有用的診療信息,最終形成知識本體或者知識網(wǎng)絡,從而為后續(xù)的各種文本挖掘任務提供標準和便利。NLP屬于人工智能的子領域,其核心目的是使得計算機能夠理解和生成人類的自然語言,任務主要包括信息抽取、機器翻譯、情感分析、摘要提取等,所用到的技術包括命名體識別、語義消歧、指代消解、詞性標注、結(jié)構(gòu)分析等。大量醫(yī)學文本資料中含有的病史、診斷、治療方法、藥物等名詞,給NLP的應用提供了可能性。利用NLP技術將隱藏在文本中的知識挖掘出來,對醫(yī)學的發(fā)展具有重要意義,目前已有醫(yī)學和生物學領域的相關研究[1]。同時20世紀80~90年代,一些醫(yī)學本體數(shù)據(jù)庫逐漸建立起來,如一體化醫(yī)學信息系統(tǒng)、臨床醫(yī)學系統(tǒng)術語等,使得利用NLP挖掘醫(yī)學知識的資料和工具更為充足。
2.1 關聯(lián)規(guī)則挖掘
2.1.1 概述 關聯(lián)規(guī)則是數(shù)據(jù)挖掘的常用方法,核心在于分析類似“某些事情的發(fā)生引出另外一些事件的發(fā)生”的規(guī)則,包括簡單關聯(lián)、時序關聯(lián)、數(shù)量關聯(lián)、因果關聯(lián)等,核心算法是以支持度和置信度作為判斷標準,確定是否存在關聯(lián)關系。著名的關聯(lián)算法有Apriori算法及其改進算法FP-growth,通過計算出頻繁項集來表示規(guī)則前件和后件中的事項明顯同時出現(xiàn)。
2.1.2 關聯(lián)規(guī)則在中醫(yī)學中的應用 主要是方劑的關聯(lián)性挖掘,如任廷革等[2]嘗試構(gòu)建了中藥方劑數(shù)據(jù)庫,收集了近2 000年來約10萬個方劑數(shù)據(jù),共100萬余條數(shù)據(jù)記錄,而且給出了從中挖掘關聯(lián)規(guī)則的方法[3]。王大阜[4]使用Apriori算法對所收集的方劑數(shù)據(jù)庫進行關聯(lián)分析,挖掘出了當歸==>生地(支持度7.86%,置信度78.57%)、白蘚皮==>土茯苓(支持度7.14%,置信度83.33%)等關聯(lián)規(guī)則,將方劑中常用的搭配藥物分析出來,對中藥的配方循證起到指導作用。朱立成[5]對445例名醫(yī)醫(yī)案進行關聯(lián)分析,挖掘出哮喘醫(yī)案的病因、病位、證候與四診信息的關聯(lián)關系,病因、病位、證候、四診信息與用藥的關聯(lián)關系,以及中藥之間的關聯(lián)關系。
2.1.3 局限性 關聯(lián)分析挖掘出來的知識有限,僅僅考慮到了并發(fā)的情況,一般局限于某個術語與其他某個或某些術語共現(xiàn)頻次較高類似的結(jié)果。大部分的應用建立在獲取結(jié)構(gòu)化數(shù)據(jù)的前提條件下,更多展現(xiàn)的是對結(jié)構(gòu)化數(shù)據(jù)分析的能力。
2.2 聚類分析
2.2.1 概述 中醫(yī)有陰陽五行學說,人體有五臟六腑之分,均彰顯出可分類的特點,聚類分析應用于中醫(yī)學中應當與中醫(yī)自身的性質(zhì)相契合。學者們利用聚類分析方法對中醫(yī)文本挖掘進行研究,具體為癥狀分類和藥物評價。
2.2.2 對癥狀的聚類 癥狀分類的語料多來自中醫(yī)的診斷手稿,常見于從某一種特殊的疾病入手,利用診斷手稿對癥狀聚類,得出該疾病的表型特點。麻曉慧[6]利用有關膽道感染、膽石癥病案共739例,將92項臨床表型聚類,得到膽病癥狀的表現(xiàn)分類特點,歸納總結(jié)了膽病的癥狀群。袁世宏等[7]使用聚類分析方法尋找腎虛癥狀的自然類群,聚類的結(jié)果與中醫(yī)理論的描述基本一致,為中醫(yī)的科學性提供了很好的佐證。除癥狀之外,何裕民等[8]使用模糊聚類,得出體質(zhì)的類型分類(強壯質(zhì)、虛弱質(zhì)、失調(diào)質(zhì))及若干亞型。
2.2.3 藥物評價聚類 藥物評價方向主要是利用聚類方法將類似性狀或相同功效的藥物聚在一起,應用中醫(yī)藥理論總結(jié)知識。何前鋒等[9]對中藥按照功效聚類,定義藥物之間的相似性,對中藥分類整理做出一定的貢獻。
2.2.4 局限性 相比于信息抽取,聚類分析偏向整體性質(zhì),從宏觀的角度對疾病、癥狀、藥物做出分類整理,只能得到概括性的評價,無法挖掘出具體的診療方法信息。
2.3 信息抽取
2.3.1 概述 中醫(yī)文獻大都是以自然語言的方式描述的,而且紛繁復雜,醫(yī)療記錄中蘊含著癥狀、診斷信息,醫(yī)書中蘊含方劑、病理信息,藥物典籍中蘊含組分、制作方法信息等,如果采用人工方法提取這些信息,耗費的人力、物力是難以估量的。然而,由于中醫(yī)術語名詞都包含在描述語言中,而且文獻描述語言簡練、邏輯簡單,因此可以考慮使用信息抽取算法來自動獲取結(jié)構(gòu)化信息。
2.3.2 隱彌科夫模型為主的信息抽取 近年來,隱馬爾科夫模型(Hidden Markov Model, HMM)在信息抽取領域中被廣泛應用。顧錚等[10]利用HMM對中醫(yī)古籍進行了信息抽取,將癥狀、病因、脈象和方劑看作模型的4種狀態(tài),然后利用命名實體識別結(jié)合人工標注的方法來從文獻中提取相應的名詞,最終計算出HMM相關參數(shù),達到了信息抽取的目的。莊力[11]以中醫(yī)臨床診療數(shù)據(jù)面向普通公眾便捷信息服務為目標,設計并實現(xiàn)了中醫(yī)臨床診療垂直搜索系統(tǒng)TCMVSE,可以完成Web信息搜集、信息抽取、信息索引與檢索等功能。
2.3.3 不足 信息抽取需要人工定義抽取的模板,而且經(jīng)常面臨數(shù)據(jù)缺失的情況,得到的結(jié)構(gòu)化數(shù)據(jù)也屬于缺失數(shù)據(jù),給進一步分析帶來一定的困難。但是作為將非結(jié)構(gòu)化信息轉(zhuǎn)化為結(jié)構(gòu)化信息的最小損失手段之一,信息抽取在中醫(yī)NLP研究中具有非常重要的地位。
2.4 機器學習
醫(yī)學中機器學習應用比較廣泛的是針對結(jié)構(gòu)化數(shù)據(jù)的分類方法,基于自然語言處理的方向相對較少,機器學習方法應用于文獻的分類較為廣泛,與文本知識挖掘為不同的研究方向,故不做贅述。中醫(yī)方面,一些學者嘗試使用機器學習技術就某個具體問題提出解決思路,取得一定的成效。孫燕[12]嘗試利用支持向量機及相關改進算法對《傷寒論》進行方證分析和量化研究,針對特定藥材量化分析并且應用支持向量機對《傷寒論》按照八法訓練分類,給出了一些結(jié)果。晏峻峰等[13]利用粗糙集理論對中醫(yī)診斷證素推理規(guī)則的獲取、癥狀辨證素的量表制定等證素辨證研究的關鍵問題進行了研究,主要對癥狀的診斷和互相之間的關系做出一些系統(tǒng)性探討。徐蕾[14]提出將決策樹方法應用于中醫(yī)證候?qū)W研究的思路,說明決策樹方法在中醫(yī)診斷辨證中的應用前景。盧延鑫等[15]通過詞性標注規(guī)則提取名詞并應用支持向量機對其分類,判定是否為致病因素并與流行病學專家給出的評測結(jié)果對比,得到了最高80%的準確率。
3.1 基于規(guī)則推理的知識網(wǎng)絡
3.1.1 概述 基于語義理解構(gòu)建知識網(wǎng)絡,即在語義理解的基礎上,進一步挖掘語義關系形成的網(wǎng)絡關系,基于一定規(guī)則人工構(gòu)建得出。絕大多數(shù)該方向的研究都是基于本體(Ontology)實現(xiàn)的,所構(gòu)建出來的網(wǎng)絡屬于語義網(wǎng)絡。語義網(wǎng)絡具有簡單、豐富、易讀等特點而被廣泛使用,著名的一體化醫(yī)學語言系統(tǒng)(Unified Medical Language System,UMLS)就是基于語義網(wǎng)絡而設計的框架,隨后有很多學者基于UMLS發(fā)表了多篇文章。
3.1.2 中醫(yī)藥學語言系統(tǒng) 中國中醫(yī)科學院信息所2002年借鑒UMLS的結(jié)構(gòu)并成功應用于中醫(yī)藥領域,構(gòu)建了中醫(yī)藥學語言系統(tǒng)(Traditional Chinese Medical Language System, TCMLS),至今已收錄約12萬個概念、30萬個術語和127萬條語義關系,成功應用于文本挖掘、資源檢索相關領域[16]。圖1給出了TCMLS的概念結(jié)構(gòu),可以通過該層次結(jié)構(gòu)為中醫(yī)NLP提供結(jié)構(gòu)化標準,使得文本挖掘研究有章可循、有據(jù)可依。圖2舉例刻畫中風-牛黃清心丸語義網(wǎng)絡關系,清晰地描述中藥與癥狀之間的關系,系統(tǒng)還可以進一步延伸,給出多層次、多維度的網(wǎng)絡關系示意圖。TCMLS作為一個面向中醫(yī)藥領域的規(guī)范化頂層本體,為中醫(yī)藥學語言系統(tǒng)中的所有概念提供了一體化的框架,對于中醫(yī)藥學語言系統(tǒng)的規(guī)范化和國際化具有重要意義[17]。
圖1 TCMLS結(jié)構(gòu)
圖2 中風-牛黃清心丸語義網(wǎng)絡關系
3.2 基于概率統(tǒng)計的知識網(wǎng)絡
3.2.1 詞向量模型的產(chǎn)生與發(fā)展 近年來,基于概率統(tǒng)計的自然語言處理模型出現(xiàn)了許多種,最具代表性的是N-gram模型[18]和最大熵模型[19]。2003年Bengio等[20]將N-gram算法與神經(jīng)網(wǎng)絡算法結(jié)合起來,構(gòu)建了一個3層神經(jīng)網(wǎng)絡來訓練詞匯的表示(Distributed Representation),相比于詞袋模型(Bag of Words),神經(jīng)網(wǎng)絡訓練得到的詞向量維度較低,而且其中的關聯(lián)信息也能夠體現(xiàn)出來;更為重要的是,詞向量的表示方法有可能解決自然語言與神經(jīng)網(wǎng)絡的代溝——維數(shù)災難。Tomas Mikolov完成了Word2vec代碼,將N-gram算法改進為Skip-gram算法,同時對神經(jīng)網(wǎng)絡訓練方式進一步改進,使用了層次Softmax簡化運算,大大提高了算法速度,由于其代碼簡潔明了,被人們廣泛傳播學習[21]。
3.2.2 詞向量模型在中醫(yī)領域的應用 Word2vec在醫(yī)學領域中的應用在國外也是初有嘗試。Miarro-Giménez等[22]通過Word2vec獲取語言學上的一些規(guī)律信息,與其他已經(jīng)公開發(fā)布的成果相比較,只得到不到50%的準確率,指出未來的研究中應當將Word2vec與醫(yī)學本體相關知識結(jié)合起來,采用半監(jiān)督的方法學習醫(yī)學中的知識網(wǎng)絡。Miarro-Giménez等[23]利用National Drug File-Reference Terminology (NDF-RT)本體來評價Word2vec的效果,得到的準確率同樣不高。Word2vec應用于中醫(yī)研究尚未見公開發(fā)布的,因此筆者將其應用于中醫(yī)文獻以及中醫(yī)相關論文書籍中,以得到一些具有高研究價值的結(jié)果。為了能夠清晰地展現(xiàn)高維數(shù)據(jù)的情況,使用了t-SNE[24]可視化方法做出二維展現(xiàn)。
圖3 Word2vec以中醫(yī)文獻為語料訓練出來的t-SNE 可視化展現(xiàn)結(jié)果(黑色詞匯為中藥名詞)
從圖3中可以看出,使用Skip-gram算法訓練出來的詞向量網(wǎng)絡中,中藥詞匯幾乎聚集在了一起,形成了孤島,這是通過t-SNE降維到13維之后取差異性最大的前兩個維給出的結(jié)果。通過詞向量訓練,能夠?qū)⑾嘟脑~匯聚集在一起,聚類分析便是其應用方向之一。更為重要的是通過訓練的過程,將中醫(yī)相關術語量化為100~200維的向量,形成量化之后的知識網(wǎng)絡,如果與中醫(yī)藥本體結(jié)合起來,將對圖3給出的關系網(wǎng)絡進一步量化,從而得到可信度更高的知識網(wǎng)絡。
使用詞向量方法還有很多值得研究的地方,如何改進訓練過程的規(guī)則和參數(shù)使得知識網(wǎng)絡更為接近真實結(jié)果,以及如何將已有的知識作為人工干預加入到訓練過程中,都是需要進一步深化研究的課題。
綜合以上各種方法來看,NLP在中醫(yī)學研究過程中是非常有效的工具,通過信息抽取、量化分析,將中醫(yī)文本知識轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù),通過聚類分析和機器學習方法對結(jié)構(gòu)化的數(shù)據(jù)進一步分析挖掘,可以完成對中醫(yī)知識的總結(jié)整理,進一步有可能發(fā)現(xiàn)新的知識。未來對中醫(yī)自然語言處理的研究有兩條明確的路可走:一是語義理解,即選取具體的問題,在局部范圍內(nèi)理解文本中的知識,將其以結(jié)構(gòu)化的方式展現(xiàn)出來,最后利用一些數(shù)據(jù)分析或者機器學習方法對結(jié)構(gòu)化的信息加以處理,給出具體問題的解決思路。二是概率統(tǒng)計,網(wǎng)絡中文本語料的增加使得概率統(tǒng)計NLP被廣泛使用,詞向量就是概率統(tǒng)計NLP的產(chǎn)物之一,雖然忽略了上下文的含義,但是通過大量文本的挖掘,可使知識逐漸浮現(xiàn)出來,這一點與大數(shù)據(jù)研究的思維完全相符。然而,詞向量直接應用于醫(yī)藥文本得到的準確率始終不高,以醫(yī)學本體為評價標準,正確率都比較低。因此,將概率統(tǒng)計的方法與本體知識結(jié)合才是最優(yōu)的解決方法。通過本體和詞向量構(gòu)建中醫(yī)領域知識網(wǎng)絡,將進一步對中醫(yī)領域的知識做一總體的整理,挖掘中醫(yī)概念之間的關系,為中醫(yī)診療提供更為實用的信息;如果能夠大力開展該方向的課題研究,結(jié)合當前熱門的大數(shù)據(jù)挖掘相關方法,最終可能引發(fā)中醫(yī)歷史性的革命,使得中醫(yī)迅速并且持續(xù)地發(fā)展壯大。
1 王浩暢, 趙鐵軍. 生物醫(yī)學文本挖掘技術的研究與進展[J].中文信息學報, 2008,22(3):89-98.
2 任廷革, 劉曉峰. “中醫(yī)藥基礎數(shù)據(jù)庫系統(tǒng)” 介紹[J]. 中國中醫(yī)藥信息雜志, 2001, 8(11): 90-91.
3 任廷革, 劉曉峰, 張帆, 等. 計算技術對中醫(yī)方劑知識的挖掘[J]. 科技導報, 2010, 28(15): 31-35.
4 王大阜. 關聯(lián)規(guī)則在中醫(yī)方劑數(shù)據(jù)集市中的應用[J]. 貴州大學學報: 自然科學版, 2006, 23(3): 317-319.
5 朱立成, 林色奇, 薛漢榮, 等. 名中醫(yī)哮喘醫(yī)案 445 例關聯(lián)規(guī)則分析[J]. 江西中醫(yī)學院學報, 2008, 19(5): 83-87.
6 麻曉慧, 王泓午, 何裕民. 膽病癥狀學聚類研究[J]. 中國中醫(yī)基礎醫(yī)學雜志, 2005, 6(12): 59-61.
7 袁世宏, 王米渠, 王天芳, 等. 聚類分析對腎虛癥狀的探索性研究[J]. 北京中醫(yī)藥大學學報, 2006, 29(4): 254-257.
8 何裕民, 王莉, 石鳳亭, 等. 體質(zhì)的聚類研究[J]. 中國中醫(yī)基礎醫(yī)學雜志, 1996, 2(5): 7-9.
9 何前鋒, 周雪忠, 周忠眉, 等. 基于中藥功效的聚類分析[J]. 中國中醫(yī)藥信息雜志, 2004, 11(6): 561-562.
10 顧錚, 顧平. 信息抽取技術在中醫(yī)研究中的應用[J]. 醫(yī)學信息 (西安上半月), 2007, 20(1): 27-30.
11 莊力. 中醫(yī)臨床診療垂直搜索系統(tǒng)研究[D]. 北京: 北京交通大學, 2009.
12 孫燕. 基于機器學習技術的《 傷寒論》 方證分析方法研究[D]. 北京:北京中醫(yī)藥大學, 2007.
13 晏峻峰, 朱文鋒. 粗糙集理論在中醫(yī)證素辨證研究中的應用[J]. 中國中醫(yī)基礎醫(yī)學雜志, 2006, 12(2): 90-93.
14 徐蕾, 賀佳, 孟虹, 等. 決策樹技術及其在醫(yī)學中的應用[J]. 數(shù)理醫(yī)藥學雜志, 2004, 17(2): 161-164.
15 盧延鑫, 姚旭峰, 王松旺. 利用自然語言處理技術提取致病因素信息研究[J]. 醫(yī)學信息學雜志, 2013,34(3), 55-58.
16 賈李蓉, 于彤, 李海燕,等. 中醫(yī)藥學語言系統(tǒng)的語義網(wǎng)絡框架概述[C].北京:中國中醫(yī)藥信息大會,2014.
17 于彤. 中醫(yī)藥學語言系統(tǒng)的語義網(wǎng)絡框架[EB/OL].[2013-07-15]. http://www.tcmkd.com/ontologies/tcmls/.
18 Brown P F, Desouza P V, Mercer R L, et al. Class-based N-gram Models of Natural Language[J]. Computational Linguistics, 1992, 18(4): 467-479.
19 Berger A L, Pietra V J D, Pietra S A D. A Maximum Entropy Approach to Natural Language Processing[J]. Computational Linguistics, 1996, 22(1): 39-71.
20 Bengio Y, Ducharme R, Vincent P, et al. A Neural Probabilistic Language Model[J]. The Journal of Machine Learning Research, 2003, (3): 1137-1155.
21 Mikolov T, Chen K, Corrado G, et al. Efficient Estimation of Word Representations in Vector Space[J]. arXiv preprint arXiv:1301.3781, 2013.
24 Van der Maaten L, Hinton G. Visualizing Data Using t-SNE[J]. Journal of Machine Learning Research, 2008, (9):2579-2605.
Overview of Research Methods for Natural Language Processing in Traditional Chinese Medicine
CHAIHua,LUHai-ming,LIUQing-chen,
ResearchInstituteofInformationTechnology,TsinghuaUniversity,Beijing100084,China
The paper makes a brief introduction to the application of natural language processing in Traditional Chinese Medicine(TCM). Through research and analysis of relevant literatures, it describes the features and application directions of such methods as the association rule mining, clustering analysis, information extraction, machine learning, etc. It also summarizes methods related to the establishment of knowledge networks on TCM and proposes new ideas for future researches of natural language processing in TCM based on the establishment of knowledge networks.
Traditional Chinese medicine; Natural language processing; Text mining; Knowledge network; Distributed representation
2015-05-28
柴華,在讀碩士研究生;路海明,研究員。
R-056
A 〔DOI〕10.3969/j.issn.1673-6036.2015.10.013