◆乔 雨
(南京工业大学浦江学院 计算机与通信工程学院 江苏 211200)
计算机技术的快速发展让人们获取信息的成本更低、方式更多样化,而随着信息的爆炸式增长,信息超载成为海量数据使用过程中的一大难题,为此产生了搜索引擎(如谷歌、百度等)和推荐系统(如电商平台的“猜你喜欢”模块、互联网平台中的广告智能推送业务等)这两种主流的信息过滤技术,它们对解决信息超载的问题做出了巨大的贡献。这两种技术最明显的区别在于前者是由用户主动输入关键词进行搜索,而后者则是主动向用户推荐其可能需要的信息[1]。推荐系统(Recommender Systems)的实现原理是通过分析特定的数据(包括书籍、文章、电影、音乐、网站浏览记录等)来定位用户的信息需求,并生成相应的推荐结果帮助用户做出选择。但是,推荐系统能够实现精确的推荐效果的前提是需要事先收集大量的用户信息,通常信息越丰富,推荐结果的精确度就越高;从另一个角度来看,若对用户数据进行深度挖掘和分析会对用户的隐私造成严重的威胁。因此,出于对用户隐私保护和数据安全的考虑,在推荐过程中加强对隐私数据的保护显得格外重要,这也成为推荐系统领域一个迫切需要解决的问题,也受到相关学者和专家的关注和重视。
本文从隐私保护的技术实现角度出发,对该方向的研究进展和发展趋势进行介绍和分析,首先阐述了两种主流的推荐系统产生推荐的原理,再分别对协同过滤推荐系统和上下文推荐系统中的隐私保护策略进行归纳总结,为日后的进一步研究提供参考依据。
协同过滤的概念在1992 年首次提出后被应用到推荐系统中,经过多年理论研究和工业应用,协同过滤推荐已经成为推荐领域应用最广泛的技术[2]。协同过滤推荐是通过收集用户相关信息来建立用户喜好模型;然后寻找与目标用户相似的邻居用户,根据邻居对项目的喜爱程度进行信息的协同过滤,进而产生推荐;这里的用户相关信息是指用户的历史购买记录、具体的评分值等能够反映用户偏好的行为信息。同时,“在线协同-离线过滤”是协同过滤的工作特点,“在线协同”是指通过线上的数据找到目标用户可能喜欢的项目,“离线过滤”则是过滤掉一些不值得推荐的数据,例如用户已经购买过的或者评分低的项目数据。
上下文推荐系统与传统的推荐系统相比,融入了上下文维度的数据进行推荐,这一维度的信息包括位置、时间段、心情、使用的设备类型等场景信息,在建立用户喜好模型时会充分考虑上下文状态信息对用户个性化需求的影响程度[3]。基于上下文的推荐系统深入地挖掘了“用户-项目-上下文”三者之间的潜在关系,利用用户所在的上下文状态来提高推荐的精确度和推荐的时效性,大大提升了用户体验。目前,上下文推荐系统已成为推荐系统领域重要的研究方向。
Westin 等人认为隐私是指个人或团体有权控制、编辑、管理并删除关于自己的信息,自己有权决定在何时或者以何种方式将个人信息公开给他人[4]。该定义中强调了信息所有者对自我信息数据的控制权,应该让用户拥有控制自己信息数据的权利(如收集哪些数据、为什么收集这些数据、自己的数据将被如何使用等),但也并不是完全不能被第三方使用。文献[5]认为隐私就是个人所拥有的,且他人无权搜集、保留和使用的权利的信息资料集合,它只能按照拥有者的意愿在特定时间、以特定方式、在特定程度上公开。该定义强调了隐私保护的主体实际上是对个人隐私的保护,其保护的目的则是防止个人的隐私数据被泄露或者被滥用。
然而,根据推荐系统产生推荐的三个主要步骤:(1)基于用户的个人信息和行为信息挖掘出用户可能的兴趣点;(2)根据项目的内容信息或者被评价的信息提取项目的特征;(3)将用户的兴趣点与项目的特征点进行匹配,并将匹配程度最高的信息推荐给用户。从这三个基本步骤的实现过程可以看出,这三个阶段中都涉及到个人的隐私数据,如收集用户的个人基本信息、个人兴趣偏好、个人浏览行为和内容,并且在未经用户许可的情况下对个人信息进行了处理、传输、存储、计算等。所以,由于推荐系统的特殊性,一方面需要大量的用户信息来保证推荐的精确度和高效性,而另一方面大量获取和使用用户的个人信息会增加用户个人隐私泄露的风险[6]。因此,如何在推荐系统的高准确性要求和隐私保护的要求之间找到一定的平衡是目前推荐系统隐私保护问题研究的难点之一,即如何实现在帮助用户获得高效的个性化信息服务的同时,也能为用户的隐私信息提供可信的保护,降低隐私泄露的风险。
随着互联网技术日益发展,作为互联网中的主体----网民对于个人隐私的保护意识也不断增强,因此,无论是人文方面还是商业应用方面都将隐私保护作为一项重要的研究议题。目前社会对隐私保护采取的主要措施是通过立法来完善隐私保护的法律法规;个体方面通过加强自我隐私保护的意识,不随意向外界透露个人信息[7]来降低隐私泄露的风险;技术角度则是通过加密算法等手段对用户的敏感信息进行隐藏,增强抵御外界的恶意攻击能力,要求信息不容易被攻击者获取,同时还能够将信息的丢失控制在一个较低的级别,从而实现数据价值的最大化利用。
(1)基于数据的模糊方法
协同过滤推荐系统中的隐私保护方法常用基于数据的模糊方法,比如随机干扰方法[8]和匿名分组方法[9]。文献[8]提出了运用随机扰乱的数据变换技术,将经过随机扰乱的数据发送到服务器进行运算,并利用协同过滤的方式产生推荐;在这种模式下,服务器获取的并不是真实的用户评分,而是被随机修改后的数据,这种方式在一定程度上能够保护用户的隐私数据。Li 等人[9]提出了t 维渐进隐私保护方法,该方法的核心是在等价类中对敏感属性的分布进行匿名处理,并且处理后的敏感属性总体分布维数不能超过t,在保护分组中敏感信息的同时,还能保证它们在语义上的多样性。
这两种方法的核心思想是要求数据只有经过加工处理才能移交给推荐服务提供方进行使用,并产生对应的推荐;这实际上是将推荐服务提供方看作是不可信任的,利用随机干扰方法虽然能够有效保护用户的真实行为信息,但也会增加推荐系统无法产生有效推荐结果的风险;匿名分组方法虽然能够将个人的行为信息按照一定的规则泛化,但良好的泛化效果需要建立在用户的信任关系上[10]。文献[11]就是基于推荐服务提供方不可信的前提,提出了一种能够实现隐私保护的协同过滤推荐框架,能够为用户提供自定义的代换密码机制,实现了对重要信息的个性化加密效果,达到保护隐私的目的。
(2)数据加密方法
数据加密的方法就是使用加密技术对推荐过程涉及的数据进行加密,通过这样的方式来保护数据不被轻易获取和非法使用。文献[12]在P2P(peer to peer)的应用场景下,设计了一个基于安全多方计算的协议,该协议通过加密技术对数据进行处理,使得用户的隐私数据不用直接暴露地展示出来,并利用SVD 技术和极大似然技术产生推荐结果。文献[13]在文献[12]的基础上进行了改进,优化了同态加密技术的复杂性,实现了增量计算的可能,进一步提高了算法实现效率。
(3)差分隐私保护法
DWork 团队提出差分隐私的概念重点关注数据的安全性保护,他们首先提出完全安全的概念,又通过图灵模型证明了完全保护是不可能实现的,进而引出了差分隐私保护的概念。差分隐私的主要目的是限制原始数据集的查询结果与某条记录相邻数据集之间的差异级别,这样攻击者就无法根据数据集查询的结果来判断目标用户在数据集中是否存在,即使所有的背景知识都是已知的情况,目标用户的隐私也能够受到保护。
MsSherry 等人[14]将差分隐私保护的方法在协同过滤推荐系统中进行使用,使用方式是在建立项目的相似度矩阵时,向矩阵中加入噪声干扰,然后再分析项目之间的相似性,最后将数据应用到推荐系统产生推荐结果。文献[15]则基于协同过滤推荐系统提出了一种基于差分隐私保护的k 近邻算法,用于改善相似邻居计算过程中所面临的隐私泄露问题。此外,针对基于标签的推荐系统,文献[16]将差分隐私保护的思想应用于用户画像的构建,能够在保证推荐准确度的同时达到保证用户隐私的目的。但是,当数据量比较大时,使用该方法会引入大量的噪声反而覆盖了原来的数据,导致数据的可用性急剧下降。同时,差分隐私的计算复杂度较高,该缺点也限制了其在实际中的应用范围[17]。
(1)数据加密方法
文献[18]中提出的JPH(Jeckmans Peter and Hartel)协议,该协议分为线上和线下两部分,分别在适当的时候对数据进行加密,然后再产生推荐;但仍有来自不可信的服务器、邻居标签和非邻居标签等方面的威胁;因此,该文献中还采用了随机加密策略,即在加密的过程中,通过随机选取标签值或者设置权重来减少上述不可信的威胁程度。因此,对用户和项目数据进行加密的方法能够在一定程度上保证数据的安全性,但是并不适用于用户和项目数量规模较大的场景。
(2)基于数据模糊的方法
在上下文推荐系统中应用的数据模糊方法,与协同过滤推荐系统的应用原理类似,都是通过在原始数据中增加噪音来实现隐私数据的保护,这种方法一般不会有太复杂的处理过程,且效率较高;不同之处在于融合上下文信息的推荐系统中,在收集上下文数据时也要进行信息的模糊处理,以保护用户的各方面隐私信息。但是,这类方法也存在着明显的缺点,特别是在如何定义隐私保护的级别、如何评价数据模糊的程度等方面值得更深入地研究[19]。
(3)差分隐私保护。
文献[20]将差分隐私引入到频繁模式的挖掘过程中,使得自顶向下的树状划分过程在支持top-n 频繁模式挖掘的基础上,也保护了原始数据中的敏感信息。文献[21-22]中提出的DiffP-C4.5方法和Diff Gen 方法是将差分隐私保护技术与分类技术进行结合,同时考虑了树型结构中各节点上属性分割的问题来更好地进行数据预测和分析。
用户的实时位置信息是基于上下文推荐系统中非常重要的影响因素之一,但是,位置信息若被泄露将严重影响着用户的隐私安全。基于这一方面,文献[23]中将位置因素纳入上下文情景中来产生推荐,设计了一种基于敏感位置的隐私保护方法。位置推荐服务器首先对用户发送的位置服务请求进行解析,然后生成初次的推荐结果;利用设置好的隐私保护级别对推荐结果进行敏感位置的匹配,再将匹配到的敏感位置进行隐藏。经过实验证明,该方法能够在保证推荐效率的基础上实现对敏感位置数据的快速隐藏,从而起到隐私保护的作用。
隐私保护作为推荐系统中一项不可忽略的议题,近年来对其的研究还处于探索的阶段,虽然出现了很多隐私保护的技术,但是若想要进行隐私保护的同时还能保持较好的推荐效果,未来还有待做进一步深入地研究。例如,保证用户数据使用的透明性方面,如何通过技术手段让用户能够清晰地看到自己的个人数据被使用的过程,以此来提升用户与系统之间的互信程度;另一方面,不同的用户对于不同种类的个人信息会持不同的态度,那么如何实现针对不同用户,定制化地进行隐私保护策略的制定,使得系统能够快速地适应各类用户,从而实现真正的个性化服务。