摘要:當前多數(shù)在線醫(yī)療咨詢系統(tǒng)存在智能問診系統(tǒng)精準度不足的問題,難以有效識別用戶訴求并提供針對性服務。為此,該研究聚焦醫(yī)療健康領(lǐng)域,開發(fā)了基于知識圖譜的智能醫(yī)療問診系統(tǒng)。該系統(tǒng)通過構(gòu)建專業(yè)醫(yī)療知識圖譜作為核心知識庫,運用自然語言處理技術(shù)對用戶查詢進行語義解析和意圖識別,結(jié)合圖譜關(guān)系網(wǎng)絡實現(xiàn)精準信息檢索,最終通過交互界面實時呈現(xiàn)結(jié)構(gòu)化應答。測試表明,該系統(tǒng)在語義理解準確率、響應時效性和知識覆蓋度等關(guān)鍵指標上取得良好效果,能有效滿足公眾獲取專業(yè)醫(yī)療信息的需求。
關(guān)鍵詞:知識圖譜;自然語言處理;智能問診;醫(yī)療健康;信息檢索
中圖分類號:TP18" " " 文獻標識碼:A
文章編號:1009-3044(2025)16-0039-03
開放科學(資源服務) 標識碼(OSID) :
0 引言
隨著互聯(lián)網(wǎng)成為公眾獲取醫(yī)療健康信息的核心渠道,傳統(tǒng)在線問診系統(tǒng)基于關(guān)鍵詞匹配的局限性日益顯著。這類系統(tǒng)經(jīng)常返回海量冗余信息,導致用戶須耗時篩選無關(guān)內(nèi)容,例如搜索“頭疼”,可能返回大量無關(guān)藥品廣告,難以滿足精準獲取醫(yī)療知識的需求[1]。研究表明,僅38%的用戶能在首次搜索中獲取有效信息,凸顯智能化升級的緊迫性。在此背景下,知識圖譜技術(shù)憑借結(jié)構(gòu)化知識表示和語義推理能力,成為醫(yī)療智能化的關(guān)鍵技術(shù)路徑[2]。當前研究已形成多維度突破:UMLS通過整合127個醫(yī)學術(shù)語系統(tǒng),構(gòu)建了全球最大的醫(yī)學語義網(wǎng)絡[3];陳名團隊基于10年生物醫(yī)藥文獻構(gòu)建的知識圖譜,實現(xiàn)了研究熱點的動態(tài)可視化追蹤[4];田玲提出的知識超圖架構(gòu),則通過三維關(guān)系建模突破了傳統(tǒng)圖譜的二元限制,相較于傳統(tǒng)的基于二元關(guān)系的知識圖譜推理模型,在疾病并發(fā)癥推理中準確率有了明顯提升[5]。此外,基于深度學習的實體識別和圖神經(jīng)網(wǎng)絡驅(qū)動的語義檢索技術(shù)[6-8],為系統(tǒng)實現(xiàn)奠定了技術(shù)基礎(chǔ)。
本研究基于現(xiàn)有的技術(shù)研究進展,構(gòu)建了覆蓋疾病、癥狀、藥品等核心概念的醫(yī)療知識圖譜,并開發(fā)了智能問診系統(tǒng)。系統(tǒng)通過Neo4j圖數(shù)據(jù)庫存儲實體節(jié)點與關(guān)系邊,支持各項復雜查詢。將用戶鍵入的問題或關(guān)鍵詞進行系列處理,最大限度理解用戶的真實意圖,并充分運用圖譜中已存儲的相關(guān)醫(yī)療知識,向用戶反饋相應結(jié)果。
1 系統(tǒng)架構(gòu)設(shè)計
智能問診系統(tǒng)采用模塊化設(shè)計,劃分為數(shù)據(jù)處理、問句處理、前端交互三大模塊。如圖1所示。數(shù)據(jù)處理模塊作為系統(tǒng)基礎(chǔ),通過數(shù)據(jù)清洗、實體識別、關(guān)系抽取等技術(shù)對原始醫(yī)療數(shù)據(jù)進行處理,實現(xiàn)知識的存儲。問診處理模塊解析用戶的輸入,生成相應的Cypher語句以執(zhí)行知識檢索。前端交互模塊為用戶提供可視化界面,包括查詢輸入框和結(jié)果展示區(qū),實現(xiàn)人機交互功能。三個模塊協(xié)同工作,共同完成從數(shù)據(jù)采集、知識處理到結(jié)果展示的完整流程。
2 醫(yī)療知識圖譜構(gòu)建
2.1 構(gòu)建流程
部署完Neo4j數(shù)據(jù)庫的環(huán)境后,對CCKS測評數(shù)據(jù)集及網(wǎng)絡采集的醫(yī)療數(shù)據(jù)進行預處理,包括文本分詞、數(shù)據(jù)脫敏等操作。隨后,系統(tǒng)從預處理后的語料中提取各類醫(yī)療實體,并充分挖掘?qū)嶓w之間的關(guān)聯(lián)關(guān)系。最終,通過批量導入的方式將結(jié)構(gòu)化醫(yī)療知識存儲至Neo4j數(shù)據(jù)庫,并實現(xiàn)可視化展示,從而完成醫(yī)療知識圖譜的構(gòu)建。知識圖譜完整構(gòu)建流程如圖2所示。
醫(yī)療知識在Neo4j數(shù)據(jù)庫中以三元組結(jié)構(gòu)lt;實體—關(guān)系—實體gt;進行存儲,其中實體映射為數(shù)據(jù)庫中的節(jié)點,實體間的關(guān)聯(lián)則通過節(jié)點間的連線表示。醫(yī)療知識元素與Neo4j數(shù)據(jù)庫結(jié)構(gòu)的對應關(guān)系詳見表1。
按照表中Neo4j元素與醫(yī)療知識相對應的規(guī)則,將每條醫(yī)療知識按表示為節(jié)點和邊的方式進行存儲。
在知識圖譜構(gòu)建過程中,醫(yī)療知識經(jīng)三元組轉(zhuǎn)化后需導入Neo4j數(shù)據(jù)庫進行存儲。針對不同數(shù)據(jù)規(guī)模,可采用差異化的導入策略:對于小規(guī)模數(shù)據(jù),通常使用Cypher語言通過可視化界面手動創(chuàng)建節(jié)點和關(guān)系,該方法適用于實體數(shù)量有限、結(jié)構(gòu)簡單的場景;面對大規(guī)模數(shù)據(jù)處理時,則主要采用兩種高效方式,其一是利用“Neo4j-import”工具進行批量導入,具有高效、低耗的特點,但缺乏數(shù)據(jù)追加能力;其二是將數(shù)據(jù)預處理為JSON格式后,通過“LOAD JSON”指令實現(xiàn)批量加載,支持大規(guī)模數(shù)據(jù)的快速導入。醫(yī)療數(shù)據(jù)規(guī)模龐大、關(guān)系復雜,且為滿足后續(xù)數(shù)據(jù)動態(tài)維護的需求,系統(tǒng)最終選擇JSON格式的批量導入方案。
2.2 存儲過程
基于上述醫(yī)療知識元素與Neo4j數(shù)據(jù)庫結(jié)構(gòu)的對應關(guān)系,醫(yī)療知識的存儲過程可分為兩個核心環(huán)節(jié):首先創(chuàng)建醫(yī)療實體節(jié)點,隨后在相關(guān)節(jié)點間建立關(guān)系邊,從而實現(xiàn)醫(yī)療知識的網(wǎng)絡化存儲。
2.2.1 創(chuàng)建醫(yī)療實體節(jié)點
以“診療科室”醫(yī)療實體為例,運行節(jié)點創(chuàng)建語句后建立的部分實體節(jié)點如圖3所示。
2.2.2 創(chuàng)建關(guān)系實體邊
在知識圖譜中,相關(guān)醫(yī)療實體通過關(guān)系邊實現(xiàn)關(guān)聯(lián)。以“苯中毒”這一疾病實體為例,它與藥物實體“大月晶丸”建立“recommend_drug”類型的關(guān)系邊,表示推薦用藥;與癥狀實體“抽搐”建立“has_symptom”類型的關(guān)系邊,表征疾病癥狀;同時與檢查實體“血常規(guī)”建立“need_check”類型的關(guān)系邊,反映所需檢查項目。這四類醫(yī)療實體及其關(guān)聯(lián)關(guān)系如圖4所示,共同構(gòu)成了完整的知識網(wǎng)絡。
2.3 醫(yī)療知識圖譜可視化
當醫(yī)療數(shù)據(jù)存儲流程結(jié)束后,在Neo4j的可視化界面可以查看創(chuàng)建的醫(yī)療知識圖譜,圖5為本文構(gòu)建的醫(yī)療知識圖譜部分展示。
如圖5所示,所構(gòu)建的醫(yī)療知識圖譜呈現(xiàn)出高度密集的關(guān)聯(lián)網(wǎng)絡。圖譜采用多色節(jié)點區(qū)分各類醫(yī)療實體,實體間的關(guān)聯(lián)通過帶箭頭的實線連接,方向從起始實體指向目標實體。對于具有多重關(guān)聯(lián)的實體節(jié)點,系統(tǒng)會生成多條關(guān)系邊并標注相應關(guān)系類型?;谠撝R圖譜,可利用Cypher查詢語言進行醫(yī)療信息的檢索與動態(tài)維護,實現(xiàn)醫(yī)療數(shù)據(jù)的網(wǎng)絡化可視化展示,為智能問診系統(tǒng)的開發(fā)提供了可靠的數(shù)據(jù)支撐。
3 系統(tǒng)實現(xiàn)
3.1 系統(tǒng)開發(fā)環(huán)境
本研究采用Flask框架作為智能問診系統(tǒng)的開發(fā)基礎(chǔ)。系統(tǒng)前端基于Vue框架構(gòu)建,采用HTML和CSS實現(xiàn)界面設(shè)計與布局。后端開發(fā)主要運用Python編程語言,通過py2neo庫實現(xiàn)與Neo4j圖數(shù)據(jù)庫的交互,從而有效訪問和操作醫(yī)療知識圖譜數(shù)據(jù)。系統(tǒng)開發(fā)環(huán)境的具體配置參數(shù)詳見表2所示。
3.2 系統(tǒng)功能測試
將系統(tǒng)后端與前端界面相連,在Google瀏覽器中輸入相應的IP地址與端口號,輸入賬號和密碼即可進入智能問診系統(tǒng)主頁,如圖6所示。主頁為用戶提供文本或關(guān)鍵字輸入框,點擊“提交”鍵后,系統(tǒng)會自動對輸入的內(nèi)容進行處理并傳輸?shù)胶蠖诉M行知識檢索。
為驗證系統(tǒng)的功能完整性,本研究設(shè)計了測試用例進行功能驗證。以“百日咳的臨床表現(xiàn)及檢查方法”查詢?yōu)槔?,用戶在主界面輸入問題并點擊提交后,系統(tǒng)界面將智能分屏顯示:左下方區(qū)域呈現(xiàn)問題解析及詳細解答,右下方則可視化展示相關(guān)醫(yī)療知識節(jié)點圖譜,具體效果如圖7所示。該測試方案有效驗證了系統(tǒng)的知識檢索、語義理解和可視化展示等核心功能的可用性。
系統(tǒng)具備智能查詢記憶功能,可自動存儲用戶的搜索記錄。當用戶輸入特定關(guān)鍵詞時,系統(tǒng)會在下拉菜單中顯示包含該關(guān)鍵詞的歷史查詢記錄。以“肺氣腫”為例,用戶在輸入該關(guān)鍵詞時,界面會自動彈出近期相關(guān)的查詢記錄,如圖8所示。這一設(shè)計旨在為用戶提供便捷的查詢體驗,減少重復輸入的操作。若推薦的歷史記錄未能滿足需求,用戶仍可自由輸入新的查詢內(nèi)容進行搜索。
在系統(tǒng)運行過程中,若用戶查詢的知識點超出醫(yī)療知識圖譜的覆蓋范圍,系統(tǒng)將啟動智能提示機制。不同于傳統(tǒng)錯誤頁面的跳轉(zhuǎn)方式,系統(tǒng)會通過友好的交互界面向用戶反饋查詢結(jié)果。例如,當用戶輸入“如何設(shè)計一份高質(zhì)量的調(diào)查問卷”這類非醫(yī)療領(lǐng)域問題時,系統(tǒng)界面會顯示“當前問題不在知識庫范圍內(nèi),建議您嘗試其他醫(yī)療相關(guān)問題”的提示信息,同時右側(cè)的知識圖譜展示區(qū)也會出現(xiàn)“敬請期待”的圖標。這種設(shè)計既避免了用戶對系統(tǒng)功能的誤解,又提升了人機交互的友好度。測試結(jié)果如圖9所示。
三個功能測試用例對應于正常搜索、系統(tǒng)緩存信息以及錯誤搜索三個類別,結(jié)果顯示系統(tǒng)均能正常運行,達到預期效果。這說明系統(tǒng)基本能滿足用戶對醫(yī)療健康知識檢索的需求。
4 結(jié)束語
本研究采用Neo4j圖數(shù)據(jù)庫作為醫(yī)療知識圖譜的存儲平臺,通過將結(jié)構(gòu)化醫(yī)療數(shù)據(jù)轉(zhuǎn)化為三元組形式進行存儲,實現(xiàn)了知識圖譜的構(gòu)建?;谶@一知識庫,設(shè)計開發(fā)了一套智能問診系統(tǒng),該系統(tǒng)采用模塊化設(shè)計,具備良好的可擴展性。研究詳細闡述了系統(tǒng)的整體架構(gòu)及各功能模塊的實現(xiàn)原理,并通過可視化界面展示了系統(tǒng)運行效果。為驗證系統(tǒng)性能,研究設(shè)計了多維度測試方案,實驗結(jié)果表明該系統(tǒng)基本能夠準確理解并回答用戶提出的醫(yī)療健康咨詢,各項功能指標均符合設(shè)計要求,具有一定的實用性。
本研究尚存在不足,后續(xù)將從拓展圖譜覆蓋的語料范圍、優(yōu)化模型以便更加精準處理用戶的復雜問題、豐富優(yōu)化系統(tǒng)的功能等方面深入研究。
參考文獻:
[1] 唐華,胡為,劉偉,等.基于知識圖譜的中醫(yī)醫(yī)案智能問診系統(tǒng)設(shè)計與實現(xiàn)[J].現(xiàn)代計算機,2023,29(19):98-101.
[2] 張卓群.基于知識圖譜的醫(yī)療問診關(guān)鍵技術(shù)研究[D].杭州:杭州電子科技大學,2024.
[3] MAO Y Q,F(xiàn)UNG K W.Use of word and graph embedding to measure semantic relatedness between Unified Medical Language System concepts[J].Journal of the American Medical Informatics Association,2020,27(10):1533-1541.
[4] 陳名,邵蓉.生物類似物研究領(lǐng)域的知識圖譜分析及其對我國政策啟示[J].中國科技論壇,2014(11):144-148.
[5] 田玲,張謹川,張晉豪,等.知識圖譜綜述:表示、構(gòu)建、推理與知識超圖理論[J].計算機應用,2021,41(8):2161-2186.
[6] 趙繼貴,錢育蓉,王魁,等.中文命名實體識別研究綜述[J].計算機工程與應用,2024,60(1):15-27.
[7] 張云秋,殷策.基于大模型的中文電子病歷實體自動識別研究[J/OL].數(shù)據(jù)分析與知識發(fā)現(xiàn),2024:1-18.[2024-10-20].http://kns.cnki.net/kcms/detail/10.1478.g2.20241118.1735.004.html.
[8] 李夢翔,尤麗玨.基于深度主動學習的中文電子病歷命名實體識別[J].微型電腦應用,2022,38(6):132-134.
【通聯(lián)編輯:謝媛媛】