費(fèi)超群 張書涵 李陽陽???
(?智能信息處理重點(diǎn)實(shí)驗(yàn)室 北京100190)
(??中國科學(xué)院計(jì)算技術(shù)研究所 北京100190)
(???中國科學(xué)院大學(xué) 北京100049)
(????管理、決策與信息系統(tǒng)重點(diǎn)實(shí)驗(yàn)室 北京100190)
(?????中國科學(xué)院數(shù)學(xué)與系統(tǒng)科學(xué)研究院 北京100190)
電子病歷(electronic medical record,EMR)已被現(xiàn)代醫(yī)院廣泛使用,但是許多電子病歷并未被規(guī)范保存。大多數(shù)病歷還是以無結(jié)構(gòu)化形式被存儲在電子文檔中。這樣的病歷常存在以下問題:(1)病歷文本中由不同醫(yī)生對同一癥狀的表達(dá)存在差異;(2)病歷文本中常出現(xiàn)不規(guī)范表達(dá)和噪音等現(xiàn)象。這種病歷不便于被再次利用。而將無結(jié)構(gòu)的電子病歷轉(zhuǎn)化為結(jié)構(gòu)化的“〈檢查項(xiàng)目,檢查結(jié)果〉對”能有效解決這些問題。這個(gè)“對”的第1 項(xiàng)被稱為電子病歷的屬性,第2 項(xiàng)稱為該屬性對應(yīng)的屬性值。
屬性挖掘是屬性值對抽取任務(wù)中的重要部分,本文的工作就是要從某科室的電子病歷中抽取該科室電子病歷的屬性。
屬性與現(xiàn)有工作中的指示性短語不同[1-4],區(qū)別包括:(1)它們的目標(biāo)和任務(wù)不同。指示性短語用來表示一組特定文檔的特征,而屬性則用于表示這些文檔中所討論對象的共同特征。(2)它們在子句中的位置不同。指示性短語出現(xiàn)在子句中任何位置,而屬性常出現(xiàn)在子句開頭或結(jié)尾。(3)屬性一定是指示性短語,但是指示性短語不一定是屬性。(4)屬性在單個(gè)文本中不常見,但對于一組文本來說是很常見的。與其不同的是,指示性短語在單個(gè)文本和多個(gè)文本中都很常見。(5)它們的應(yīng)用場景不同。指示性短語抽取通常用于信息檢索、文本聚類等任務(wù)。屬性挖掘更適用于知識庫構(gòu)建、領(lǐng)域文本摘要生成等任務(wù)。
屬性挖掘問題是基于這樣的假設(shè),即所有屬性,特別是重要屬性,會經(jīng)常出現(xiàn)在一組電子病歷中。直觀上這是合理的,因?yàn)榭梢宰鳛閷傩缘脑~或短語在語料庫中出現(xiàn)的頻率是比較高的。為此,本文提出一種頻繁屬性挖掘框架。從文本中提取出頻繁詞模式并對它們進(jìn)行分組,使用候選屬性得分函數(shù),從候選頻繁詞模式集合中選擇得分最高的詞模式作為屬性。該方法避免了使用監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)來提取信息的一些缺點(diǎn)?;谥形碾娮硬v的實(shí)驗(yàn)結(jié)果表明,該方法能夠有效地處理屬性挖掘問題。
現(xiàn)有工作中已有一些從類似病歷的文本中抽取屬性或?qū)傩灾祵Φ娜蝿?wù)。文獻(xiàn)[5]從產(chǎn)品描述中抽取“〈產(chǎn)品屬性,屬性值〉對”,把該抽取任務(wù)形式化為多分類問題,并提出半監(jiān)督學(xué)習(xí)算法co-EM 來解決此問題。文獻(xiàn)[6]從關(guān)于某主題的短廣告語料庫中提取“〈鍵,值〉對”,將該任務(wù)形式化為序列標(biāo)注問題,并基于人工標(biāo)注訓(xùn)練集利用監(jiān)督學(xué)習(xí)的方法來處理這個(gè)問題。文獻(xiàn)[7]將產(chǎn)品屬性提取問題形式化為命名實(shí)體識別任務(wù),并分別借助有監(jiān)督和半監(jiān)督方法從eBay 商品標(biāo)題中提取產(chǎn)品屬性。上述工作中提出的方法都在文獻(xiàn)[8]歸納的信息抽取方法框架內(nèi)。而現(xiàn)有的有關(guān)屬性或?qū)傩灾祵Τ槿〉墓ぷ鱗9-10],也基本按照文獻(xiàn)[8]所歸納的幾種信息抽取的思路進(jìn)行,即將屬性抽取任務(wù)看成是序列標(biāo)注問題或分類問題。這些工作與本文的工作相似,但他們的研究對象和解決問題的方法與本文不同。
另一種相關(guān)工作是類屬性提取,其目標(biāo)集中在構(gòu)建類的“骨架”上。文獻(xiàn)[11]利用引導(dǎo)式的方法,基于種子屬性集同時(shí)從Web 文檔和查詢?nèi)罩局刑崛☆悓傩?。文獻(xiàn)[12]引入輕監(jiān)督的方法,用于從與特定主題相關(guān)聯(lián)的網(wǎng)絡(luò)搜索查詢中提取實(shí)體屬性。但上述工作在目標(biāo)和任務(wù)上與本文不相同。
頻繁模式挖掘的思想在其他領(lǐng)域也有很廣泛的應(yīng)用。文獻(xiàn)[13]應(yīng)用序列模式挖掘來解決廣義中心字符串挖掘問題。文獻(xiàn)[14]應(yīng)用序列模式挖掘來處理事件日志中的挖掘。從電子病歷中抽取信息的工作最近也有一些研究[15-17],但是這些工作均不涉及屬性挖掘,目前還沒有專注于基于電子病歷的屬性挖掘工作。
序列模式挖掘問題由Agrawal 和Srikant[18]在1995 年提出。他們認(rèn)為,“序列模式”是純粹的句法概念,即如果一個(gè)符號序列出現(xiàn)得足夠頻繁,則可稱其為序列模式。序列越長,模式就越有價(jià)值。本文提出的“屬性”概念不僅具有句法特征還有特有的語義規(guī)則約束。
頻繁的屬性與頻繁的序列模式有一些相似之處,但兩者之間也存在本質(zhì)區(qū)別,特別是在電子病歷上。
針對電子病歷的文本結(jié)構(gòu),本文列出基本定義如下。(1)每個(gè)文本都是由句號分隔的句子序列。(2)每個(gè)句子都是用逗號或分號分隔的子句序列。(3)每個(gè)子句都是由詞、數(shù)字和冒號(最多2 個(gè))組成的序列。(4)每個(gè)詞在語法上都是漢字字符序列,在語義上是基本意義單元。(5)如果詞u的字符序列是詞v的字符序列的子序列,則u稱為v的子詞。(6)如果u是v的(字符或詞)子序列,則v是u的(字符或詞)超序列。(7)如果u是v的(字符或詞)子序列但不等于v,則u是v的(字符或詞)真子序列。(8)屬性是詞序列,用來表示一組文本共同包含的對象的特征。(9)屬性值是用于評估屬性的數(shù)字或文本描述。(10)病歷文本是半結(jié)構(gòu)化文本,其中的一些詞用來為文本中描述的對象的屬性賦值。(11)如果文本的某些部分必須遵循某些預(yù)先指定的句法規(guī)則,則將其稱為半結(jié)構(gòu)化文本。(12)電子病歷的大多數(shù)子句中,每個(gè)子句都由一個(gè)屬性及其相關(guān)的屬性值組成。
定義1給定一組電子病歷和用戶指定的最小支持度閾值,頻繁屬性挖掘旨在根據(jù)一些啟發(fā)式規(guī)則以頻繁出現(xiàn)的詞序列作為候選屬性,并從中選出最合理的屬性。
在上述定義中,啟發(fā)式規(guī)則是對電子病歷語義的非正式描述,它既包含醫(yī)學(xué)領(lǐng)域知識,又包含醫(yī)生書寫病歷的慣例。
詞數(shù)據(jù)庫S是元組
定義2設(shè)α是病歷數(shù)據(jù)庫R中的一個(gè)詞序列。給定正整數(shù)ξ作為支持度閾值,如果supportR(α) ≥ξ,則稱α是R中的詞模式。
實(shí)驗(yàn)用的中文電子病歷由某口腔醫(yī)院提供,它們分別來自修復(fù)科、正畸科和頜面外科。
根據(jù)“〈屬性,屬性值〉對”中相關(guān)屬性值的類型,可以將屬性分為3 類,如表1 所示。
表1 屬性類型及示例
二元型屬性是指該屬性在文本中的取值只有存在或不存在2 種情況;描述型屬性是指其屬性值是一段描述性的文本;度量型屬性的屬性值由數(shù)字和度量單位組成。
在某些情況下,屬性值會插入屬性的詞序列中。例如,在子句“牙齦無紅腫”中,“牙齦紅腫”是屬性,而“無”是其屬性值。對于具有這種結(jié)構(gòu)的子句,可以通過刪除插入的屬性值并連接剩余的單詞以獲取屬性詞。這種插入型的屬性值稱為插入詞。本文所提出的算法也能夠適用這種情境。
屬性和屬性值在文本中的位置關(guān)系可以分為3類。
(1) 屬性和值是連續(xù)的,如“牙槽嵴吸收輕度,咬合無明顯異常”。
(2) 屬性和值被冒號分開,如“觸痛:無,彈響:無”。
(3) 兩層屬性,如“中線:上中線:左偏1 mm;下中線:右偏2 mm”。其中,“中線”是父屬性,“上中線”和“下中線”是子屬性,父屬性和子屬性通常由冒號隔開。
對于第2 類和第3 類有明顯句法規(guī)律的情形,僅使用一些句法規(guī)則就能抽取到屬性,不屬于本文所考慮的情形。本文的算法主要面向第1 類文本,即沒有句法規(guī)律的文本。
本節(jié)介紹面向中文電子病歷屬性挖掘的算法Attrimining。它包含詞模式挖掘、詞模式分組和詞模式組屬性選擇3 個(gè)階段。
當(dāng)前,用于頻繁子序列挖掘的主要方法有2種[19],一種是基于Apriori 的方法,例如Apriori-All[18]、廣義序列模式(GSP)[20];另一種是模式增長類的方法,例如FreeSpan[21]、PrefixSpan[22]。
由于屬性和頻繁子序列之間的差異,這些算法都無法直接應(yīng)用于屬性挖掘任務(wù)。頻繁子序列是自由符號序列,而屬性是半結(jié)構(gòu)化的詞序列。此外,前者是純粹的句法概念,而后者在語義上要求領(lǐng)域相關(guān)。有證據(jù)表明,每個(gè)屬性都必須由領(lǐng)域?qū)<易罱K確認(rèn)。
為應(yīng)對電子病歷中挖掘?qū)傩缘奶魬?zhàn),本文提出一種新算法Attrimining(見算法1),該算法能夠挖掘滿足最小支持閾值ξ的屬性。Attrimining 有3 個(gè)核心概念:前綴、投影和后綴,見定義3~5。
定義3給定詞序列W,詞序列W′被稱為W的前綴,當(dāng)且僅當(dāng)存在詞序列U(空或非空)滿足W=W′°U,其中°是詞序列連接符。
定義4給定詞序列W,詞序列W′被稱為W的后綴,當(dāng)且僅當(dāng)存在詞序列V(空或非空)滿足W=V°W′,其中°是詞序列連接符。
定義5給定詞序列W和P,W的詞子序列W′被稱為W關(guān)于P的投影,當(dāng)且僅當(dāng)P是W′的前綴;W′是W的后綴。
例如,給定詞序列w1=〈“口腔”,“衛(wèi)生”,“狀況”,“良好”〉。則〈“口腔”〉和〈“口腔”,“衛(wèi)生”〉都是w1的前綴?!础靶l(wèi)生”,“狀況”,“良好”〉和〈“狀況”,“良好”〉都是w1的后綴,同時(shí)〈“衛(wèi)生”,“狀況”,“良好”〉是w1關(guān)于前綴〈“口腔”〉的投影。
定義6設(shè)w是子句數(shù)據(jù)庫C中的詞模式。則C|w表示元組
Attrimining 的3 個(gè)步驟:挖掘詞模式(算法1 中的第2~11 行)、對詞模式進(jìn)行分組(算法1 中的第12 行)以及從每個(gè)組中選擇詞模式作為屬性(算法1 中的第13 行)。在本節(jié)中只介紹第1 階段,后2個(gè)階段將分別在第4.2 節(jié)和第4.3 節(jié)中詳細(xì)說明。
給定病歷記錄數(shù)據(jù)庫R,在R中,每條文本記錄都已通過分詞器被分割為單詞列表。首先通過子例程ObtainClauses獲取子句數(shù)據(jù)庫C。子句分隔符,即標(biāo)點(diǎn)符號逗號“,”、分號“;”、冒號“:”、頓號“、”等是劃分子句的依據(jù),可以用于提取第3.2 節(jié)中提到的第2 類或第3 類屬性,以及幫助構(gòu)建用于抽取第1 類屬性的子句數(shù)據(jù)庫C。
對于C中的每個(gè)子句c中的每個(gè)詞wi,如果wi滿足一定條件,則wi是c的前綴,表示為prefixi,而剩下的詞將作為prefixi相應(yīng)的候選后綴。然后,調(diào)用GetPostfix以獲取prefixi的真實(shí)后綴postfixi(指去掉插入詞和標(biāo)點(diǎn)后的候選后綴)。同時(shí),構(gòu)建prefixi的投影數(shù)據(jù)庫S|prefixi。最終,可以獲取所有長度為1的前綴。
下一步,檢查prefixList_1 中的每個(gè)前綴prefixj。如果supportR(prefixj) ≥ξ,即未重復(fù)的rid數(shù)目大于ξ,則表示prefixj是詞模式,將其添加到wp_all中。然后調(diào)用WPFinding(見子例程1)基于前綴prefixj及其投影數(shù)據(jù)庫S|prefixj來抽取長度大于1的詞模式。同時(shí),基于prefixj創(chuàng)建一個(gè)AETrie(將在4.2 節(jié)中進(jìn)行說明)節(jié)點(diǎn)AENode并將其添加到AETrieList,以記錄基于前綴遞歸生成詞模式的過程。
接下來,舉例演示Attrimining 如何抽取詞模式并構(gòu)建AETrie。假設(shè)有表2 中所示的病歷記錄數(shù)據(jù)庫R,令ξ=2。
表2 病歷數(shù)據(jù)庫R
通過調(diào)用ObtainClauses(R)從R中獲取子句數(shù)據(jù)庫,其中的部分展示在表3 中。以表3 中的幾個(gè)子句為例,從中挖掘詞模式的過程呈現(xiàn)在圖1 中。從表3 中,可以挖掘到的詞模式包括〈“口腔”〉,〈“口腔”,“衛(wèi)生”〉,〈“口腔”,“衛(wèi)生”,“狀況”〉,〈“口腔”,“衛(wèi)生”,“狀況”,“良好”〉,〈“衛(wèi)生”〉,〈“衛(wèi)生”,“狀況”〉,〈“衛(wèi)生”,“狀況”,“良好”〉,〈“狀況”〉,〈“狀況”,“良好”〉。
表3 病歷子句數(shù)據(jù)庫
圖1 詞模式生成過程圖解
Attrimining 的第2 個(gè)階段是詞模式分組,即根據(jù)AETire將wp_all中的詞模式進(jìn)行分組。AETire的構(gòu)造是伴隨著詞模式的生成一起進(jìn)行的。分組的目的是從組中選擇最合理的候選屬性,并排除不能作為屬性的詞模式。
AETire具有以下特性:
(1) 所有節(jié)點(diǎn)都是長度為1 且滿足ξ的詞模式。
(2) 從節(jié)點(diǎn)的任意祖先到其自身的路徑也是詞模式。
(4) 根節(jié)點(diǎn)到葉節(jié)點(diǎn)的路徑上的所有子路徑可表示的詞模式都被劃分到同一組。
假設(shè)有一個(gè)AETrie,見圖2。根節(jié)點(diǎn)是〈“口腔”〉,葉節(jié)點(diǎn)是〈“情況”〉,〈“一般”〉,〈“良好”〉。根據(jù)AETrie的性質(zhì),在路徑〈“口腔”〉→〈“一般”〉→〈“情況”〉中,可以得到以下詞模式:〈“口腔”〉,〈“一般”〉,〈“情況”〉,〈“口腔”,“一般”〉,〈“一般”,“情況”〉,〈“口腔”,“一般”,“情況”〉。這些詞模式將被劃分在相同的組。
圖2 AETrie 示例
當(dāng)一個(gè)AETrie是其他AETrie的子樹時(shí),將它們進(jìn)行合并。
Attrimining 的第3 個(gè)階段是從詞模式組中選擇最合理的詞模式作為屬性。
根據(jù)對病歷數(shù)據(jù)庫的以下觀察:(1)如果詞模式的支持度越大,它越有可能是屬性;(2)如果詞模式的長度越長,它越有可能是屬性;(3)如果詞模式越接近子句的最左邊,它越有可能是屬性。因此,影響詞模式wp作為屬性的3 個(gè)因素分別為wp的支持度support(wp)、wp的長度len(wp)、以及wp的平均最左距離(average most left distance,AMLD)AMLD(wp)。綜合這3 個(gè)因素,本文設(shè)計(jì)了得分函數(shù)AScore(wp),用于計(jì)算詞模式wp作為屬性的得分,如式(1)所示。
其中,AMLD是wp在其關(guān)聯(lián)子句中的平均最左距離(most left distance,MLD)。MLD(wp) 是指詞模式最左邊的詞與原始子句中最左邊的詞之間的距離。設(shè)最小MLD值為1,len(wp) 表示wp中詞的數(shù)量。
假設(shè)有子句c=〈“口腔”,“衛(wèi)生”,“狀況”,“良好”〉,從c中抽取的詞模式中有:〈“口腔”,“衛(wèi)生”,“狀況”〉,〈“衛(wèi)生”,“狀況””〉,〈“狀況”,“良好”〉,它們對應(yīng)的MLD分別為1、2、3。
從表3 所示的子句中,可以得到一個(gè)詞模式組,其中的部分見表4。以第2 個(gè)詞模式wp2=〈“口腔”,“衛(wèi)生”〉為例,來計(jì)算wp2的AScore得分。wp2的支持度是4,長度是2,在它原始子句中的所有MLD都是1。根據(jù)式(1),AScore(wp2)=4 ×2/((1+1 +1 +1)/4)=8。在這組中,〈“口腔”,“衛(wèi)生”,“狀況”〉的AScore得分最高。因此,“口腔衛(wèi)生狀況”就被選擇作為該組的屬性。
表4 詞模式和AScore 得分
另外,由于中文的書寫慣例,一些詞模式不應(yīng)作為候選屬性。為此,Attrimining 中也添加了一些啟發(fā)式規(guī)則,如下:
(1) 長度為1 且只包含一個(gè)字符的詞模式不能作為屬性。
(2) 長度為1 且AMLD值較高的詞模式不能作為屬性。
(3) 如果詞模式在AETrie中是根節(jié)點(diǎn),且有多個(gè)子節(jié)點(diǎn),則不能作為屬性。
Attrimining 算法的主要時(shí)間消耗在前綴生成階段。假設(shè)病歷數(shù)據(jù)庫中子句的數(shù)量為NC,每個(gè)子句的平均單詞數(shù)是則算法的時(shí)間復(fù)雜度為。在實(shí)際場景下,病歷數(shù)據(jù)庫中,每個(gè)子句所含有的詞數(shù)一般都比較少,也即
Attrimining 在運(yùn)行時(shí)的內(nèi)存消耗主要在前綴投影庫的構(gòu)建和AEtrie的構(gòu)建過程中。前綴和其投影數(shù)據(jù)庫的構(gòu)建的空間復(fù)雜度為。假設(shè)構(gòu)建的前綴數(shù)量為Nprefix,顯然,即構(gòu)建AETrie的空間復(fù)雜度小于,據(jù)此推斷算法整體的空間復(fù)雜度為
本節(jié)通過幾組實(shí)驗(yàn)來驗(yàn)證Attrimining 算法的有效性,以及影響其性能的關(guān)鍵因素。實(shí)驗(yàn)平臺為Windows 10,內(nèi)存為20 GB;處理器型號為Intel Core(TM) i7-4990,算法實(shí)現(xiàn)語言和版本為Python 2.7。
原始電子病歷存在以下問題。(1)表達(dá)不統(tǒng)一。如數(shù)字“1”存在多個(gè)形式的表達(dá):“1”、“I”和“一”等。(2)測量單位不統(tǒng)一。如單位“度”存在有“度”、“°”等表示形式。(3)中文和英文標(biāo)點(diǎn)符號混合。如括號中文形式“(”和英文形式”(”。(4)“ t”、“ ”或其他特殊符號出現(xiàn)在不合適的位置。這些問題會影響分詞和抽取性能,因此必須對語料庫進(jìn)行規(guī)范化:包括統(tǒng)一單位、統(tǒng)一表達(dá)、統(tǒng)一中英文標(biāo)點(diǎn)等。
本文使用Jieba(http:∥pypi.org/project/jieba/)分詞器在中文口腔醫(yī)學(xué)詞典的幫助下對電子病歷進(jìn)行分詞;再使用Attrimining 從病歷庫中提取屬性。實(shí)驗(yàn)對象為分別從修復(fù)科、正畸科和頜面外科中隨機(jī)抽取的各200 個(gè)病歷。在口腔醫(yī)生的幫助下,對實(shí)驗(yàn)病歷進(jìn)行標(biāo)注,得到黃金數(shù)據(jù)集,也即每個(gè)科室的“黃金”屬性。首先展示從3 個(gè)科室抽取的AScore得分排行前10 的屬性,如表5 所示。
表5 3 個(gè)科室AScore 得分前10 的屬性
本文使用精確度(P)、召回率(R)和F1 值作為基本的評估標(biāo)準(zhǔn)。并考慮以下因素:(1)抽取的候選屬性與標(biāo)準(zhǔn)屬性之間存在部分匹配。例如“形態(tài)對稱”是抽取出來的候選屬性,但其標(biāo)準(zhǔn)屬性是“髁突形態(tài)對稱”。此種情況下,該候選屬性被判定為是部分正確的。(2)存在無效屬性。當(dāng)黃金標(biāo)準(zhǔn)集中的某些屬性在實(shí)驗(yàn)數(shù)據(jù)集中出現(xiàn)的次數(shù)小于閾值ξ時(shí),Attrimining 顯然無法適用,這類屬性被視為無效屬性。為評估因素1 中“部分匹配正確”的屬性,本文設(shè)計(jì)一些“部分(Part)”評估指標(biāo),如表6 中的“完全和部分準(zhǔn)確率”所示。該指標(biāo)表示部分和完全正確的候選屬性數(shù)量與標(biāo)準(zhǔn)屬性數(shù)量的比值。為評估因素2 中的無效屬性,本文設(shè)計(jì)“高頻(Frequent-most)”指標(biāo),即只與高頻的黃金屬性(在病歷中出現(xiàn)次數(shù)大于等于閾值)進(jìn)行比較,來評估Attrimining 在高頻場景中的表現(xiàn)。如表6 中的“高頻完全準(zhǔn)確率”所示。該指標(biāo)表示完全正確的屬性數(shù)量占高頻標(biāo)準(zhǔn)屬性數(shù)量的比例。最終,本文提出12 個(gè)指標(biāo)作為本次實(shí)驗(yàn)的評估標(biāo)準(zhǔn),見表6。
表6 評估標(biāo)準(zhǔn)
表7 呈現(xiàn)3 個(gè)科室病歷的實(shí)驗(yàn)評估結(jié)果。在所有實(shí)驗(yàn)中設(shè)置支持度ξ=2。結(jié)果表明,本文算法在不同科室的實(shí)驗(yàn)數(shù)據(jù)集上都有很好的效果,尤其是在頜面外科數(shù)據(jù)集上。
表7 3 個(gè)科室評估結(jié)果
由于未在相關(guān)文獻(xiàn)中找到應(yīng)用于和本文類似的中文數(shù)據(jù)集的屬性挖掘任務(wù)的方法,為此,本文設(shè)計(jì)一種基于規(guī)則的屬性抽取方法,即使用正則表達(dá)式來抽取屬性,作為基準(zhǔn)比較方法。
在基于規(guī)則的實(shí)驗(yàn)中首先統(tǒng)計(jì)詞頻,然后結(jié)合高頻詞和語法結(jié)構(gòu)設(shè)計(jì)抽取規(guī)則。其中使用的幾條規(guī)則如下:“ <位置>?? [無|不] <癥狀>+”,“ <項(xiàng)目>:”,“ <項(xiàng)目>[約]?? mm”。
修復(fù)科和頜面外科的病歷被用于此次的比較實(shí)驗(yàn),對比結(jié)果見表8。
表8 與基準(zhǔn)的比較評估結(jié)果
在完全準(zhǔn)確率(FP)、部分和完全準(zhǔn)確率(FPP)、完全召回率(FR)、部分和完全召回率(FPR)等指標(biāo)上與基準(zhǔn)方法的比較結(jié)果顯示,Attrimining 在多數(shù)指標(biāo)上都優(yōu)于基準(zhǔn)方法。
本文使用正畸科的數(shù)據(jù)集來評估Attrimining 算法在不同大小數(shù)據(jù)集下的時(shí)間耗費(fèi),結(jié)果見圖3。當(dāng)實(shí)驗(yàn)數(shù)據(jù)較少時(shí)(<140),時(shí)間耗費(fèi)呈多項(xiàng)式的變化;而當(dāng)實(shí)驗(yàn)數(shù)據(jù)較大時(shí)(>140),時(shí)間耗費(fèi)呈接近線性的變化。從算法時(shí)間復(fù)雜度公式可以看出,當(dāng)和NC差距不大時(shí),時(shí)間耗費(fèi)應(yīng)該呈現(xiàn)多項(xiàng)式的變化;但是當(dāng)和NC差距很大時(shí),也即< 圖3 不同數(shù)據(jù)集大小下的時(shí)間耗費(fèi) 最小支持度閾值ξ顯然是影響屬性挖掘的關(guān)鍵因素之一。此外,算法的效果也會受到數(shù)據(jù)集大小的影響。本文設(shè)計(jì)2 組實(shí)驗(yàn)來驗(yàn)證其影響。在2 組實(shí)驗(yàn)中,都以頜面外科的數(shù)據(jù)作為研究對象。在第1 組實(shí)驗(yàn)中,利用200 個(gè)病歷作為實(shí)驗(yàn)數(shù)據(jù),ξ分別設(shè)置為2、3、4、5、6、7。第2 組實(shí)驗(yàn)中,設(shè)置ξ=2 來觀察不同大小數(shù)據(jù)集下算法的性能變化。2 組實(shí)驗(yàn)結(jié)果如圖4 所示。 圖4 Attrimining 在不同ξ 和不同大小數(shù)據(jù)集下的性能變化 第1 組實(shí)驗(yàn)結(jié)果表明,隨著ξ的增加,準(zhǔn)確率逐漸提高,召回率和F1 值逐漸降低。F1 值在ξ=2時(shí)取得最大值,這說明Attrimining 算法在較低的支持度下有更好的表現(xiàn)。第2 組實(shí)驗(yàn)結(jié)果顯示,準(zhǔn)確率曲線、召回率曲線和F1 值曲線都有先上升后下降的趨勢。這些曲線反映適當(dāng)增加訓(xùn)練數(shù)據(jù)可以提高算法性能。但是,當(dāng)數(shù)據(jù)規(guī)模超過一定閾值時(shí)并不會改善抽取效果。一方面,說明Attrimining 算法在少量的數(shù)據(jù)集情形下能取得良好的結(jié)果。另一方面,實(shí)驗(yàn)結(jié)果也表明,對于大規(guī)模屬性抽取任務(wù),對數(shù)據(jù)采取增量式分批抽取的策略能夠達(dá)到更好的效果。 本文形式化屬性挖掘問題,并設(shè)計(jì)一種有效的算法。同時(shí),設(shè)計(jì)了一種有效的候選屬性得分函數(shù)獲取最可信的屬性。在真實(shí)數(shù)據(jù)集下進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明了本文所提方法的合理性和有效性。未來將使用提取到的屬性來提取“〈屬性,值〉對”,構(gòu)建口腔領(lǐng)域的中文口腔知識圖譜,并將其應(yīng)用到輔助治療、自助注冊、醫(yī)囑自動錄入、臨床決策支持、人機(jī)交互咨詢等醫(yī)學(xué)應(yīng)用中。5.5 影響頻繁屬性挖掘的因素分析
6 結(jié)論