朱奕臣,薛浩磊,王紅洋,劉 博,蔣瀟涵,郝承奇
(河南科技大學(xué) 軟件學(xué)院,河南 洛陽 471003)
隨著時(shí)代的進(jìn)步和科技的發(fā)展,醫(yī)療事業(yè)得到了飛速的發(fā)展與進(jìn)步。由于國內(nèi)醫(yī)療資源分配嚴(yán)重不平衡,造成了用戶看病難和問診效率低下等問題。本文提出的智慧健康管理系統(tǒng)能夠較好地改善以上問題。本系統(tǒng)作為人工智能與醫(yī)學(xué)的結(jié)合體,可以及時(shí)、精準(zhǔn)推送與用戶相關(guān)的醫(yī)療信息和服務(wù),同時(shí)也會為用戶提供有關(guān)醫(yī)護(hù)知識方面的幫助,從而滿足用戶的不同需求。
本文介紹的智慧健康管理系統(tǒng),通過微信小程序的方式采集用戶需求,及時(shí)提供精準(zhǔn)的就醫(yī)信息。用戶通過小程序可以了解最新醫(yī)療資訊以及查詢醫(yī)生、藥品、醫(yī)院等相關(guān)信息。本系統(tǒng)使醫(yī)療管理智能化、信息化,對提高用戶生活的醫(yī)療需求起到了巨大的幫助。本系統(tǒng)主要分為3大部分,分別是小程序客戶端、后臺服務(wù)端以及數(shù)據(jù)庫端。
該系統(tǒng)的結(jié)構(gòu)如圖1所示。
圖1 智慧健康管理系統(tǒng)結(jié)構(gòu)
數(shù)據(jù)庫是一個(gè)長期存儲在計(jì)算機(jī)內(nèi)的、有組織的、可共享的、統(tǒng)一管理的大量數(shù)據(jù)的集合,還具有占用內(nèi)存小、移植性強(qiáng)、操作簡單等優(yōu)點(diǎn)[1]。本系統(tǒng)通過數(shù)據(jù)庫對各類信息進(jìn)行整理匯集可以幫助開發(fā)者去分析數(shù)據(jù)。
本系統(tǒng)所使用的數(shù)據(jù)庫由medicine、doctors等8個(gè)表組成,其中藥品信息庫(medicine)和醫(yī)生信息庫(doctors)詳細(xì)設(shè)計(jì)如表1—2所示。
表1 藥品信息庫
表2 醫(yī)生信息庫
系統(tǒng)用戶分為管理員和普通用戶,管理員登錄時(shí)無需驗(yàn)證,而普通用戶登錄需驗(yàn)證賬戶是否存在,若不存在,則需要注冊賬戶。管理員與普通用戶權(quán)限不同,管理員登錄系統(tǒng)后,可在系統(tǒng)服務(wù)器端修改系統(tǒng)信息,普通用戶僅能對已有的信息進(jìn)行瀏覽和選擇。
管理員管理模塊主要用于管理員對系統(tǒng)信息的管理,其主要功能包含醫(yī)院信息管理、醫(yī)生信息管理、藥品信息管理和用戶信息管理。
通過調(diào)用騰訊地圖WebService API提供的一系列服務(wù)接口,使用getApiKey、coord2label、ipLocation等方法實(shí)現(xiàn)騰訊地圖服務(wù)接入來實(shí)現(xiàn)定位功能[2]。關(guān)鍵代碼如下:
Wxml:
名醫(yī)推薦模塊主要用于為用戶提供醫(yī)生信息,其主要依據(jù)科室種類進(jìn)行分類,方便用戶依據(jù)不同問題尋找醫(yī)生解決。其主要功能有預(yù)約醫(yī)生、醫(yī)生信息查詢等。
醫(yī)療資訊模塊主要為用戶提供日常生活中常見問題的解決方法。其主要內(nèi)容包括流感預(yù)防、健康百科以及腸胃保護(hù)等。
個(gè)人中心模塊主要用于存儲用戶信息,其中包括用戶的登錄信息、瀏覽記錄、購物車清單和收藏列表。用戶還可以提交關(guān)于小程序的意見反饋。
模糊查詢是目前計(jì)算機(jī)查找信息用得最多的一種搜索工具,其主要用于與“數(shù)據(jù)”相關(guān)的欄目。用戶通過模糊查詢可快速查找到想要的信息,通常是用關(guān)鍵字模糊查找。所謂關(guān)鍵字就是登記信息中所包含的字符,如:查詢醫(yī)生名稱“吳柳榕”,關(guān)鍵字可為“吳”“柳”“榕”。再如:查詢藥品名稱“短肽型腸內(nèi)營養(yǎng)劑”,關(guān)鍵字可為“短肽型”“腸內(nèi)”“營養(yǎng)劑”等。所謂“模糊查詢”,就是利用部分參數(shù)查找到相關(guān)數(shù)據(jù)的方式。比如按姓名查詢,僅指定姓名的某個(gè)部分,如姓或名字中的某個(gè)字或它們的組合,都可以找出與之相關(guān)的數(shù)據(jù)。主要用來在已知信息少的情況下盡可能地找出所需要的數(shù)據(jù)。在編程中主要用到:變量、宏替換運(yùn)算(函數(shù))&、包涵運(yùn)算$[3]。
協(xié)同過濾是推薦系統(tǒng)中最經(jīng)典和最常用的算法,其核心思想是:用戶不斷地和網(wǎng)站互動,利用用戶的歷史行為數(shù)據(jù),使用戶的推薦列表能夠不斷過濾掉其不感興趣的物品,從而越來越滿足用戶需求。本系統(tǒng)主要采用的是基于用戶的協(xié)同過濾?;谟脩舻膮f(xié)同過濾的基本思想是兩個(gè)相似的用戶可能對同樣的東西感興趣。首先找到和目標(biāo)用戶相似的最近鄰居,然后根據(jù)最近鄰居的行為來預(yù)測目標(biāo)用戶的行為,從而為目標(biāo)用戶推薦更加符合其興趣的項(xiàng)目[4]。
在此以3個(gè)用戶(編號1、編號2、編號3)為例,編號1對于A、B兩個(gè)事物感興趣,編號2對A、C兩個(gè)事物感興趣,編號3對B、D兩個(gè)事物感興趣,且編號1和編號2存在相同的興趣A,那么我們可以認(rèn)為編號1和編號2存在相同的興趣且興趣相似度較高,可以將事物C推薦給編號1(編號1和編號3的關(guān)系同理)。相同地,如果所收集到的興趣事物越多,重合度越高,則推薦會更加精準(zhǔn)[5]。代碼實(shí)現(xiàn)如圖2所示。
圖2 算法代碼實(shí)現(xiàn)過程
3.2.1 實(shí)現(xiàn)過程
(1)找到與用戶有著相似度的用戶集合。
(2)挑選出這兩個(gè)集合之間的不同點(diǎn)。
(3)進(jìn)行評分預(yù)測。
筆者在這里是采用了杰卡德系數(shù)來計(jì)算相似度。杰卡德相似度是比較有限集合相似性的有效指標(biāo)之一。兩個(gè)集合M和N的杰卡德相似度定義為M 與N的交集元素在M與N的并集中所占的比例[6]。定義如下:
(1)
3.2.2 評測指標(biāo)
以本文所用算法來分析,衡量一個(gè)算法的準(zhǔn)確度,通常是由準(zhǔn)確率和召回率來度量,如圖3所示。
圖3 推薦算法流程
由于筆者在設(shè)計(jì)時(shí)為用戶提供的不是單一的信息,此時(shí)需要考慮實(shí)驗(yàn)中存在的誤差。因此,筆者在這里選取準(zhǔn)確率和召回率的加權(quán)平均值作為評判此次實(shí)驗(yàn)的標(biāo)準(zhǔn)。
在交互設(shè)計(jì)方面,登錄頁布局簡潔,方便用戶直接登錄。頁面內(nèi)容淺顯易懂。獨(dú)立圖標(biāo)能方便用戶快速尋找相關(guān)信息。
健康與人民的生活息息相關(guān)。微信小程序能夠給各個(gè)行業(yè)帶來顛覆式的改變,大大提高了人們工作、生活的便利和便捷,也使得人們對生活體驗(yàn)有了更高的要求。更快捷地獲取相關(guān)信息以及提高就醫(yī)的便利性等需求與醫(yī)療資源分布不均的矛盾是當(dāng)前社會的主要問題之一。本文論述的基于用戶協(xié)同過濾算法的智慧健康管理系統(tǒng),不僅可以幫助患者精準(zhǔn)、及時(shí)地獲取所需信息,還可以緩解醫(yī)患關(guān)系,減輕醫(yī)院就診壓力,大大地滿足了人們不斷增長的健康需求。