魏尊強,舒紅平,王亞強(成都信息工程學院軟件工程學院,成都 610225)
基于序列標注的中醫(yī)癥狀名識別技術(shù)研究
魏尊強,舒紅平,王亞強
(成都信息工程學院軟件工程學院,成都 610225)
傳統(tǒng)中醫(yī)學博大精深,隨著計算機技術(shù)在醫(yī)學領(lǐng)域應(yīng)用的不斷深入,大量中醫(yī)臨床記錄得以保留,為中醫(yī)學研究學習提供了有效途徑,而癥狀名識別是中醫(yī)臨床記錄研究的重要前提。中醫(yī)癥狀名識別可以看作一般文本中命名實體識別技術(shù)在中醫(yī)學領(lǐng)域的特殊應(yīng)用。我們采用命名實體識別中序列標注技術(shù)對中醫(yī)臨床記錄進行研究,并結(jié)合中醫(yī)臨床記錄領(lǐng)域特點,進行序列標注策略改進。通過HMM算法在序列標注策略改進前后實驗結(jié)果對比,改進后HMM算法在性能評價指標上優(yōu)于未改進之前,說明根據(jù)中醫(yī)臨床記錄特點進行的序列標注策略改進是有效的。
中醫(yī)癥狀名;命名實體;識別
傳統(tǒng)中醫(yī)學博大精深,是我國歷代中醫(yī)工作者在無數(shù)臨床診斷和不斷摸索中得出的智慧結(jié)晶[1]。經(jīng)過多年積累,大量中醫(yī)臨床記錄得以保存,包含眾多名老中醫(yī)經(jīng)驗和診療方法。我們可以尋找一條發(fā)現(xiàn)中醫(yī)診斷經(jīng)驗和規(guī)律的途徑,幫助現(xiàn)代中醫(yī)工作者更好認清疾病和臨床診斷之間的關(guān)系,為患者提供更有效的治療。
近年來計算機相關(guān)技術(shù)發(fā)展迅速,人們在使用時產(chǎn)生了大量數(shù)據(jù)信息,這些信息關(guān)系到人們生活的方方面面。同時,人們對于計算機技術(shù)的使用要求逐步提高。正是在這些不斷增加的數(shù)據(jù)信息及計算機使用要求的推動下,大數(shù)據(jù)相關(guān)技術(shù)應(yīng)運而生,并取得迅猛發(fā)展。數(shù)據(jù)挖掘、機器學習等技術(shù)逐步應(yīng)用到人們?nèi)粘I钪衃2],幫助我們從浩瀚的數(shù)據(jù)信息中發(fā)現(xiàn)隱藏在數(shù)據(jù)背后的知識和規(guī)律,發(fā)現(xiàn)數(shù)據(jù)之間的關(guān)聯(lián)。
鑒于此,如何從大量中醫(yī)臨床記錄中尋找出診斷規(guī)律的研究就有了一個新的方向。我們通過對中醫(yī)臨床記錄的研究發(fā)現(xiàn),中醫(yī)癥狀名識別是中醫(yī)臨床記錄研究的重要前提,它可以看作是一般文本中命名實體識別技術(shù)在中醫(yī)學領(lǐng)域的特殊應(yīng)用。因此在本文以下內(nèi)容中,將從命名實體識別技術(shù)的角度進行中醫(yī)臨床記錄中癥狀名識別的研究。
2.1 命名實體識別技術(shù)介紹
命名實體的概念最初在MUC-6上提出。命名實體具有獨立意義,常常作為一個整體出現(xiàn)在語句中,主要包括人、地名、機構(gòu)名、專有名詞等。命名實體識別是指識別文本中具有特定含義的實體[3]。命名實體識別技術(shù)研究至今已有多年,成為自然語言處理領(lǐng)域的一項重要技術(shù),并取得眾多成果。命名實體識別技術(shù)的研究最初在英文文本中興起的,中文文本中命名實體識別研究仍處于初級階段。
2.2 命名實體識別的分類
命名實體識別技術(shù)按照原理可以分為三類方法:基于詞典的方法、基于規(guī)則的方法、基于序列標注的方法。
基于詞典的方法中主要有完全匹配和模糊匹配兩種方式。完全匹配要求當前詞與詞典中的每個字符完全一致才能匹配。例如,當前詞為“腹部疼痛”,詞典中同樣存在詞“腹部疼痛”才可以匹配。模糊匹配只需部分字符匹配即可。例如,若當前詞為“腹部疼痛”,而字典中存在詞“腹痛”才可認為兩詞是匹配的。
基于規(guī)則的識別方法是在基于詞典的方法基礎(chǔ)上發(fā)展而來,在識別時加入相關(guān)的詞法、語法、語義規(guī)則,從而獲取到更好識別效果。基于規(guī)則的方法曾在命名實體識別研究初期占有重要地位。在MUC命名實體評測時,幾乎所有參加評測的系統(tǒng)都是基于規(guī)則的。
基于序列標注的方法通過對命名實體概率值的使用,對含有相關(guān)命名實體的語料集進行訓練,當某字段的概率值大于限定閾值時,該字段被確定為命名實體?;谛蛄袠俗⒌拿麑嶓w識別方法有很多種,包括隱馬爾科夫模型(HMM)、條件隨機場(CRF)等。
3.1 一般文本的序列標注策略
由上文可知,中醫(yī)臨床記錄中癥狀名識別可看作一般文本中命名實體識別技術(shù)在中醫(yī)學領(lǐng)域的一個分支。在一般文本處理過程中,研究對象通常是字符串形式的句子。語言不同,語言最小單位(簡稱“語素”)可能不同。例如,在中文中最小單位是字;而在英文中最小單位是單詞。盡管如此,句子仍可看作由語素構(gòu)成的序列。對一般文本中命名實體的識別可看作序列標注任務(wù),即為句子中的每個語素標注具有特殊含義的符號,并且每個位置只能標注一個符號。這些特殊符號稱為“標簽”。例如,定義一組表示命名實體描述開始(Beginning、“B”)、中間(Intermediate,“I”)和其它(Outside,“O”)等指示文本中命名實體特殊位置的標簽。由此可知,一般文本中序列標注任務(wù)包括三個要素:
(1)標注序列:一般情況下序列標注以句子作為一個處理單元。
(2)標注單元:一般情況下標注單元為詞語。由于中文詞語之間沒有自然分隔符號(如“空格”),中文命名實體識別被分成兩部分任務(wù),首先對待標注序列進行中文分詞,然后在此基礎(chǔ)上以中文詞語為標注單元,完成命名實體的識別。
(3)標簽集:如前文所述,標簽集會被定義為“BIO”。
3.2 中醫(yī)臨床記錄中癥狀名標注策略
中醫(yī)臨床記錄具有鮮明的領(lǐng)域特點。在中醫(yī)癥狀名識別過程中,我們需要根據(jù)中醫(yī)臨床記錄領(lǐng)域特點進行改進:
(1)如3.1所述,一般情況下中文命名實體識別任務(wù)需要對標注序列進行分詞,在此基礎(chǔ)上完成命名實體識別。然而在中醫(yī)臨床記錄中,中醫(yī)癥狀名通常由病位、病勢和病性三部分組成,這三部分內(nèi)容通常連續(xù)出現(xiàn)。因此,我們可以將字作為中醫(yī)癥狀名識別任務(wù)的標注單元。
(2)為提高工作效率,中醫(yī)工作人員在記錄病人病情時通常不會進行重新組織和改寫,導致臨床記錄內(nèi)容喪失上下文連貫性。例如,“昨日腸鳴,失氣多,心中不適”可能會有多種內(nèi)容不連貫的描述方式,如“腸鳴昨日,心中不適,失氣多”或者“腸鳴,心中不適,失氣多(昨天)”。同時,為方便記錄,大多數(shù)中醫(yī)工作人員習慣使用逗號“,”代替其他標點,導致中醫(yī)臨床記錄句子被合并成一句話。因此,我們定義中醫(yī)臨床記錄中包含的“子句”代替原來的“句子”作為新的標注序列?!白蛉漳c鳴,心中不適,失氣多”按照新標注序列被劃分成“昨日腸鳴”,“心中不適”和“失氣多”三個“子句”序列。這樣不僅可以有效保持子句內(nèi)容的連貫性,還有效降低由中醫(yī)臨床記錄內(nèi)容組織混亂帶來噪音特征的可能性。
3.3 序列標注識別方法形式化表示
根據(jù)前文對序列標注方法描述,中醫(yī)臨床記錄中癥狀名識別方法的形式化定義可以描述成:
劃定一個包含于中醫(yī)臨床記錄中的子句X=x1,x2,…,xn,我們的目標就是構(gòu)建一個序列分類器,該分類器能夠準確賦予每一個包含于X中的中文字xi以合適的標簽yi,該標簽yi屬于事先定義的具有特殊含義的標簽集合y。相應(yīng)的,在給定X的情況下,最可靠的序列標注結(jié)果可以表示為:
其中,P(y|x)表示給定子句x后,其對應(yīng)標簽序列是y的可能性,而最終標簽序列結(jié)果應(yīng)是在所有子句x可能對應(yīng)的標簽序列中具有最大可能性(即P(y|x))的y。該類問題可以采用序列標注分類模型HMM進行解決。
3.4 HMM算法介紹
HMM由隨機狀態(tài)轉(zhuǎn)移概率和觀測產(chǎn)生過程概率構(gòu)成的序列標注模型。在中醫(yī)癥狀名識別任務(wù)中,隱藏狀態(tài)為標簽集中變量,而狀態(tài)轉(zhuǎn)移是這些標簽序列之間的轉(zhuǎn)移過程,該過程滿足馬爾科夫性質(zhì),即在給定當前的狀態(tài)和所有過去狀態(tài)的情況下,其未來狀態(tài)的條件概率分布僅依賴與當前狀態(tài)的前一狀態(tài)。觀測結(jié)果的產(chǎn)生過程概率就是當前的隱藏狀態(tài)產(chǎn)生出當前觀測量的可能性,例如,在中醫(yī)臨床記錄的子句“失氣多”中,在給定隱藏層狀態(tài)“I”的條件下,觀測到“氣”的條件概率即為觀測產(chǎn)生過程概率。HMM可以被靈活的用于解決 序列化數(shù)據(jù)分類問題。圖1所示為HMM的建模過程。
如圖1所示,中醫(yī)臨床記錄中標注序列產(chǎn)生過程以默認標簽“START”標識開始,以默認標簽“END”標識結(jié)束。由默認開始狀態(tài)標簽向表示其他位置內(nèi)容的狀態(tài)標簽“O”轉(zhuǎn)移,表示該臨床記錄首先介紹一般描述內(nèi)容,而不是以癥狀名描述作為開始。在該狀態(tài)生成觀測到文字“昨”之后,向下一狀態(tài)“O”轉(zhuǎn)移說明前述非癥狀名的描述,并由該隱藏狀態(tài)“O”生成中文字“日”與“昨”形成時間描述內(nèi)容,以交代時間背景,在這以后一段對癥狀的描述。該過程將反復進行,直至遇到表示序列結(jié)尾的默認標簽“END”為止。根據(jù)如此的文本生成過程,我們便可對原始的序列標注模型(如公式3-1所示)進行修改,以達到對觀測到的中醫(yī)臨床記錄數(shù)據(jù)進行形式化表達的目的。
4.1 實驗數(shù)據(jù)說明
本文的實驗數(shù)據(jù)來源于真實的中醫(yī)臨床記錄數(shù)據(jù)集,由中醫(yī)工作人員在日常臨床診斷中進行收集,樣例數(shù)據(jù)如圖2所示。
為能夠更好進行實驗,我們對數(shù)據(jù)進行了相關(guān)篩選整理工作,刪除錯誤或重復信息,確保實驗中由實驗數(shù)據(jù)所造成的錯誤率降至最低。
4.2 實驗結(jié)果評價指標及評價方式
為比較HMM算法在改進前后的性能,我們采用準確率P、召回率R和度量值F作為評價指標,它們的具體公式如下所示:
公式4-1用于計算準確率,是準確識別的癥狀名在所有識別出的癥狀名中占的比例。公式4-2用于召回率的計算,反映準確識別的癥狀名在中醫(yī)臨床記錄中所有癥狀名中的比例,用于衡量算法的泛化能力,能力越大,通用性越好。公式4-3用于衡量算法的整體性能。我們可以通過這三個指標來評價癥狀名識別算法的優(yōu)劣。
在HMM對比實驗中,我們將整理后的中醫(yī)臨床記錄數(shù)據(jù)集隨機分成兩部分。一部分約為原數(shù)據(jù)的70%,用于序列分類器訓練;另一部分約為原數(shù)據(jù)的30%,作為測試數(shù)據(jù)集。
4.3 HMM在癥狀名識別中實驗結(jié)果
我們在HMM算法對比實驗中借用了Mallet工具包,并對部分源代碼進行修改,對HMM算法改進前后的結(jié)果進行統(tǒng)計,如下表所示:

未改進HMM與改進HMM實驗結(jié)果
我們對比實驗結(jié)果會發(fā)現(xiàn),改進后HMM在準確率P和召回率R都有一定提升,在此基礎(chǔ)上,癥狀名識別整體性能也有提升。由此可知,我們根據(jù)中醫(yī)臨床記錄特點進行的序列標注策略改進是有效的。
中醫(yī)臨床記錄中癥狀名識別的研究仍處于初級階段。本文根據(jù)中醫(yī)臨床記錄特點做了相關(guān)改進工作。通過實驗結(jié)果對比發(fā)現(xiàn),根據(jù)中醫(yī)臨床記錄特點進行的序列標注策略改進是有效的。但是,在中醫(yī)癥狀名識別時,由于HMM算法是基于概率生成模型的算法,對于癥狀名邊界位置處理并不算好。因此,在后續(xù)的研究中,我們可能考慮使用基于概率判別模型的算法,對中醫(yī)癥狀名的邊界問題進行更有效的判定。
參考資料:
[1]周雪忠.文本挖掘在中醫(yī)藥中的若干應(yīng)用研究[D].浙江大學,2004.
[2]陳立鵬.人工智能引發(fā)的科學技術(shù)倫理問題[J].文學教育(下),2012(08).
[3]張莉萍.基于領(lǐng)域本體構(gòu)建的Web信息抽取[J]. 嘉興學院學報,2010(06).
魏尊強(1987-),男,江蘇豐縣人,碩士研究生在讀,數(shù)據(jù)庫與知識。