1. 引言
随着《“健康中国2030”规划纲要》的提出,近年来“全民健康”问题受到前所未有的关注,人们对自我健康管理的需求日益提高,各类在线健康社区也如雨后春笋般层出不穷。然而,在线医疗社区中存在大量资讯,用户很难快速获取有用信息,加之个体健康状况的差异,健康干预方案并不一定通用。因此,如何识别适合个人的健康干预方案并进行个性化推荐,以促进用户的健康管理是一个值得研究的问题,对于推进“健康中国”具有重要意义。
推荐系统一直备受学术界和企业界的关注,但在医疗健康领域的研究和应用相对较少。与现有主流推荐算法主要关注用户兴趣不同,在线健康社区推荐的健康干预方案不仅需要吸引用户兴趣,还需对其健康管理有效,才能促使其接受长期的健康干预。此外,在线健康社区用户对干预方案的兴趣还呈现出多样性的特点。如在肥胖症患者或健身人士的体重管理中,不仅需要合适的运动,还需要合理饮食以及必要的保健品。因此,在线用户可能同时对不同类型的健康干预方案感兴趣,需要多样化、综合性的推荐服务。
然而,现有大部分推荐算法仍以用户兴趣建模为主,通过对用户兴趣的表征学习,持续推荐其感兴趣的物品,未考虑物品的效用,从而导致过度消费的“诱导沉迷”问题。同时,在基于用户兴趣的推荐研究中,传统协同过滤算法主要根据用户或物品之间的相似性来预测兴趣,其表现出色并长期占据主导地位,但却难以捕捉用户和物品之间非线性的交互关系,也无法实现多样化推荐。随着深度学习在推荐研究中的广泛应用,现有基于用户兴趣表征学习的推荐算法主要通过深度神经网络学习得到用户嵌入向量以进行兴趣表征 [1] - [6] ,但是这种限定维度的嵌入向量表达能力有限,无法有效表征多样的用户兴趣。基于此,有研究融合了协同过滤思想,通过学习与目标用户相似的其他用户兴趣表征来扩展目标用户的潜在兴趣点,以增强用户兴趣的表达能力 [7] ,但这种方法仍存在协同过滤常见的问题,即难以确定相邻用户的数量,在相似用户数量很少时,该方法对用户兴趣的表达能力提升十分有限,并容易陷入冷启动和数据稀疏的困境,影响多样化兴趣学习的效果。此外,针对用户多样化的兴趣,待推荐的物品可能仅与其中的部分兴趣点相关,如果采用固定的、囊括所有兴趣点的用户兴趣表征向量,则容易忽略用户感兴趣但却交互较少的物品,如在线购物中的奢侈品等并不常购的商品。
因此,不同于主流推荐算法通常用于广告点击率预测以及在线购物等方面的推荐,本文专注于在线健康社区用户,研究如何向用户推荐既符合其兴趣又能有效改善健康状况的干预方案,包括表征多样化的用户兴趣,以及学习健康干预方案对于个体用户的疗效。以满足用户的偏好以及有效改善健康状况的需求,实现健康干预的个性化推荐。
2. 文献综述
2.1. 基于兴趣的推荐
基于协同过滤 [8] 的推荐是最经典、最常用的推荐方法之一。协同过滤算法学习用户与物品之间的交互历史,通过计算物品或用户之间的相似度来进行推荐,矩阵分解(MF) [9] 是其使用最广泛的技术之一。然而,协同过滤算法只能学习用户与物品之间浅层的交互,而如今推荐算法的结构已经从浅层向深层发展。LS-PLM [10] 和FM [11] 模型使用嵌入层学习稀疏输入,再将嵌入向量输入一个函数来学习特征之间的关系,可以被视为有一个隐藏层的模型;之后,DCN [1] 、WDL [2] 和YouTube推荐CTR模型 [3] 通过将函数替换为MLP,扩展了LS-PLM和FM,大大增强了模型能力;PNN [4] 通过product层来捕捉高阶特征交互嵌入层;DeepFM [5] 将因子分解机作为WDL中的“wide”模块,不需要进行特征工程。AFM [6] 则在传统FM模型中引入了注意力机制 [12] 用以区分无用的特征交叉。这些方法都遵循类似的模型结构,使用嵌入层学习稀疏特征的嵌入向量并用MLP自动学习特征之间的组合关系。腾讯在2021年提出的未来感知的多样化趋势推荐框架FAT [7] ,通过学习其他类似用户来为每个用户构建未来序列,从而学习出每个用户潜在的兴趣点。FiBiNET [13] 使用SENet [14] 注意力机制动态地学习特征的重要性,并结合了Inner Product以及Hadamard Product二者提出了Bilinear Feature Interaction方法,动态学习特征间的组合关系,突出用户感兴趣的特征。CCPM [15] 和FGCNN [16] 则将CNN应用在传统的结构化数据预测任务中,使用CNN学习特征组合。阿里提出的深度兴趣网络(DIN) [17] ,设计了一个局部激活单元来激活相关的用户行为,并获得针对给定广告的用户兴趣的自适应表示,以适应不同广告的变化,极大地提高了模型的表达能力。2019年,阿里在DIN的基础上又提出了DIEN [18] ,加入了门控循环单元(GRU)和注意力机制,可以依据用户历史序列捕捉实时兴趣并加强相关项的影响。
2.2. 基于效用的推荐
基于效用的推荐研究认为现有推荐系统忽略了一个很重要的问题,那就是推荐服务可以为用户带来的收益,缺乏对推荐的作用以及对用户的影响分析。因此,考虑效用的推荐研究主要从评估用户从推荐中获得的好处出发,构造效用模型以实施推荐。例如,Feng [19] 通过衡量物品效用来实现推荐。该研究将隐式的效用划分为物品属性层面的效用和物品整体层面的效用,以此建立效用函数,并结合遗传算法实现针对服装的推荐。Huang [20] 通过估计非线性的效用函数,衡量用户偏好并建立用户画像,以此预测用户的购物行为。研究表明指数型效用函数比线性函数更有利于实现物品排序的优化,因此更有助于提高推荐精度。Li等 [21] 将推荐转化为一个用户–物品链接预测问题,并基于物品的价值和成本估计物品的效用,以此推断用户–物品链接成立的可能性。Zihayata等 [22] 针对新闻领域提出基于效用的推荐算法,依据新闻特征(如时效性)和用户–新闻交互特征(如阅读时长),构建新闻效用模型,并基于此结合关联规则挖掘,生成新闻文章推荐规则和新闻主题推荐规则。Sangeetha等 [23] 通过评估推荐在用户隐私保护方面的效用,结合随机差分隐私方法,实现兼具高精度、隐私性和实用性的推荐。
2.3. 研究评述
现有基于兴趣的推荐研究忽略了物品的效用对用户兴趣的影响,基于最大效用原理 [24] ,用户往往会偏爱能为其带来最大利益的物品。此外,用户根据多种不同的需求,可能同时对多类物品产生兴趣,但现有基于兴趣的推荐模型主要通过表征学习获取表示用户兴趣的向量,这些向量大多都是预先设定好的、维度固定的,并不能有效地表达用户多样化的兴趣,从而难以精准地实现对多种物品的推荐。
现有基于效用的推荐主要从成本和代价的角度,建立效用模型。然而,用户对物品的兴趣也在一定程度上决定了该物品对用户的价值,但是现有基于效用的推荐模型在效用与兴趣的关系方面缺乏系统性的探究。
3. 融合效用与兴趣的健康干预推荐模型

