本發(fā)明涉及一種基于時(shí)間線的病歷文本醫(yī)學(xué)知識(shí)發(fā)現(xiàn)方法,特別是涉及對(duì)包含時(shí)間信息的電子病歷文本結(jié)構(gòu)化和醫(yī)療知識(shí)發(fā)現(xiàn)的方法。
背景技術(shù):
隨著醫(yī)療信息系統(tǒng)的發(fā)展,電子病歷中數(shù)據(jù)的復(fù)雜性不斷增強(qiáng)、數(shù)據(jù)量不斷增大。電子病歷包含許多有價(jià)值的信息,比如說,電子病歷的診斷過程、診斷結(jié)果以及其中尚未發(fā)現(xiàn)的醫(yī)療知識(shí)。其中,包含時(shí)間信息的敘事性病歷文本是非常重要的信息。在電子病歷中,一般會(huì)記錄患者患病的時(shí)間、癥狀和不良反應(yīng),而這些信息一般存在于以自然語(yǔ)言描述的文本中,在文本中基于時(shí)間信息的醫(yī)療知識(shí)挖掘是本方法的重點(diǎn)。
本專利提出基于時(shí)間信息的電子病歷文本結(jié)構(gòu)化和知識(shí)發(fā)現(xiàn)方法,通過基于規(guī)則匹配的語(yǔ)義分析技術(shù),自動(dòng)從電子病歷中現(xiàn)病史、家族史中提取患者的病情發(fā)展時(shí)間線,在每一個(gè)時(shí)間點(diǎn)描述發(fā)生的生理信息變化和發(fā)生的事件,并通過關(guān)聯(lián)疾病庫(kù)、藥品庫(kù)等信息,用于疾病分析和預(yù)測(cè)。該方法的提出,能解決非結(jié)構(gòu)化的電子病歷文本中患者信息難以定量分析的問題,對(duì)有效利用電子病歷的非結(jié)構(gòu)化數(shù)據(jù)具有借鑒意義。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述問題,本發(fā)明的目的是提供一種能識(shí)別電子病歷非結(jié)構(gòu)化文本中時(shí)間信息,并構(gòu)建基于時(shí)間線的患者病情發(fā)展模型,用于識(shí)別其中醫(yī)療知識(shí)的方法。
為實(shí)現(xiàn)上述目的,本發(fā)明采取以下技術(shù)方案:提供一種基于時(shí)間線的病歷文本醫(yī)學(xué)知識(shí)發(fā)現(xiàn)方法,包括以下步驟:
(1)構(gòu)建病歷文本分析庫(kù)存儲(chǔ)患者的電子病歷信息,包括現(xiàn)病史、個(gè)人史和家族史的病歷敘事性文本信息;
(2)構(gòu)建病歷時(shí)間文本規(guī)則庫(kù),其中定義能識(shí)別中文時(shí)間表達(dá)式的正則表達(dá)式;
(3)構(gòu)建醫(yī)學(xué)知識(shí)庫(kù),其中,本方法包括疾病知識(shí)庫(kù)、藥品知識(shí)庫(kù)和不良反應(yīng)庫(kù);
(4)對(duì)病歷樣本庫(kù)中的病歷文本進(jìn)行按句號(hào)、逗號(hào)進(jìn)行拆分;
(5)對(duì)步驟(4)中的產(chǎn)生的文本塊(沒有標(biāo)點(diǎn)符號(hào)的文本)使用語(yǔ)義分析工具進(jìn)行中文分詞,并對(duì)每個(gè)詞的詞性標(biāo)注,標(biāo)注成名詞、動(dòng)詞、介詞等;
(6)對(duì)步驟(5)中各個(gè)詞語(yǔ)依據(jù)步驟(2)的時(shí)間規(guī)則進(jìn)行正則表達(dá)式匹配,尋找出時(shí)間名詞,并進(jìn)行標(biāo)記;
(7)根據(jù)步驟(5)中識(shí)別的時(shí)間文本先后順序,從句子的層次重新對(duì)病歷文本進(jìn)行排序,構(gòu)建基于時(shí)間線的XML文本結(jié)構(gòu);
(8)依據(jù)步驟(3)的醫(yī)學(xué)知識(shí)庫(kù),從已經(jīng)標(biāo)注詞性的文本中進(jìn)行二次標(biāo)注,將其中的藥品、疾病知識(shí)和不良反應(yīng)進(jìn)一步在文本中標(biāo)注出來(lái);
(9)從文本塊中取連續(xù)兩個(gè)詞、三個(gè)詞或n個(gè)詞,提取中其中的生理指標(biāo)和事件信息。
所述的步驟(3)中,疾病知識(shí)庫(kù)采用基于ICD-10編碼的國(guó)際疾病分類庫(kù),結(jié)合了每種疾病對(duì)應(yīng)的詳細(xì)信息。藥品知識(shí)庫(kù)包含西藥、中成藥和中草藥三類信息。藥品不良反應(yīng)庫(kù)采用《WHO藥品不良反應(yīng)術(shù)語(yǔ)集》。
所述的步驟(5)中采用的語(yǔ)義分析工具是Stanford Natural Language Processing(Stanford NLP)語(yǔ)義分析工具包進(jìn)行實(shí)現(xiàn),先進(jìn)行中文分詞,然后利用語(yǔ)義分析工具對(duì)其中詞語(yǔ)進(jìn)行詞性標(biāo)注。
所述的步驟(6)使用的時(shí)間規(guī)則,包括計(jì)算具有年月日的絕對(duì)時(shí)間,如“2016年1月1日”,也包括識(shí)別如“幾天后”的相對(duì)模糊的時(shí)間信息。對(duì)非絕對(duì)時(shí)間,根據(jù)最近的時(shí)間點(diǎn),計(jì)算出該模糊時(shí)間的絕對(duì)時(shí)間。
所述的步驟(8)中第一次標(biāo)注的形式如(W,T),其中W表示詞語(yǔ),T表示W(wǎng)的詞性。第二次使用醫(yī)學(xué)知識(shí)庫(kù)記性標(biāo)注,采用(W,T,C)表達(dá),其中,C表示與醫(yī)學(xué)知識(shí)庫(kù)的關(guān)聯(lián)關(guān)系,表示該詞屬于哪個(gè)詞庫(kù),哪種信息(疾病、不良反應(yīng)、藥品)。
所述的步驟(9),在提取步驟(8)的內(nèi)容后,對(duì)每一個(gè)文本塊中的詞語(yǔ)序列中相鄰兩詞、相鄰三詞組合進(jìn)行文本規(guī)則挖掘,其中具體包括以下步驟:
(91)按兩個(gè)相鄰詞(鍵,值)來(lái)匹配,匹配Key-Value的鍵值對(duì)文本。
(92)按照三個(gè)詞,匹配(時(shí)間、事件、描述)來(lái)尋找患者醫(yī)學(xué)事件。
本發(fā)明由于采取以上技術(shù)方案,其具有以下優(yōu)點(diǎn):本發(fā)明根據(jù)電子病歷中包含時(shí)間信息的文本的特征,(1)提取其中的時(shí)間信息節(jié)點(diǎn),并根據(jù)時(shí)間順序構(gòu)建患者的病情發(fā)展模型,使得病情預(yù)測(cè)更容易;(2)利用現(xiàn)有的醫(yī)學(xué)知識(shí)庫(kù),依賴時(shí)間信息標(biāo)注其中的疾病、藥品和不良反應(yīng)信息,幫助醫(yī)學(xué)研究者更好地發(fā)現(xiàn)潛在的醫(yī)學(xué)知識(shí)。
附圖說明
圖1是本發(fā)明的流程圖;
圖2是步驟4病歷文本按句式拆分的流程;
圖3是步驟6匹配病歷文本中時(shí)間信息流程;
圖4是病歷文本在結(jié)構(gòu)化過程中數(shù)據(jù)模型的變化;
圖5是步驟8中最終輸出的XML結(jié)構(gòu)。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明的進(jìn)行詳細(xì)的描述。應(yīng)理解,這些實(shí)施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。此外,應(yīng)理解,在閱讀了本發(fā)明講授的內(nèi)容之后,本領(lǐng)域技術(shù)人員可以對(duì)本發(fā)明作各種改動(dòng)或修改,這些等價(jià)形式同樣落于本申請(qǐng)所附權(quán)利要求書所限定的范圍。
本發(fā)明提供一種構(gòu)建便于醫(yī)學(xué)知識(shí)發(fā)現(xiàn)的基于時(shí)間線患者病情發(fā)展模型的方法,如圖1所示,包括以下步驟:
步驟1、定義了病歷文本存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),便于從醫(yī)院中的電子病歷系統(tǒng)中導(dǎo)出對(duì)應(yīng)的數(shù)據(jù)和保存圖1流程中產(chǎn)生的處理結(jié)果。分析庫(kù)中的表結(jié)構(gòu)至少包含的字段包括:電子病歷ID、原始病歷文本、句式拆分后的病歷文本、詞性標(biāo)注后的病歷文本,醫(yī)學(xué)知識(shí)標(biāo)注后的病歷文本這五個(gè)字段;
步驟2、根據(jù)電子病歷常見的中文時(shí)間信息表述形式,手動(dòng)構(gòu)建描述時(shí)間表達(dá)式的正則表達(dá)式規(guī)則庫(kù);
步驟3、構(gòu)建醫(yī)學(xué)知識(shí)庫(kù),在這里,主要包含三種醫(yī)學(xué)知識(shí),包括疾病知識(shí)、藥品知識(shí)和不良反應(yīng)文本。其中,疾病知識(shí)是基于國(guó)際疾病分類編碼(ICD-10)構(gòu)建的疾病詞條庫(kù);藥品知識(shí)庫(kù)的藥品分為三種:西藥、中草藥和中成藥;不良反應(yīng)庫(kù)的詞條來(lái)源于《WHO藥品不良反應(yīng)術(shù)語(yǔ)集》;
步驟4、對(duì)待分析的整段病歷文本進(jìn)行按句式進(jìn)行拆分,如圖2,其中,分隔符是中文的句號(hào)和逗號(hào)。如:病歷文本“否認(rèn)肝炎、結(jié)核、瘧疾病史,高血壓史、冠心病史20年。1992年曾患甲狀腺癌根治術(shù)(中)?!?,可以拆分成兩句,第一句再拆分兩個(gè)文本塊。按照語(yǔ)法結(jié)構(gòu),一個(gè)句子包含若干用逗號(hào)分開的文本塊。
步驟5、依據(jù)已拆分的病歷文本,對(duì)其中的每一個(gè)文本塊(不包含任何句號(hào)、逗號(hào))使用語(yǔ)義分析工具,進(jìn)行該文本塊的詞性標(biāo)注。并將標(biāo)注后的詞語(yǔ)集合重新按照出現(xiàn)順序排序,拼合成文本。其結(jié)果如:“高血壓/NR,史/NN,、/PU,冠心/NN,病史/VV,20年/NT”。其中/NN等表示前面詞的詞性標(biāo)記符號(hào)。
步驟6、根據(jù)從步驟5、中標(biāo)注好的文本,依據(jù)時(shí)間表達(dá)規(guī)則庫(kù),識(shí)別其中術(shù)語(yǔ)時(shí)間信息的詞語(yǔ)。對(duì)于模糊的時(shí)間信息,依據(jù)同屬一句話或一段話的時(shí)間信息進(jìn)行修正補(bǔ)充,其過程如圖3所示;
步驟7、依據(jù)病歷文本中的時(shí)間先后,重新對(duì)文本信息進(jìn)行排序,構(gòu)建出按時(shí)間先后排序的結(jié)構(gòu)化XML文本。從原始文本到步驟7、過程中文本結(jié)構(gòu)的形式變化如圖4所示。
步驟8、在時(shí)間排序后的病歷文本模型中,依據(jù)醫(yī)學(xué)知識(shí)庫(kù),對(duì)藥品術(shù)語(yǔ)、疾病術(shù)語(yǔ)和不良反應(yīng)屬于進(jìn)行二次標(biāo)注,也保留其詞性;
步驟9、對(duì)文本塊中詞語(yǔ)進(jìn)行兩連續(xù)詞、三連續(xù)詞的獲取,并依據(jù)規(guī)則分析,區(qū)分出其中的患者生理檢驗(yàn)指標(biāo)和特殊醫(yī)療事件,生理檢驗(yàn)指標(biāo)的文本如“WBC2.13×109/L、Hb102g/L、PLT177×10^9/L/L”。最終拆分的XML形式如圖5所示。
步驟10、在上述步驟的構(gòu)建的基于時(shí)間線的患者病情發(fā)展模型中,進(jìn)行醫(yī)學(xué)知識(shí)發(fā)現(xiàn)和分析。