一种基于位置隐私保护的个性化推荐方法转让专利

申请号 : CN201710260761.4

文献号 : CN107133527B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邢玲马强张琦高建平陈松

申请人 : 河南科技大学

摘要 :

本发明公开了一种基于位置隐私保护的个性化推荐方法,以用户真实位置P0为圆心,dmax为半径生成隐匿区域Z0,通过近邻位置点坐标计算均值,再以均值坐标位置点为圆心,dmax为半径,重新生成隐匿区域Z′0,应用服务器将隐匿区域Z′0半径至Dmax,生成推荐区域Z1,根据服务请求信息query,结合用户历史购买商家记录,对推荐区域Z1内商家排序即获得个性化推荐列表。本发明从整体上保证了生成的位置(虚假轨迹)信息在结构上保证了与真实位置(轨迹)的一致性,从而可以有效的抵御背景知识攻击。同时,由于隐匿区域和推荐区域是同一个圆心,所以在有效抵御隐私攻击同时又可以为用户提供优质的推荐服务。

权利要求 :

1.一种基于位置隐私保护的个性化推荐方法,其特征在于,包括以下步骤:(1)、根据查询用户位置生成隐匿区域

1.1)、位置服务器接收查询用户发送位置服务请求Q={P0(x,y),c,query},其中,P0(x,y)为查询用户真实位置,(x,y)为其坐标,c为用户设置的隐私保护程度,c>1,query为用户发送的服务请求信息;

1.2)、以查询用户真实位置P0(x,y)为圆心,半径为dmax生成隐匿区域Z0,其中,半径dmax=R×c,R为保护系数;

1.3)、判定隐匿区域Z0域内用户真实位置P0(x,y)的近邻位置点个数n是否满足n>k,若不满足则需要随机插入k-n个位置点,其中,k为隐匿区域所需位置点数,根据具体实施情况确定;

(2)、根据查询用户真实位置P0(x,y)近邻位置点重新计算隐匿区域

2.1)、位置服务器随机选定隐匿区域Z0的k个近邻位置点;

2.2)、得到k个近邻位置点的坐标,并计算坐标均值,通过公式得到均值坐标位置点 其中,xi,yi为k位置点第i个的坐标;

2.3)、位置服务器以均值坐标位置点 为圆心,dmax为半径,重新生成隐匿区域Z′0,并把整个隐匿区域Z′0作为用户当前位置发送给应用服务器,同时,将服务请求信息也发送给应用服务器;

(3)、推荐用户附近商家

3.1)、应用服务器将隐匿区域Z′0半径至Dmax,生成推荐区域Z1;

3.2)、应用服务器根据用户发送的服务请求信息query,结合用户历史购买商家记录,对推荐区域Z1内商家排序即获得个性化推荐列表并返回给查询用户。

2.根据权利要求1所述的基于位置隐私保护的个性化推荐方法,其特征在于,应用服务器在对商家进行排序前,需要对商家的特征和权重进行训练,得到商家的特征和权重:抽取应用服务器数据库中购买人数较多的商家,分为正负例样本,其中,购买的为正例样本、浏览没购买的为负例样本,抽取商家特征,特征包括是否停车、面积、价格、用户评分,然后利用逻辑回归算法的随机梯度下降法对正负例样本进行训练,得到商家的特征和权重。

说明书 :

一种基于位置隐私保护的个性化推荐方法

技术领域

[0001] 本发明属于数据挖掘和隐私保护技术领域,更为具体地讲,涉及一种基于位置隐私保护的个性化推荐方法。

背景技术