Figure 1. Health intervention recommendation model structure
图1. 融合效用与兴趣的健康干预推荐模型结构
本文以多任务学习为基础,提出了一个面向在线健康社区用户的健康干预推荐模型,以融合用户兴趣与干预效用。模型的主要思路是:首先,根据其他用户采纳健康干预方案后的疗效反馈,对该方案总体效用进行表征学习;然后,整合目标用户基本信息以及其健康状况的特征,和待推荐健康干预方案基本情况以及该方案提出的健康行为特征,并计算每个特征对目标用户健康管理的重要程度,以此得到表达了目标用户的健康需求以及待推荐方案中各个健康行为对目标用户健康状况改善的有效性的用户需求与方案疗效融合表征;接着,提取目标用户过去采纳健康干预方案的历史行为向量,并将待推荐方案与目标用户历史行为之间进行交互,用以表征用户的多样化兴趣;再将待推荐方案对所有参与者的预计疗效特征和用户需求与方案疗效融合表征相连接,用于预测待推荐方案对目标用户可能产生的个体疗效;最后,结合用户的总体偏好与其多样化的需求,预测其对待推荐健康干预方案的决策。本文提出的融合效用与兴趣的健康干预推荐模型见图1。
3.1. 稀疏输入层和嵌入层
稀疏输入层将原始输入数据稀疏化表示,嵌入层将稀疏特征嵌入至低维、稠密的实向量中。由于需要将用户的健康状况和用户的历史行为序列输入到模型的不同部分,所以在稀疏输入层对用户的特征进行划分,分别是包含用户基本信息和用户实时健康状况的用户基本特征,以及用户历史行为序列特征。使用one-hot编码,对用户基本特征、用户历史行为序列特征和待推荐健康干预方案的特征进行表示,再乘以训练得到的特征矩阵:
(1)
由此获得每个特征对应的嵌入向量
,其中Ki表示第i个特征组的维度,
是D维度的嵌入向量。嵌入层总共得到i个用户基本特征嵌入向量、j个健康干预方案特征嵌入向量和一个长度为t的用户历史行为序列特征向量列表。
3.2. 干预方案总体疗效表征层
对于一个健康干预方案而言,其对所有参与用户的总体疗效越好,那么其对目标用户疗效好的概率也会相应的越高,然而由于在推荐阶段健康干预方案还没有结束,此时并没有健康干预方案对所有参与用户的总体疗效信息,因此本文模型加入了干预方案总体疗效表征层来根据待推荐方案的基本信息以及提出的健康行为来预测其对所有参与用户的预计疗效。本文将方案特征通过稀疏输入层和嵌入层后,利用深度神经网络学习该方案的疗效嵌入向量,以表征其总体效用。将健康干预方案的j个嵌入向量拼接后作为输入,得到p个疗效特征的嵌入向量。该层采用的是一个两层的全连接神经网络,隐藏层每个节点的激活函数均使用ReLU函数,公式如下:
(2)
其中1是深度,ReLU是激活函数,
、
和
是第l层的模型权重、偏差和输出。全连接神经网络每次输出一个稠密的特征向量作为预测得到的一个干预方案疗效的嵌入向量,经过p次循环后获得p个表示方案总体疗效的嵌入向量。
3.3. 用户需求与方案疗效融合表征层
公式本文引入SENet注意力机制(Squeeze-and-Excitation Network) [12] ,从用户和待推荐健康干预方案的特征集合中提取能对目标用户健康管理起到重要作用的特征,以此表征用户的健康需求以及待推荐的健康干预方案对用户的预计疗效。SENet是由Hu等人提出的一种注意力机制,基于卷积神经网络显式地建模学习特征通道之间的依赖关系,以此提高网络的表示能力。SENet分为:挤压、激励和重置权重三个步骤。挤压(Squeeze)主要是对每个特征组的嵌入向量进行汇总统计,使用池化操作,对原始特征组嵌入向量
进行压缩表示,从而得到统计向量
,其中
为第i个特征的嵌入向量,
为表示第i个特征的全局信息的一个数值。激励(Excitation)基于特征组的压缩统计量,通过两层的神经网络学习特征组的重要性权重向量
,其中
表示第i个特征的权重。重置权重(Re-weight)利用激励步骤得到的特征重要性权重,对原始的特征组嵌入向量重新赋权,新的嵌入向量
通过如下的方式计算得到:
(3)
SENet使用全连接层动态学习特性的重要性,增加了重要特征的权重,降低了非信息特征的权重。基于SENet注意力机制,计算用户特征和健康干预方案特征对用户健康管理的影响程度,由此得到的加权嵌入向量能更好地表征用户健康需求和方案预计疗效。在得到SENet的输出后,将p个干预方案总体疗效表征与其相连接,得到完整的用户需求与方案疗效融合表征。
3.4. 用户多样化兴趣表征层
用户过去采纳过的健康干预方案代表了其健康管理的兴趣,而这些历史行为数据中可能包含不同类型的干预方案,例如锻炼、节食、营养品摄入等,说明用户兴趣具有多样性。为了表征多样化的用户兴趣,本文加入又一重注意力机制,计算待推荐健康干预方案与目标用户历史行为序列中每一个采纳过的健康干预方案的相关性,并为用户历史行为嵌入向量赋予权重。以加权的用户历史行为向量,表征与待推荐方案相关的用户兴趣。在给定待推荐的健康干预方案A的情况下,用户对于A的兴趣表征如下:
(4)
其中
表示的是用户对于待推荐健康干预方案A的兴趣,
表示用户的历史行为,
是A的嵌入向量,
是与待推荐方案相关的权重,注意力模型用函数
表示,该函数使用一个全连接网络实现。
3.5. 干预方案个体疗效预测层和用户的健康决策预测层
干预方案个体疗效预测层和用户的健康决策预测层分别以待推荐健康干预方案对用户的预计疗效和用户选择待推荐健康干预方案的概率作为推荐目标进行预测。
健康干预方案的推荐讲求因地制宜,待推荐方案需要满足目标用户的健康需求,才可能起到改善和增强健康的作用。例如,对于肥胖症患者而言,大运动量的锻炼方案可能会给身体关节等部位带来较大的负担,反而不利于身体健康;对于健身人士而言,其更注重肌肉比例,单纯的节食方案并不适宜,反而需要增加高蛋白、低脂肪的食物摄入。因此干预方案个体疗效预测层将用户需求与方案疗效融合表征作为输入,通过全连接神经网络计算待推荐干预方案与目标用户健康需求的匹配程度,从而预测待推荐方案是否能改善目标用户的健康状况。
用户的健康决策预测层汇总用户需求与方案疗效融合表征层和用户多样化兴趣表征层输出的向量,进行连接和扁平化操作,再输入一个全连接网络对特征进行学习并得到最终输出,以预测目标用户是否采纳待推荐的健康干预方案。
两个预测层均使用三层的全连接网络进行预测,其中两个隐藏层各个节点的激活函数使用ReLU函数,输出层采用Sigmoid函数:
(5)
其中
表示最后一个隐层L到输出节点的权重向量,
表示最后一个隐层的输出向量,
表示输出节点的偏置。输出层最终的预测结果目标值为0和1,表示健康干预方案对用户健康状况是否有改善效果和用户是否对健康干预措施感兴趣即用户是否参与该健康干预措施,是为1,否则为0。
4. 实验设置
4.1. 数据集
本文提出的融合效用与兴趣的健康干预推荐模型以美国领先的非商业在线健身平台为研究平台搭建实验场景,以衡量本文所提出算法的推荐性能。该在线健身平台公开所有的健康干预方案数据以及未设置信息保密的用户的个人数据和历史行为序列。由于该社区用户的主要健身目标为降低体重,所以本实验使用“体重”作为用户健康状况的衡量指标。在线健身平台中的健康干预方案中通常包含多个具体的方案作为日常挑战,包括锻炼类方案和饮食类方案,常见的锻炼类方案有慢跑、做瑜伽等,常见的饮食类方案有多饮水、减少碳水摄入、多食用膳食纤维等。
经过数据爬取和整理,所采集到的信息包括:1) 爬取健康干预方案列表,获取每个健康干预方案主界面的URL;2) 根据健康干预方案列表,采集方案内容,包括:健康干预方案ID,方案的标题,方案的简介,方案的日常挑战内容与个数,方案的发布者,方案的开始日期,方案的持续时间,方案的参与人数以及参与者URL列表;3) 将所有健康干预方案中采集到的参与者URL合并成完整的用户URL列表;4) 根据用户URL列表,爬取未设置信息保密的用户个人信息,包括:用户ID,用户的简介,用户的关注数与被关注数,用户的发帖数,用户的体重变化;5) 对照每个健康干预方案的参与者列表,获得每个用户参与过的健康干预方案,得到用户历史行为序列列表;6) 将所得的列表整理为健康干预方案数据集合用户数据集。最终一共获得7606个健康干预方案和124,269个用户,共204,978个参与行为数据见表1,数据稀疏度为99.98%。其中,118,523个用户参与的健康参与方案个数不超过5个,约占95.38%;有67,771个用户公开了自己的个人信息,其中有29,763人体重降低了,占公开信息人数的43.92%。

