葉輝 姬東鴻
摘要:目的 結合自然語言處理方法,研究可以有效抽取中醫古籍中所含癥狀和藥物文本實體信息的方法。方法 以《金匱要略》為例,采用條件隨機場(CRF)算法,先將文本進行分詞處理,然后以詞性、基于鍵值對的中醫診斷標記集作為輔助特征,通過癥狀-藥物BIO標簽為訓練特征來訓練出模型,然后利用該模型對測試集文本進行自動標簽標注。結果 基于多特征CRF自動標注的結果準確率達到84.5%,召回率達到70.9%,F測度值達到77.1%。結論 運用CRF方法加入詞性、中醫診斷標記集特征集進行訓練得出的多特征模型,能有效提高CRF算法對中醫古籍的實體抽取能力,生成的模型可用來自動化抽取中醫古籍文本的癥狀藥物實體信息。
關鍵詞:條件隨機場;《金匱要略》;癥狀藥物信息抽取;中醫古籍
中圖分類號:R222.3 文獻標識碼:A 文章編號:2095-5707(2016)05-0014-04
Research on Symptom and Medicine Information Abstraction of TCM Book Jin Gui Yao Lue Based on Conditional Random Field
YE Hui1, JI Dong-hong2
(1. Guangzhou Chinese Medicine University, Guangzhou Guangdong 510006, China; 2. Wuhan University, Wuhan Hubei 430007, China)
Abstract: Objective To find an efficient way to abstract symptoms and medicine information from TCM book Jin Gui Yao Lue through combination of natural language processing method. Methods Taking Jin Gui Yao Lue as an example and by using conditional random fields (CRF), texts were processed according to words, and then part of speech and key assignments based on TCM diagnosis marker group were set as auxiliary features. Symptom-medicine BIO labels were set as the training features to train the model. Then this model was used to conduct automatic labeling to tested texts. Results The accuracy rate of automatic labeling based on multi-feature CRF was 84.5%, recall rate 70.9%, F measure value 77.1%. Conclusion The multi-feature model trained through CRF combined with part of speech and TCM diagnosis marker group can successfully improve abstraction entity information ability from ancient TCM books. The model can be used to automatically abstract symptom and medicine entity information from ancient TCM books.
Key words: conditional random fields (CRF); Jin Gui Yao Lue; symptom and medicine information abstraction; ancient TCM books
基金項目:2014廣東省中醫藥局建設中醫藥強省科研課題(20141073);廣東財政專項(2013170)
第一作者:葉輝,講師,研究方向為醫學信息學。E-mail: yehui@gzucm.edu.cn
中國醫學存在大量的醫藥病案和古籍,如《傷寒論》《金匱要略》等中醫藥經典。后人通過閱讀理解這些經典,能夠學習名醫的經典藥方和治療思路,甚至可以挖掘在古籍中的藥物信息,通過現代技術的藥物提純提煉,找出治療某種疾病的特效藥物。但由于中醫藥術語一直缺乏標準,古籍中的古文又偏澀難懂,科研人員想要獲取古籍中的癥狀和藥物信息比較費時,因此研究利用計算機自然語言處理中的算法高效地自動識別古籍里的中醫藥治療信息具有實際的應用價值。
目前,醫學實體識別的方法主要有基于字典、基于規則和基于機器學習的方法[1],而基于機器學習的方法是主流。例如基于隱馬爾可夫模型、決策樹、支持向量機、最大熵、隨機條件場等方法等,這些方法把詞性、詞形等特征融入到機器學習模型中,利用訓練得到的學習模型從生物醫學文本集合中識別出指定類型的名稱。
2001年,條件隨機場(conditional random fields, CRF)由美國Lafferty等人提出[2],結合了最大熵模型和隱馬爾可夫模型的特點,是一種無向圖模型,近年來在分詞、詞性標注和命名實體識別等序列標注任務中取得了很好的效果,該模型的特性表明它非常適用于醫學領域的命名實體識別研究。有鑒于此,本文采用CRF算法對中醫古籍《金匱要略》的醫學癥狀和藥物實體識別進行研究。
1 研究方法
在自然語言處理領域中,CRF模型可以使用字、詞、詞性等上下文特征,也可以引用詞典等外部特征,即可以將任意相關知識源融入文本特征中,解決了序列標注和文本切分的問題,且在英文序列標記名詞短語識別等方面取得了較好效果。CRF最常用的結構為線性鏈,可以有效克服隱馬爾可夫模型假設條件的限制及最大熵模型標記偏執的問題。
一般采用CRF做醫學術語抽取包括特征選取、參數估計和結果標注3個步驟,首先選擇相關特征,然后利用所選特征對數據進行訓練,得出特征函數權重參數,最后通過輸入測試數據,使用訓練好的模型對文本進行序列標記,完成醫學命名實體識別。
1.1 數據準備與分詞
CRF的訓練和測試選用了CRF++工具包來實現,CRF++工具包是一個可用于分詞、連續數據標注的簡單、可定制的開源的條件隨機場工具。首先要對《金匱要略》文本進行語料預處理和標注,然,后將其標注的語料分為2個部分,70%的部分作為訓練語料,30%的部分作為測試語料。利用CRF訓練測試的步驟概括如圖1。
《金匱要略》全書共25篇,方劑262首,列舉內外科病癥60余種。由于年代久遠,古文意思較為難懂,又兼具通假字較多,所以首先要進行必要的數據清洗,如古文中的“之乎者也”不影響上下文醫學表達的詞都去掉。分詞處理使用中國科學院計算技術研究所開發的ICTCLAS 2015分詞工具,此版本比過往版本對中文分詞處理更加完善。但由于分詞系統沒有經過大量古文的自然語言方面的優化,所以分出來的詞匯偏向以單字的形式出現比較多。最后本文采用書中前1~22篇的文本清洗后的分詞結果共15 525詞條作為實驗數據集。
1.2 多特征選擇
術語識別中可以利用的特征有很多,根據不同的文本和識別任務可以引入不同的特征,如字符、拼音、詞性、詞邊界、各類命名實體列表、引導信息和頻次統計及語法依賴關系和句子傾向性等,不同的特征對術語識別有不同的影響[3]。同時,特征數的增加對抽取效果的改善有積極作用。根據《金匱要略》的文本特征,本實驗選用以下3個特征。
特征1:詞性。詞性是中文文本處理中常用的一項特征,詞性特征指當前字符的詞性,本研究釆用ICTCLAS2015的二級標注對語料庫的詞條進行自動詞性標注,如:“極寒傷經”被系統標注為“極/d寒/a傷/v經/n”,其中d、a、v、n分別代表該詞詞性為副詞、形容詞、動詞、名詞。
特征2:采用鍵值對模型的中醫診斷標記集進行診斷標注。王國龍等[4]發現,使用基于鍵值對模型的中醫診斷標記集標注的中醫古文在基于詞匯聯系的隱馬爾可夫模型測試中得到比較好的結果,因此本文參考鍵值對模型的中醫診斷標記集作為輔助特征引入到實驗中。其中剔去時機、屬性、附加描述這幾個標記,簡化后的鍵值對模型的中醫診斷標記如表1。
特征3:癥狀-藥物類別標簽。該特征作為術語識別過程中的狀態值特征。中醫癥狀一般包括主癥、舌象及脈象、部位、部位表征描述等信息,藥物包括方劑和治法。本文通過總結中醫對癥狀和藥物的處理方式,形成表2的標記集。在識別類別的基礎上采用“BIO”法標記[5],其中B(beginning)表示術語的首字符,I(intermediate)表示術語的非首字符和結束字符,O(outside)表示非術語字符。由于中醫診斷中對于脈象比較關注,因此在癥狀-脈象中特別標簽了癥狀-脈類和癥狀-脈象,以提取其中的脈診知識。另外對癥狀也進行了標簽處理。
1.3 語料訓練與測試
應用CRF++要求事先指定一種功能模板。本文根據《金匱要略》文本特點設定一個特征模板,該模板用于描述訓練文本和測試文本中的特征,進而提取訓練集中的特征參數來實現測試文本標簽的計算。模板文件中的每一行表示一個子模版,表達方式為:%X[row, col],一個子模板表示輸入數據的一個Token。本文設計將相鄰位置的特征進行聯合,有助于識別錯分詞或長距離詞。本實驗1和2選擇模板窗口的大小為前后兩行[-2,+2]。
利用CRF++train訓練工具,按照表3的訓練集格式進行訓練得出模型文件model,然后再利用CRF++test工具將該模型應用到測試集中去,最后得出帶有癥狀-藥物自動標簽的測試集。
1.4 實驗設計
本文設計了2組實驗,通過對照組與實驗組的對比,測試采用不同特征的基于CRF的《金匱要略》癥狀-藥物識別的性能及不同特征對性能的影響情況。實驗1是單一特征對照實驗,僅選用詞本身、癥狀-藥物標記(參見表2)進行實驗作為基準。實驗2選用詞、詞性、簡化的中醫診斷標記集(參見表1),癥狀-方劑-藥物標記(參見表2)的多特征進行實驗,然后對以上2組實驗的結果用conlleval工具進行測評,分析多特征對實驗識別效能的影響。
1.5 評價標準
基于CRF的中醫專業術語識別性能的評估采用3個指標:準確率(precision, P)、召回率(recall, R)和F測度值(F-Measure)。P指抽取的信息中正確抽取的比例;R指正確抽取的信息占應抽取信息的比例;F測度值即為正確率和召回率的調和平均值。其中F測度值能比較合理地反映該信息抽取的有效程度。
2 結果與分析
實驗組1為實驗的基準,采用單一特征的CRF方法,得到抽取詞組準確率P為72.0%,召回率R為55.3%,F測度值為62.5%;而實驗組2引入多特征,再采用CRF處理后,得到抽取詞組準確率P為
84.5%,召回率R為70.9%,F測度值為77.1%。見表4。單一特征進行分詞和癥狀藥物BIO標簽訓練的F測度值比較低,而運用了分詞、詞性、中醫診斷簡化標記和癥狀藥物BIO多特征標簽后,F測度值結果升高到77.1%,說明引入該組合特征模型的識別效能較優。可見對于中醫古籍的實體信息抽取,采用診斷標記和語言學規則(如詞性、分詞等)相結合的多特征模型,可令CRF抽取信息效果提高。
3 小結
本文主要通過CRF工具對《金匱要略》進行癥狀-藥物信息提取,首先經過分詞處理語料,然后加入詞性、中醫診斷標記等多個標注特征對中醫癥狀-藥物BIO標簽進行訓練和測試,得到F測度值77.1%,比只運用單一特征的CRF抽取的結果效率更高,可見利用本文提出的多特征模型的CRF提取方法對中醫古籍的信息抽取有良好的效果。通過對《金匱要略》等中醫古籍的信息抽取研究,為將來建立中醫藥搜索引擎及新藥物發掘等方面提供了一種可行的方法。
參考文獻
[1] 馬瑞民,馬民艷.基于CRFs的多策略生物醫學命名實體識別[J].齊齊哈爾大學學報,2011,27(1):39-42.
[2] LAFFERTY JD, MCCALLUM A, PEREIRA FCN. Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data[C]//The 18th International Conference on Machine Learning. San Francisco: Morgan Kaufmann Publishers Inc. ,2001:282-289.
[3] 孟洪宇.基于條件隨機場的《傷寒論》中醫術語自動識別研究[D].北京:北京中醫藥大學,2014:33-34
[4] 王國龍,杜建強,郝竹林,等.中醫診斷古文的詞性標注與特征重組[J].計算機工程與設計,2015,36(3):836-841.
[5] 魏尊強,舒紅平,王亞強.基于序列標注的中醫癥狀名識別技術研究[J].山東工業技術,2015(8):237-238.
(收稿日期:2016-06-08)
(修回日期:2016-08-08;編輯:魏民)