一种基于差分隐私的用户社区挖掘方法及系统

文档序号:26280477发布日期:2021-08-13 19:37阅读:87来源:国知局
一种基于差分隐私的用户社区挖掘方法及系统

本发明涉及网络通信技术领域,特别涉及一种基于差分隐私的用户社区挖掘方法及系统。



背景技术:

位置社交网络中,移动客户端通过按时间顺序连接用户访问的位置数据而生成移动轨迹序列。位置社交网络服务器接收到用户上传的轨迹数据信息,首先利用数据分析方法挖掘出具有相似兴趣或者偏好的用户。然后,将这些用户聚类为一个社区。最后,同一个社区内的用户能够互相分享感兴趣的内容(例如:旅行路线、风景名胜或者娱乐信息等)。并且,这种轨迹社区发现方法能够促进当今流行的互联网应用的发展,包括:个性化服务推荐、内容分发以及智能交通系统等。但是,用户在享受互联网所提供的便利的同时,不可避免地会遭受个人隐私泄露的风险。不可信第三方通过攻击位置社交网络服务器,窃取用户真实的移动轨迹数据,从而挖掘出用户的个人隐私信息(例如:家庭住址、工作地点等),甚至推理出用户的一些生活习惯以及行为模式,严重威胁了用户的人身安全。因此,隐私保护成为服务推荐的前提,只有保证了服务的可信性,才能提高位置社交网络中用户的服务体验质量。

个性化服务推荐与隐私保护之间存在一种矛盾,即:位置社交网络服务器必须获取更多用户真实数据信息,才能给用户推荐满足其个性化需求的位置服务;同时,位置社交网络必须隐藏更多用户真实数据信息,才能保护用户的个人隐私,防止其敏感数据信息被不法分子窃取。因此,位置社交网络下隐私保护方法的共同目标是:不仅能够预防用户的个人隐私泄露,而且能够提供满足用户需求的以及准确度高的位置相关服务。也就是说,位置社交网络需要保证其服务的安全、可靠以及可控可管。这将是一项具有挑战性的工作,尤其是如何实现隐私保护与数据效用之间的平衡。

现有的技术方案主要通过数据匿名或数据加密技术保护用户的敏感信息泄露,更极端的是采用抑制技术,将用户轨迹数据中的敏感信息去除后,再上传到中心服务器。但是,中心服务器需要尽可能多地收集用户的有效信息,才能为用户推荐满足其需求的个性化服务,这样就造成隐私保护与服务推荐之间无法实现有效的协同。



技术实现要素:

为了解决隐私保护与服务推荐之间的协同问题,提高系统可靠性,并为用户推荐满足其兴趣与偏好的个性化服务,本发明提供了一种基于差分隐私的用户社区挖掘方法及系统,解决了实际环境中隐私保护技术导致的数据可用性低的问题。

本发明的技术方案是这样实现的:

一种基于差分隐私的用户社区挖掘方法,其步骤如下:

步骤一:根据用户的原始移动轨迹将泛化移动轨迹序列分段为泛化轨迹段,并构建泛化轨迹段的距离函数;

步骤二:从地理空间和语义空间上分别量化泛化轨迹段之间的相似度权重,并根据相似度权重构建最优泛化轨迹段选取模型;

步骤三:利用生成算法对最优泛化轨迹段选取模型进行优化,得到泛化后的轨迹序列,其中,生成算法包括位置泛化矩阵生成算法和轨迹序列函数生成算法,位置泛化矩阵生成算法是将基于拉普拉斯分布的噪声添加至位置泛化矩阵生成阶段,轨迹序列函数生成算法是将基于指数分布的噪声添加至轨迹序列函数生成阶段;

步骤四:将泛化后的轨迹序列发布到中心服务器,中心服务器根据轨迹之间的语义距离与地理距离计算两条轨迹序列之间的潜在距离,并根据潜在距离挖掘出位置社交网络中潜在的用户社区。

所述将泛化移动轨迹序列分段为泛化轨迹段的方法为:按照用户访问位置的时间先后顺序,将原始的轨迹序列t划分为k个轨迹段lij;根据原始轨迹序列的划分方式,将原始轨迹序列对应的泛化移动轨迹序列t*划分为k个泛化的轨迹段

所述泛化轨迹段的距离函数的构建方法为:

构建原始轨迹段lij与泛化轨迹段之间的垂直距离平行距离和夹角距离分别为:

其中,loci代表一个用户的真实位置点,代表位置loci对应的泛化位置点;表示从真实位置点loci到真实位置点loci+1的向量,表示从泛化位置点到泛化位置点的向量;d⊥1表示真实位置点loci到轨迹段的距离,d⊥2表示真实位置点loci+1到轨迹段的距离;d||1表示从映射点loc′i到泛化位置点与从映射点loci′到泛化位置点的欧氏距离的最小值,d||2表示从映射点loc′j到泛化位置点与从映射点loc′j到泛化位置点的欧氏距离的最小值;表示轨迹段lij的长度,θi表示原始轨迹段lij与泛化轨迹段之间的夹角;loc′i表示真实位置点loci在轨迹段上的映射点,loc′j表示真实位置点locj在轨迹段上的映射点;

构建原始轨迹段lij与泛化轨迹段之间的地理距离

其中,ω⊥表示垂直距离的权重值,ω||表示平行距离的权重值,ωθ表示夹角距离的权重值。

所述从地理空间和语义空间上分别量化泛化轨迹段之间的相似度权重的方法为:

计算地理空间上的泛化轨迹段之间的相似度权重:

其中,ci表示地理空间相似性的权重,表示位置点loci泛化到位置点的概率;

计算语义空间上的泛化轨迹段之间的相似度权重:

其中,cij表示语义空间相似性的权重。

所述最优泛化轨迹段选取模型的构建方法为:

表示位置点loci的集合,表示轨迹段lij的集合,对应的表示泛化位置点与的集合,对应的表示泛化轨迹段的集合;定义两个决策变量如下:

其中,xi表示泛化位置点选取的决策变量,yij表示泛化轨迹段选取的决策变量,表示泛化位置点与泛化位置点组成的轨迹段;

构建的最优泛化轨迹段选取模型如下:

其中,表示集合中不包含元素i的集合,即:

将基于拉普拉斯分布的噪声添加至位置泛化矩阵生成阶段的方法为:

计算一个位置点loci泛化为另一个位置点的概率,如果位置点loci与位置点属于同一个语义类型,则其泛化概率为1,如果位置点loci与位置点属于不同的语义类型,则其泛化概率为0,从而生成初始的位置泛化矩阵其中,h(i1,j1)表示地理空间相似性的权重,i1=1,2,…,n,j1=1,2,…,n;

对于位置泛化矩阵中的任意元素,若i1==j1,即h(i1,j1)←0;若i1≠j1,利用基于拉普拉斯分布的噪声lap(1/∈l)更新h(i1,j1)中,即h(i1,j1)←p[type(i1),type(j1)]+lap(1/∈l);其中,type(i)表示语义类型i,type(j)表示语义类型j,∈l表示位置泛化矩阵生成阶段的隐私预算;

将更新后的h(i1,j1)的值进行归一化处理,得到差分隐私保护的位置泛化矩阵。

将基于指数分布的噪声添加至轨迹序列函数生成阶段的方法为:

初始化泛化轨迹序列

对于原始轨迹序列t中的任意位置点loci,从差分隐私保护的位置泛化矩阵中选择候选位置点

计算原始轨迹段lij与泛化轨迹段之间的距离并计算轨迹段lij泛化为另一个轨迹段的分数值:

其中,表示候选轨迹段的集合,u(·)表示打分函数;

计算打分函数的全局敏感度δf:

根据全局敏感度δf计算候选轨迹段的集合中每一个轨迹段的指数分布的噪声

根据指数分布的噪声构建差分隐私保护的轨迹序列函数:

其中,表示概率分布,s(l)表示随机选取一条轨迹段,∈s表示轨迹序列函数生成阶段的隐私预算;

根据计算的概率分布值从候选轨迹段的集合中选择泛化后的轨迹序列。

所述轨迹之间的语义距离的计算方法为:

其中,表示轨迹序列与轨迹序列之间的语义距离,表示轨迹序列中包含的轨迹段个数,表示轨迹序列中包含的轨迹段个数,表示轨迹序列与轨迹序列中匹配的轨迹段个数,i'、j'均为轨迹序列的序号;

所述轨迹之间的地理距离的计算方法为:

其中,为轨迹序列与轨迹序列之间的地理距离,表示轨迹段与轨迹段之间的地理距离;

基于地理距离和语义距离计算两条轨迹序列之间的潜在距离:

其中,为轨迹序列与轨迹序列之间的潜在距离,α1表示地理距离的权重值,α2表示语义距离的权重值。