Table 2. Statistics of input features of the data set
表2. 数据集的输入特征统计
本文模型的具体输入特征情况如表2所示。用户最近一次接受干预方案的效果特征为用户在接受了最近一次健康干预方案后体重变化情况,体重下降则表示疗效好,取值1,反之则表示疗效不佳,取值0。用户的历史行为序列为用户参与过的所有健康干预方案的id列表。健康干预方案的活跃用户比例特征为上报接受健康干预方案后的疗效的用户人数占参与人数的比例,疗效好的用户比例为活跃用户中疗效好的用户比例,这两个特征共同构成了干预方案总体疗效特征。
本文采用了文献中广泛使用的留一法 [25] [26] 来评估推荐效果,即从用户的历史行为序列中,按照时序选择最近一次参与的健康干预方案作为正样本,剩下的所有项目作为样本的历史行为序列特征;同时本文随机选取了三个与用户没有交互的方案作为负样本,通过同时学习正样本与负样本来更好的发现用户对于健康干预方案的需求与兴趣。
4.2. 训练集与测试集
本文采用留出法对数据集进行划分,对数据集内数据的顺序进行随机打乱后,将数据集划分成两个互斥的子集,其中80%的数据作为训练集,20%的数据作为测试集。
4.3. 评价指标
本文采用AUC和Recall两种评价指标来检验模型效果。
AUC (Area Under Curve)为ROC曲线下与坐标轴围成的面积,即正例排在负例前面的概率,在CTR预测领域,AUC是一种广泛使用的指标。它通过使用预测的CTR对所有广告(包括用户内订单和用户间订单)进行排名来衡量订单的优劣。AUC的公式为:
(6)
如公式(6)所示,
表示第i个样本,
表示第i个样本通过分类器预测得到的概率排序的序号,positiveclass表示正样本,M表示正样本个数,N表示负样本个数,通过先对预测概率进行排序,然后对正样本的排序序号相加,减去后面的常数项,最后除以M × N。
召回率(Recall)表示的是样本中的正例有多少被预测正确了,所有正例中被正确预测出来的比例,召回率的公式为:
(7)
如公式(7)所示,TP为模型正确判断出的正例个数,FN表示被模型误认为是负例但实际是正例的数据个数。
4.4. 损失函数
本文算法的目的有两个,分别是预测待推荐的健康干预方案对用户是否有好的疗效和用户是否会参与待推荐的健康干预方案,是则为1,不是则为0,这两个问题都是二分类问题,因此本文选用二元交叉熵 [25] 作为损失函数来更好的评估模型。二元交叉熵的公式为:
(8)
如公式(8)所示,y是二元标签0或1,
是输出的属于y标签的概率。
5. 实验结果分析
在面向在线健康社区的推荐系统的研究中,本文模型加入了对健康干预方案的疗效的预测来融合方案效用与用户兴趣进行推荐。由于推荐系统的目的是预测用户对推荐项目的点击率,因此本章实验主要以用户点击率为推荐目标进行分析,同时单独设计了实验对项目疗效进行分析。实验结果表明本文模型能够在显著提高待推荐方案疗效的同时提高用户点击率。
5.1. 实验平台
本次实验使用联想电脑,实验环境为Windows11操作系统,R5处理器,基于python3.9,使用Jupyter Notebook开发工具,实验均使用Keras版本2.6.0实现。
5.2. 模型敏感性分析实验
本文在在线健身平台数据集上研究融合效用与兴趣的健康干预推荐模型的对用户点击率预测的能力,通过保持干预方案个体疗效预测层的参数不变,改变用户健康决策预测层的超参数来,共训练10个轮次(epoch),每次训练的批量(batch size)为32,使用Adam优化器,学习率设置为0.001。本实验研究不同嵌入层大小以及全连接网络中不同层数的隐藏层对推荐效果的影响。结果如表3和表4示。

