[发明专利]一种基于隐私保护多级属性相似度的电子医疗推荐方法有效
| 申请号: | 201911162454.8 | 申请日: | 2019-11-25 |
| 公开(公告)号: | CN111104434B | 公开(公告)日: | 2022-01-18 |
| 发明(设计)人: | 徐畅;王家琛;祝烈煌;张川;张璨;产子健 | 申请(专利权)人: | 北京理工大学 |
| 主分类号: | G06F16/2457 | 分类号: | G06F16/2457;G06F21/57;G06F21/62;G16H40/20 |
| 代理公司: | 北京正阳理工知识产权代理事务所(普通合伙) 11639 | 代理人: | 张利萍 |
| 地址: | 100081 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 隐私 保护 多级 属性 相似 电子 医疗 推荐 方法 | ||
1.一种基于隐私保护多级属性相似度的电子医疗推荐方法,其特征在于:包括系统初始化、用户查询和医生推荐;具体包括如下步骤:
步骤1:系统初始化,具体为:可信医疗机构对医生的信息进行加密处理,加密后再存储在服务器上用于医生推荐;可信医疗机构向用户发送密钥,用于用户需求加密,包括如下子步骤:
步骤1.1:可信医疗机构随机生成一个3n维二进制向量和两个3n阶可逆矩阵M1、M2;向量和可逆矩阵M1、M2为医生信息和用户需求信息加密所使用的密钥;
步骤1.2:可信医疗机构将医生i的n维属性向量扩展成3n维向量即对于中的每一项dj,将其扩展成(dj,-1,1);
其中,被拓展为下标i,对应医生i,向量为n维,表示医生i的属性向量,属性dj的数值越大表示该属性的级别越高,dj表示分级属性;
步骤1.3:可信医疗机构用3n维二进制向量对加密,将分成两个3n维向量和
步骤1.4:可信医疗机构使用步骤1.1生成的可逆矩阵M1、M2分别对和加密,得到并将加密得到的存储到服务器上;
步骤1.5:可信医疗机构将二进制向量以及可逆矩阵M1、M2发送给用户;
步骤2:用户查询,具体为:用户生成需求向量,并设置其中L个属性为用户关注属性,其余n-L个属性为用户普通属性;用户生成n个随机数集合R,其中前L个随机数组成的集合设定为用户关注属性所对应的随机数集合,剩余n-L个随机数构成的集合设定为用户普通属性所对应的随机数集合;用户生成随机数c,并通过二进制向量可逆矩阵M1、M2以及随机数集合R对需求向量进行加密处理;用户生成L个用户关注属性对应的权值集合W;用户将需求向量密文、L个用户关注属性权值集合以及L个用户关注属性所对应的随机数集合发送给服务器,包括如下子步骤:
步骤2.1:对于每一个用户ui,生成n维需求向量表示ui对医生的需求,并设置其中L个属性为用户关注属性,其余n-L个属性为用户普通属性;
其中,n代表用户ui的需求属性数,与医生属性向量中的分级属性数相同;
步骤2.2:用户ui生成n个随机数的集合R={r1,r2,…,rn},用来对用户的n个需求属性加密;
设置n个随机数的大小关系为:r1》r2》…》rL》{rL+1,rL+2,…,rn},即在n个随机数中,前L个随机数远远大于之后n-L个随机数,选取n个随机数中前L大的随机数构成用户关注属性所对应的随机数集合R′={r1,r2,…,rL},剩余n-L个随机数构成的集合{rL+1,rL+2,…,rn}为用户普通属性所对应的随机数集合;
其中,当1≤j≤L时,rj表示对第j个用户关注属性所对应的随机数;当L+1≤j≤n时,rj表示对第j-L个用户普通属性所对应的随机数;
步骤2.3:用户ui生成随机数c,并通过二进制向量可逆矩阵M1、M2以及随机数集合R对需求向量进行加密,得到需求向量密文具体包括如下子步骤:
步骤2.3.1:用户ui的需求向量为对于用户的n个需求属性,ui生成随机数c,并使用随机数集合R={r1,r2,...,rn}将n维需求向量扩展成3n维需求向量其中,r1r2...rLn·c,具体为:
若d′j为第a个用户关注属性需求,则ui选择随机数r′j=ra∈R′={r1,r2,...,rL}来生成对应的三元组(r′j,r′j·d′j,c);
其中,L为用户关注属性数;
若d′j为第b-L个用户普通属性需求,则ui选择随机数r′j=rb∈{rL+1,rL+2,...,rn}来生成对应的三元组(r′j,r′j·d′j,c);
其中,L为用户关注属性数;
在对每一个属性需求d′j生成完对应的三元组后,用户ui生成3n维需求向量
步骤2.3.2:用户ui用二进制向量对3n维需求向量处理,将分成两个3n维向量和具体为:
对于向量中的每一项当时,当时,
步骤2.3.3:ui使用可逆矩阵M1、M2的逆矩阵M1-1、M2-1分别对和加密,生成密文
步骤2.4:对于L个用户关注属性,用户对每一个用户关注属性设置一个权重,这L个权重的集合为W={w1,w2,…,wL};wj表示对第j个用户关注属性设置的权重,并且满足关系式w1+w2+…+wL=1;
步骤2.5:用户ui将需求向量密文L个用户关注属性所对应的随机数集合R′以及L个用户关注属性权值集合W发送给服务器;
步骤3:医生推荐,具体为:服务器通过用户的需求向量密文以及用户关注属性所对应的随机数集合,将用户的需求与服务器上存储的医生信息进行匹配得到用户与每个医生的用户关注属性匹配信息;并将用户与每个医生的用户关注属性匹配信息与用户关注属性权值集合结合得到每个医生的权值,把拥有最高权值的医生推荐给用户,包括如下子步骤:
步骤3.1:服务器将用户ui的需求向量密文和服务器上医生k的属性向量密文匹配,得出匹配结果Sumk,具体操作过程如下:
其中,为存储在服务器上的医生k的属性向量密文,为用户ui的需求向量密文,r′j和c为用户需求向量加密过程中所使用的随机数,dj和d′j分别为第j个属性上的医生信息和用户需求;符号·表示向量相乘,符号∑为求和符号;通过上式看出,匹配结果Sumk等于医生k的属性向量与用户ui的需求向量加密后的向量距离;
由于对用户需求向量加密的随机数r′j都来自随机数集合R={r1,r2,...,rn},所以匹配结果Sumk可表示如下:
其中,n为所有属性的个数,dl和d′l分别为第l个属性上的医生信息和用户需求,rl为随机数集合R中第1个元素;通过式(2)看出匹配结果Sumk中,医生k属性向量与用户ui需求向量的向量距离是通过随机数集合R以及随机数c进行加密;
步骤3.2:服务器使用L个用户关注属性所对应随机数集合R′={r1,r2,...,rL}来提取出每一个用户关注属性匹配信息;
依据关系r1r2...rL{rL+1,rL+2,...,rn},服务器通过取余运算逐次提取出L个用户关注属性匹配信息;对于第一个用户关注属性匹配信息C1k,服务器使用随机数r1得出,具体过程如下:
其中,Sumk为用户ui的需求向量密文和服务器上医生k的属性向量密文匹配结果;符号mod代表取余运算;因为r1是最大的随机数,所以通过取余运算得到临时变量之后通过与Sumk求差值得出第一个用户关注属性匹配信息C1k=r1(d1-d′1);
在式(3)中,得出因为c远远小于各个随机数rl,且更新Sumk=c1k,所以
其中,r1r2...rLn·c;
步骤3.3:当得出第一个用户关注属性匹配信息后,服务器通过式(5)对更新后的Sumk进行取余运算得到临时变量c2k,并通过式(6)与Sumk作差得出第二个用户关注属性匹配信息C2k;
步骤3.4:基于步骤3.2与步骤3.3操作方法,服务器利用随机数rm来得到用户ui的第m个用户关注属性匹配信息;
首先更新之后服务器通过式(7)对更新后的Sumk进行取余运算得到临时变量cmk,并通过式(8)与Sumk作差得出第m个用户关注属性匹配信息Cmk;
其中,rm为随机数集合R中第m个元素,dm和d′m分别为第m个用户关注属性上的医生信息和用户需求,c(m-1)k为在得到第m-1个用户关注属性匹配信息过程中的临时变量;
至此,经过步骤3.2、步骤3.3以及步骤3.4,服务器得到用户ui和医生k的L个用户关注属性匹配信息Conk={r1(d1-d′1),r2(d2-d′2),...,rL(dL-d′L)};
其中,每一个rj(dj-d′j)是加密后的医生k的第j个用户关注属性值与用户ui对第j个用户关注属性需求之间的差值;
步骤3.5:对于用户ui和医生k的用户关注属性匹配信息Conk中每个元素,服务器结合用户发送来的用户关注属性权值集合W={w1,w2,...,wL},得出每个医生k的权值Weightk,具体操作过程如下:
步骤3.6:在得到所有M个医生的权值后,服务器将具有最高权值的医生推荐给用户ui。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911162454.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:显示面板的修补方法及修补装置
- 下一篇:一种复合卷材放料装置





