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