呂愿愿,鄧永莉,劉明亮,崔宇佳,陸起涌
1 復旦大學信息科學與工程學院,上海市,200433
2 復旦大學信息學院智慧網絡與系統研究中心,上海市,200433
利用實體與依存句法結構特征的病歷短文本分類方法
【作者】呂愿愿1,鄧永莉1,劉明亮1,崔宇佳1,陸起涌2
1 復旦大學信息科學與工程學院,上海市,200433
2 復旦大學信息學院智慧網絡與系統研究中心,上海市,200433
近年來,電子病歷文本的分類、挖掘成為醫學大數據研究的基礎。該文提出一種利用實體與依存句法結構分析構特征集的電子病歷短文本分類方法。首先對病歷文本進行自然語言處理,包括分句、分詞、詞性標注以及實體提取,構建實體詞典,利用TF-IDF方法構建詞-文本矩陣并利用潛在語義分析LSA方法進行詞匯特征的選擇,然后分析病歷文本的依存句法關系,挖掘出詞匯之間的依存關系并構建特征三元組作為分類特征的擴展,最后構建出分類特征向量集對病歷短文本進行分類。實驗證明,相比于未進行特征擴展的短文本分類,所提方法能有效地提高分類器的分類性能,其分類的準確率與F值均有明顯的提高。
電子病歷;短文本;TF-IDF;LSA;依存句法結構分析;特征三元組
現代醫學的快速發展產生大量有價值的臨床醫學數據,從臨床醫學文本中挖掘出隱含的生物醫學與臨床醫學知識對于醫學領域信息抽取、醫學大數據挖掘以及現代醫學的發展具有十分重要的意義。臨床數據主要以非結構化或者半結構化的形式存在于病人的病歷之中。對電子病歷文本(Electronic Medical Record, EMR)進行信息抽取,將EMR中數據進行結構化的展示,是進行醫學大數據挖掘的基礎。一份病歷主要是從癥狀、檢查化驗、用藥、疾病變化情況、病人查房記錄等幾個方面記錄病人的情況。對病歷中的內容根據其描述的對象進行短文本分類對進行病歷信息抽取與數據挖掘具有重要的意義。
短文本的特點是詞數少、描述信息能力弱、特征稀疏、語義離散,傳統的適用于長文本分類的方法已不能滿足短文本分類的需要。構建合適的分類特征矢量,是短文本分類面臨的重要考驗。目前提出的很多方法均通過對短文本的特征進行擴展來進行。如王盛、樊興華等[1]提出利用“知網”確定訓練集中概念對的上下位關系,以此來擴展短文本分類的特征向量;楊天平、朱征宇[2]提出構建全局語義概念詞表,利用概念詞表對訓練短文本以及預測短文本進行概念化描述并使預測短文本在訓練集中找出相似的短文本組合成長文本后轉換為長文本分類問題;秦添軼、林蟬等[3]提出短文本間語義相似度部分和短文本分類相結合的實體描述短文本間相似度的計算方法。
這些方法對短文本的分類起到了一定的作用,但運用于病歷短文本分類則存在一些問題。主要表現在:
(1) 病歷中含有大量醫學專用實體詞匯,且同一詞匯具有不同的存在形式,一義多詞或者一詞多義現象較多;
(2) 病歷中存在的字符形式較多,包括中文、英文縮寫、阿拉伯數字、科學計數法等等,使特征抽取變難;
(3) 病歷文本中不同類別的短文本存在一定程度上的重疊,如何確定其語義上的類別成為一大難題。
本文提出了一種基于實體與依存句法結構進行特征擴展的病歷短文本分類方法。該方法首先建立病歷文本的分詞與實體標注模型,利用得到的模型與詞典處理待分類的病歷文本,建立實體詞典,對文本中的詞匯進行TF-IDF(Term Frequency - Inverse Document Frequency)計算,并結合實體詞典篩選出對文本分類有顯著區分能力的詞語作為文本分類的詞匯特征(Vocabulary Feature ),構建詞—文本矩陣,并使用潛在語義分析(Latent Semantic Analysis, LSA)對詞文本矩陣進行降維。同時,通過有監督的學習算法提取訓練樣本的依存句法結構特征(Dependency Relation Feature)作為分類特征的擴展。在此基礎上對病歷文本進行短文本分類。特征集構建示意圖如圖1所示。