Table 3. Experimental results of different embedding layer sizes
表3. 不同嵌入层大小的实验结果

Table 4. Experimental results of different layers of hidden layers
表4. 不同隐藏层层数的实验结果
如表3所示,嵌入层大小过大或过小都会导致推荐性能的下降,当嵌入层大小为64时,模型的推荐效果最好。如表4所示,当隐藏层层数为2时,模型的推荐效果最好,继续增加影藏层层数反而会使模型推荐效果下降。因此,本文将融合效用与兴趣的健康干预推荐模型的嵌入层大小设置为64,用户健康决策预测层中隐藏层层数设置为2。
5.3. 消融实验
本文采用消融实验分别评估个体疗效预测层以及两个注意力机制对用户点击率预测的影响。
本节第一个实验去除了融合效用与兴趣的健康干预推荐模型中的个体疗效预测层,将这个模型与融合效用与兴趣的健康干预推荐模型进行推荐性能的比较;第二个实验分别去除了需求与疗效融合表征层的SENet注意力机制和多样化兴趣表征层的注意力机制以及同时去除了两个注意力机制,将这三个模型分别与融合效用与兴趣的健康干预推荐模型进行推荐性能的比较。结果如表5和表6所示。

Table 5. Results of prediction layer ablation experiments
表5. 预测层消融实验结果

