本發(fā)明屬于數(shù)據(jù)發(fā)掘技術(shù)領(lǐng)域,更進(jìn)一步涉及一種個(gè)性化健康服務(wù)的推薦方法??捎糜跒橛脩籼峁┽t(yī)療信息參考。
背景技術(shù):
目前,隨著信息技術(shù)的飛速發(fā)展,大數(shù)據(jù)時(shí)代隨之到來(lái),越來(lái)越多的醫(yī)療資源呈現(xiàn)出信息化、復(fù)雜化、多樣化的特點(diǎn)。人們?cè)诿鎸?duì)繁多的醫(yī)療資源時(shí),無(wú)法很快的選擇符合自己需求的醫(yī)療資源。
中國(guó)專利“一種智慧醫(yī)療個(gè)性化推薦系統(tǒng)及其實(shí)現(xiàn)方法”(專利申請(qǐng)?zhí)枺?01410271293.7,公布號(hào)CN104036445A)公布了一種智慧醫(yī)療個(gè)性化推薦系統(tǒng)及其實(shí)現(xiàn)方法。該方法涉及無(wú)線傳感網(wǎng)絡(luò)和個(gè)性化推薦平臺(tái),無(wú)線傳感網(wǎng)絡(luò)用于采集患者的生理指標(biāo)并把數(shù)據(jù)發(fā)送至平臺(tái),個(gè)性化推薦平臺(tái)根據(jù)傳感器采集的數(shù)據(jù)以及患者輸入的數(shù)據(jù),利用數(shù)據(jù)挖掘算法,對(duì)數(shù)據(jù)進(jìn)行分析與挖掘,并根據(jù)分析與挖掘的結(jié)果向患者進(jìn)行個(gè)性化推薦。該方法的不足是:只考慮了患者的生理指標(biāo),其考慮的數(shù)據(jù)維度過(guò)于單一,無(wú)法在復(fù)雜多樣的醫(yī)療資源中形成有效可靠的推薦結(jié)果。
中國(guó)專利“一種在移動(dòng)醫(yī)療系統(tǒng)中向患者推薦醫(yī)生的方法”(專利申請(qǐng)?zhí)枺?01510696950.7,公布號(hào)CN105404763A)公開(kāi)了一種在移動(dòng)醫(yī)療系統(tǒng)中向患者推薦醫(yī)生的方法。該方法通過(guò)預(yù)先存入各個(gè)醫(yī)院的醫(yī)生數(shù)據(jù)和曾經(jīng)使用過(guò)該系統(tǒng)的患者數(shù)據(jù),在患者輸入科室、城市等信息后,篩選出與該患者具有相同年齡、性別、城市的患者,建立相似患者列表。在相似患者列表中得到醫(yī)生ID,并結(jié)合醫(yī)生數(shù)據(jù)列表得到診斷過(guò)這些相似患者的醫(yī)生數(shù)據(jù)列表,最后對(duì)患者具有相似信息的同類患者曾經(jīng)選擇的醫(yī)生信息進(jìn)行提取并進(jìn)行排序,估計(jì)出更加適合目標(biāo)患者的醫(yī)生,形成醫(yī)生推薦列表,并推薦給用戶。該方法存在的不足是:只針對(duì)醫(yī)生的推薦,而沒(méi)有其他醫(yī)療資源的推薦,推薦結(jié)果的綜合效果不佳。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對(duì)上述現(xiàn)有技術(shù)的不足,提出一種基于層級(jí)模型的個(gè)性化健康服務(wù)推薦方法,以提高個(gè)性化醫(yī)療推薦結(jié)果的可靠性,擴(kuò)大推薦內(nèi)容,獲得高性能的綜合推薦效果。
本發(fā)明的思路是:通過(guò)建立三層數(shù)據(jù)模型,結(jié)合用戶的病歷信息,生理指標(biāo),診斷信息;運(yùn)用數(shù)據(jù)挖掘算法中的協(xié)同過(guò)濾方法,結(jié)合劃分中的群體數(shù)據(jù),建立相似用戶群組,并把用戶群組中的其他用戶采用的醫(yī)療資源形成推薦方案,返還給用戶。其實(shí)現(xiàn)步驟包括如下:
1)用戶請(qǐng)求獲得個(gè)性化健康服務(wù)推薦時(shí),判斷該用戶是否是第一次請(qǐng)求,若是,則執(zhí)
行步驟2),否則,執(zhí)行步驟4);
2)構(gòu)建用戶地理位置模型:
2a)當(dāng)前用戶按省市區(qū)的形式輸入自己的地理位置信息,并對(duì)其地理位置進(jìn)行地址解析,得到經(jīng)緯度;
2b)將該當(dāng)前用戶的經(jīng)緯度與預(yù)先已知的其他用戶的經(jīng)緯度進(jìn)行余弦相似度計(jì)算操作,得到計(jì)算后的相似度矩陣L;
2c)將相似度矩陣L的值降序排序,選取排名在前70%的用戶構(gòu)成主要用戶數(shù)據(jù)集合Q,剩下的用戶構(gòu)成次要用戶數(shù)據(jù)集R,完成第一層篩選;
3)構(gòu)建用戶標(biāo)簽?zāi)P停?/p>
3a)根據(jù)2c)得到的主要用戶數(shù)據(jù)集Q和次要用戶數(shù)據(jù)集R定義若干具有代表性的標(biāo)簽,用戶根據(jù)標(biāo)簽的定義內(nèi)容選擇符合自己特點(diǎn)的標(biāo)簽;
3b)對(duì)當(dāng)前用戶已選擇的標(biāo)簽構(gòu)成當(dāng)前用戶標(biāo)簽集W;
3c)在步驟2)得到的主要用戶數(shù)據(jù)集合Q中,計(jì)算當(dāng)前用戶標(biāo)簽集和主要用戶數(shù)據(jù)集合Q的每一個(gè)用戶所選擇的標(biāo)簽集的相似度值,將計(jì)算的相似度值進(jìn)行降序排序,選取排名在前50%的用戶并加入到數(shù)據(jù)集合中,構(gòu)成所有用戶數(shù)據(jù)集合K,完成第二層篩選;
4)構(gòu)建相似用戶模型并形成推薦列表:
4a)當(dāng)前用戶輸入其個(gè)人信息,包括其姓名、性別、年齡、生理指標(biāo)、病例信息等。
4b)結(jié)合當(dāng)前用戶的個(gè)人基本信息、生理指標(biāo)和病歷信息等,對(duì)步驟3)得到的所有用戶數(shù)據(jù)集合K進(jìn)行協(xié)同過(guò)濾,篩選出與該當(dāng)前用戶相似的其他用戶,得到新的用戶數(shù)據(jù)集合K′;
4c)對(duì)步驟4b)產(chǎn)生的新的用戶數(shù)據(jù)集合K′中的所有用戶進(jìn)行遍歷,得到這些用戶曾經(jīng)使用過(guò)以及現(xiàn)在正在使用的醫(yī)療資源,形成初始推薦列表;
4d)并對(duì)初始推薦列表中的每一項(xiàng)進(jìn)行結(jié)構(gòu)化分解,得到推薦列表;
5)模型的反饋與更新:
5a)對(duì)步驟4d)得到的推薦列表建立評(píng)分列表,對(duì)列表中的每一項(xiàng)建立1到5的評(píng)分,初始默認(rèn)評(píng)分為5,當(dāng)前用戶根據(jù)推薦結(jié)果的相關(guān)性對(duì)每一項(xiàng)進(jìn)行打分;
5b)統(tǒng)計(jì)當(dāng)前用戶對(duì)推薦列表中的每一項(xiàng)的查看次數(shù),對(duì)每次的查看次數(shù)進(jìn)行累加;
5c)用每一項(xiàng)所得到的分?jǐn)?shù)和獲得的查看次數(shù),對(duì)步驟4)所得到的推薦列表進(jìn)行以用戶關(guān)心度值進(jìn)行降序排序,得到新的推薦列表;
6)將當(dāng)前用戶的地理位置模型數(shù)據(jù)、標(biāo)簽?zāi)P蛿?shù)據(jù)、相似用戶模型數(shù)據(jù)以及新的推薦列表保存在數(shù)據(jù)庫(kù),并把新的推薦列表返回給當(dāng)前用戶。
本發(fā)明與現(xiàn)有的技術(shù)相比具有以下優(yōu)點(diǎn):
第一,歸類性強(qiáng),特征數(shù)據(jù)選取覆蓋范圍廣,推薦結(jié)果準(zhǔn)確
本發(fā)明采用分層次建立數(shù)據(jù)模型的方法,對(duì)不同的類別的數(shù)據(jù)分別建立其數(shù)據(jù)模型,
對(duì)不同層次的數(shù)據(jù)模型分別進(jìn)行數(shù)據(jù)聚類操作,克服了現(xiàn)有方法中對(duì)特征數(shù)據(jù)選取單一、推薦效果不準(zhǔn)確的缺點(diǎn)。
第二,推薦覆蓋性廣,結(jié)果豐富
本發(fā)明的推薦結(jié)果具有廣泛性和普適性,在最終的推薦結(jié)果中,對(duì)大部分的醫(yī)療資源具有覆蓋性,提供了多種醫(yī)療資源的推薦結(jié)果??朔爽F(xiàn)有方法中僅僅針對(duì)單一醫(yī)療資源的推薦的缺點(diǎn)。
附圖說(shuō)明
圖1是本發(fā)明的使用場(chǎng)景圖;
圖2是本發(fā)明的實(shí)現(xiàn)流程圖。
具體實(shí)施方式
參照?qǐng)D1,本發(fā)明的使用場(chǎng)景如下:
本發(fā)明使用的場(chǎng)景包括當(dāng)前使用用戶、終端設(shè)備、網(wǎng)絡(luò)設(shè)備和個(gè)性化健康服務(wù)推薦服務(wù)器。當(dāng)前用戶使用終端設(shè)備提出使用個(gè)性化健康服務(wù)推薦請(qǐng)求,終端設(shè)備通過(guò)網(wǎng)絡(luò)設(shè)備將用戶的請(qǐng)求轉(zhuǎn)發(fā)給個(gè)性化健康服務(wù)推薦服務(wù)器,服務(wù)器對(duì)當(dāng)前用戶的請(qǐng)求進(jìn)行處理,并將處理結(jié)果通過(guò)網(wǎng)絡(luò)設(shè)備返回給終端設(shè)備,終端設(shè)備再將處理結(jié)果呈現(xiàn)給當(dāng)前用戶。
參照?qǐng)D2,本發(fā)明的具體實(shí)現(xiàn)如下:
步驟1,用戶請(qǐng)求獲得個(gè)性化健康服務(wù)推薦。
1.1)當(dāng)前用戶使用終端設(shè)備提出使用個(gè)性化健康服務(wù)的推薦請(qǐng)求;
1.2)判斷當(dāng)前用戶是否是第一次提出使用個(gè)性化健康服務(wù)的推薦請(qǐng)求,若是,則執(zhí)行步驟2,若不是,則執(zhí)行步驟5。
步驟2,構(gòu)建用戶地理位置模型。
2.1)當(dāng)前用戶按省市區(qū)的形式輸入自己的地理位置信息,并將其地理位置信息發(fā)送給地理位置信息服務(wù)商,解析出前用戶所在位置的經(jīng)緯度;
2.2)查找個(gè)性化健康服務(wù)推薦服務(wù)器中的用戶經(jīng)緯度數(shù)據(jù)庫(kù),取出曾經(jīng)使用過(guò)個(gè)性化健康服務(wù)推薦的所有其他用戶的經(jīng)緯度值,對(duì)當(dāng)前用戶的經(jīng)緯度和所有其他用戶的經(jīng)緯度值進(jìn)行余弦相似度計(jì)算,計(jì)算方法如下:
其中,si表示第i個(gè)用戶與當(dāng)前用戶的相似度值,x0表示當(dāng)前用戶的經(jīng)度值,xi表示第i個(gè)用戶的經(jīng)度值,y0表示當(dāng)前用戶的緯度值,yi表示第i個(gè)用戶的緯度值。
2.3)構(gòu)造一個(gè)1×n的矩陣[a1,a2…ai…an],將計(jì)算出的相似度值si賦值給矩陣的ai,得到相似度矩陣L,其表示形式如下:
L=[s1,s2…si…sn],
其中ai表示初始值,i=1,2…n,n表示用戶的個(gè)數(shù);
2.4)將2.3)得到的相似度矩陣L進(jìn)行降序排序,選取排序后的前70%的用戶構(gòu)成主要用戶數(shù)據(jù)集合Q,剩下的用戶構(gòu)成次要用戶數(shù)據(jù)集合R。
步驟3,構(gòu)建用戶標(biāo)簽?zāi)P汀?/p>
3.1)對(duì)步驟2得到的主要用戶數(shù)據(jù)集合Q中的所有用戶選擇的標(biāo)簽的次數(shù)進(jìn)行降序排序,選擇次數(shù)最多的10個(gè)標(biāo)簽作為候選項(xiàng),構(gòu)成主要標(biāo)簽集合A;
3.2)對(duì)步驟2得到的次要用戶數(shù)據(jù)集合R中的所有用戶選擇的標(biāo)簽的次數(shù)進(jìn)行降序排序,選取前10個(gè)標(biāo)簽,構(gòu)成次要標(biāo)簽集合B,剩下的標(biāo)簽構(gòu)成備選標(biāo)簽集合V;
3.3)將次要標(biāo)簽集合B和主要標(biāo)簽集合A相減,得到差值集合C;
3.4)判斷差值集合C中的元素個(gè)數(shù)是否為10,如果不為10,則向C集合中添加備選標(biāo)簽集合V中的標(biāo)簽,直到C集合中的元素個(gè)數(shù)為10或取完備選標(biāo)簽集合V中的所有標(biāo)簽;
3.5)將差值集合C與主要標(biāo)簽集合A相交,得到初始標(biāo)簽集U,以供用戶進(jìn)行選擇;
3.6)當(dāng)前用戶在初始標(biāo)簽集U中選擇自己相應(yīng)的標(biāo)簽,用已選擇的標(biāo)簽構(gòu)成當(dāng)前用戶選擇的標(biāo)簽集W;
3.7)計(jì)算當(dāng)前用戶選擇的標(biāo)簽集W與步驟2中產(chǎn)生的主要用戶數(shù)據(jù)集合Q中的每一個(gè)用戶選擇的標(biāo)簽集的相似度值S:
其中,Yi代表主要用戶數(shù)據(jù)集合Q中的第i個(gè)用戶所選擇的標(biāo)簽集,i=1,2…n,n表示主要用戶數(shù)據(jù)集合Q中的用戶個(gè)數(shù);
3.8)根據(jù)相似度值進(jìn)行降序排序,并選取前50%的用戶構(gòu)成標(biāo)簽?zāi)P蛿?shù)據(jù)集合I。
步驟4,構(gòu)建相似用戶模型。
4.1)結(jié)構(gòu)化處理用戶個(gè)人信息,形成二維表并存入數(shù)據(jù)庫(kù);
4.2)使用協(xié)同過(guò)濾對(duì)用戶和對(duì)步驟3產(chǎn)生的標(biāo)簽?zāi)P蛿?shù)據(jù)集合I進(jìn)行過(guò)濾,得到相似用戶數(shù)據(jù)集合E。
步驟5,形成推薦列表。
對(duì)步驟4得到的相似用戶數(shù)據(jù)集合E中的所有用戶曾經(jīng)使用過(guò)以及現(xiàn)在正在使用的醫(yī)療資源進(jìn)行提取,得到推薦列表A1A2…Ai…An,其中,Ai代表提取后的第i項(xiàng)推薦結(jié)果。
步驟6,模型的反饋與更新。
6.1)對(duì)步驟5得到的推薦列表A1A2…Ai…An中的每一項(xiàng)建立評(píng)分體系,以數(shù)字1至5代表非常不滿意,不滿意,一般,滿意,非常滿意五個(gè)結(jié)果,默認(rèn)初始分?jǐn)?shù)為5,用戶對(duì)每一項(xiàng)推薦的結(jié)果按照上述規(guī)則進(jìn)行打分;
6.2)當(dāng)用戶點(diǎn)擊某一項(xiàng)的推薦結(jié)果時(shí),對(duì)用戶的這次點(diǎn)擊進(jìn)行記錄,并從數(shù)據(jù)庫(kù)中取出歷史點(diǎn)擊次數(shù),再對(duì)歷史記錄點(diǎn)擊數(shù)進(jìn)行加一操作,之后再把加一后的數(shù)據(jù)存回?cái)?shù)據(jù)庫(kù);
6.3)用上述兩步的打分結(jié)果與點(diǎn)擊數(shù),計(jì)算用戶關(guān)心度P:
P=q×rq+(k×rk)modt
其中,q代表用戶的打分結(jié)果,k代表用戶的點(diǎn)擊數(shù),rq代表打分所占的權(quán)重,rk代表點(diǎn)擊所占的權(quán)重,mod t代表對(duì)n取余數(shù)運(yùn)算,t代表點(diǎn)擊次數(shù)的位數(shù)長(zhǎng)度;
6.4)更新步驟5得到的推薦列表A1A2…Ai…An,以用戶關(guān)心度值P進(jìn)行降序排序,形成最終推薦列表B1B2…Bi…Bn,Bi代表排序后第i項(xiàng)推薦結(jié)果。
步驟7,結(jié)果保存與返回。
7.1)將當(dāng)前用戶的地理位置模型數(shù)據(jù)、標(biāo)簽?zāi)P蛿?shù)據(jù)、相似用戶模型數(shù)據(jù)以及最終推薦列表B1B2…Bi…Bn保存在數(shù)據(jù)庫(kù);
7.2)將最終推薦列表B1B2…Bi…Bn返回給當(dāng)前用戶。
通過(guò)步驟1到步驟7的操作,完成個(gè)性化健康服務(wù)的推薦。