背景技术
随着移动互联网技术的快速发展和智能移动设备的普及,越来越多的应用功能和服务请求将在智能移动手机上完成。在移动手机端的诸多应用都将使用到用户的地理位置信息或者移动轨迹,这些数据也为移动社交网络的社区发现和朋友圈构建提供了重要的信息支撑。微信应用的“附近的人”就是利用用户的地理位置信息来寻找合适的朋友。随着技术的进一步发展,用户可能愿意去寻找那些和他有着共同兴趣爱好的人,来建立共同的电子社区或者朋友圈。用户的位置移动轨迹便成为用户城市画像的重要基础数据,有着相似移动轨迹的人很有可能属于存在共同兴趣爱好的群体。简单举例,用户A习惯于每周六到某体育馆打羽毛球,每周日到某艺术馆看画展,如果用户B也是如此,那么通过用户A和B的移动轨迹,就能推断出他们有着共同兴趣爱好,可以建立社交关系。可见,手机App通过收集用户的移动轨迹来建立有着共同兴趣爱好的移动社交是未来的重要应用。
然而,这种应用的发展需要用户之间交换自己真实的位置移动轨迹。对于用户而言,位置变化数据牵涉到个人的隐私,很多用户并不愿意在建立合适的社交关系时将自己的移动轨迹透露给对方。因此,如何在实现隐私保护的前提下完成用户间移动轨迹相似度的对比是业界需要解决的问题。
发明目的
为解决上述问题,本发明通过将用户的移动轨迹量化成矩阵,基于轻量级的隐私同态技术,通过比对不同用户之间的移动轨迹相似度,来完成社交关系的建立,构建出保护隐私的相似度对比方案,最终目标是解决移动互联网开放平台中智能手机在保护用户位置隐私的前提下实现社交关系的应用服务。
本发明的技术方案具体为一种用户移动轨迹相似度比较的隐私保护方法,包含如下步骤:
步骤1、将用户的日常生活和工作区域划分成n个小区域,同时考察在n个用户自定义的单位时间段内的移动轨迹,每个时间段为K小时;
步骤2、记录用户在K小时内在每个小区域的停留时间,并统计形成用户移动行为轨迹矩阵;其中,矩阵的列代表1到n个单位时间段,矩阵的行代表1到n个小区域,第i行第j个元素tij代表在第j个单位时间段内用户在第i个区域所停留的时间占比,即对于给定的j值(1≤j≤n),
步骤3、设用户A和用户B的移动行为轨迹矩阵分别为与其中与的维度均为n*n:列向量Ai=(t1i,t2i,…,tji,…,tni)T,中的任意两列可交换位置;列向量Bi=(t1i,t2i,…,tji,…,tni)T,中的任意两列可交换位置;
步骤4、隐私保护服务器选取建立n维矩阵S,具体方法如下:
(1)选取大整数k、0≤q≤2n-1范围的整数q、范围的大质数g,设定一个最大值
(2)将整数q化成二进制值qnqn-1...q2q1,有
(3)根据q化成的二进制结果产生矩阵S,其对角线元素为其余元素为0;
(4)因为12mod g=1,(g-1)2mod g=(g2-2g+1)mod g=1,所以有
步骤5、隐私保护服务器产生随机n维矩阵M与M-1,且M*M-1=I,其中乘号*表示在modg的前提下进行矩阵乘法运算,运算结果均在整数群Zg中;
步骤6、用户A和用户B定期将自己的行为轨迹矩阵与上传给隐私保护服务器;
步骤7、隐私保护服务器将矩阵加密成{PA1,PA2},并将矩阵S和{PA1,PA2}发送给用户A,{PA1,PA2}计算方法如下:同理,隐私保护服务器将矩阵加密成{PB1,PB2},其中并将矩阵S和{PB1,PB2}发送给用户B,以此类推,每个用户i的移动轨迹就用加密后的{Pi1,Pi2}表示;
步骤8、用户A和用户B在保护自己位置移动轨迹隐私的前提下进行相似度比较,具体方法如下:
(1)当用户A希望测算自己的行为轨迹和用户B的相似度时,用户A在移动智能终端上发起请求,将其持有的{PA1,PA2}发送给用户B,用户B按照如下的方法计算A和B的相似度:
设矩阵P1主对角线元素组成的列向量为L1,矩阵P2主对角线组成的列向量为L2,则计算矩阵其中矩阵的开平方运算是对矩阵中每个元素进行开平方,矩阵的除法运算是被除数矩阵中的每个元素除以除数矩阵中的每个相应位置的元素;
(2)用户B选择RS矩阵中n个每一列的最大元素并求和,记为s,其实质为用户A、B各个时间段余弦相似度之和,考虑到时间占比均为正数,其范围必然在[0,n]之间,s值越大,代表两个矩阵所对应的各个单位时间段的停留时间占比向量方向更加一致,相应的相似度也越高,反之则相反;
步骤9、用户A可设定阈值x,当用户B计算s的结果大于x时,则和用户B建立社交关系,反之则不建立社交关系。
进一步,上述步骤2中对停留时间统计是以百分比表示形成用户移动行为轨迹矩阵。
步骤2中停留的时间占比就是所停留的时间除以K。
具体应用时,步骤9中所述阈值由用户根据实际的需求来设定。
与现有技术相比,本发明的有益效果:
1、对用户的位置移动轨迹在时间和空间两个维度上进行量化,构建出能够实现轻量级隐私保护的轨迹矩阵,降低了复杂性。
2、采用了轻量级的隐私同态技术实现了效能较高的相似度计算。
3、解决了移动社交网络中用户通过移动轨迹或者城市画像来挖掘共同爱好的安全性难题。
具体实施方式
现结合附图对本发明作进一步详细的说明。
本发明的方法流程主要分为两个阶段:首先完成在不同单位时间段内用户在其日常生活和工作区域的移动轨迹的收集和数据量化;然后引入了隐私保护服务器实现隐私保护,并最终对比出不同用户之间移动轨迹的相似度。现予以详细说明:
一、用户移动轨迹矩阵的构建
人们在日常生活和工作中的移动轨迹显然受到其社会属性的约束,地理位置上的变化规律往往能够反映出人们的社会属性。本发明拟采用矩阵的方式从时间和空间两个维度来表征用户的位置变化和移动轨迹,具体如图1所示。值得强调的是,手机App对于不同用户的小区域在生成矩阵时总是按照特定的顺序进行排列。
步骤1、将用户常在的生活和工作区域划分成n个小区域,同时考察在n个用户自定义的单位时间段(每个时间段不妨假设为K小时)内的移动轨迹。
步骤2、记录用户在自定义的单位时间段(共K小时)内在每个小区域位置的停留时间,并统计成百分比表示的用户移动轨迹矩阵;其中,矩阵的列代表1到n个单位时间段,矩阵的行代表1到n个小区域,第i行第j个元素tij代表在第j个单位时间段内用户在第i个区域所停留的时间占比(也即是所停留的时间除以K),即对于给定的j值(1≤j≤n),
步骤3、设用户A和用户B的移动行为轨迹矩阵分别为与其中与的维度均为n*n:列向量Ai=(t1i,t2i,…,tji,…,tni)T,中的任意两列可交换位置;列向量Bi=(t1i,t2i,…,tji,…,tni)T,中的任意两列可交换位置。
二、基于用户移动轨迹矩阵的相似度比较的隐私保护方法
基于用户移动轨迹矩阵,可以分析用户A和用户B在位置变化上的相似度,相似度大的用户可以认为在同一社群。但是位置轨迹对用户而言是隐私数据,下面将设计如何在隐私保护的前提下完成相似度比较。
步骤1、隐私保护服务器选取建立n维矩阵S,具体方法如下:
(1)选取大整数k、整数q(0≤q≤2n-1)、大质数此处设定一个最大值
(2)将整数q化成二进制值qnqn-1...q2q1,有
(3)根据q化成的二进制结果产生矩阵S,其对角线元素为其余元素为0;
(4)因为12modg=1,(g-1)2modg=(g2-2g+1)modg=1,所以有
步骤2、隐私保护服务器产生随机n维矩阵M与M-1,且M*M-1=I,其中乘号*表示在modg的前提下进行矩阵乘法运算,运算结果均在整数群Zg中。
步骤3、用户A和用户B定期将自己的行为轨迹矩阵与上传给隐私保护服务器。
步骤4、隐私保护服务器将矩阵加密成{PA1,PA2},并将矩阵S和{PA1,PA2}发送给用户A,{PA1,PA2}计算方法如下:同理,隐私保护服务器将矩阵加密成{PB1,PB2},其中并将矩阵S和{PB1,PB2}发送给用户B。以此类推,每个用户i的移动轨迹就用加密后的{Pi1,Pi2}表示。
步骤5、用户A和用户B在保护自己位置移动轨迹隐私的前提下进行相似度比较,具体方法如下:
(1)当用户A希望测算自己的行为轨迹和用户B的相似度时,用户A在移动智能终端上发起请求,将其持有的{PA1,PA2}发送给用户B,用户B按照如下的方法计算A和B的相似度:
设矩阵P1主对角线元素组成的列向量为L1,矩阵P2主对角线组成的列向量为L2,则我们计算矩阵其中矩阵的开平方运算是对矩阵中每个元素进行开平方,矩阵的除法运算是被除数矩阵中的每个元素除以除数矩阵中的每个相应位置的元素。
(2)用户B选择RS矩阵中每一列的最大元素(共n个)并求和,记为s,其实质为用户A、B各个时间段余弦相似度之和。考虑到时间占比均为正数,其范围必然在[0,n]之间。s值越大,代表两个矩阵所对应的各个单位时间段的停留时间占比向量方向更加一致,相应的相似度也越高,反之则相反。
步骤6、用户A可设定阈值x,当用户B计算s的结果大于x时,则和用户B建立社交关系,反之则不建立社交关系。
为便于本领域的技术人员进一步理解本发明,现提供以下的实施例。
移动智能手机用户小欢喜欢健身、唱KTV和看百科全书。最近四天,他每天9:00-12:00都到圣都大学图书馆看书,每天12:00-14:00都到圣都体育馆健身,每天14:00-17:00都到圣都之星KTV唱歌。小欢还喜欢使用手机App去寻找一些志同道合的人作为好友。移动智能手机用户小天喜欢唱KTV,健身以及看武侠小说。最近四天,他第1天9:00-11:00在圣都山景区游玩,11:00-14:00到圣都之星KTV唱歌,14:00-15:00到圣都大学图书馆看书,15:00-17:00到圣都体育馆健身;他第2天9:00-11:00在圣都大学图书馆看书,11:00-13:00在圣都山景区游玩,13:00-17:00到圣都之星KTV唱歌;他第3天和第4天9:00-12:00到圣都之星KTV唱歌,12:00-14:00到圣都大学图书馆看书,14:00-17:00到圣都体育馆健身。
一、用户移动轨迹矩阵的构建
步骤1、小欢和小天的生活和工作区域均划分成4个小区域,分别是圣都大学图书馆、圣都体育馆、圣都之星KTV和圣都山景区。每一天的黄金8小时为单位时间段(上午九点到下午五点),共持续4天。
步骤2、记录小欢和小天在每个单位时间段(共8小时)内在每个小区域位置的停留时间,并统计成百分比表示的用户移动轨迹矩阵;可知,该矩阵的格式为4*4阶方阵如下:
4*4阶矩阵 |
第1天黄金8小时 |
第2天黄金8小时 |
第3天黄金8小时 |
第4天黄金8小时 |
圣都大学图书馆 |
|
|
|
|
圣都体育馆 |
|
|
|
|
圣都之星KTV |
|
|
|
|
圣都山景区 |
|
|
|
|
步骤3、小欢的用户移动轨迹矩阵和小天的用户移动轨迹矩阵分别表示为与
其中,两个矩阵的各自任意两列均可交换位置。
二、基于用户移动轨迹矩阵的相似度比较的隐私保护方法
步骤1、隐私保护服务器选取建立4维矩阵S,具体方法如下:
(1)选取大整数k=52544、整数q=11(0≤q≤2n-1)、大质数 此处设定一个最大值其中,
(2)将整数q化成二进制值qnqn-1...q2q1具体为:1011,有
(3)根据q化成的二进制结果产生矩阵S,其对角线元素为其余元素为0,最终可得到
(4)因为12modg=1,(g-1)2modg=(g2-2g+1)modg=1,所以有经验证确实满足该条件。
步骤2、隐私保护服务器产生随机4维矩阵M与M-1,且M*M-1=I,其中乘号*表示在modg的前提下进行矩阵乘法运算,运算结果均在整数群Zg中,此处选择
步骤3、小欢和小天将自己的行为轨迹矩阵与上传给隐私保护服务器。
步骤4、隐私保护服务器将矩阵加密成{PA1,PA2},并将矩阵S和{PA1,PA2}发送给小欢,{PA1,PA2}计算方法如下:
同理,隐私保护服务器将矩阵加密成{PB1,PB2},其中
并将矩阵S和{PB1,PB2}发送给小天。
步骤5、小欢和小天在保护自己位置移动轨迹隐私的前提下进行相似度比较,具体方法如下:
(1)小欢在其移动智能终端上发起请求,将其持有的{PA1,PA2}发送给小天,小天按照如下的方法计算两人移动轨迹的相似度:
设矩阵P1主对角线元素组成的列向量为L1,矩阵P2主对角线组成的列向量为L2,小天计算矩阵其值为:
(2)小天选择RS矩阵中每一列的最大元素(共4个,分别是0.804、0.783、0.955、0.955)并求和,记为s,其值为3.496。考虑到时间占比均为正数,其范围必然在[0,4]之间。s值越大,代表两个矩阵所对应的各个单位时间段的停留时间占比向量方向更加一致,相应的相似度也越高,反之则相反。
步骤6、假设小欢设定阈值x=3.2,此时小天计算结果s大于x,则和小王建立社交关系,反之则不建立社交关系,此时小欢和小天建立社交关系。
需要说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明所限定的范围。