Table 6. Results of attention ablation experiments
表6. 注意力机制消融实验结果
如表5所示,去除了个体疗效预测层后,AUC有所降低,召回率有所提高,总体推荐结果差别不大,这是因为在经过个体疗效预测层对方案疗效进行预测后,会提高用户未参与的疗效好的方案的预测值,降低用户参与过的但疗效不好的方案的预测值,导致召回率有一定提高。而由于用户在选择健康干预方案时会根据自身的健康状况选择更加合适的方案,在模型加入了个体疗效预测层后用户健康需求和方案疗效得到了更全面的学习,因此加入个体疗效预测层使AUC值有所提高。
如表6所示,任何一个注意力机制去除后均会使模型的推荐效果显著下降,同时去掉两个注意力机制后降至更低,这表明两个注意力机制都有着至关重要的作用。需求与疗效融合表征层的SENet注意力机制能够通过对健康干预方案和用户的特征进行高阶的特征交互,对目标用户的健康需求以及待推荐方案中各个健康行为对目标用户健康状况改善的有效性进行表征,这是用户是否选择一个健康干预方案的重要依据,因此添加需求与疗效融合表征层可以显著提高模型的推荐效果。多样化兴趣表征层的注意力机制通过学习用户过去采纳过的健康干预方案来提取其健康管理的兴趣,这些历史行为数据中可能包含不同类型的干预方案,注意力机制将不同种类的方案与待推荐方案相比较,得到用户对待推荐方案的兴趣,不仅能够显著提高模型的推荐效果,还能提高推荐结果的多样性。
5.4. 可视化
为了更好的观测模型各个部分在推荐中起到的实际作用,本实验对融合效用与兴趣的健康干预推荐模型进行可视化分析。本实验基于在线健身平台数据集,使用t-SNE对模型内的嵌入向量进行降维,并根据样本实际分类结果将结果投影到二维平面上。如图2所示,图中一个点表示一个〈用户,健康干预方案〉对,蓝色的点(标签为1)表示用户与健康干预方案之间有交互,红色的点(标签为0)表示用户与健康干预方案之间没有交互。图2(a)~(d)分别表示嵌入层,用户健康需求表征层,注意力层和用户健康决策预测层的输出的分类效果图。