圖1 特征集構建示意圖Fig.1 Construction of feature set
本文采用的文本分類特征融合了文本的詞匯特征以及詞語間的依存關系特征。文本詞匯特征的提取詳細介紹如下。
1.1 病歷文本NLP處理
自然語言處理[4](Natural Language Processing, NLP)近年來在國內外均取得了很大的進展[5],被廣泛應用于文本挖掘、語音識別、智能問答等領域。目前發展較好的中文NLP系統主要有復旦大的FudanNLP[6]、中科院的ICTCLAS、哈爾濱工業大學的LTP[7]語言云平臺等等。當使用這些NLP平臺處理本文研究所用的風濕免疫科病歷文本時會出現以下兩個問題:
(1) 分詞問題,實體詞匯不正確切分;
(2) 實體識別問題,專業詞匯識別困難。
為了解決以上問題,本文采用有監督的學習算法,建立學習樣本,利用最大熵模型(Maximum Entropy, MaxEnt)[8]進行訓練,構建適用于病歷文本的分詞、詞性標注與實體標記模型。本文提供了200份由專業醫生與筆者共同合作分工標記的風濕免疫科病歷文本作為訓練樣本。分詞與標注的原則如下:
(1) 分詞時對于醫學專有名詞如藥品名稱、疾病名稱、化驗項名稱等不進行切分,并使用不同的實體標簽對其進行標記;
(2) 詞性標注采用“863詞性標注集”,在此基礎上對于沒有進行切分的粒度較大的實體的詞性標注,采用統一的專有名詞的標注;
(3) 標記的實體類別包括:癥狀、部位、用藥、檢查化驗、診斷。
除此之外,本文還向系統內添加了醫學專用詞典文件,用于配合實現命名實體的識別。詞典文件主要來源于搜狗細胞詞庫[9],并對詞匯庫進行了分類與整理。
模型利用開源OPENNLP[10]中的最大熵模型進行訓練得出,在訓練的過程中采用5折交叉驗證進行參數的調整與優化。利用得到的模型對500份完整的風濕免疫科病歷進行NLP處理后得出實體詞典信息如表1所示。

表1 實體詞典信息表Tab.1 Entity dictionaries
本文使用訓練的分詞模型與結巴分詞系統[11]分別對隨機抽取的20份完整病歷做了分詞。二者對每一份病歷的分詞時間如圖2所示。

圖2 分詞速度對比Fig.2 Comparison of speed of tokenization
從圖2可以看出,本文建立的分詞模型在對病歷的分詞速度上明顯優于結巴分詞系統。從實際應用來說,本文采用的模型是基于病歷文本訓練的,因此分詞精度遠遠大于結巴分詞。
1.2 病歷文本詞匯特征選取
本文對于病歷短文本中詞匯特征的提取的步驟如圖3所示。

圖3 詞匯特征提取流程Fig.3 Extraction of vocabulary feature
TF-IDF[12]理論認為特征詞匯的權重不僅與詞匯在語料庫中出現的頻率有關,同時與詞匯在文檔中出現的頻率有關。TF-IDF的計算公式可以表示為:

