本發(fā)明涉及基于規(guī)則的推理。本發(fā)明更具體地涉及用于查詢數(shù)據(jù)存儲庫(例如,語義數(shù)據(jù)存儲庫)并借助于基于規(guī)則的推理來導(dǎo)出對該查詢的響應(yīng)的計算機(jī)實現(xiàn)的方法。本發(fā)明尤其適用于臨床決策支持領(lǐng)域。
背景技術(shù):
臨床決策支持是用以幫助醫(yī)生進(jìn)行決策任務(wù)、諸如為患者獲得診斷的技術(shù)。
臨床決策支持系統(tǒng)通常對患者數(shù)據(jù)的大的數(shù)據(jù)存儲庫執(zhí)行查詢。在這樣的查詢中使用臨床專業(yè)術(shù)語來表達(dá)感興趣的域。應(yīng)用基于規(guī)則的推理來對這樣的數(shù)據(jù)存儲庫執(zhí)行查詢。
借助于現(xiàn)有技術(shù)水平的基于規(guī)則的推理技術(shù)對數(shù)據(jù)存儲庫執(zhí)行查詢可能花費(fèi)大量的計算工作量,這可能是不可接受的。
例如在專門化/具體化的情況下,有可能需要使用大的規(guī)則文件,或者例如在由推理引擎使用專業(yè)術(shù)語來解決問題的情況下,有可能需要使用大的事實文件。
在推理引擎中加載此類大文件可能花費(fèi)大量的時間量,例如,snomedct(snomedct是眾所周知的系統(tǒng)性組織的計算機(jī)可處理的醫(yī)學(xué)術(shù)語集合,其提供在臨床文獻(xiàn)和報告中使用的代碼、術(shù)語、同義詞和定義)可能需要幾秒鐘。
因此,本發(fā)明的方面在于提供引起所需計算工作量減少的技術(shù)。
技術(shù)實現(xiàn)要素:
上述方面通過具有在權(quán)利要求1中闡述的具體方法步驟的查詢數(shù)據(jù)存儲庫的計算機(jī)實現(xiàn)的方法來獲得。
在從屬權(quán)利要求中闡述了本發(fā)明的優(yōu)選實施例的具體特征。
根據(jù)本發(fā)明,將推理引擎、推理規(guī)則集以及與事實(事實陳述)相關(guān)的數(shù)據(jù)集編譯到軟件鏡像中,其是所述推理引擎、規(guī)則和事實數(shù)據(jù)的二進(jìn)制、推理機(jī)特定表示。
該表示是有利的,因為二進(jìn)制鏡像表示能夠比規(guī)則的文本形式加載得更快。
可以在開發(fā)時預(yù)編譯軟件鏡像。替換地,可以在部署時、例如在第一次請求開始使用時編譯軟件鏡像。
在本發(fā)明的上下文中,術(shù)語“預(yù)編譯”是指將規(guī)則、事實數(shù)據(jù)和推理引擎從其文本表示(例如,源代碼)轉(zhuǎn)譯為字節(jié)代碼(例如,譯為prolog虛擬機(jī)指令)。
事實數(shù)據(jù)通常用n3、turtle、rdf……中的一個來表示。
規(guī)則可以按照共同未決的歐洲專利申請14157487中闡述的進(jìn)行專門化或具體化。如已在
本技術(shù):
中公開的,從通用推理規(guī)則集開始,通過在具有一個以上的變量的所述通用推理規(guī)則的至少一個中用在本體論中定義的(一個或多個)類來替換所述變量中的至少一個來生成具體推理規(guī)則集。這樣的專門化或具體化規(guī)則可以在軟件鏡像中進(jìn)行預(yù)編譯。
預(yù)編譯到軟件鏡像中的規(guī)則和數(shù)據(jù)的選擇取決于(例如,關(guān)于snomed類的)用例。
創(chuàng)建包括專用推理引擎和預(yù)定規(guī)則文件和/或事實文件的鏡像。因為鏡像包含預(yù)定義的規(guī)則和/或事實集,所以它基于嵌入的規(guī)則和/或事實而有效地變成以演繹出附加的事實為目標(biāo)的專用推理引擎。
可以在運(yùn)行時添加附加的規(guī)則和/或事實以進(jìn)一步擴(kuò)展專用推理引擎,但是不能從專用推理引擎中移除預(yù)定義的規(guī)則和/或事實。
在一個實施例中,可以將根據(jù)本發(fā)明的專用推理引擎嵌入到web資源服務(wù)的配置中。當(dāng)解析web資源的url時,服務(wù)在文件系統(tǒng)上執(zhí)行專用推理鏡像。將所提供的url(查詢)參數(shù)提供給專用推理鏡像以及附加地提供的規(guī)則和/或事實。所提供的(查詢)參數(shù)還用于指定對推理結(jié)果的語義查詢。將查詢的結(jié)果序列化并傳送到客戶端。
替換方案是命令行、javascript……。
在本發(fā)明的上下文中,設(shè)想了一種語義推理引擎,其通常被定義為能夠從宣稱的事實或公理集中推斷出邏輯結(jié)論的軟件。在語義推理引擎中,規(guī)則借助于本體論語言并且經(jīng)常借助于描述語言來指定。(源:wikipaedia)。在本發(fā)明的上下文中,該推理引擎是eye推理機(jī)。
本發(fā)明的方法通常以被適配成在計算機(jī)上運(yùn)行時執(zhí)行本發(fā)明的方法步驟的計算機(jī)程序產(chǎn)品的形式來實現(xiàn)。通常將計算機(jī)程序產(chǎn)品存儲在諸如dvd的計算機(jī)可讀載體介質(zhì)中。替換地,計算機(jī)程序產(chǎn)品采用電信號的形式并且可以通過電子通信將其傳送給用戶。
本發(fā)明是以優(yōu)化在醫(yī)療保健環(huán)境中對臨床患者信息的數(shù)據(jù)存儲庫的查詢的目的而開發(fā)的。然而,本發(fā)明的應(yīng)用領(lǐng)域并非局限于此。
本發(fā)明可以用在以基于規(guī)則的推理以及以表示除了臨床信息之外的其它類型信息的數(shù)據(jù)為基礎(chǔ)的其它應(yīng)用中。
本發(fā)明可以用于其中的應(yīng)用的示例:
可以使患者數(shù)據(jù)(例如,出自患者記錄中的數(shù)據(jù))在鏡像中可用。可以執(zhí)行需要對這些具體患者數(shù)據(jù)進(jìn)行決策支持的查詢。
人口數(shù)據(jù)可以在鏡像中可用,或者可以在運(yùn)行時添加人口數(shù)據(jù)以執(zhí)行所存儲的分析??梢詫θ丝诜治鰬?yīng)用附加的規(guī)則。
在仍另一示例中,鏡像包括專用醫(yī)院處方集(formularium),其只包括由醫(yī)院使用的關(guān)于醫(yī)療的具體數(shù)據(jù)。
在仍另一示例中,鏡像可以包括用于針對急診科中的分診(例如,針對頭痛)的具體醫(yī)學(xué)子域的預(yù)編譯的醫(yī)學(xué)知識??梢栽谶\(yùn)行時提供患者數(shù)據(jù)。
本發(fā)明也可以用于例如針對例如牙醫(yī)的警報系統(tǒng)的上下文中,其中根據(jù)本發(fā)明的預(yù)定義鏡像在運(yùn)行時與關(guān)于患者的數(shù)據(jù)相結(jié)合。