1、第 41 卷 第 1 期2023 年 1 月 广西师范大学学报(自然科学版)Journal of Guangxi Normal University(Natural Science Edition)Vol.41 No.1Jan.2023DOI:10.16088/j.issn.1001-6600.2022021104http:王利娥,王艺汇,李先贤.POI 推荐中的多源数据融合和隐私保护方法J.广西师范大学学报(自然科学版),2023,41(1):87-101.WANG L E,WANG Y H,LI X X.A multi-source data fusion and privacy prot
2、ection method of POI recommendationJ.Journal of Guangxi NormalUniversity(Natural Science Edition),2023,41(1):87-101.?POI 推荐中的多源数据融合和隐私保护方法王利娥1,2,王艺汇1,李先贤1,2(1.广西师范大学 计算机科学与工程学院,广西 桂林 541004;2.广西多源信息挖掘与安全重点实验室(广西师范大学),广西 桂林 541004)摘 要:随着移动定位技术的发展,兴趣点(point-of-interest,POI)推荐技术已经成为推荐领域中的研究热点之一。受限于用户的签
3、到能力,POI 推荐中存在严重的数据稀疏问题,而融合多源数据的 POI 推荐又面临着多重隐私挑战。涉及多来源的数据具有多样性、多元性等隐私特征,隐私泄漏机理更为复杂多样,其隐私保护问题更具挑战性。为此,本文提出一种基于注意力机制和隐私保护的多源 POI 推荐 MultiAM&PP_POI,能够在保护隐私的前提下有效提高 POI 推荐的精度。为了实现数据的有效融合,本文采用 LDA 主题模型提取用户在不同领域中的潜在特征,并利用注意力机制来自适应地训练,学习不同领域的潜在特征对 POI 推荐结果的影响,同时利用多层感知器来实现不同领域潜在特征的迁移。针对多源 POI 推荐中的隐私问题,本文利用联
4、邦学习框架将原始数据保存在本地,各参与方只需交互加密后的潜在特征,并改进了注意力机制和多层感知器,使其可在密文状态下完成训练,以保护用户隐私的安全。最后通过实验验证,本文模型能够在保护用户隐私前提下,相比单源联邦模型和其他跨域模型,在推荐精度方面分别提升 3.05 和 4.42 个百分点。关键词:兴趣点推荐;多源融合;注意力机制;隐私保护;联邦学习中图分类号:TP391 文献标志码:A 文章编号:1001-6600(2023)01-0087-15近年来,基于位置的服务(location-based serviced,LBS)与移动网络迎来了技术快速发展的时代。LBS技术因其覆盖范围广、定位精度
5、高等特点得到广泛应用。而与此同时,人们的日常生活也越来越离不开一些社交网络的应用,随着基于互联网的社交应用发展,人们的社交圈也逐渐脱离了地理因素的限制。而融合位置信息的社交网络(location-based social network,LBSN)也随着这些技术的发展逐渐成为人们日常生活中的重要应用。LBSN 服务允许用户在签到服务平台上向自己信任或熟悉的好友分享自己感兴趣的POI,而向用户提供 LBSN 服务的平台也可以通过收集用户的历史签到数据来分析他们的签到偏好,为其生成可能感兴趣的 POI 推荐,以提升用户的平台体验满意度。例如国外 FourSquare、Gowalla、Yelp 等平
6、台,以及国内大众点评、微博等,都为用户提供 LBSN 服务。但是,用户的签到数据受到地理和时间因素的限制,仍旧存在严重的稀疏问题,这是因为相对于传统的商品推荐中的购买数据来说,用户的签到能力是非常有限的,很多用户的签到轨迹可能只局限于某个位置附近的范围。而且 POI 推荐的时效性更强,因为用户通常在不同的时间段倾向于签到的 POI 也是不同的。例如在中午时段,用户就更加倾向于签到餐厅相关的 POIs。LBSN 服务平台的另一大特点就是允许用户在签到某个 POI 后对它的服务产生评论,这些评论在平台上是公开的,会在很大程度上影响未签到过该 POI 的用户对该 POI 的判断。并且,用户的评论中往
7、往包含着个人的情感因素,相对于单纯的 POI 签到数据来说,更能够反映出用户对某个 POI 的收稿日期:2022-02-11 修回日期:2022-07-27基金项目:国家自然科学基金(U21A20474,62262003);广西科技计划项目(桂科 AA22067070,桂科 AD21220114);广西自然科学基金(2020GXNSFAA297075);“八桂学者”工程专项;广西大数据智能与应用人才小高地项目;广西应用数学中心(广西师范大学)项目;广西区域多源信息集成与智能处理协同创新中心项目;广西多源信息挖掘与安全重点实验室系统性研究课题基金(19-A-02-02)通信作者:李先贤(1969
8、),男,广西桂林人,广西师范大学教授,博导。E-mail:广西师范大学学报(自然科学版),2023,41(1)看法。综上所述,针对 POI 推荐领域中的数据稀疏和冷启动问题,现有工作通常通过融合辅助数据的方法来丰富 POI 推荐信息,常用数据包括位置、时间以及用户的评论文本等1-3。但这些数据是基于 POI 的相关信息,仍旧会受到用户签到能力的影响。有研究者指出,可以通过融合其他领域的辅助信息来提高 POI推荐领域的精度,其中应用最多的就是用户的社交网络数据4-5,这是因为用户在日常生活中的签到偏好很容易受朋友的影响。很多研究表明,基于信任关系的推荐可以在一定程度上缓解数据稀疏的问题。但基于单
9、维度的数据融合,存在信息不全面,进而使得用户偏好存在偏斜的问题。为此,本文提出一种融合多源数据的 POI 推荐方法,通过多源辅助信息的融合,形成一个更为全面和完整的 POI 推荐模型。为方便描述,本文以融合用户的社交信息和电子商务领域的数据为例来进行说明。笔者认为除了社交信息之外,用户在电子商务领域的购买偏好也可以在一定程度上反映用户的签到偏好,比如一个人如果经常在电商平台上购买化妆品类的商品,那么当他到达一个商场时,他就更有可能签到与化妆品相关的商品服务。对于多源数据的融合,目前还存在 2 个方面的挑战:1)数据融合过程中的隐私问题。由于不同领域数据的自治性和隐私控制策略不同,数据中包含用户
10、个人信息甚至商业机密等隐私信息。而多源数据的融合基础就是数据共享与特征提取,因此如何在保证隐私安全的前提下,实现有效的数据融合已成为多源推荐中的关键瓶颈问题。2)不同领域的辅助数据对于 POI 数据的影响程度不同。虽然不同领域之间的数据都存在着某种关联,但关联程度却不相同,现有跨领域的 POI 推荐大多是通过指定线性的权重来控制不同因素对 POI 推荐结果的影响6,但指定的权重往往不能满足用户多样化的需求或不符合实际应用场景。因此,本文同时考虑多源数据之间的关联度和用户的隐私安全问题,在服务器端利用一个改进后的注意力机制和多层感知器(multi-layer perceptron,MLP)来实现
11、加密后的潜在特征分布7。一方面,在传输这些潜在特征分布时,本文采用同态加密方案8对原始特征分布加密后再进行传输,实现保护用户的隐私信息;另一方面,本文采用注意力机制来实现服务器的自适应训练,自动学习不同来源的辅助数据对 POI领域的影响程度,提高训练结果的准确性。本文的主要工作可以归纳如下:1)提出一种多源跨域 POI 推荐方法,通过融合多源辅助数据来缓解 POI 领域的数据稀疏和冷启动问题,采用深度学习技术来进行知识迁移以实现多源数据的融合,进而改善推荐质量。目前,已有工作提出了融合评论文本或者社交网络的 POI 推荐,但评论文本本身就是基于 POI 领域,仍然存在稀疏性和冷启动问题,而单一
12、的融合社交网络数据则是基于重叠用户的前提,存在一定的偏斜问题。本文融合多源数据的 POI 推荐,能够获得更为完整和全面的辅助信息,有效缓解数据稀疏和冷启动情况下推荐精确度不高的问题。2)为了保护多源数据融合过程中的隐私安全,本文集成联邦学习框架提出适用于多源跨域 POI 推荐的隐私保护方法,将不同领域的用户特征数据存放在本地,只上传提取的特征以实现数据的安全融合,同时利用同态加密方法在数据传输过程中保护用户的隐私,并设计能够适应密文数据训练的注意力机制和服务器端的神经网络进行模型训练,能有效保证整个模型训练过程中的隐私安全。3)考虑到不同辅助领域数据对 POI 推荐结果的影响程度不同,本文利用
13、注意力机制使得服务器端能够进行自适应的训练。现有工作主要通过指定一个线性的权重来控制不同因素的影响,但这往往不具有普适性。本文采用注意力机制自适应地训练多个辅助领域的影响权重,能够提高训练结果的质量。1 相关工作1.1 POI 推荐技术研究现状针对 POI 推荐中存在的数据稀疏性和冷启动问题,最自然的方法就是融入其他维度的信息,现有工作主要考虑 POI 在时间和地理位置上的 2 个相关维度。Pan 等9考虑用户在一定地理区域内的潜在隐性关系,该框架结合了用户偏好和个性化的地理社会影响;Stefancova 等10则主要考虑季节性和长期兴趣的88http:推荐,使得模型针对某个特殊的地理位置可以
14、在一定范围内显著提高推荐结果的质量;叶继华等11则考虑签到数据的时间影响和空间影响,通过序列的表示来融合数据的时间和空间维度信息,建立时空上下文信息的 POI 推荐模型(STCPR),为 POI 推荐提供了更精准的个性化偏好;陈炯等12则综合分析兴趣点的地理位置、分类偏好、流行度、社交与情感倾向等多维度影响因素,提出融合多因素的兴趣点协同推荐模型(GCSR)。其次,有研究者指出可以通过用户的评论文本融合来缓解 POI 签到数据的稀疏问题,因为评论文本通常可以反应用户真实的情感偏好。Da Silva 等13将用户评论的文本信息引入泊松矩阵分解框架中,同时考虑用户的信任关系;Chang 等14指出
15、传统的连续 POI 建模没有考虑 POI 之间的连续关系,单纯 POI之间的物理距离是不够的,并提出可以利用上下文信息来提高连续的 POI 签到推荐的精确度;也有研究者关注通过上下文信息的融合来缓解数据稀疏问题,如陈劲松等15提出一种多维上下文感知的图嵌入模型 MCAGE,利用主题模型获取用户和项目间的潜在语义特征,并重新定义了一系列图的节点及关联规则,设计更有效的用户偏好公式,以此提升刻画移动用户偏好的精准度。1.2 数据融合的 POI 推荐技术研究为了跳出 POI 数据的局限,有研究者指出可以基于其他领域的数据来丰富 POI 领域的数据。已有工作主要考虑用户的社交网络数据,这是因为 LBS
16、N 融合了社交网络数据与 POI 签到数据,利用社交网络中人与人之间的关系来为 POI 推荐提供辅助分析数据。夏英等6提出一种融合社交关系和局部地理因素的 POI 推荐算法。一方面,基于用户的社交关系和共同签到数据来度量用户的相似性,采用协同过滤方法构建社交影响模型;另一方面,基于局部范围内 POIs 间的签到相关性分析,建立局部地理因素影响模型;最后融合社交关系和局部地理因素以提高 POI 推荐的质量。刘真等16则认为 LBSN 中的签到、社交等信息具有丰富的上下文信息,可以基于其空间特性深入挖掘用户和 POI 之间的非线性交互,设计了一种谱嵌入增强的 POI 推荐算法 PSC-SMLP。任
17、星怡等17则充分考虑兴趣点的地理、文本、社会、分类与流行度等多维度信息,提出一种上下文感知的概率矩阵分解兴趣点推荐算法,将兴趣、地理、社会、分类的相关分数进行有效融合,从而生成推荐列表,给用户推荐其感兴趣的 POI 位置点。Zhang 等18提出一个可以同时发现用户签到行为的社会、序列、时间和空间模式的统一概率生成模型。Zeng 等19在建立用户-标签矩阵模拟用户多标签影响的同时,引入社会正则化项来体现社会关系对 POI 推荐的影响。此外,也有工作考虑到跨城市之间的关联推荐和其他领域数据的辅助关联,以此提高 POI 推荐的准确度。Li等20设计一个基于城市共同特征的迁移学习模型,将用户在其他城
18、市的兴趣偏好迁移过来用于目标城市的 POI 推荐分析。Ding 等21分析用户在家乡和旅游城市之间存在的签到特征关系,以及当地人与外地旅游用户签到特征的差异,提出一个基于用户签到特征迁移的 POI 推荐框架。Yin 等22则基于豆瓣网站数据分析用户的潜在偏好,融合 POI 数据生成一个新的概率生成模型。Wen 等23则首先采用 Word2Vec 模型对用户数据进行聚类,然后基于可加性马尔可夫链建模用户在聚类层次上的迁移行为。1.3 跨领域 POI 推荐的隐私保护技术研究郭旦怀等24指出传统的 POI 推荐通常将数据集中存储在一个服务器中,容易受到攻击,存在严重的安全隐患。现有的隐私保护方法主要
19、采用泛化25、差分隐私26、加密27等手段。张青云等28针对传统的 POI 推荐中的用户隐私信息容易被泄露的问题,提出采用差分隐私保护机制来实现用户信息在 POI 推荐过程中的隐私保护,防止被恶意攻击;沈鑫娣等29则提出一种基于局部敏感哈希(LSH)的隐私保护POI 推荐算法,通过 LSH 和 Paillier 同态加密技术在计算过程中保护数据隐私不被泄露,实现多个社交平台数据的安全融合,以提供更好的 POI 推荐服务。但这些方法并不适用于跨领域的 POI 推荐中,因为跨领域的 POI 推荐环境具有开放式特征,而且融合了多个不同领域的辅助信息,相对于单一的 POI 推荐面临着更为严重的隐私挑战
20、。针对分布式环境下 POI 推荐中的隐私问题,Chen 等30设计一种分布式的训练方法,将数据保存在用户本地,并采用随机游走技术对在不同客户端的用户数据进行分析,能够一定程度上保护用户的隐私安全,但该方法并没有考虑数据传输过程中的隐私风险;彭佳31则提出一个基于社交网络的去中心化矩阵分解模型,并将其应用到 POI 推荐领域中,针对梯度泄露的隐私风险,提出利用同98广西师范大学学报(自然科学版),2023,41(1)态加密算法对其加密后再进行传输,但该方法并没有考虑多源辅助数据的情况,以及数据关联带来的隐私风险。2 问题描述与预备知识2.1 问题描述数据稀疏问题是指给定一个目标用户ui,如果没有
21、足够的历史数据,就无法进行有效推荐。更为极端的是,如果该平台没有ui的历史数据,那么他就是一个冷启动用户,也称为冷启动问题。但当他多次使用平台服务时,该平台就可以基于收集的用户ui历史数据进行分析,建模其签到偏好并得到推荐列表,但由于数据的不完备性,推荐结果存在多样性缺乏等问题。针对 POI 推荐中的数据稀疏和冷启动问题,本文提出一个融合多源数据的 POI 跨领域推荐模型,利用多个辅助领域数据对缺失数据进行填补,以提高推荐结果的质量。同时,本文考虑数据融合过程中数据的隐私安全问题,集成联邦学习框架提出面向多源 POI 推荐的隐私保护方法,以保证隐私数据的安全。为了方便描述,下文中的辅助数据选取
22、常用的社交网络和电子商务数据进行多源数据融合。由于本文集成了联邦学习框架,用户数据存储在本地不上传,只上传特征数据以进行融合,因此,本文设计的隐私保护机制主要是针对特征数据在上传过程中的隐私安全。在联邦学习框架下,利用同态加密方案7对需要交互的用户隐私数据进行加密。服务器端接收到加密数据后,引用王启正7的方法对注意力机制和 MLP 神经网络进行改进,从而使服务器端可以在不解密的情况下训练注意力机制和 MLP 方法,减少同态加密模型的运行时间。2.2 预备知识2.2.1 相关定义定义 1 商业圈。假设某个用户ui当前所在的 POI 为 p,设定一个半径阈值 r,圆心是当前 POI 所在位置的坐标
23、(x,y),计算得到一个圆的面积范围 S=r2。为了便于描述,在下文中,将用户当前所在 POI 附近范围 S 称为“商业圈”。定义 2 兴趣点。兴趣点是指用户访问地点的唯一标识,例如咖啡馆、机场等。本文主要通过分析用户签到过的兴趣点的标签文本,获得用户的签到偏好,同时考虑兴趣点的时间和位置因素(经纬度坐标)。zw图 1 LDA 模型框架 Fig.1 LDA model framework 2.2.2 LDA 模型LDA 模型是一种自然语言处理模型,主要用来生成一篇文档中的主题分布,它是一个词袋模型,不考虑词语在文章中出现的顺序,大体框架如图 1 所示。2.2.3 同态加密同态加密是目前应用最广
24、泛的隐私保护技术之一,它能够在不解密的情况下,支持在密文数据上的运算,因此可以在无信息损失的情况下实现隐私信息的保护。为了方便理解,下面给出其形式化的定义。具有同态性质的加密函数是指 2 个明文 m1、m2满足加密函数D(E(m1)E(m2)=m1m2,(1)式中:E 表示加密算法;D 为相应的解密算法;m 表示明文;、分别对应密文和明文域上的运算。当代表加法时,称该加密为加同态加密;当代表乘法时,称该加密为乘同态加密。如果同时满足加法同态和乘法同态的算法则称为完全同态加密算法。在本文中,由于需要将客户端训练得到的特征加密后进行神经网络的训练,因此需要同时支持加法和乘法同态操作。在训练密态数据
25、时,引用王启正7的方法来改进激活函数,通过将传统神经网络的激励函数改进成多个连续的线性函数组成的分段函数,使得各个节点的值都能够映射到(0,1)内,并且通过控制线性函数中的斜率和偏移量来使得节点只对中间范围的值变化反应明显。该算法支持加法和乘法同态的概率加密算法,即使同一09http:个明文,不同次加密得到的密文也是不相同的。3 基于注意力机制的多源 POI 隐私保护推荐方法为了改善 POI 推荐的准确性和安全性,本文提出一个基于注意力机制的多源 POI 隐私保护推荐方法(以下简称 MultiAM&PP_POI)。相比单源 POI 推荐,多源推荐能够更好地缓解数据稀疏问题,同时也考虑了多源数据
26、与目标领域的关联程度不同的问题,采用注意力机制实现数据的有效融合,得到更为准确的特征分析,进而提高推荐质量。针对数据融合过程中的隐私问题,本文集成了联邦学习框架来实现具有隐私保护功能的多源数据融合和协同特征训练,将包含隐私信息的领域数据存储在本地,只需上传加密后的特征数据进行融合分析,即可基于数据之间的关联在密文状态下完成全局的协同训练。用户在 POI 推荐领域的签到偏好会受到好友的影响,并且用户在电子商务领域的购买偏好也能够在一定程度上反映用户的签到偏好。本文假设电子商务和 POI 推荐领域存在一个已知的共同用户集,基于该共同用户集可以融合电子商务和社交网络的数据,对 POI 领域进行填补和
27、预测分析,构建一个多源 POI跨领域推荐框架。同时本文考虑多源数据融合中的隐私问题,采用同态加密方案对潜在特征进行加密后再传输,并且在服务器端设计可以直接进行密文训练的注意力机制和 MLP 神经网络训练方法。为了能够更加真实地模拟现实的 POI 推荐场景,本文在进行辅助数据融合时,为了降低冗余数据的干扰,考虑不同领域的邻居相似度,并设置相似度阈值参数,只考虑相似度较高的邻居用户数据进行辅助分析,以提高准确度。在本文的多源辅助推荐模型中,由服务器向辅助领域发送数据请求,当辅助领域收到数据请求时,首先判断该目标用户在本领域的历史数据是否能够满足其辅助推荐的需求,分为数据充足和不足 2 种情况。当该
28、用户在本领域的数据足够时,基于本地数据计算该用户的潜在特征并发送给服务器端。当服务器收到多个辅助领域反馈回来的特征数据时,基于注意力机制进行特征数据融合,以精确捕获辅助领域数据的影响权重,从而获得更好的推荐性能。但当某个领域的数据不足,只有一个反馈特征数据时,则直接采用该特征数据进行分析并产生推荐。下面将分别以电子商务领域和社交网络领域数据为例介绍具体处理过程和算法。3.1 电子商务领域互联网高速发展时代,购物不再局限于实体商城,线上购物平台的发展为用户提供了更多便利。用户每天会在各种电子商务网站上产生大量行为数据,包括点击、浏览、购买、评论等。用户的点击、浏览行为属于隐式反馈数据,不容易实现
29、信息的迁移;购买行为数据往往只包括对某一个商品的签到情况;评论文本是用户在交易结束后对服务产生的评价,包含更多用户对商品或服务的感受。因此,本文选择以电子商务领域中的评论文本作为其中一个辅助领域数据,利用 LDA 模型来分析用户的潜在购买特征,主要包括主题词的概率分布和文本主题的概率分布 2 个部分。本文主要通过文本主题的概率分布来反映用户的潜在购买特征,结合 LDA 模型对用户的购买偏好概率分布进行分析,以提高推荐的精确性。本文在处理用户的评论数据时,考虑时间因素对于用户购买兴趣的影响。因为多项研究指出,用户的兴趣会随着时间的流逝而发生迁移变化,尤其是短期兴趣。为了有效区分用户兴趣是长期的还
30、是短期的,本文设计一种量化计算方法,具体来说,以季度为单位来考虑兴趣偏好,用户在不同季度内对不同的主题感兴趣,那么在不同季度内对不同主题分析得到的打分也就不同。当一个兴趣对用户来说是长期兴趣,那么它在多个季度内都会有得分,4 个季度的得分之和自然就会较大。反之,若属于用户的短期兴趣,它在某些季度内的得分就会很小甚至为零,那么 4 个季度的得分之和自然就会偏小。因此,本文用 4 个季度得分之和的大小来衡量用户的某个兴趣是长期还是短期,得分越大,该兴趣就越有可能属于用户的长期兴趣。具体购买特征分析处理方法如算法 1 所示。算法 1 购买特征的分析算法。输入:用户集 U 及其电子商务领域中的评论文本
31、 T、相似度阈值参数 s、数据阈值参数 r;19广西师范大学学报(自然科学版),2023,41(1)输出:用户在不同季度的潜在购买特征 EtkuSIMtkui。分季度的用户历史数据 WEtkuU,k=1,2,3,4;for uiin U if Tuir#评论文本满足分析需求查找相似度大于 s 的邻居用户 SIMui;用 LDA 模型分析邻居用户集分季度的潜在特征分布 EtkuSIMtkui并发回到服务器;else发送 token 标记给服务器表示数据不足 end if end for。在文本训练实验中,本文首先将评论文本进行预处理,将其转化为多个单词组成的向量,并用元组中的序号对每个序列中的单
32、词进行标识。算法 1 中数据阈值参数 r 的设置是为了过滤评论数据过少的社交邻居用户,在本文实验部分,将其设置为 30,也就是说,只采用文本长度大于 30 的社交邻居用户文本参与训练,以此来辅助提高社交数据的有效性。3.2 社交网络领域本文考虑以下 2 种不同情况下的推荐分析:1)冷启动用户。对于冷启动用户,由于其在目标平台没有任何历史数据,因此无法建模其兴趣偏好。基于好友往往存在相似偏好的这个假设条件,本文直接利用其在社交网络中的好友偏好数据进行分析,即直接选择其社交好友的潜在特征序列作为后续注意力机制训练的输入,也就是注意力机制的待查询向量q2和查询向量 Q。2)非冷启动用户。对于非冷启动
33、用户,首先采用 LDA 模型分析得到其潜在签到特征,然后采用余弦相似度来计算其社交邻居 v 的相似度。具体计算公式为simuv=cos Stkui,Stkv()。(2)式中:Stkui表示用户ui在季度tk内的词分布;Stkv则表示其好友 v 在季度tk内的词分布。选择相似度计算结果大于阈值 s 的用户,将其潜在特征序列作为目标用户 ui后续注意力机制训练的查询向量 q2。此时,注意力机制的待查询向量是该目标用户的历史潜在签到特征 Q。算法 2 基于社交网络数据的签到特征分析算法。输入:用户的社交数据Fui和 POI 签到数据、相似度阈值 s;输出:用户的潜在签到特征序列。if ui是冷启动用
34、户 for fuiin Fui;用 LDA 模型分析好友 fui在不同季度内的潜在特征分布StkfuiStkvFu;计算其好友集合的潜在特征分布StkvFu=(Stkfui),加密后发送给服务器端;else simuv=cos(Stkui,Stkv);用 LDA 模型分析相似度大于 s 的好友集合 Fus的潜在签到特征分布;将符合条件的好友 Fus分季度的潜在特征分布加密后发送给服务器端;end if。3.3 服务器端为了保护数据在传输过程中的隐私安全,本文采用同态加密技术对用户的潜在特征进行保护,可以防止服务器端通过主动分析收到的用户潜在特征获取用户的隐私。服务器端则主要包含注意力机制的训练
35、和 MLP 神经网络方法。因此,为了减少解密造成的运行时间成本,本文对传统的注意力机制和 MLP 方法29http:进行改进,使其能够适应密文数据的训练。3.3.1 注意力机制注意力机制的训练步骤如下:1)输入信息:注意力机制的输入信息主要包括查询向量和待查询向量,其中输入的待查询向量可以包含多个子向量,而查询向量则是需要预测的目标元素。本文采用注意力机制来自适应地学习多个辅助领域数据对于 POI 推荐领域的影响程度,以获得更好的推荐性能。但当用户是部分领域的冷启动用户时该领域可以直接忽略。2)计算注意力得分:本文采用 MLP 方法计算查询向量和待查询向量之间的相关性,即不同领域之间的注意力得
36、分。因为本文上传的特征数据是加密后的密文,而采用 MLP 方法能够使注意力机制的计算在密文状态下进行。本文借鉴文献7中的方法,并基于本文的场景对传统神经网络的非线性激活函数进行了改进,后文将验证该方法的有效性。3)Softmax 归一化:为了将所有待查询向量的注意力得分映射到0,1区间,本文采用 Softmax 函数实现归一化,具体公式为Softmax(x)i=exp(xi)jexp(xj)。(3)4)求加权平均:本文框架是用于多源跨域环境下,因此涉及多个辅助领域的特征数据。本文采用加权平均的方法利用上文计算得到的权重来计算最终 Attention 得分,具体公式为Att(q,X)=Ni=1a
37、ixi,(4)式中 ai是步骤 3 中的计算值,代表输入的待查询向量 X 中第 i 个子向量 qi与查询向量 Q 的相关程度。算法 3 注意力机制的训练算法。输入:算法 1 输出的潜在购买特征;算法 2 输出的潜在签到特征。输出:带权重的特征序列。if uiis ColdUser 查找其好友集合 Fui;将 Fui的潜在签到特征序列作为查询向量;else 将 ui的潜在签到特征序列作为查询向量;end if 将 ui的潜在购买特征 EtkuSIMtkui和其社交好友的潜在签到特征序列作为待查询向量StkvFu;用改进后的 MLP 方法计算各加密特征数据的注意力得分;对注意力得分采用 Softm
38、ax 函数进行归一化;对得分进行加权平均 Att(q,X)=Ni=1aixi;I1 return 带权重的特征序列。注意力机制的算法框架如图 2 所示,可以看到本文的待查询向量可以包含多个来自辅助域的特征数据,而查询向量 Query 也考虑了冷启动的情况。此外,本文采用 MLP 方法来计算各特征数据的注意力得分,使其能够适应密文状态下潜在特征的训练,虽然借鉴了文献7方法,但对激活函数进行了改进,可以在训练过程中节省大量解密数据的时间,能够在一定程度上缓解数据解密带来的计算压力。3.3.2 MLP 神经网络在服务器端训练 MLP 神经网络的目的是为了得到用户个性化的特征映射函数,以此来实现辅助领
39、域潜在特征的映射。因为用户在不同领域的特征虽然存在一定关联,但存在领域差异性。要实现更加精确的推荐,需要将多个领域的数据进行特征对齐。MLP 方法是特征对齐任务中一个经典方法,并对文献739广西师范大学学报(自然科学版),2023,41(1)中的激活函数进行改进,使它能够适应密文状态下的数据训练。E-CommerceSocialCheck-inq1q2Cold Start UserNon-Cold Start UserQueryF(q1,Q)F(q2,Q)Softmax 归一化AttentionValue*Value1Value2a2a1图 2 注意力机制算法框架Fig.2 Attention
40、 mechanism framework要实现本文中 MLP 的训练,首先需要满足用户在电子商务领域有辅助数据,因为当目标用户在电子商务领域辅助数据不足时,服务器端接收到不满足辅助推荐的 token 后,就会将目标用户的社交关系传输给 POI 推荐领域。在这里,本文将社交关系视为可公开的用户数据,也就是在传输过程中不需要进行加密。POI 推荐领域直接利用目标用户的社交关系为其产生推荐,即直接推荐该用户好友签到过的 POIs 或其兴趣相投的好友签到过的 POIs。当电子商务领域的数据满足辅助推荐时,注意力机制会根据不同领域的权重或影响的不同,而得到不同的训练结果。本文中以电子商务和社交网络为例,
41、算法 1 发送的是目标用户在电子商务领域分析得到的潜在购买特征序列,算法 2 发送的是其社交好友的潜在签到特征。存在以下 2 种情况:1)当目标用户的潜在购买特征序列权重较高时,可以将其相似共同用户的潜在签到特征作为输入训练得到 MLP 映射函数,同时将这些共同用户在 POI 推荐领域的潜在签到特征作为另一输入,得到该情况下的特征映射函数,并进一步得到该目标用户映射后的潜在购买特征。最终,服务器端将映射后的潜在购买特征发送给 POI推荐领域,再结合用户的社交关系进行最终的推荐。2)当算法 2 发送的目标用户好友的潜在签到特征权重较高时,本文将算法 2 发送的潜在签到特征同服务器端映射后的电子商
42、务领域的潜在特征进行结合产生推荐。由于此时目标用户在辅助域有历史数据,因此可以将 MLP 方法映射后的潜在购买特征与目标用户好友的潜在签到特征进行融合后产生推荐。3.4 POI 推荐领域已经有很多研究工作指出,用户的 POIs 签到受到严格的地理位置限制,更加倾向于签到当前位置附近的 POIs,因此本文根据 2.2.1 节的定义进行“商业圈”的划分。在 POI 推荐领域,本文主要分析用户的潜在签到特征,利用 LDA 模型分析用户历史签到记录的标签得到最终的签到特征向量,并且,根据 3.2 节中不同情况的数据融合,得到不同的好友潜在签到特征作为注意力机制的另一输入。最终,POI 推荐领域可以得到
43、服务器端映射后的潜在购买特征Etkui,以及目标用户好友的潜在签到特征StkvFui,并用式(5)计算得到用户ui对某个未签到过的 POI 的打分。rui,p=4k=1(Etkui+StkvFui)tkT,psimtkui,p。(5)式中:Etkui表示算法 1 输出的潜在购买特征序列;StkvFui表示算法 2 输出的其好友的潜在签到特征序列;tkT,p表示用户ui所在位置 p“商业圈”范围内的所有用户的历史签到偏好;和 分别为对应领域的权重参数;simtkui,p代表用户映射后的潜在购买特征分布与“商业圈”内的历史用户签到的偏好特征的相似度,这一系49http:数是为了更好地为用户匹配其在
44、某个“商业圈”内更感兴趣的 POIs。最终,为用户生成 Top-N 个“商业圈”内的个性化 POIs 推荐列表。4 算法分析本章主要对本文的算法进行安全性和复杂度 2 个方面的分析。4.1 安全性分析在本文场景下,假设服务器和参与者都不可信,服务器端可能会受到恶意攻击甚至主动泄露用户的隐私数据,而参与者会遵循一定的协议执行数据处理但也会尝试获取其他参与者的信息或进行合谋攻击。本文的安全目标是,在数据交互的过程中,参与者均无法获得或高概率地推断出非本地用户的隐私关联信息。由上文描述可知,为了保证特征在上传过程中的隐私安全,本文对本地提取的特征数据进行同态加密后再发送到服务器端。而该加密方案的安全
45、性依赖于求解非线性问题的复杂度。要加密一个明文 mi,需要求解一个包含 3 个未知数 q、s、ri的非线性方程ci=sd(riq+mi)mod p。由于未知数的个数大于已知参数,这是一个 NP-难问题,保证了攻击者无法通过计算该方程获得明文mi。因此,本文方案可以有效地保护特征数据在上传过程中的用户隐私。此外,为了保证服务器端能够在密文状态下完成数据处理,本文借鉴了文献7中的 MLP 方法,并且改进了其中的激活函数,使得服务器端的注意力机制和神经网络的训练能够在密文状态下完成。基于以上分析可知,本文方案能够有效保证用户数据的安全性。4.2 复杂度分析本文方案主要包括 3 个算法,其中算法 1
46、是电子商务领域的潜在特征分析算法,主要通过一个 for 循环来生成不同目标用户在不同季度中的潜在购买特征分布,因此,复杂度也会随着用户规模的扩大而扩大。在 for 循环中,其核心算法是不同季度内的 LDA 模型分析。LDA 模型的算法复杂度为O(NiterNUK),其中:Niter是模型的迭代次数;NU是所有用户的购买记录,也就是总的文档数;K 是模型的主题数。于是,划分了 4 个季度的 LDA 模型的复杂度为 O(4NiterNUK)。将分析得到的潜在特征分布发送给服务器端之前,本地的客户端需要对原始的潜在特征分布进行加密。已知选择的加密算法的复杂度是线性的,当存在m 个冷启动用户时,加密算
47、法的复杂度为 O(mn)。那么,算法 1 的复杂度即为 LDA 模型分析与加密算法的复杂度之和 O(4 NiterNUK+mn)|N|)。在算法 2 中,核心算法仍然是 LDA 模型的分析,并且不受目标用户规模的影响,因此,算法 2 的复杂度为 O(4 NiterNUK+mn)。在服务器端的训练则主要包括注意力机制和 MLP 特征映射的训练,由于注意力机制中计算注意力得分的核心算法采用与 MLP 特征映射训练相同的方法,使得注意力机制能够适应密文的训练。因此本文重点分析改进后能够适应密文训练的 MLP 算法的复杂度。假设神经网络的第一层为n1,第 i 层为ni,由于本文的神经网络是全连接的,那
48、么它处理一个数据的时间复杂度就是 O(n1n2+n2n3+ni-1ni)=O(n2(i-1)2)。本文需要进行特征映射的样本是冷启动用户的相似用户集,因此最终的算法复杂度为 O(msn2(i-1)2)。服务端将最终得到的数据加密后发送给 POI 领域进行推荐,加密算法复杂度为 O(mn)。于是,最终服务器端的算法复杂度为 O(msn2(i-1)2+mn)。5 实验结果与分析本文的实验环境为 Intel Core i7-7700 3.60 GHz,8 GiB 内存,Windows 7 操作系统。算法采用 Python 语言实现,运行环境是 Python3。5.1 实验设置本文实验选择电子商务领域
49、数据集 Epinions 和 POI 推荐领域数据集 FourSquare 来验证本文方法的性59广西师范大学学报(自然科学版),2023,41(1)能,其中,Epinions 数据集中包含 49 290 个用户的评论文本;FourSquare 平台下的数据集中则包含 22 743个用户签到过的 POIs 信息以及用户之间的社交关系。POIs 的相关信息主要包括 POIs 的标签、经纬度和签到时间。为了更好地模拟跨域环境,在本文的实验中,将 FourSquare 平台下的社交关系数据和 POI 签到数据分别视为 2 个不同领域的数据,将 POI 签到数据作为目标域,通过分析 POIs 的标签来
50、获得用户的签到偏好(例如 coffee、home、medical 等),并将 Epinions 数据集和 FourSquare 中的社交网络数据作为辅助数据。由于本文采用的同态加密方案在文献7中已经得到验证,故本文实验重点放在对比分析推荐结果的精度和模型的运行时间上。本文采用推荐系统中常用的评价指标精确度 P 和召回率 R 来度量本文推荐模型的性能,具体公式如下:P=UR(u)T(u)R(u);(6)R=UR(u)T(u)T(u)。(7)式中:R(u)表示最终的 POIs 推荐列表;T(u)代表用户实际签到的 POIs 列表;P 代表正样本结果的预测准确程度;R 则代表预测出的结果占用户真正签