[0002] 自2003年以来,就有研究者开始对移动用户位置的隐私保护进行相关工作,提出了一些经典的算法,对这些算法进行分类,主要有假轨迹数据法、抑制法和数据泛化法。
[0003] 通常假轨迹数据法实现起来比较简单,数据存储量大以及数据可用性相对比较差。抑制法对轨迹隐私保护是通过限制敏感信息的发布,这种方法实现简单计算量小,但是数据容易失真。数据泛化法即基于泛化的轨迹隐私保护算法,保证了数据不会失真,但是计算量比较大。
[0004] 目前位置隐私保护技术通常采用文献[Gedik,Bu&#,Liu L.Protecting Location Privacy with Personalized k-Anonymity:Architecture and Algorithms[J].IEEE Transactions on Mobile Computing,2008,7(1):1-18.]k-anonymity即位置K匿名算法,这是目前位置隐私保护的主流方法。位置K匿名算法是一种普遍用于位置隐私保护方法,该方法就是把查询用户在一定区域范围内与其他k-1个用户一起发送给位置服务器,这样就难以判断出真实的查询用户,位置K匿名算法对查询用户的单个位置的隐私保护效果不错,但是不适合连续查询,攻击者可以通过对用户位置连续时刻查询求交集,从而算出查询用户的真实位置信息。
[0005] 文献[Theodoridis,State-of-the-art in privacy preserving data mining[C]//ACM SIGMOD Record.2004.]把主流隐私保护数据挖掘方法分为五类:①、数据的分布的一些方式;②、以数据或规则的隐藏方式,分为基于数据失真、数据匿名、数据加密等;③、在数据挖掘技术层面,有聚类挖掘、关联规则挖掘、分类挖掘等;④、以隐藏的对象来说,分为原始数据隐藏、规则或模式隐藏等;⑤、以隐私保护技术层面,分为基于启发式、基于密码学以及基于重构技术的方法。
[0006] 隐私保护和数据挖掘是一对矛盾体。知识挖掘、机器学习、人工智能等技术的研究和应用使得大数据分析的力量越来越强大,同时也为对个人隐私的保护带来了更加严峻的挑战。

发明内容

[0007] 本发明的目的在于克服现有技术的不足,提出一种基于位置隐私保护的个性化推荐方法,以有效抵御背景知识攻击、用户行为模式攻击等隐私攻击,并在有效抵御攻击的同时,为用户提供优质的推荐服务。
[0008] 为实现上述发明目的,本发明基于位置隐私保护的个性化推荐方法,其特征在于,包括以下步骤:
[0009] (1)、根据查询用户位置生成隐匿区域
[0010] 1.1)、位置服务器接收查询用户发送位置服务请求Q={P0(x,y),c,query},其中,P0(x,y)为查询用户真实位置,(x,y)为其坐标,c为用户设置的隐私保护程度,c>1,query为用户发送的服务请求信息;
[0011] 1.2)、以查询用户真实位置P0(x,y)为圆心,半径为dmax生成隐匿区域Z0,其中,半径dmax=R×c,R为保护系数;
[0012] 1.3)、判定隐匿区域Z0域内用户真实位置P0(x,y)的近邻位置点个数n是否满足n>k,若不满足则需要随机插入k-n个位置点,其中,k为隐匿区域所需位置点数,根据具体实施情况确定;
[0013] (2)、根据查询用户真实位置P0(x,y)近邻位置点重新计算隐匿区域[0014] 2.1)、位置服务器随机选定隐匿区域Z0的k个近邻位置点;
[0015] 2.2)、得到k个近邻位置点的坐标,并计算坐标均值,通过公式
[0016]
[0017] 得到均值坐标位置点 其中,xi,yi为k位置点第i个的坐标;
[0018] 2.3)、位置服务器以均值坐标位置点 为圆心,dmax为半径,重新生成隐匿区域Z′0,并把整个隐匿区域Z′0作为用户当前位置发送给应用服务器,同时,将服务请求信息也发送给应用服务器;
[0019] (3)、推荐用户附近商家
[0020] 3.1)、应用服务器将隐匿区域Z′0半径至Dmax,生成推荐区域Z1;
[0021] 3.2)、应用服务器根据用户发送的服务请求信息query,结合用户历史购买商家记录,对推荐区域Z1内商家排序即获得个性化推荐列表并返回给查询用户。
[0022] 本发明的目的是这样实现的。
[0023] 本发明基于位置隐私保护的个性化推荐方法,取用户真实位置坐标,以用户真实位置P0为圆心,dmax为半径生成隐匿区域Z0,并通过真实位置近邻位置点坐标计算均值,再以均值坐标位置点 为圆心,dmax为半径,重新生成隐匿区域Z′0,并把整个隐匿区域Z′0作为用户当前位置发送给应用服务器,同时,将服务请求信息也发送给应用服务器;应用服务器将隐匿区域Z′0半径至Dmax,生成推荐区域Z1,然后根据用户发送的服务请求信息query,结合用户历史购买商家记录,对推荐区域Z1内商家排序即获得个性化推荐列表。本发明从整体上保证了生成的位置(虚假轨迹)信息在结构上保证了与真实位置(轨迹)的一致性,从而可以有效的抵御背景知识攻击。隐匿区域采用近邻位置坐标生成,由于采用位置坐标均值计算,使得虚假位置更接近人群集中的地方,这种方式可以使真实位置对应的场所与隐匿区域对应场所一致性,可以有效抵御针对用户行为模式的攻击。由于隐匿区域和推荐区域是同一个圆心,所以在有效抵御隐私攻击同时又可以为用户提供优质的推荐服务。