所述根据潜在距离挖掘出位置社交网络中潜在的用户社区的方法为:将第一条轨迹序列加入到社区c1中,并计算第二条轨迹序列t2与社区c1中的轨迹序列之间的潜在距离,当第二条轨迹序列t2对应的潜在距离不超过阈值θt,将轨迹序列t2加入到社区c1中,否则,创建第二个社区c2,并将轨迹序列t2分配到社区c2中;对于第n条轨迹序列tn,计算第n条轨迹序列tn与每一个社区中轨迹序列之间的潜在距离,并根据第n条轨迹序列tn对应的潜在距离将第n条轨迹序列tn划分到k个不同的社区内。

一种基于差分隐私的用户社区挖掘方法对应的挖掘系统,包括地理位置感知模块、位置泛化矩阵生成模块、轨迹序列函数生成模块、泛化轨迹序列生成模块、轨迹聚类模块和用户社区挖掘模块;地理位置感知模块分别与位置泛化矩阵生成模块、泛化轨迹序列生成模块相连接,泛化轨迹序列生成模块分别与位置泛化矩阵生成模块、轨迹序列函数生成模块和用户社区挖掘模块相连接,用户社区挖掘模块与轨迹聚类模块相连接;

地理位置感知模块用于感知用户所访问的地理位置数据;

位置泛化矩阵生成模块用于提取目标用户实际位置对应的泛化位置;

轨迹序列函数生成模块用于将轨迹段组合成轨迹序列;

泛化轨迹序列生成模块用于提取目标用户实际轨迹序列对应的泛化轨迹序列;

轨迹聚类模块用于将不同地理距离和语义距离的轨迹序列分类;

用户社区挖掘模块用于从不同用户的轨迹序列中发现具有相似特征的用户社区。

与现有技术相比,本发明产生的有益效果为:本发明可以实现隐私保护的用户社区发现,同时利用差分隐私保护方法量化隐私保护强度,提高系统可靠性与可控性,为未来基于位置的社交网络中支持隐私保护的个性化位置推荐提供有益的解决思路。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的流程图。

图2为发明的轨迹段距离函数设计示意图。

图3为本发明的用户社区发现算法原理示意图。

图4为本发明的挖掘系统框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1,如图1所示,一种基于差分隐私的用户社区挖掘方法,具体步骤如下:

步骤一:根据用户的原始移动轨迹将泛化移动轨迹序列分段为泛化轨迹段,并构建泛化轨迹段的距离函数;轨迹泛化的目的是找到一条与原轨迹序列相似的轨迹序列。为了更好地描述两条轨迹之间的地理距离,首先需要将轨迹序列分割为若干条轨迹段。本实施例按照访问位置的时间先后顺序将轨迹进行分段;将原始的轨迹序列t划分为k个轨迹段lij;根据原始轨迹序列的划分方式,将原始轨迹序列对应的泛化移动轨迹序列t*划分为k个泛化的轨迹段

如图2所示,泛化轨迹段的距离函数的构建方法为:

构建原始轨迹段lij与泛化轨迹段之间的垂直距离平行距离和夹角距离

其中,loci代表一个用户的真实位置点,代表位置loci对应的泛化位置点;表示从真实位置点loci到真实位置点loci+1的向量,表示从泛化位置点到泛化位置点的向量;d⊥1表示真实位置点loci到轨迹段的距离,d⊥2表示真实位置点loci+1到轨迹段的距离;d||1表示从映射点loc′i到泛化位置点与从映射点loc′i到泛化位置点的欧氏距离的最小值,d||2表示从映射点loc′j到泛化位置点与从映射点loc′j到泛化位置点的欧氏距离的最小值;表示轨迹段lij的长度,θi表示原始轨迹段lij与泛化轨迹段之间的夹角;loc′i表示真实位置点loci在轨迹段上的映射点,loc′j表示真实位置点locj在轨迹段上的映射点;本实施例只考虑在0<θi≤π/2的条件下,完成泛化轨迹段的生成过程。

构建原始轨迹段lij与泛化轨迹段之间的地理距离

其中,ω⊥表示垂直距离的权重值,ω||表示平行距离的权重值,ωθ表示夹角距离的权重值。实际情况下,位置社交网络可以根据不同的服务类型决定ω⊥、ω||以及ωθ的不同取值。

步骤二:从地理空间和语义空间上分别量化泛化轨迹段之间的相似度权重,并根据相似度权重构建最优泛化轨迹段选取模型;

为了在地理空间以及语义空间上挖掘出与原始轨迹段相似的泛化轨迹段,本实施例分别计算语义空间相似性与地理空间相似性的权重如下:

其中,ci表示地理空间相似性的权重,表示位置点loci泛化到位置点的概率;cij表示语义空间相似性的权重。