Figure 2. Classification renderings of different layers in the model
图2. 模型不同层的分类效果图
从图2(a)中可以看出,此时的特征依旧处于未进行分类的原始状态,两类样本混合在一起;从图2(b)和图2(c)中可以看出,在经过用户健康需求表征层和用户多样化兴趣表征层对用户的需求和兴趣进行提取并加权后,同类的样本点开始聚集,非同类的样本点开始渐渐分化;从图2(d)可以看出,输出层的分类效果明显好于嵌入层和注意力层,两类样本点已经明显呈分离状。通过可视化实验,进一步证明了本文提出的融合效用与兴趣的健康干预推荐模型在健康干预方案推荐方面有良好的推荐效果。
5.5. 对比实验
为了验证算法的有效性,本文将融合效用与兴趣的健康干预推荐模型与现有的模型FiBiNET,DeepFM,NFM,WDL和DCN进行比较。对比实验使用在线健身平台数据集,各算法主要的参数设置和神经网络结构基本相同,训练10轮,学习率0.001,均使用AUC和召回率作为评价指标。
1) DeepFM [5] :基于FM的推荐算法,将深度学习与FM相结合,通过FM学习低阶特征组合,通过深度学习学习高阶特征组合。
2) WDL [2] :结合了传统的特征工程和深度学习,根据已有的对业务理解的经验去手动进行交叉来获得低阶特征组合,通过深度学习学习高阶特征组合。
3) NFM [27] :在FM的基础上引入神经网络,在嵌入层之后增加了Bi-Interaction操作来对二阶组合特征进行建模。
4) DCN [1] :对比WDL,不需要特征工程来获得高阶的交叉特征。对比FM系列的模型,DCN拥有更高的计算效率并且能够提取到更高阶的交叉特征。
5) FiBiNET [13] :在传统的嵌入加MLP模型上加入了SENet注意力机制,可以动态地学习特征的重要性,对于越重要的特征,将学习出更大的权重,并且减小不那么重要的特征的权重,同时结合了内积和外积来对交叉特征进行有效建模。
实验结果如表7所示,融合效用与兴趣的健康干预推荐模型AUC和召回率都优于其余五种算法,说明本文提出的算法能有效提高推荐的性能。

