售前電話
135-3656-7657
售前電話 : 135-3656-7657
研究論著 中國(guó)醫(yī)療設(shè)備 2021年第36卷 09期 VOL.36 No.09引言通過互聯(lián)網(wǎng)得到科學(xué)準(zhǔn)確的醫(yī)療服務(wù)與人們的幸福生活密切相關(guān),智能問答平臺(tái)有助于快速篩選搜索信息。自動(dòng)聊天機(jī)器人可分為以信息提取為基礎(chǔ)的專家系統(tǒng)和自主生產(chǎn)學(xué)習(xí)式的開放領(lǐng)域問答平臺(tái)系統(tǒng)[1] 。垂直領(lǐng)域的專家系統(tǒng)大大壓縮了數(shù)據(jù)規(guī)模,適用于醫(yī)療領(lǐng)域的應(yīng)用開發(fā)[2] 。語義分析是實(shí)現(xiàn)智能問答的基本途徑。在傳統(tǒng) 算法和 基礎(chǔ)上, 以 MySQL+Flask web +vue分級(jí)架構(gòu)實(shí)現(xiàn)了知識(shí)自動(dòng)問答[3] 。醫(yī)療數(shù)據(jù)包含大量冗余文本數(shù)據(jù)。聯(lián)合標(biāo)注策略的實(shí)體關(guān)系抽取模型使用 NoSQL數(shù)據(jù)庫(kù) Neo4j 存儲(chǔ)知識(shí)數(shù)據(jù),獲得較高檢索效率[4] 。Java語言的 MVC(Model、View、)架構(gòu)將后臺(tái)運(yùn)算與前端顯示分離[5-6] 。利用多源異構(gòu)數(shù)據(jù)構(gòu)建醫(yī)療相關(guān)知識(shí)庫(kù)智能醫(yī)療問答系統(tǒng),聯(lián)合中文分詞和醫(yī)療詞典,準(zhǔn)確識(shí)別醫(yī)療相關(guān)領(lǐng)域詞匯[7] 。不同數(shù)據(jù)庫(kù)的知識(shí)存儲(chǔ)會(huì)影響問答效率。MySQL 體積小、速度快,在靈活性上遠(yuǎn)超 SQL Sever 和 數(shù)據(jù)庫(kù)[8] 。
利用 Redis 數(shù)據(jù)庫(kù)緩存,可提高系統(tǒng)處理高并發(fā)場(chǎng)景時(shí)的效率[9] 。ANSJ 實(shí)現(xiàn)分詞,且標(biāo)注分詞后詞性,在內(nèi)存中分詞速率 100 萬字 /s,準(zhǔn)確度達(dá) 96% 以上[10-11] 。作為 框架,集成了控制翻轉(zhuǎn)和面向切面編程的特點(diǎn)[12-13] 。布隆過濾器利用錯(cuò)誤率換取更小的空間占用,其操作時(shí)間復(fù)雜度為 O(1) [14-15] 。本文旨在設(shè)計(jì)實(shí)現(xiàn)一款智能智能醫(yī)療問答系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)何艷,張寧西安郵電大學(xué) 通信與信息工程學(xué)院,陜西 西安 [摘 要] 目的 設(shè)計(jì)與實(shí)現(xiàn)智能醫(yī)療問答系統(tǒng),為醫(yī)療服務(wù)信息化和智慧化的建設(shè)提供支持。方法 本系統(tǒng)平臺(tái)引入B/S架構(gòu)設(shè)計(jì),采用前后端分離開發(fā)。其中利用Vue.JS開發(fā)Web端,以作為基礎(chǔ)語言搭建后端,配合框架實(shí)現(xiàn)MVC模式對(duì)項(xiàng)目解耦合處理。項(xiàng)目數(shù)據(jù)庫(kù)的數(shù)據(jù)來源于尋醫(yī)問藥網(wǎng)(),以框架多線程進(jìn)行數(shù)據(jù)爬取。采用關(guān)系型數(shù)據(jù)庫(kù)MySQL實(shí)現(xiàn)醫(yī)療信息以及用戶信息的數(shù)據(jù)存儲(chǔ)。結(jié)果 本文設(shè)計(jì)實(shí)現(xiàn)了一款基于的醫(yī)療問答系統(tǒng)。通過數(shù)據(jù)庫(kù)設(shè)計(jì)、服務(wù)邏輯設(shè)計(jì)、系統(tǒng)優(yōu)化設(shè)計(jì)和數(shù)據(jù)交互設(shè)計(jì),利用中文分詞技術(shù)和數(shù)據(jù)庫(kù)對(duì)象映射與知識(shí)推理,實(shí)現(xiàn)基本的醫(yī)療問答。
結(jié)論 智能醫(yī)療問答系統(tǒng)能夠滿足用戶健康需求,在B/S模式下讓用戶通過網(wǎng)頁瀏覽器實(shí)現(xiàn)醫(yī)療健康信息咨詢。[關(guān)鍵詞] 智能醫(yī)療問答系統(tǒng);醫(yī)療服務(wù);關(guān)系型數(shù)據(jù)庫(kù) and of Yan, ZHANG of and , Xi’an of Posts & ,Xi’an , : To for the of and , the is . By B/S , was in with front-end and back-end . i cally, Vue.JS was used to the Web end, was taken as the basic to build up the back end, and the union of the the under MVC . All the that in this came from the (), where multi- data was under the of . The MySQL was to store as well as . In this study, a was and based on . The fulf i of this was of , logic , and data , the of and was the of word and as well as . The can meet the needs of users, users to and a web in the B/S mode. Key words: ; ; [中圖分類號(hào)] R197.39;TP391.1[文獻(xiàn)標(biāo)識(shí)碼] Adoi:10.3969/j.issn.1674-1633.2021.09.023 [文章編號(hào)] 1674-1633(2021)09-0100-04收稿日期:2020-12-15基金項(xiàng)目:國(guó)家自然科學(xué)基金();陜西省自然科學(xué)基礎(chǔ)研究計(jì)劃項(xiàng)目(-861)。
通信作者:何艷,副教授,主要研究方向?yàn)閺?fù)雜系統(tǒng)與復(fù)雜網(wǎng)絡(luò)。通信作者郵箱: i 研究論著 中國(guó)醫(yī)療設(shè)備 2021年第36卷 09期 VOL.36 No.09問答系統(tǒng),通過用戶對(duì)自身病情癥狀的描述,系統(tǒng)通過語義解析得到合理準(zhǔn)確的醫(yī)療指導(dǎo),進(jìn)而給人們提供日常的健康醫(yī)療咨詢。1 醫(yī)療問答系統(tǒng)設(shè)計(jì)本醫(yī)療問答系統(tǒng)設(shè)計(jì)框圖如圖 1 所示,系統(tǒng)采用分級(jí)架構(gòu),使得數(shù)據(jù)庫(kù)、邏輯層、展示層分開,便于分層開發(fā)維護(hù)。1.1 后端結(jié)構(gòu)設(shè)計(jì)后 端 代 碼 結(jié) 構(gòu) 大 致 分 為 、Dao、Pojo、、Test 五部分。其中 層負(fù)責(zé)與前端代碼的交互,接收或發(fā)送數(shù)據(jù)到前端。Pojo 層存儲(chǔ)項(xiàng)目對(duì)應(yīng)的數(shù)據(jù)模型類。 層負(fù)責(zé)處理項(xiàng)目的主要邏輯。Test 負(fù)責(zé)代碼的調(diào)試與測(cè)試功能。圖 2 展示了后端項(xiàng)目代碼結(jié)構(gòu)。1.2 數(shù)據(jù)庫(kù)連接設(shè)計(jì)在數(shù)據(jù)庫(kù)連接的部分,采用基于 JDBC 的 Java 數(shù)據(jù)庫(kù)連接工具 進(jìn)行 Java 程序與 MySQL 數(shù)據(jù)庫(kù)的連接。使用注解的方式完成連接,并將 SQL 語句卸載至 xml 文件中,便于維護(hù)管理[16] 。
同時(shí)項(xiàng)目采用了 自帶的SQL 預(yù)處理方式,避免了 SQL 注入的風(fēng)險(xiǎn)。1.3 醫(yī)療問答系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)醫(yī)療問答系統(tǒng)的數(shù)據(jù)模型包括用戶集合、疾病集合和用戶患病集合。用戶集合用于存儲(chǔ)普通用戶在平臺(tái)進(jìn)行登錄、注冊(cè)、問答咨詢所需的基本信息 ;疾病集合用于存儲(chǔ)爬取的醫(yī)療相關(guān)信息 ;用戶患病集合用于存儲(chǔ)疾病與用戶之間的對(duì)應(yīng)關(guān)系,形成用戶表與疾病表之間多對(duì)多的表間關(guān)系。各表間關(guān)系繪制成實(shí)體聯(lián)系圖如圖 3 所示。1.4 前后端交互資源使用設(shè)計(jì)由于項(xiàng)目前后端分離的設(shè)計(jì),在本機(jī)測(cè)試時(shí)兩端會(huì)分別占用不同端口,前端 Vue 部分占用 8080 端口,后端占用 8081 端口。前后端的數(shù)據(jù)交互采用 JSON( )數(shù)據(jù)格式。依照 JSON 將后端 Java 實(shí)體類序列化成字符串的格式發(fā)送至前端解析,同時(shí)前端也能發(fā)送 JSON 至后端,經(jīng)由后端轉(zhuǎn)換為實(shí)體類。在 Java 中,可以將 JSON 還原為 結(jié)構(gòu)或者一個(gè)基本對(duì)象。1.5 系統(tǒng)并發(fā)設(shè)計(jì)本系統(tǒng)在多個(gè)角度進(jìn)行了并發(fā)設(shè)計(jì),確保了程序的穩(wěn)定性(圖 4)。系統(tǒng)設(shè)計(jì)將 服務(wù)器默認(rèn)提供的 BIO模式改配置為 NIO 模式。