所述最优泛化轨迹段选取模型的构建方法为:

表示位置点loci的集合,表示轨迹段lij的集合,对应的表示泛化位置点与的集合,对应的表示泛化轨迹段的集合;定义两个决策变量如下:

其中,xi表示泛化位置点选取的决策变量,yij表示泛化轨迹段选取的决策变量,表示泛化位置点与泛化位置点组成的轨迹段;

构建的最优泛化轨迹段选取模型如下:

其中,表示集合中不包含元素i的集合,即:公式(9)的目标函数是实现泛化的轨迹序列与原始的轨迹序列之间总的距离最短,即:差异最小。第一个约束条件规定了序列的连续性,第二个约束条件是规定了xi和yij的取值范围。

公式(9)对应的问题可以被看做为节点带权重的斯坦纳树问题,并且该问题已被证明是np-hard。本实施例提出了一种启发式算法来解决该问题,也就是步骤三中说明的轨迹序列函数生成算法。

步骤三:利用生成算法对最优泛化轨迹段选取模型进行优化,得到泛化后的轨迹序列,其中,生成算法包括位置泛化矩阵生成算法和轨迹序列函数生成算法,位置泛化矩阵生成算法是将基于拉普拉斯分布的噪声添加至位置泛化矩阵生成阶段,轨迹序列函数生成算法是将基于指数分布的噪声添加至轨迹序列函数生成阶段;利用差分隐私理论,本实施例可以量化隐私保护强度,提高隐私保护下数据的可用性。

位置泛化矩阵生成算法的主要思想是在输出的候选位置概率值上增加拉普拉斯分布的噪声,并且根据其噪声支持选择最优的泛化位置。尤其是,该算法能够根据原始轨迹序列的顺序挖掘出候选位置。假设历史位置数据集中有x个的位置,为了生成位置泛化矩阵,首先需要计算一个位置点loci泛化为另一个位置点的概率。在这里,定义如果位置点loci与位置点属于同一个语义类型,则其泛化概率为1,如果位置点loci与位置点属于不同的语义类型,则其泛化概率为0,从而生成初始的位置泛化矩阵。然后,根据全局敏感度δf计算初始泛化矩阵中每个元素的噪声支持。最终,生成差分隐私保护的位置泛化矩阵,并且该泛化矩阵中每一个元素的隐私预算均不超过∈l。

具体的位置泛化矩阵生成算法如下:

1)计算一个位置点loci泛化为另一个位置点的概率,如果位置点loci与位置点属于同一个语义类型,则其泛化概率为1,如果位置点loci与位置点属于不同的语义类型,则其泛化概率为0,从而生成初始的位置泛化矩阵其中,h(i1,j1)表示地理空间相似性的权重,i1=1,2,…,n,j1=1,2,…,n;

2)对于位置泛化矩阵中的任意元素,若i1==j1,即h(i1,j1)←0;若i1≠j1,利用基于拉普拉斯分布的噪声lap(1/∈l)更新h(i1,j1)中,即h(i1,j1)←p[type(i1),type(j1)]+lap(1/∈l);其中,type(i)表示语义类型i,type(j)表示语义类型j,∈l表示位置泛化矩阵生成阶段的隐私预算;

3)将更新后的h(i1,j1)的值进行归一化处理,得到差分隐私保护的位置泛化矩阵。

轨迹序列函数生成算法的主要思想是在输出的候选轨迹段打分函数上添加指数分布的噪声,以根据其噪音支持选择合适的泛化轨迹段。尤其是,该算法能够根据原始轨迹序列的顺序挖掘出候选轨迹段。为了生成泛化的轨迹序列,首先计算任何一个轨迹段lij泛化为另一个轨迹段的分数值。在这里,通过计算轨迹段lij与轨迹段之间的地理距离来计算其分数。然后,根据全局敏感度δf计算候选轨迹段集合中每一个轨迹段的噪声支持。最终,构建差分隐私保护的轨迹序列函数,并且使该轨迹序列函数生成的每一个轨迹段的隐私预算均不超过∈s。

具体的轨迹序列函数生成算法如下:

1)初始化泛化轨迹序列

2)对于原始轨迹序列t中的任意位置点loci,从差分隐私保护的位置泛化矩阵中选择候选位置点

3)计算原始轨迹段lij与泛化轨迹段之间的距离并计算轨迹段lij泛化为另一个轨迹段的分数值:

其中,表示候选轨迹段的集合,u(·)表示打分函数;

4)计算打分函数的全局敏感度δf:

5)根据全局敏感度δf计算候选轨迹段的集合中每一个轨迹段的指数分布的噪声

6)根据指数分布的噪声构建差分隐私保护的轨迹序列函数:

其中,表示概率分布,s(l)表示随机选取一条轨迹段,∈s表示轨迹序列函数生成阶段的隐私预算;

7)根据计算的概率分布值从候选轨迹段的集合中选择泛化后的轨迹序列。

步骤四:将泛化后的轨迹序列发布到中心服务器,中心服务器根据轨迹之间的语义距离与地理距离计算两条轨迹序列之间的潜在距离,并根据潜在距离挖掘出位置社交网络中潜在的用户社区。

所述轨迹之间的语义距离的计算方法为:

其中,表示轨迹序列与轨迹序列之间的语义距离,表示轨迹序列中包含的轨迹段个数,表示轨迹序列中包含的轨迹段个数,表示轨迹序列与轨迹序列中匹配的轨迹段个数,该匹配的轨迹段是通过对语义轨迹序列执行共同子序列挖掘算法而得出,两条轨迹序列包含的匹配轨迹段个数越多,两条轨迹序列越相似;i'、j'均为轨迹序列的序号。

所述轨迹之间的地理距离的计算方法为:

其中,为轨迹序列与轨迹序列之间的地理距离,表示轨迹段与轨迹段之间的地理距离;

基于语义距离与地理距离,计算两条轨迹序列之间的潜在距离:

其中,为轨迹序列与轨迹序列之间的潜在距离,α1表示地理距离的权重值,α2表示语义距离的权重值。因此,通过计算带权重的sd与gd,本实施例可以发现位置社交网络中具有较近潜在距离的用户社区。

如图3所示,根据潜在距离挖掘出位置社交网络中潜在的用户社区的方法为:将第一条轨迹序列加入到社区c1中,并计算第二条轨迹序列t2与社区c1中的轨迹序列之间的潜在距离,当第二条轨迹序列t2对应的潜在距离不超过阈值θt,将轨迹序列t2加入到社区c1中,否则,创建第二个社区c2,并将轨迹序列t2分配到社区c2中;对于第n条轨迹序列tn,计算第n条轨迹序列tn与每一个社区中轨迹序列之间的潜在距离,并根据第n条轨迹序列tn对应的潜在距离将第n条轨迹序列tn划分到k个不同的社区内。

如图4所示,实施例2,一种基于差分隐私的用户社区挖掘方法对应的挖掘系统,包括地理位置感知模块100、位置泛化矩阵生成模块200、轨迹序列函数生成模块300、泛化轨迹序列生成模块400、轨迹聚类模块500和用户社区挖掘模块600;地理位置感知模块100分别与位置泛化矩阵生成模块200、泛化轨迹序列生成模块400相连接,泛化轨迹序列生成模块400分别与位置泛化矩阵生成模块200、轨迹序列函数生成模块300和用户社区挖掘模块600相连接,用户社区挖掘模块600与轨迹聚类模块500相连接。

地理位置感知模块100用于感知用户所访问的地理位置数据;

位置泛化矩阵生成模块200用于提取目标用户实际位置对应的泛化位置;

轨迹序列函数生成模块300用于将轨迹段组合成轨迹序列;

泛化轨迹序列生成模块400用于提取目标用户实际轨迹序列对应的泛化轨迹序列;

轨迹聚类模块500用于将不同地理距离和语义距离的轨迹序列分类;

用户社区挖掘模块600用于从不同用户的轨迹序列中发现具有相似特征的用户社区。

实施例2提供的基于差分隐私的用户社区挖掘系统在进行隐私保护的用户社区发现时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,实施例2提供的数据传输装置与数据传输方法实施例1属于同一构思,其具体实现过程详见方法实施例1。

本发明通过将移动轨迹序列分段,构建轨迹段的距离函数;从地理空间和语义空间上量化轨迹段之间的相似度,建模并优化最优泛化轨迹段选取问题;在位置泛化矩阵生成阶段与轨迹序列函数生成阶段分别添加基于拉普拉斯分布的噪声与基于指数分布的噪声;将泛化后的轨迹序列发布到中心服务器,中心服务器根据轨迹之间的语义距离与地理距离,挖掘出用户社区。本发明提供的方案,可以实现隐私保护的用户社区发现,解决了实际环境中隐私保护技术导致的数据可用性低的问题,同时利用差分隐私保护方法量化隐私保护强度,提高系统可靠性与可控性,为未来基于位置的社交网络中支持隐私保护的个性化位置推荐提供有益的解决思路。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1