Table 7. Comparison between different models
表7. 不同模型之间的比较
实验结果分析如下:
1) WDL需要传统的特征工程对特征进行人工筛选以学习低阶特征组合,且嵌入向量只用于深度网络部分进行学习,因此在未进行特征工程的情况下效果不佳。
2) DeepFM与NFM分别将FM和全连接神经网络进行了并联与串联,而NFM的推荐效果与其他模型相比明显交叉,说明在未对用户特征和健康干预方案特征进行区分而直接进行二阶特征交叉导致信息损失较大,难以提取有效特征组合,因此NFM的效果不佳。
3) DCN能够同时高效学习低维特征交叉和高维非线性特征的深度模型,但不能够识别特征的重要性,因此对推荐性能的提升有限。
4) FiBiNET引入了SENet注意力机制,能够识别用户特征和健康干预方案特征的重要性,但难以对用户的历史行为序列进行学习,进而无法获取用户参与健康干预方案的偏好,因此在面向在线健康社区的推荐时存在一定的不足之处。
5) 本文提出的融合效用与兴趣的健康干预推荐模型不仅能够获得用户关于待推荐的健康干预方案的兴趣偏好,而且能够通过用户特征和健康干预方案特征的交互,提升健康干预方案对用户的疗效,以此提升推荐效果。
5.6. 使用融合效用与兴趣的健康干预推荐模型改善疗效
前面的实验评估了我们的推荐框架在提高用户挑战选择率方面的有效性,而对于在线健康社区,健康干预方案的疗效也很重要,因此,本文通过探索一个不同的推荐目标:用户接受健康干预方案后的疗效,来进一步检验了融合效用与兴趣的健康干预推荐模型在改善健康干预方案疗效方面的性能。本文在预测了用户是否会选择特定的健康干预方案后,再计算了用户在接受方案后可能的疗效。而对于现有的模型FiBiNET,DeepFM,NFM,WDL和DCN以及去掉个体疗效预测层的融合效用与兴趣的健康干预推荐模型,由于这些模型中并没有对用户在接受健康干预方案后可能的疗效进行计算,因此本实验使用干预方案总体疗效来计算待推荐方案对于用户的可能疗效。

Table 8. Efficacy as recommendation goal
表8. 以疗效作为推荐目标
如表8所示,对于其他常见模型以及去掉个体疗效预测层的融合效用与兴趣的健康干预推荐模型,预测得出的用户的疗效都与实际数据集中的用户减肥成功率43.92%相近,而本文提出的推荐框架在这个推荐目标下具有最佳性能,实现了54.26%的平均期内减肥率。这些结果表明,我们的推荐设计不仅可以有效帮助用户找到更好的挑战,而且可以进一步帮助他们实现更好的减肥效果。
6. 结论
本研究提出了一种融合效用与兴趣的在线用户健康干预推荐模型,该模型旨在满足用户需求,为用户提供既具有良好疗效又符合健康习惯的干预方案。在推荐过程中,本模型考虑了干预方案的效用作为推荐目标之一,使用SENet注意力机制从用户和待推荐健康干预方案的特征集合中提取与目标用户健康管理相关的重要特征,以此表征用户健康需求,并通过学习预测干预方案特征获得方案疗效表征,两者相结合以预测健康干预方案的效用。同时,本模型引入了另一个注意力机制,计算待推荐健康干预方案与目标用户历史行为序列中每个采纳过的干预方案之间的相关性,并为用户历史行为嵌入向量赋予权重,以学习用户多样化兴趣表征。最终,本模型结合方案效用表征和用户兴趣表征,得出预测结果。
本研究不仅能基于用户自身健康需求和多样化的兴趣偏好进行健康干预方案推荐,还能提高推荐的方案对用户的效用,使其接受长期、持续的健康干预。改进了常见的推荐算法,丰富了推荐系统的研究体系。在今后的研究中将会深入讨论注意力机制和多任务学习的不同应用,结合更多不同的神经网络,并进一步添加用户实时健康状况变化信息,以更好地提高推荐的结果以及推荐方案的效用。
基金项目
教育部人文社会科学研究一般项目(23YJCZH28123YJCZH281),上海市哲学社会科学规划课题(2022ZGL010)。
NOTES
*通讯作者。