其中,D為語料庫包含的文件總數,ni,j為文檔j中詞匯i出現的次數,∑knk,j為文檔j中出現的總的詞匯數目。
通過TF-IDF計算可以得出一個高維稀疏的詞—文本矩陣,然后對該矩陣進行潛在語義分析[13]。LSA認為文本中詞與詞之間存在某種潛在的語義結構。通過對具有相同語義結構的同義詞與不同語義結構的非同義詞進行處理,將高維的詞文本矩陣映射到低維空間,從而降低向量維度,化簡文本詞匯特征。
LSA的原理是利用矩陣奇異值分解對詞文本矩陣進行計算,提取出前k個最大奇異值及其對應的奇異矢量構成一個秩為k的近似矩陣表示原高維矩陣。本文在進行TF-IDF之后、LSA之前對詞—文本矩陣進行了篩選與刪減。一般認為,如果一個詞條在某一類文檔中出現的概率遠遠大于其在其他類別文檔中出現的概率,則該詞條保留,否則刪除。如實驗用病歷文本癥狀描述中常出現“出現”、用藥中常出現“予”、“口服”、檢查中常出現“查”、“提示”等詞匯,這些詞匯具有很強的文本分類能力,因此予以保留。
2.1 病歷依存關系標注與分析
依存句法分析[14]通過對語言單位內成分之間的依存關系的分析揭示句子的語法結構以及詞語之間的搭配關系。本文在分析了病歷依存句法結構的基礎上提出了利用依存關系進行三元特征組構建對分類特征進行擴展。本文中對病歷文本采用LTP平臺標注集進行標注。結合病歷語法特點將LTP體系中將24種依存關系簡化為10種,包括:SBV(主謂關系)、VOB(動賓關系)、ATT(定中關系)、HED(核心關系)、ADV(狀中關系)、COO(并列關系)、POB(介賓關系)、DBL(兼語關系)、CMP(動補關系)以及IS(獨立結構)。
本文在使用LTP標注集進行句法標注的過程中對分詞做出了修改。主要是利用建立的實體詞典,使實體詞典中出現的詞匯作為整體進行句法標注。這樣做既簡化了句法樹結構,又可以使后續得到的依存關系三元組保持一定完整的語義信息。
根據以上標準,對句子“病程中患者出現視物模糊,考慮羥氯喹副作用引起,故暫停用?!钡木浞ǚ治鼋Y果如下圖4所示。

圖4 LTP進行依存句法分析示例Fig.4 Examples of dependency parser with LTP
2.2 病歷依存關系三元組選擇
假設文檔D={s1, s2, …, sn},其中s為文檔中的一個句子。對于其中任意一個句子sl,經過分詞與去停用詞后有sl={w1, w2, …, wm},其中w為句子中的詞。對句子sl進行依存句法分析后得到圖G=(sl, El),其中El為圖中所有邊的集合。本文通過將圖中一條邊連接的兩個詞語與這條邊對應的關系構成三元組來表示語句中的特征。如假設圖中一條邊為eij,eij的兩個端點為詞匯wi、wj,邊eij表示的依存關系為rij,其中wi為支配詞,wj為依存詞,則將該三元關系表示為(wi,rij,wj)。
按照對三元依存關系組[15]的定義,對于圖4中的例子進行三元關系組構建,總共可以構建15個三元關系組。從中對較好的依存關系三元組進行篩選,原則如下:
(1) 選取依存關系較強的三元組,如HED、SBV、VOB以及COO,不考慮WP、ADV等等;
(2) 優先考慮含有實體詞匯的依存三元組。
依據以上原則對圖4中的例子進行依存三元關系組提取可得以下關系組集合:{(Root,HED,出現),(出現,SBV,患者),(視物模糊,VOB,出現),(考慮,COO,出現),(引起,VOB,考慮),(引起,SBV,副作用),(副作用,ATT,羥氯喹)}
2.3 依存關系三元組的處理
為了使得到的特征更加具有普遍性,要對特征進行一般化處理。處理的原則如下:
(1) 除HED三元組關系之外,對于三元組中屬于實體詞典中的詞,使用詞典的名稱如“symptom”、“medicine”代替;
(2) 對于三元組中只有一個實體詞匯,而另一個為非實體詞匯的,則將非實體詞匯采用通配符“*”表示,當替代后有多個一樣的三元組時對該三元組特征進行加權;
(3) 對于三元組進行優先級排序,支配詞與被支配詞均屬于實體詞典的三元組與HED三元組關系優先級最高,有一個詞為實體詞的三元組次之,其余的最低。
根據以上三元組關系處理的原則對于圖3中例句的三元組關系進行處理得到三元組關系集合為:
{(Root,HED,出現),(symptom,VOB,*),(*,ATT,medicine),(考慮,COO,出現),(引起,VOB,考慮),(出現,SBV,患者),(引起,SBV,副作用),}
再如,對于例句“伴干咳、痰少、乏力,無咽干”進行三元組特征抽取,得到依存句法解析樹如圖5所示。根據三元組提取規則得到依存三元組集合為:{(Root,HED,伴),(symptom,COO,symptom),(*,VOB,symptom),(伴,COO,無)}。

