黃文博,燕 楊,李 博
(1.長春師范大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,長春 130032; 2.吉林大學(xué) 通信工程學(xué)院,長春 130012;3.深圳電信研究院,廣東 深圳 518048)
文本病歷是醫(yī)務(wù)人員通過文字處理軟件對患者醫(yī)療活動過程的記錄,合理并有效地利用文本病歷可為醫(yī)務(wù)人員提供較客觀的診斷依據(jù)及輔助診療信息,也可為探索疾病規(guī)律提供重要依據(jù)[1].面對“海量”的文本病歷,如何全面、 準(zhǔn)確和快速地進(jìn)行語義提取、 標(biāo)注與檢索已成為學(xué)術(shù)界的研究熱點之一.文獻(xiàn)[2]提出利用“面向標(biāo)引”的關(guān)鍵詞語義樹模型對文本進(jìn)行語義分析,利用該模型可實現(xiàn)淺層語義文本的檢索;文獻(xiàn)[3]提出將PLSA(probability latent semantic analysis,概率潛語義分析)模型用于中文信息檢索,相對于傳統(tǒng)的LSA(latent semantic analysis,潛語義分析)模型提高了檢索的平均精度;文獻(xiàn)[4]提出了LSA-tree(latent semantic analysis-tree,潛語義分析樹)模型,將其應(yīng)用于醫(yī)學(xué)文本的自動批注,提高了批注的準(zhǔn)確率.
樹模型、 PLSA模型和LSA-tree模型是目前在文本語義分析領(lǐng)域內(nèi)較主流的研究方向.通過樹模型進(jìn)行語義分析可挖掘出語義元素的關(guān)聯(lián)性,如空間分布、 語義相關(guān)及相對位置等; 通過PLSA模型進(jìn)行語義分析可從統(tǒng)計學(xué)的角度挖掘文本詞匯間存在的潛在關(guān)聯(lián)性; LSA-tree模型可較好地完成文本的自動批注.但在對醫(yī)學(xué)文本數(shù)據(jù)進(jìn)行語義分析時,以上語義建模方法存在如下不足:樹模型缺乏從隱含語義的角度對文本數(shù)據(jù)進(jìn)行分析; PLSA模型在建模過程中忽略了文本數(shù)據(jù)中語義元素的結(jié)構(gòu)、 位置和層次等淺層語義特征; LSA-tree模型僅能滿足小規(guī)模的醫(yī)學(xué)文本處理.為了解決醫(yī)學(xué)文本語義分析技術(shù)存在的問題,本文設(shè)計一種融合PLSA模型與樹模型的PLSA-tree模型,利用該模型可實現(xiàn)對文本病歷從字面語義到隱含語義的綜合提取并檢索.PLSA-tree模型建模步驟如下:
1) 利用語義窗口對文本進(jìn)行分割(分詞);
2) 利用樹模型將窗口中的詞劃分為若干子樹,確定核心詞與相關(guān)詞;
3) 計算子樹中核心詞與相關(guān)詞間的淺層語義參數(shù);
4) 利用PLSA模型計算核心詞之間的關(guān)聯(lián)性.
本文通過對150份文本病歷語義分解和檢索實驗表明,所設(shè)計的PLSA-tree模型可更準(zhǔn)確和全面地表達(dá)醫(yī)學(xué)文本數(shù)據(jù)的語義信息,降低了原LSA模型和LSA-tree模型的復(fù)雜度,解決了醫(yī)學(xué)文本語義消歧問題,提高了檢索匹配率和檢索精度.
文本病歷是由醫(yī)務(wù)人員自主編寫的敘述性文字,屬半結(jié)構(gòu)化文本,有一定的約束格式,但不完全符合自然語言的語法規(guī)則.為便于理解,本文將文本病例中命名實體和描述主體的醫(yī)學(xué)術(shù)語在語義上定義為“核心詞”,將與“核心詞”共同構(gòu)成完整語義的詞語定義為“相關(guān)詞”[5].根據(jù)核心詞與相關(guān)詞的語義關(guān)系,一段包含完整語義的文本可視為核心詞wc與相關(guān)詞wRi(i=1,2,…,N)組成的可變階Markov鏈信源[6],語義函數(shù)可定義為核心詞與相關(guān)詞之間Corr(wc,wRi)的集合,即S(wc)=(Corr(wc,wRi))i=1,2,…,N.
文本病歷中的語法結(jié)構(gòu)通常是由多個短分句構(gòu)成復(fù)句的格式,復(fù)句中的分句在語義上存在邏輯關(guān)聯(lián),但分句與復(fù)句均不能作為單獨(dú)的語義被處理,所以在建模前必須利用“語義窗口”對文本進(jìn)行分割(分詞),分割前需進(jìn)行如下假設(shè):每個短分句中只包含一個核心詞,且各短分句間的核心詞沒有語義關(guān)聯(lián).語義窗口確定的前提是核心詞的篩選,本文采用信息熵算法進(jìn)行篩選.病歷文本中第i個詞的信息熵為
其中:kit表示詞wi在文本中出現(xiàn)的次數(shù);T表示文本病歷的總數(shù).ρ(i)越大詞wi的信息熵越大,根據(jù)信息熵原理[7]:一個醫(yī)學(xué)術(shù)語在一個文本病例中出現(xiàn)次數(shù)越多且該醫(yī)學(xué)術(shù)語在多個文本病例中出現(xiàn)次數(shù)越平均,則該醫(yī)學(xué)術(shù)語的信息熵越大,其能提供的信息量也就越少,所以利用病歷文本中詞信息熵ρ(i)閾值的方法進(jìn)行核心詞篩選.
文本病歷具有高維性和異質(zhì)性的特點[8],主要表現(xiàn)為文本的復(fù)雜度(維數(shù))高,且對某一固定概念表述的非標(biāo)準(zhǔn)化,即不同醫(yī)務(wù)人員對同一醫(yī)學(xué)數(shù)據(jù)可能會使用不同術(shù)語及不同的語法進(jìn)行表述,不利于文本病歷的分析、 檢索和利用.
PLSA模型可在一定程度上解決文本病歷中的高維性和異質(zhì)性問題,PLSA模型是LSA模型的改進(jìn),PLSA模型隱含的Multi-nomial分布假設(shè)更符合文本特性,通過降低文本維度獲取文本病歷和詞之間及文本病歷之間的相似度在低維潛在語義空間中的可靠估計[9],有良好的語義消歧作用.
利用PLSA建立“文本-潛在語義-詞”概率模型,“文本-詞”同現(xiàn)的聯(lián)合概率模型如下[10]:
其中:p(di)表示從文本集中選擇第i篇文本的概率;p(zk|di)表示在確定文本di的條件下屬于潛在語義zk的概率;p(wj|zk)表示潛在語義zk在詞wj上的分布概率.
實驗表明,隨著醫(yī)學(xué)文本集合的增加,PLSA模型語義分析效率明顯下降,所以需要引入并構(gòu)建概率潛在專業(yè)詞典以提高語義分析效率[11].專業(yè)詞典用矩陣D表示:D=(D1,D2,…,DW),其中:
式中P(wx|wy)是詞wx對詞wy的概率,每個詞的概率都用PLSA模型概率計算:
其中Z為文檔中所有核心詞的集合.
針對樹模型和PLSA模型在醫(yī)學(xué)文本病歷語義分析中的缺點,本文提出融合兩種模型進(jìn)行建模,利用概率隱含語義函數(shù)表達(dá)核心詞之間的語義關(guān)聯(lián),表示為
其中: Dist表示模型中兩行或兩列的距離;n表示行或列的維數(shù);η表示修正參數(shù).
多層次的語義建模思想應(yīng)充分結(jié)合文檔的結(jié)構(gòu)信息、 構(gòu)成文檔詞的信息和詞與詞之間的語義關(guān)聯(lián)信息,所以融合PLSA的語義樹建模思想應(yīng)該為:句子由在語法層次得到的樹模型表示; 淺層的語義關(guān)聯(lián)由字面語義信息表示; 深層的語義關(guān)聯(lián)由PLSA模型表示.
該模型可將文本病例中的語法結(jié)構(gòu)、 字面語義和隱含語義有機(jī)融合,通過語義計算文本病例之間、 文本病歷與醫(yī)學(xué)專業(yè)術(shù)語及醫(yī)學(xué)專業(yè)術(shù)語之間的語義關(guān)聯(lián),從而可準(zhǔn)確、 全面地的表述文本病歷的語義特征信息.在該模型中,子樹中任意詞之間的語義相關(guān)函數(shù)Corr(wx,wy)可表示為
其中: 式(1)為兩個詞都在同一子樹的情況; 式(2)為兩個詞都是核心詞的情況; 式(3)為核心詞與相關(guān)詞不屬于同一子樹的情況; 式(4)為兩個相關(guān)詞不屬于同一子樹的情況.
實驗使用的操作系統(tǒng)環(huán)境為Windows XP,開發(fā)軟件為ActivePerl 5.14.2.1402和Matlab7.14; 輔助工具為Notepad++6.2.3.
實驗對象由80位不同的醫(yī)務(wù)人員編寫的150份文本病歷組成,病歷的文件格式為TXT文件,每次實驗隨機(jī)抽取15個文本病歷進(jìn)行語義計算.
實驗分別根據(jù)語義樹模型和PLSA-tree模型(增加專業(yè)詞典)對文本病歷進(jìn)行語義分解.詞典含詞量為通用詞詞典185 769詞,專業(yè)詞詞典625詞,停止詞詞典50詞,核心詞詞典65詞.對15個文本病歷進(jìn)行的分詞對比實驗如圖1所示.實驗結(jié)果表明,采用PLSA-tree模型的語義分解精度明顯提高.
此外,語義分解所需的時間是衡量語義模型的一個重要指標(biāo),比較PLSA-tree模型和全文PLSA模型兩種方法在分解時間上的區(qū)別,結(jié)果列于表1.由表1可見,隨著文本病歷數(shù)的不斷增加,利用PLSA模型進(jìn)行語義分解的時間迅速增加,這是因為在語義分解過程中需要分解的詞過多,直接導(dǎo)致矩陣運(yùn)算的復(fù)雜度增加.而利用本文設(shè)計的PLSA-tree模型,由于將醫(yī)學(xué)專業(yè)術(shù)語的核心詞構(gòu)成了專業(yè)詞典,降低了矩陣運(yùn)算的復(fù)雜度,所以語義分解所用時間和增長幅度都低于PLSA模型.
語義檢索實驗建立在語義分解實驗的基礎(chǔ)上,實驗分別利用PLSA模型和PLSA-tree模型對已經(jīng)形成文本病歷的語義數(shù)據(jù)庫進(jìn)行檢索.PLSA-tree模型的檢索流程如圖2所示.
圖1 分詞精度Fig.1 Accuracy of words segmentation
圖2 文本病歷語義檢索流程Fig.2 Semantic retrieval processes of text medical records
查準(zhǔn)率和查全率是衡量語義檢索的重要指標(biāo):
其中“匹配正確的病例數(shù)”和“應(yīng)該匹配到的病例數(shù)”由專業(yè)醫(yī)務(wù)人員參考檢索文字與匹配的結(jié)果給出.根據(jù)文獻(xiàn)[12]中衡量語義匹配度需要設(shè)定評估指標(biāo)F1測試值:
利用PLSA模型和PLSA-tree模型檢索匹配度結(jié)果列于表2.
表1 語義分解時間對比(s)Table 1 Time comparison of semantics segmentation by PLSA and PLSA-tree models (s)
表2 檢索匹配率對比(%)Table 2 Comparison of retrieval matching rate by PLSA and PLSA-tree models (%)
基于PLSA-tree模型檢索的匹配度分散性較高,主要原因是PLSA-tree模型檢索匹配的復(fù)雜度和難度隨著輸入檢索文本的長度、 分解子樹數(shù)量和替換隱含語義子樹時間等因素的變化而變化,但PLSA-tree模型檢索的匹配度明顯高于當(dāng)前較主流的PLSA模型的檢索匹配度.
綜上所述,基于文本病歷的語言特點,本文將語義樹模型和PLSA模型融合,解決了文本病歷語義分析過程中存在“多詞一義”的情況,降低了語義維度,簡化了窗口語義樹的結(jié)構(gòu).通過語義分解和語義檢索實驗進(jìn)一步驗證了采用PLSA-tree模型的優(yōu)越性.
[1] 劉全喜.醫(yī)療文書規(guī)范與管理 [M].鄭州:河南科學(xué)技術(shù)出版社,2003: 1-2.
[2] ZHAO Jun,JIN Qian-li,XU Bo.Semantic Computation for Text Retrieval [J].Chinese Journal of Computers,2005,28(12):2068-2078.(趙軍,金千里,徐波.面向文本檢索的語義計算 [J].計算機(jī)學(xué)報,2005,28(12):2068-2078.)
[3] LUO Jing,TU Xin-hui.Chinese Information Retrieval Based on Probabilistic Latent Semantic Analysis [J].Computer Engineering,2008,34(2):199-201.(羅景,涂新輝.基于概率潛在語義分析的中文信息檢索 [J].計算機(jī)工程,2008,34(2):199-201.)
[4] LI Bo,WEN Dun-wei,WANG Ke,et al.Automatic Annotation for Medical Texts Based on Hidden Topic and Semantic Tree [J].Journal of Jilin University: Engineering and Technology Edition,2012,42(1):234-239.(李博,文敦偉,王珂,等.基于隱含主題和語義樹的醫(yī)學(xué)文本自動批注 [J].吉林大學(xué)學(xué)報: 工學(xué)版,2012,42(1):234-239.)
[5] Nelson S,James T,Dan-Sung C,et al.Medical Subject Headings(MeSH) [EB/OL].2011-06-22.http://www.nlm.nih.gov/mesh/.
[6] Ginter F,Suominen H,Pyysalo S,et al.Combining Hidden Markov Models and Latent Semantic Analysis for Topic Segmentation and Labeling:Method and Clinical Application [J].International Journal of Medical Informatics,2009,78(12):e1-e6.
[7] WU Jun,WANG Zuo-ying.The Entropy of Chinese and the Perplexity of the Language Models [J].Acta Electronica Sinica,1996,24(10):69-71.(吳軍,王作英.漢語信息熵和語言模型的復(fù)雜度 [J].電子學(xué)報,1996,24(10):69-71.)
[8] ZHANG Hao,CUI Lei.Research Advances on Biomedical Knowledge Discovery in Text [J].Journal of Medical Informatics,2008,29(9):5-9.(張浩,崔雷.生物醫(yī)學(xué)文本知識發(fā)現(xiàn)的研究進(jìn)展 [J].醫(yī)學(xué)信息學(xué)雜志,2008,29(9):5-9.)
[9] Dumais S.Latent Semantic Indexing [C]//The 2nd Text Retrieval Conference.[S.l.]: Department of Commerce,National Institute of Standards and Technology,1994:105-116.
[10] HU Wen-jing.Research of Text Sentiment Classification Based on Semantic Comprehension and PLSA [D].Tianjin:Tianjin Normal University,2012.(胡文靜.基于語義理解與PLSA的文本情感分類研究 [D].天津:天津師范大學(xué),2012.)
[11] LI Sheng,HU He-ping.An Effective Retrieval Method Based on Probabilistic Latent Semantic Analysis [J].Journal of Huazhong University of Science and Technology: Natural Science Edition,2010,38(11):48-50.(李勝,胡和平.一種基于PLSA的高效檢索方法 [J].華中科技大學(xué)學(xué)報: 自然科學(xué)版,2010,38(11):48-50.)
[12] 崔雷.醫(yī)學(xué)數(shù)據(jù)挖掘 [M].北京:高等教育出版社,2006:168.