用于術(shù)語推理的專用化機(jī)制的制作方法
【專利摘要】一種用于生成針對(duì)基于規(guī)則的推理的規(guī)則的方法,包括如下步驟:從一般推理規(guī)則的集合開始,通過在所述一般推理規(guī)則的具有多于一個(gè)變量的至少一個(gè)規(guī)則中用在本體中定義的(一個(gè)或多個(gè))類代替所述變量中的至少一個(gè)來生成特定推理規(guī)則的集合。
【專利說明】
用于術(shù)語推理的專用化機(jī)制
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及一種基于規(guī)則的推理方法。
【背景技術(shù)】
[0002] 臨床決策支持是用來幫助醫(yī)生進(jìn)行決策做出任務(wù)(諸如獲得對(duì)患者的診斷)的技 術(shù)。
[0003] 臨床決策支持系統(tǒng)通常對(duì)患者數(shù)據(jù)的大型數(shù)據(jù)存儲(chǔ)庫執(zhí)行查詢。臨床術(shù)語在這樣 的查詢中用于表達(dá)感興趣的域。成功檢索到所期望的結(jié)果很大程度上依賴于理解所使用的 術(shù)語以及它的層級(jí)。
[0004] 因此在執(zhí)行這樣的查詢時(shí)需要術(shù)語推理。通過基于現(xiàn)有技術(shù)規(guī)則的推理技術(shù)對(duì)數(shù) 據(jù)存儲(chǔ)庫執(zhí)行查詢可能花費(fèi)大量的計(jì)算努力,這可能是不可接受的。
[0005] 因此,本發(fā)明的一個(gè)方面提供一種技術(shù),該技術(shù)通過變換用于查詢的規(guī)則集而導(dǎo) 致解決這種查詢所需的計(jì)算努力減少。
[0006] 本發(fā)明以如下目的被開發(fā):優(yōu)化在健康護(hù)理環(huán)境中對(duì)臨床患者信息的數(shù)據(jù)存儲(chǔ)庫 的查詢。但是,本發(fā)明的應(yīng)用領(lǐng)域不限于此。
【發(fā)明內(nèi)容】
[0007] 上述方面通過如權(quán)利要求1中闡述的方法來實(shí)現(xiàn)。
[0008] 本發(fā)明的優(yōu)選實(shí)施例的特定特征在從屬權(quán)利要求中闡述。
[0009] 根據(jù)本發(fā)明,在基于規(guī)則的推理中所使用的規(guī)則是所謂"專用化的'。在這個(gè)情境 中'規(guī)則的專用化'如下所述那樣被定義。
[0010] 考慮一般規(guī)則
并考慮包含語句P(a)的本體(ontology)。
[0011] 該規(guī)則可以針對(duì)X的每個(gè)值"a"被專用化,如下:
規(guī)則、齡在本發(fā)明的情境中被定義為專用化規(guī)則,其中X的值 被"物化(materialized)"。
[0012] 作為上述專用化的結(jié)果,語句P(a)和規(guī)則V鳥夕:Λ祖約於 能夠從知識(shí)庫被消除。
[0013] 本發(fā)明適用于包括至少兩個(gè)變量的規(guī)則。
[0014] 重要的是,"ΡΟ部分"中變量的數(shù)目比規(guī)則中變量總數(shù)低1。這樣,在ΡΟ部分中的 變量被來自本體的常數(shù)項(xiàng)取代后,一個(gè)變量保持未結(jié)合。
[0015] 而且,Ρ中所有變量不必須都在Q()或C(沖出現(xiàn)。
[0016] rdfs:subClassOf規(guī)則(在下面描述的實(shí)施例中使用)是包含3個(gè)變量的規(guī)則的示 例。
[0017] 根據(jù)本發(fā)明的專用化不同于在下面定義其操作的物化(該物化不是本發(fā)明的目 的)。
[0018] 考慮規(guī)則 Vx: ; ci:^} 并考慮包含語句Ρ (a)的本體。
[0019] 可以使用肯定前件假言推理(Modus Ponens)來物化本體:
語句C(a)被添加到本體。
[0020] 該規(guī)則Vx : Ρ(χ)與c(x)可從本體消除。
[0021] 本發(fā)明的規(guī)則專用化方法的優(yōu)勢(shì)在于術(shù)語推理的計(jì)算速度可以使用專用化規(guī)則 來提高,該專用化規(guī)則通過對(duì)上面闡述的一般規(guī)則應(yīng)用推理來獲得。
[0022] 專用化規(guī)則的集合可以在查詢數(shù)據(jù)存儲(chǔ)庫之前被計(jì)算,并且只需要在本體將要改 變的情況下被適配。
[0023] 專用化規(guī)則的集合可被編譯成圖像,該圖像是規(guī)則集合的二進(jìn)制、推理機(jī)特定表 示。這種表示是有利的,因?yàn)橄啾扔谖谋拘问降囊?guī)則,推理機(jī)可以更快地加載該二進(jìn)制表 不。
[0024] 本發(fā)明的方法通常以計(jì)算機(jī)程序產(chǎn)品的形式被實(shí)現(xiàn),該計(jì)算機(jī)程序產(chǎn)品被適配為 當(dāng)在計(jì)算機(jī)上運(yùn)行時(shí)執(zhí)行本發(fā)明的方法步驟。該計(jì)算機(jī)程序產(chǎn)品通常存儲(chǔ)在計(jì)算機(jī)可讀載 體介質(zhì)(諸如DVD)中??商娲?,該計(jì)算機(jī)程序產(chǎn)品采用電信號(hào)的形式,并且可以通過電子 通信被傳送給用戶。
[0025] 本發(fā)明的進(jìn)一步的優(yōu)點(diǎn)和實(shí)施例根據(jù)以下描述和附圖將變得顯而易見。
【附圖說明】
[0026] 圖1是描述骨折的本體的示意性表示。
【具體實(shí)施方式】
[0027] 盡管本發(fā)明將在下文中結(jié)合其優(yōu)選實(shí)施例來描述,但將被理解的是,不意圖把本 發(fā)明限制到這些實(shí)施例。
[0028] 本發(fā)明將關(guān)于在查詢臨床數(shù)據(jù)的存儲(chǔ)庫的領(lǐng)域中的應(yīng)用來進(jìn)行解釋,但是并不限 于這種應(yīng)用。本發(fā)明可以用于基于基于規(guī)則的推理以及基于表示除臨床信息之外的其他類 型信息的數(shù)據(jù)的其他應(yīng)用中。
[0029] 考慮描述骨折的本體。圖1中所示的示例從SN0MED-CT取得,SN0MED-CT是醫(yī)學(xué)臨床 術(shù)語的系統(tǒng)化命名,并具有類層級(jí)。
[0030] 圖1中示意描繪的本體被描述如下: set:FractureOfFemur rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfFibula rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfTibia rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfLowerLimb rdfs:subClassOf set:FractureOfBone. set:FractureOfUpperLimb rdfs:subClassOf set:FractureOfBone. set:FractureOfBone rdfs:subClassOf set:BoneInjury. 考慮下面的實(shí)例數(shù)據(jù): 髖部骨折(即"ss骨"或大腿骨的骨折)的患者。 :patient :hasCondition :condition. :condition a set:FractureOfFemur. 當(dāng)我們針對(duì)"骨損傷"的患者進(jìn)行查詢時(shí),應(yīng)返回股骨骨折的患者。
[0031] 在下面的解釋中比較了四種可能的情況。
[0032]第三種情況是根據(jù)本發(fā)明的情況,情況1、2和4出于比較的原因被描述。
[0033]情況1:沒有物化/專用化(比較實(shí)施例) 在這種情況下,對(duì)規(guī)則集合沒有執(zhí)行物化,也沒有執(zhí)行專用化。
[0034]規(guī)則包含對(duì)屬性(例如,"?P")和類("?0進(jìn)行量化的變量。
[0035]在查詢時(shí)間,推理機(jī)讀取規(guī)則、本體和實(shí)例數(shù)據(jù)并產(chǎn)生結(jié)果。該推理機(jī)必須計(jì)算包 含傳遞屬性的閉包的語句集合(可能是巨大的集合)。在這種情況下,每當(dāng)需要應(yīng)答新的查 詢時(shí)進(jìn)行該計(jì)算。 規(guī)則 { ?C rdfs:subClassOf ?D. ?x a ?C } => { ?x a ?D }. { ?p a owl:TransitiveProperty. ?x ?p ?y. ?y ?p ?z } => { ?x ?p ?z }. 本體 rdfs:subClassOf a owl:TransitiveProperty. set:FractureOfFemur rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfFibula rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfTibia rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfLowerLimb rdfs:subClassOf set:FractureOfBone. set:FractureOfUpperLimb rdfs:subClassOf set:FractureOfBone. set:FractureOfBone rdfs:subClassOf set:BoneInjury. 結(jié)果 set:FractureOfFemur rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfFemur rdfs:subClassOf set:FractureOfBone. set:FractureOfFemur rdfs:subClassOf set:BoneInjury, set:FractureOfFibula rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfFibula rdfs:subClassOf set:FractureOfBone. set:FractureOfFibula rdfs:subClassOf set:BoneInjury. set:FractureOfTibia rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfTibia rdfs:subClassOf set:FractureOfBone. set:FractureOfTibia rdfs:subClassOf set:BoneInjury. set:FractureOfLowerLimb rdfs:subClassOf set:FractureOfBone. set:FractureOfLowerLimb rdfs:subClassOf set:BoneInjury. set:FractureOfUpperLimb rdfs:subClassOf set:FractureOfBone. set:FractureOfUpperLimb rdfs:subClassOf set:BoneInjury. set:FractureOfBone rdfs:subClassOf set:BoneInjury. :patient :hasCondition :condition. :condition a set:FractureOfFemur. :condition a set:FractureOfLowerLimb. :condition a set:FractureOfBone. :condition a set:Bonelnjury〇
[0036] 情況2:屬性專用化(比較實(shí)施例) 在這種情況下,如果在得到的專用化規(guī)則中變量不再對(duì)屬性進(jìn)行量化,則使用所解釋 的專用化過程來消除規(guī)則。這在開發(fā)/部署時(shí)間(手動(dòng))進(jìn)行。
[0037] 在查詢時(shí)間,推理機(jī)讀取該規(guī)則、本體和實(shí)例數(shù)據(jù)并產(chǎn)生結(jié)果。
[0038] 這是現(xiàn)有技術(shù)。
[0039]在該現(xiàn)有技術(shù)方法中,規(guī)則的數(shù)目小,但是,如果本體和規(guī)則利用傳遞屬性,則推 理機(jī)必須計(jì)算包含傳遞屬性的閉包的語句集合(可能是巨大的集合)。
[0040] 每當(dāng)新的查詢需要應(yīng)答時(shí)進(jìn)行該計(jì)算。 規(guī)則 { ?C rdfs:subClassOf ?D. ?x a ?C } => { ?x a ?D }. { ?x rdfs:subClassOf ?y. ?y rdfs:subClassOf ?z }=>{ ?x rdfs:subClassOf ?z }. 本體 set:FractureOfFemur rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfFibula rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfTibia rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfLowerLimb rdfs:subClassOf set:FractureOfBone. set:FractureOfUpperLimb rdfs:subClassOf set:FractureOfBone. set:FractureOfBone rdfs:subClassOf set:Bonelnjury. 結(jié)果 set:FractureOfFemur rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfFemur rdfs:subClassOf set:FractureOfBone. set:FractureOfFemur rdfs:subClassOf set:Bonelnjury. set:FractureOfFibula rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfFibula rdfs:subClassOf set:FractureOfBone. set:FractureOfFibula rdfs:subClassOf set:BoneInjury. set:FractureOfTibia rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfTibia rdfs:subClassOf set:FractureOfBone. set:FractureOfTibia rdfs:subClassOf set:BoneInjury. set:FractureOfLowerLimb rdfs:subClassOf set:FractureOfBone. set:FractureOfLowerLimb rdfs:subClassOf set:BoneInjury. set:FractureOfUpperLimb rdfs:subClassOf set:FractureOfBone. set:FractureOfUpperLimb rdfs:subClassOf set:BoneInjury. set:FractureOfBone rdfs:subClassOf set:BoneInjury. :patient :hasCondition :condition. :condition a set:FractureOfFemur. :condition a set:FractureOfLowerLimb. :condition a set:FractureOfBone. :condition a set:BoneInjury. 其中通過在查詢時(shí)間把規(guī)則應(yīng)用于知識(shí)集合和數(shù)據(jù)集合來在查詢時(shí)間計(jì)算傳遞閉包 的該現(xiàn)有技術(shù)方法可能會(huì)導(dǎo)致不可接受的長(zhǎng)查詢時(shí)間。
[0041 ]情況3:根據(jù)本發(fā)明的類專用化 在這種情況下,如果在得到的專用化規(guī)則中變量不再對(duì)類進(jìn)行量化,則使用上面解釋 的專用化過程來消除規(guī)則。
[0042] 這通過在開發(fā)/部署時(shí)間必須僅進(jìn)行一次(或當(dāng)本體改變時(shí)進(jìn)行,這是不頻繁的) 的額外推理步驟來進(jìn)行。
[0043] 示例 我們可以專用化規(guī)則 { ?C rdfs:subClassOf ?D. ?x a ?C } => { ?x a ?D }. 利用語句 set:FractureOfFemur rdfs:subClassOf set:FractureOfLowerLimb. 在這種情況下,P是〃rdf s : subClassOf 〃,Q和C是"a",它是"rdf: type"的短標(biāo)記,因此, 我們得到(變量x、y、z被重命名為C、D、x)
將C與FractureOf Femur統(tǒng)一并且將D與FractureOf LowerLimb統(tǒng)一,推理機(jī)得出專用化 規(guī)則
[0044] 針對(duì)本體中的所有"rdf s: subClassOf"語句這樣做將生成下面的所有規(guī)則。
[0045]該規(guī)則集合是大的,但該集合的大小與本體中語句數(shù)目是線性的。
[0046] 在查詢時(shí)間,推理機(jī)讀取規(guī)則、實(shí)例數(shù)據(jù),并產(chǎn)生結(jié)果。本發(fā)明的這種方法的優(yōu)點(diǎn) 是:并不需要計(jì)算傳遞閉包,從而給出巨大的性能改善。 規(guī)則 { ?x a set:FractureOfFemur } => { ?x a set:FractureOfLowerLimb }. { ?x a set:FractureOfFibula } => { ?x a set:FractureOfLowerLimb }. { ?x a set:FractureOfTibia } => { ?x a set:FractureOfLowerLimb }. { ?x a set:FractureOfLowerLimb } => { ?x a set:FractureOfBone }. { ?x a set:FractureOfUpperLimb } => { ?x a set:FractureOfBone }. { ?x a set:FractureOfBone } => { ?x a set:Bonelnjury }. 結(jié)果 :patient :hasCondition :condition. :condition a set:FractureOfFemur. :condition a set:FractureOfLowerLimb. :condition a set:FractureOfBone. :condition a set:Bonelnjury〇
[0047] 上面所描述的本發(fā)明的方法對(duì)知識(shí)集合應(yīng)用規(guī)則專用化,從而產(chǎn)生專用化規(guī)則集 合,該專用化規(guī)則集合可以在查詢時(shí)間之前生成并且在查詢時(shí)間被使用。該專用化方法避 免計(jì)算傳遞閉包,并且在計(jì)算上花費(fèi)較少。生成的規(guī)則集合是可重復(fù)使用的并且規(guī)則集合 的大小是合理的。
[0048]情況4:傳遞閉包物化 在下面僅出于比較的目的被解釋的該現(xiàn)有技術(shù)情況中,使用上面解釋的物化過程擴(kuò)大 本體。這通過在開發(fā)/部署時(shí)間必須僅進(jìn)行一次(或當(dāng)本體改變時(shí)進(jìn)行,這是不頻繁的)的額 外推理步驟來進(jìn)行。本體中語句的集合可能會(huì)變大,并且包含傳遞屬性的閉包。
[0049] 使用傳遞屬性,語句數(shù)目是本體中原始語句數(shù)目的平方。
[0050] 例如,在被描述為具有435000個(gè)rdfs:subClass0f關(guān)系的層級(jí)中,SN0MED-CT醫(yī) 學(xué)術(shù)語包含大約311000個(gè)概念。傳遞閉包由大約5285000個(gè)rdfs:subClass0f關(guān)系構(gòu)成。
[0051] 大小可能變得太大使得推理機(jī)無法計(jì)算物化的本體(存儲(chǔ)器和/或計(jì)算時(shí)間限 制),在查詢時(shí)間,推理機(jī)讀取規(guī)則、本體和實(shí)例數(shù)據(jù)并產(chǎn)生結(jié)果。并不需要計(jì)算傳遞閉包, 從而給出巨大的性能改善。然而,讀取大本體所花費(fèi)的時(shí)間抵消了這個(gè)優(yōu)點(diǎn)。 規(guī)則 { ?C rdfs:subClassOf ?D. ?x a ?C } => { ?x a ?D }. 本體論 set:FractureOfFemur rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfFemur rdfs:subClassOf set:FractureOfBone. set:FractureOfFemur rdfs:subClassOf set:Bonelnjury. set:FractureOfFibula rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfFibula rdfs:subClassOf set:FractureOfBone. set:FractureOfFibula rdfs:subClassOf set:Bonelnjury. set:FractureOfTibia rdfs:subClassOf set:FractureOfLowerLimb. set:FractureOfTibia rdfs:subClassOf set:FractureOfBone. set:FractureOfTibia rdfs:subClassOf set:BoneInjury, set:FractureOfLowerLimb rdfs:subClassOf set:FractureOfBone. set:FractureOfLowerLimb rdfs:subClassOf set:BoneInjury, set:FractureOfUpperLimb rdfs:subClassOf set:FractureOfBone. set:FractureOfUpperLimb rdfs:subClassOf set:BoneInjury, set:FractureOfBone rdfs:subClassOf set:BoneInjury. 結(jié)果 :patient :hasCondition :condition. :condition a set:FractureOfFemur. :condition a set:FractureOfLowerLimb. :condition a set:FractureOfBone. :condition a set:Bonelnjury〇
[0052]因此,該比較方法對(duì)規(guī)則集合應(yīng)用物化。傳遞閉包被計(jì)算。擴(kuò)展知識(shí)通過添加這些 傳遞閉包而被生成。擴(kuò)展知識(shí)集合在查詢時(shí)間被使用。附加解釋規(guī)則可能會(huì)在查詢時(shí)間被 需要。擴(kuò)展知識(shí)是可重復(fù)使用的,但它的大小由于關(guān)于傳遞閉包創(chuàng)建的明確語句而較大。
【主權(quán)項(xiàng)】
1. 一種應(yīng)答對(duì)數(shù)據(jù)存儲(chǔ)庫的查詢的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括: -從一般推理規(guī)則的集合開始,通過在所述一般推理規(guī)則的具有多于一個(gè)變量的至少 一個(gè)規(guī)則中用在本體中定義的(一個(gè)或多個(gè))類代替所述變量中的至少一個(gè),來生成針對(duì)基 于規(guī)則的推理的特定推理規(guī)則的集合; -把所述特定推理規(guī)則應(yīng)用到所述數(shù)據(jù)存儲(chǔ)庫以應(yīng)答所述查詢。2. 根據(jù)權(quán)利要求1所述的方法,其中生成的特定規(guī)則被編譯成圖像并且被存儲(chǔ),并且其 中在查詢時(shí)間推理機(jī)讀取所述生成的特定規(guī)則并且把它們應(yīng)用到實(shí)例數(shù)據(jù)以應(yīng)答查詢。3. 根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)存儲(chǔ)庫是臨床患者信息的存儲(chǔ)庫。4. 一種計(jì)算機(jī)程序產(chǎn)品,被適配為當(dāng)在計(jì)算機(jī)上運(yùn)行時(shí)執(zhí)行前面權(quán)利要求中任一項(xiàng)所 述的方法。
【文檔編號(hào)】G06N5/00GK106030623SQ201580011561
【公開日】2016年10月12日
【申請(qǐng)日】2015年3月2日
【發(fā)明人】J.德魯, G.梅斯, 孫宏, D.科拉爾特
【申請(qǐng)人】愛克發(fā)醫(yī)療保健公司