圖5 依存關系示例Fig.5 Example of dependency parser
3.1 數據來源
實驗所用數據來源于上海翼依信息技術有限公司,總共為700份完整風濕免疫科電子病歷。
實驗中對于NLP訓練分詞與實體標注部分,使用了200份完整的病歷作為訓練樣本,模型測試與實體詞典抽取則使用另外500份病歷進行。對于分類實驗,使用與NLP訓練中相同的200份病歷中的入院記錄、病程記錄和出院記錄,根據其描述的類別拆分成長度為150字左右的短文本,并分為表3中所列五類進行實驗訓練,其中一般描述類指的是病歷中對病人既往史、家族史以及個人史的描述。分類訓練數據與測試數據情況見表3。

表3 實驗數據概覽Tab.3 Data used in the experiment
3.2 實驗設計與評價指標
為了證明對分類特征利用依存句法關系進行擴展的有效性,本實驗分兩組進行,一組的分類特征僅僅使用提取的詞匯特征集,記為V,另外一組使用詞匯特征與依存句法特征集,記為V+P。
本實驗以張知臨編寫的TMSVM文本分類系統(http://code.google.com/p/tmsvm/)為基礎,將其中引用的第三方分詞工具替換成OPENNLP訓練后的分詞工具,引入依存句法分析得到依存關系三元組進行特征擴展,采用默認參數進行文本分類模型的訓練與測試。
實驗評價指標采用目前文本分類領域常用的評價指標,采用宏平均與微平均分別計算比較分類正確率(P)、召回率(R)以及F值,計算公式定義如下:

其中,a表示分類器將輸入文本正確地分類到某個類別的個數;b表示分類器將輸入文本錯誤地分類到某個類別的個數;c表示分類器將輸入文本錯誤地排除在某個類別之外的個數。
除此之外,實驗還統計了各類文本分類的誤判率與漏判率。其中誤判率指不是某一類別卻錯誤地判斷為該類別的概率,漏判率指屬于某一類別卻被判斷為其他類別的概率。
3.3 實驗結果與分析
實驗中測試文本分詞后共得到詞匯12 577個,經過篩選后保留特征詞匯780個經過LSA分析,最終保留詞匯特征360個,簡單依存關系三元組特征45個。經分類以及計算統計后得到的宏平均與微平均統計結果分別如表4與圖6中所示。

表4 分類宏平均統計結果Tab.4 Macro-average result of text classification

圖6 特征擴展前后分類微平均結果比較Fig.6 Comparison of micro-average result
從宏平均與微平均的結果來看,加入依存關系進行特征擴展后進行的文本分類相比于僅用詞匯特征做分類在類別以及整體準確率、召回率、F值上都有不同程度的提高。
對比表4中不同類別的誤判率可知,癥狀描述類的誤判概率遠遠大于其他類別的誤判概率。原因在于病歷中在進行以其他四個類別為主題的描述時總會或多或少帶上一些癥狀的敘述,導致該類別的詞匯特征中出現癥狀類的實體數目,干擾了分類的進行。
本文結合分類的實際應用,從病歷文本的特點出發,提出給予實體詞典與依存句法關系構建分類向量進行病歷短文本分類的方法。所有研究過程中使用的電子病歷均經過去身份化的操作,對病歷的所有操作均以保護病人隱私為前提下進行。實驗結果充分證明了利用依存三元組進行特征擴展后文本分類的準確率、召回率以及F值均有明顯的提高。
近年來文本挖掘、文本分類漸漸朝著縱向領域發展,因此結合領域特性,建立領域專業詞典與知識庫對于特定領域的文本挖掘、文本分類具有深遠的意義。本文提出的方法僅僅在醫學領域內的一個科室病歷中做了探索,對于該方法在其他領域的擴展應用還有待于進一步的研究。
鳴謝
筆者感謝上海翼依信息技術有限公司提供電子病歷文本,并聯系風濕病領域專業醫生與相關從業人員與筆者共同進行訓練文本的標注與詞典的建立,對文章中分詞與標注模型的建立給予了無私的幫助。
[1] 王盛, 樊興華, 陳現麟. 利用上下位關系的中文短文本分類[J]. 計算機應用, 2010, 30(3): 603-606.
[2] 楊天平, 朱征宇. 使用概念描述的中文短文本分類算法[J]. 計算機應用, 2012, 32(12): 3335-3338.
[3] 秦添軼, 林蟬, 宋博宇, 等. 一種實體描述短文本相似度計算方法[J]. 智能計算機與應用, 2015,5(2):34-37.
[4] Meystre S, Haug PJ. Automation of a problem list using natural language processing[J]. BMC Med Inform & Deci Mak , 2005, 5(21):1-14.
[5] 劉向威. NLP技術在中文信息檢索中的應用研究[D]. 天津: 天津大學, 2005.
[6] Qiu X, Zhang Q, Huang X. FudanNLP: a toolkit for chinese natural language processing[J]. Proc Acl, 2013:49-54.
[7] http://www.ltp-cloud.com/ [R/OL].
[8] 周雅倩, 郭以昆, 黃萱菁,等. 基于最大熵方法的中英文基本名詞短語識別[J]. 計算機研究與發展, 2003, 40(3):440-446.
[9] http://pinyin.sogou.com/dict/[R/OL].
[10] Savova GK, Masanz JJ, Ogren PV, et al. Mayo clinical Text Analysis and Knowledge Extraction System (cTAKES): architecture, component evaluation and applications[J]. J Am Med Inform Assoc, 2010, 17(5):507-513.
[11] https://github.com/fxsjy/jieba[R/OL].
[12] 施聰鶯, 徐朝軍, 楊曉江. TFIDF算法研究綜述[J]. 計算機應用, 2009, 29(S1):167-170.
[13] 王永智, 滕至陽, 王鵬,等. 基于LSA和SVM的文本分類模型的研究[J]. 計算機工程與設計, 2009, 30(3):729-731.
[14] 穗志方, 俞士汶. 基于骨架依存樹的語句相似度計算模型[C]// 1998中文信息處理國際會議, 1998: 458-465.
[15] 張慶慶, 劉西林. 基于依存句法關系的文本情感分類研究[J]. 計算機工程與應用, 2015, 51(22): 28-32.
Short Text Classifcation of EMR Based on Entities and Dependency Parser
【Writers】LV Yuanyuan1, DENG Yongli1, LIU Mingliang1, CUI Yujia1, LU Qiyong2
1 School of Information Science and Technology, Fudan University, Shanghai, 200433
2 Research Center of Smart Networks and Systems, School of Information Science and Technology, Fudan University, Shanghai, 200433
Nowadays, text classification and text mining of Electronic Medical Record(EMR) have become the basis of the Big Data research in biomedical fields. This paper proposes a method using entity dictionaries and dependency parser as the feature to do the classification of short texts in EMR. It used NLP to preprocess the texts first including sentence segmentation, word segmentation, part of speech and entity extraction. Then several entity dictionaries were built according to the result of NLP. After that the TF-IDF and LSA were deployed to select the vocabulary feature. Then considering the characters of EMR, dependency parser was done to the texts and triple dependency relation features would be used as the expanding feature for text classification. The result of the experiment shows that comparing to the classification which used vocabulary features only, the proposed method can effectively improve the performance of classifier and the precision and F-value are obviously higher.
EMR, short texts, TF-IDF, LSA, dependency parser, triple dependency relation feature
TP311.13
A
10.3969/j.issn.1671-7104.2016.04.003
1671-7104(2016)04-0245-05
2016-03-08
呂愿愿,E-mail: 13210720033@fudan.edu.cn