附图说明

[0024] 图1是本发明应用的个性化推荐系统的结构示意图;
[0025] 图2是本发明基于位置隐私保护的个性化推荐方法一种具体实施方式流程图;
[0026] 图3是形成隐匿区域的示意图;
[0027] 图4是隐匿区域与推荐区域关系图;
[0028] 图5是本发明中均值坐标位置点 的轨迹图;
[0029] 图6是连续查询时位置攻击示意图;
[0030] 图7是最大速度攻击示意图;
[0031] 图8是第三方所能接收到的查询用户位置轨迹图;
[0032] 图9是无背景知识情况下与位置K匿名算法保护度对比图;
[0033] 图10是有背景知识情况下与随机K-匿名隐私保护度对比图;
[0034] 图11是位置隐匿对推荐准确率影响图。

具体实施方式

[0035] 下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0036] 图1是本发明应用的个性化推荐系统的结构示意图。
[0037] 在本实施例中,个性化推荐系统的工作过程如下:
[0038] ①、查询用户向位置服务器发出位置服务请求,将自己的位置服务请求经过加密处理后发送给位置服务器。其中查询用户的私钥信息只有自己知道,查询用户与位置服务器之间是经过加密处理的可靠通信。
[0039] ②、位置服务器对接收到的位置信息、服务信息进行解密,并根据的真实位置信息和隐私保护程度生成隐匿区域。
[0040] ③、位置服务器将求得的隐匿区域、服务请求信息一起打包发送给应用服务器。
[0041] ④、应用服务器将接收到的服务请求信息query,结合用户历史购买商家记录,对推荐区域Z1内商家排序即获得个性化推荐列表,并发送给查询用户。
[0042] 图2是本发明基于位置隐私保护的个性化推荐方法一种具体实施方式流程图。
[0043] 在本实施例中,如图1所示,本发明基于位置隐私保护的个性化推荐方法,其特征在于,包括以下步骤:
[0044] 步骤S1:根据查询用户位置生成隐匿区域
[0045] 步骤S1.1:位置服务器接收查询用户发送位置服务请求Q={P0(x,y),c,query},其中,P0(x,y)为查询用户真实位置,(x,y)为其坐标,c为用户设置的隐私保护程度,c>1,query为用户发送的服务请求信息。
[0046] 在本实施例中,x,y是用于坐标的经纬度。查询用户位置为成都市成华区牛王庙,其经纬度为(104.099962,30.651244),发送位置服务请求到位置服务器,位置服务器根据查询用户位置生成隐匿区域Z0,具体为:
[0047] 位置服务器(Location Based Service,简称LBS)接收查询用户发送的位置服务请求,接收信息是Q={P0(x,y),c,query},其中,P0(104.099962,30.651244)是查询用户真实位置,c为用户设置的隐私保护程度,c>1,query为用户发送的服务请求信息,在本实施例中,query是用户发送的请求附近饭店信息。
[0048] 步骤S1.2:以查询用户真实位置P0(x,y)为圆心,半径为dmax生成隐匿区域Z0,其中,半径dmax=R×c,R为位置服务器设置的保护系数。
[0049] 位置服务器接收到位置服务请求后开始对查询用户真实位置进行隐匿运算,以P0(104.099962,30.651244)为圆心,半径为dmax生成隐匿区域Z0,其中dmax=R×c,在本实施例中,设置保护系数R=0.5km,隐私保护程度c=2,位置服务器将生成一公里半径范围内的隐匿区域Z0。
[0050] 步骤S1.3:判定隐匿区域Z0域内用户真实位置P0(x,y)的近邻位置点个数n是否满足n>k,若不满足则需要随机插入k-n个位置点,其中,k为隐匿区域所需位置点数,根据具体实施情况确定。在本实施例中,k确定为10。
[0051] 步骤S2:以根据用户真实位置P0(x,y)近邻位置点重新计算隐匿区域[0052] 步骤S2.1:位置服务器随机选定隐匿区域Z0的k=10个近邻位置点;
[0053] 步骤S2.2:得到k=10个近邻位置点的坐标,并计算坐标均值,通过公式[0054]
[0055] 得到均值坐标位置点 其中,xi,yi为k位置点第i个的坐标。在本实施例中,均值坐标位置点 的坐标为(104.099692,30.650444)。
[0056] 步骤S2.3:位置服务器以均值坐标位置点 为圆心,dmax为半径,重新生成隐匿区域Z′0,并把整个隐匿区域Z′0作为用户当前位置发送给应用服务器,同时,将服务请求信息也发送给应用服务器。
[0057] 步骤S3:推荐用户附近商家
[0058] 步骤S3.1:应用服务器将隐匿区域Z′0半径至Dmax,生成推荐区域Z1;
[0059] 步骤S3.2:应用服务器根据查询用户发送的服务请求信息query,结合查询用户历史购买商家记录,对推荐区域Z1内商家排序即获得个性化推荐列表。
[0060] 在本实施例中,应用服务器在对商家进行排序前,需要对商家的特征和权重进行训练得到。抽取应用服务器数据库中购买人数较多的1000个商家,分为正负例样本(购买的为正例样本、浏览没购买的为负例样本),抽取商家特征,特征包括是否停车、面积、价格、用户评分……等,然后利用逻辑回归算法的随机梯度下降法对正负例样本进行训练,得到商家的特征和权重。
[0061] 在本实施例中,如图3所示,左侧圆形区域是以查询用户真实位置P0为圆心一公里半径范围内的隐匿区域Z0,随机选定隐匿区域Z0的k=10个近邻位置点(用X表示),形成右侧圆形区域是以均值坐标位置点 为圆心一公里半径范围内的隐匿区域Z′0。
[0062] 在本实施例中,将隐匿区域Z′0半径至Dmax=3km,生成推荐区域。推荐区域与隐匿区域的关系如图4所示,图4中内圆形区域是隐匿区域,半径为dmax,包括隐匿区域在内的半径为Dmax的整个圆形区域为推荐区域。推荐区域可以描述为用户均值坐标位置点 为圆心,一个半径为Dmax圆形区域,隐匿区域也是一个以用户均值坐标位置点 为圆心的圆形区域,用用户均值坐标位置点 代表整个隐匿区域的位置,虽然用户位置被隐匿,但是对查询用户的推荐服务是一个与隐匿区域有很大重叠的圆形区域,所以说,对查询用户位置隐私保护的同时还能给查询用户提供优质的推荐服务,保证数据的可用性。
[0063] 在本实施例中,将应用服务器把用户均值坐标位置点 三公里范围内所有的饭店分为分为正负例样本(购买的为正例样本、浏览没购买的为负例样本),抽取商家特征,特征包括是否停车、面积、价格、用户评分……等,然后利用逻辑回归算法的随机梯度下降法对正负例样本进行训练,得到商家的特征和权重,最后获取查询用户的历史记录,得到查询用户历史购买商家记录,对推荐区域Z1内商家排序即获得个性化推荐列表。
[0064] 图5展示了在三个不同时刻,当查询用户发送位置服务请求,隐匿区域Z0与基于均值坐标位置点 形成的轨迹,圆心位置(黑原点)是查询用户真实位置P0,黑三角形是生成的隐匿区域Z′0的圆心 二者不同,从而隐匿了查询用户的位置。
[0065] 位置K匿名算法是一种普遍采用的位置隐私和查询隐私保护方法,该方法就是把查询用户在一定区域范围内与其他k-1个用户一起发送给位置服务器,这样就难以判断出真实的查询用户。位置K匿名算法对单个查询用户位置的隐私保护效果不错,但是不适合连续查询。图6是连续查询攻击:当攻击者截获查询用户不同时刻位置查询信息,通过观察不同时刻申请查询中包含的不同位置,对查询用户位置连续时刻查询求交集,从而算出查询用户的真实位置信息。
[0066] 如图6所示:攻击者通过对位置信息四个时刻发起连续查询,t1时刻查询匿名位置信息得到的是(A,B,D,E,F),t2(A,B,G,C,D),t3(A,B,C,E,G),t4(A,C,E,G,F)。在这些位置点中要找出A,虽然每次查询只能得到一个匿名集,不能分辨出到底是谁发起的位置请求,但是通过对这四个时刻查询的位置集合求交集就能辨认出A。
[0067] 图7是最大速度攻击示意图,它是背景知识攻击的一种,在T1时刻用户C发起位置查询,随后便生成两个假位置点A、B,并生成匿名区域S1;在T2时刻用户C再次发起位置查询,同样生成匿名区域S2。如果这时候攻击者获取到用户的交通方式,从而可以大致推断出用户的速度为V,根据速度可以求得用户在T1带T2时刻能够到达的最大范围P,从而可以推理出P与S2的交集便是用户能够去到的真实区域,进一步得到真实位置点C。通过本发明对位置坐标隐匿处理,可以很好的防御连续查询攻击和最大速度攻击。
[0068] 图8展示的是经过本发明处理后,第三方接收到的查询用户的位置轨迹信息,由于本发明对用户位置进行泛化处理,第三方只能接收到查询用户的位置信息为圆形的隐匿区域,其圆心位置是均值坐标位置点 而查询用户真实位置P0被隐匿,攻击者无法确定该真实位置。
[0069] 通过发明提出的基于位置坐标均值算法对查询用户真实位置P0隐匿处理,采用基于Shannon熵理论来衡量算法的匿名程度,首先给出香农熵的定义:
[0070] 设随机变量x是有限集合X中的取值,那么随机变量x的熵的定义为:
[0071]
[0072] p(x)为当变量值为x时的概率。攻击者对隐私信息发起攻击,成功攻破隐私信息为一个事件集X,攻击者成功识破某个用户的隐私信息是事件集中的某一个事件x,那么隐私保护程度就可以通过攻击者成功攻击用户的信息熵来度量。位置K匿名算法在传统的位置隐私保护中是应用最为广泛的算法,实验将本发明和位置K匿名算法在隐私保护度上来度量。
[0073] 当无背景知识时,攻击者能够成功获得用户位置信息的概率:
[0074]
[0075] 如果设置Q为攻击者拥有的单条轨迹的背景知识的权重值,1≤Q≤n。攻击者可能掌握区域内某些位置点的背景知识,那么掌握背景知识的节点位置隐私被攻击者成功获取的概率为Q/n+1或Q/k+1,设m为一次查询中在匿名区域内攻击者掌握的背景知识的节点个数,攻击者不通过背景知识能够获得用户位置信息的概率为:
[0076]
[0077] 式中Qi表示攻击者根据第i个用户掌握的,当权值Qi=1时,表示攻击者没有掌握任何有用的背景知识,Qi=n表示攻击者已经掌握足够的背景知识完全能够确定用户的位置信息。通过计算概率,根据信息熵来度量隐私保护程度,熵值越大表示隐私保护程度越好。
[0078] 图9为攻击者在没有掌握背景知识情况下,本发明与位置K匿名算法的隐私保护度对比,这里的隐私保护度是依靠上文提到的信息熵来表示,横坐标k表示位置K匿名算法中k个近邻节点,纵坐标H/bit表示信息熵的值。当攻击者掌握一定的背景知识时,本发明与位置K匿名算法的隐私保护度对比图如图10所示。从图10中可以看出,在攻击者无背景知识情况下,本发明的隐私保护度是强于位置K匿名算法。
[0079] 推荐准确率可以定义为:提取出的正确的信息条数除以提取的信息条数,由于本发明是分类算法实现的推荐系统,准确率可以定义为:提取出的正类样本个数除以提取的总个数。为了衡量位置隐匿处理后对推荐系统的影响,所以将没有隐匿处理和通过隐匿处理后的推荐准确度进行对比,如图11所示:图11中为五次发起推荐请求,将有位置隐匿情况下推荐的准确率和无隐匿情况下进行对比,从图中可以看出,隐匿处理后的数据对推荐准确率的影响并不大,推荐准确率始终可以保持在90%以上。
[0080] 尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。