具有自适应阈值的邻域选择推荐系统技术方案

技术编号:38993226 阅读:10 留言:0更新日期:2023-10-07 10:23
一种用于处理输入数据集的推荐系统(recommendation system,RS),所述输入数据集标识用户集、项目集和关于所述用户集中的用户与所述项目集中的项目之间的历史交互的用户

【技术实现步骤摘要】
【国外来华专利技术】具有自适应阈值的邻域选择推荐系统
[0001]本专利申请要求2021年2月8日提交的专利技术名称为“具有自适应阈值的邻域选择推荐系统(RECOMMENDATION SYSTEM WITH ADAPTIVE THRESHOLDS FOR NEIGHBORHOOD SELECTION)”的第17/170,647号美国专利申请的优先权权益,所述美国专利申请通过引用结合在本申请中,就像完整复制一样。


[0002]本专利技术大体上涉及使用机器学习技术处理基于图的数据,特别是在推荐系统的上下文中。

技术介绍

[0003]信息过滤系统是一种从提供给人类用户的信息流中删除冗余或不需要的信息以管理信息过载的系统。推荐系统(recommendation system,RS)是信息过滤系统的子类,试图预测用户对项目的评级或偏好。RS通常用于商业应用,以引导用户从大量潜在候选者中找到他们的真正兴趣。
[0004]个性化RS在许多在线服务中发挥着重要作用。个性化RS的任务是为每个前向用户提供项目的排名列表。准确的个性化RS可以使用户以及内容发布者和平台提供商受益。RS用于各种商业领域,以向用户提供个性化推荐,包括例如:为流处理和下载内容提供商平台提供视频或音乐建议;为在线零售商平台提供产品建议;为应用商店平台提供应用建议;为社交媒体平台提供内容建议;为移动新闻应用程序或在线新闻网站建议新闻文章。
[0005]RS通常采用协同过滤(collaborative filtering,CF)和基于内容的过滤中的一种或两种。这两种过滤方法都应用了基于个性的方法,根据不同用户的历史行为为他们推荐个性化产品或服务。
[0006]CF方法通常根据目标或活跃用户的过去行为(例如,先前购买或选择的项目和/或对这些项目的数字评级)以及具有与活跃用户相似的行为历史的其他用户的过去行为来建立预测模型或函数。相比之下,基于内容的过滤方法利用项目(项目属性)的一系列离散、预先标记的特性,以便推荐具有相似属性的附加项目。然而,基于内容的过滤方法可能会受到以下事实的阻碍,即大量项目的关联项目属性数量非常有限,这至少部分是由于不断添加的项目数量。
[0007]一些RS将基于内容的过滤方法集成到CF方法中,以创建混合系统。然而,对于通过在线平台提供的数量激增的项目,缺乏合适的项目属性要求大多数RS仍然仅严重依赖于根据用户的历史行为给出推荐的CF方法。
[0008]CF方法通常可总结为:步骤1)寻找与活跃用户(要进行预测的用户)共享相同交互模式的用户;步骤2)使用步骤1中找到的那些志同道合用户的评级/交互来计算活跃用户的预测。找到共享相同交互模式的用户需要标识相似用户或相似项目。导出相似用户和相似项目的过程包括将每个用户和每个项目嵌入到创建的低维空间中,使得相似用户在附近,相似项目在附近。在这方面,嵌入是离散、分类变量到连续数矢量的映射。在神经网络的上
下文中,嵌入是离散变量的低维、学习的连续矢量表示。个性化RS中的嵌入是有用的,因为它们可以有意义地将转换矢量空间中的用户和项目表示为低维矢量。
[0009]现有的CF方法尝试针对每个用户和项目生成不同的代表性嵌入。这样的代表性嵌入可以捕获用户与项目之间的复杂关系。项目和用户在矢量空间中的距离越近,用户就越有可能与项目交互或对项目给予高度评价。
[0010]一种经典且成功的CF方法是矩阵分解(matrix factorization,MF)。MF算法通过同一空间中的矢量来表征项目和用户,这些矢量根据观察到的用户

项目历史交互条目推断出来。MF算法的工作原理是将用户

项目交互矩阵分解为两个低维矩形矩阵的乘积,目标是在低维潜在空间中表示用户和项目(在深度学习算法的上下文中也称为嵌入表示)。MF的早期工作主要应用例如单一值分解(singular value decomposition,SVD)及其变体等矩阵分解的线性代数的数学学科。近年来,已经提出了人工神经网络(artificial neural network,ANN)和深度学习(deep

learning,DL)技术,其中一些技术通过由神经网络和可学习权重参数化的非线性神经架构推广了传统的MF算法。在线性代数和基于DL的MF模型的情况下,MF的目标是找到每个用户和每个项目作为矢量表示的正确表示。
[0011]在RS中,存在各种可以表示为图的关系,例如社交网络(用户

用户图)、商品相似性(项目

项目图)和用户

项目交互(可以建模为用户

项目二分图)。图卷积神经网络(graph convolution neural network,GCNN)已被证明是学习嵌入的强大工具。通过将用户

项目交互历史建模为二分图,已将GCNN应用于推荐。GCNN被训练成学习图结构中用户和项目节点的用户和项目表示,并将用户

项目交互历史建模为节点之间的连接边。节点的矢量表示是通过迭代地将节点本身的嵌入(即离散变量到连续数矢量的映射)与节点在其局部邻域中的嵌入相结合来学习的。在神经网络的上下文中,嵌入是离散变量的低维、学习的连续矢量表示。神经网络嵌入是有用的,因为它们可以降低分类变量的维数,并有意义地表示转换空间中的类别。
[0012]大多数现有的方法将学习节点(可以是项目节点或用户节点)的矢量表示(即嵌入)的过程分成两个步骤:邻域聚合,其中聚合函数对矢量集进行操作,以聚合邻居的嵌入;以及将聚合邻域矢量与中心节点嵌入结合的中心

邻居组合。基于GCNN的CF模型通过将节点表示为其周围邻域的函数,以卷积的方式学习图上的用户和项目节点嵌入。
[0013]在一些基于GCNN的二分图RS中,聚合函数在中心节点(例如,项目节点或用户节点)的局部邻域上操作,其中局部邻域是指给定拓扑(图)中所述节点的直接连接。例如,与中心用户节点交互的项目节点将形成所述用户节点的局部邻域。在ANN的情况下,聚合函数可以使用NN多层感知(Multi

layer perception,MLP)实现,所述多层感知使用可学习的非线性转换函数来转换输入,以学习输入矢量的每个单一维度上的权重。MLP层的输出是由神经网络参数加权的输入矢量,这些参数将通过神经网络的梯度下降来更新。
[0014]现有的基于GCNN的二分图RS将观察到的图视为关系的地面真值描述,从而将观察到的图视为非常强的先验知识。然而,由于数据的稀疏性,二分用户

项目交互图实际上经常缺少许多边,反映了非常有限的信息。
[0015]在固定且不完整的图上学习忽略了用户的所有潜在偏好,因此在RS应用中的多样性和有效性方面存在不足。当在图上学习时,这可能会导致推荐性能下降。
[0016]现有的RS在经验上采用一个固定的阈值来选择相似的用户和项目,这很难在不同
的数据集上推广。此本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于处理输入数据集的推荐系统中的计算机实现方法,所述输入数据集标识用户集、项目集和关于所述用户集中的用户与所述项目集中的项目之间的历史交互的用户

项目交互数据,其特征在于,所述计算机实现方法包括:根据所述用户

项目交互数据,生成指示所述用户集中用户对的用户

用户相似性分数的用户

用户相似性数据集;根据所述用户

项目交互数据,生成指示所述项目集中项目对的项目

项目相似性分数的项目

项目相似性数据集;根据用户相似性阈值矢量过滤所述用户

用户相似性数据集,以生成过滤的用户

用户相似性数据集,所述用户相似性阈值矢量包括所述用户集中每个用户的相应用户相似性阈值;根据所述过滤的用户

用户相似性数据集和用户嵌入集,生成用户邻居嵌入集,所述用户嵌入集包括所述用户集中每个用户的相应用户嵌入;根据项目相似性阈值矢量过滤所述项目

项目相似性数据集,以生成过滤的项目

项目相似性数据集,所述项目相似性阈值矢量包括所述项目集中每个项目的相应项目相似性阈值;根据所述过滤的项目

项目相似性数据集和项目嵌入集,生成项目邻居嵌入集,所述项目嵌入集包括所述项目集中每个项目的相应项目嵌入;根据所述用户邻居嵌入和所述项目邻居嵌入,生成相关性分数集,对于用户集中的每个用户,所述相关性分数集包括所述项目集中的所述项目的相应相关性分数;根据所述相关性分数集,为每个用户生成一个或多个推荐项目的列表。2.根据权利要求1所述的方法,其特征在于,所述方法还包括共同学习所述用户相似性阈值矢量、所述用户嵌入集、所述项目相似性阈值矢量和所述项目嵌入集。3.根据权利要求2所述的方法,其特征在于,共同学习包括进行双层优化过程,所述双层优化过程包括用于根据下层目标函数学习所述用户嵌入和项目嵌入的内部优化阶段和用于根据上层目标函数学习所述用户相似性阈值矢量和项目相似性阈值矢量的外部优化阶段。4.根据权利要求3所述的方法,其特征在于,进行所述双层优化过程包括计算所述用户嵌入和所述项目嵌入的代理嵌入,并在所述外部优化阶段期间使用所述代理嵌入。5.根据权利要求3所述的方法,其特征在于:用于学习所述用户嵌入和项目嵌入的所述内部优化阶段包括:(a)根据临时用户相似性阈值矢量过滤所述用户

用户相似性数据集,以生成临时过滤的用户

用户相似性数据集;(b)根据临时项目相似性阈值矢量过滤所述项目

项目相似性数据集,以生成临时过滤的项目

项目相似性数据集;(c)根据所述临时过滤的用户

用户相似性数据集和临时用户嵌入集,生成临时用户邻居嵌入集;(d)根据所述临时过滤的项目

项目相似性数据集和临时项目嵌入集,生成临时项目邻居嵌入集;(e)根据所述临时用户邻居嵌入和所述临时项目邻居嵌入,生成临时相关性分数集;
(f)根据生成临时相关性分数集来确定损失;(g)更新所述临时用户嵌入集和临时项目嵌入集,以使所述损失最小化;重复(c)到(g),直到所述临时用户嵌入集和临时项目嵌入集相对于所述临时用户相似性阈值矢量和临时项目阈值矢量得到优化;并且用于学习所述用户相似性阈值矢量和所述项目相似性阈值矢量的所述外部优化阶段包括:(h)根据临时用户相似性阈值矢量过滤所述用户

用户相似性数据集,以生成临时过滤的用户

用户相似性数据集;(i)根据临时项目相似性阈值矢量过滤所述项目

项目相似性数据集,以生成临时过滤的项目

项目相似性数据集;(j)根据所述临时过滤的用户

用户相似性数据集和代理用户嵌入集,生成临时用户邻居嵌入集;(k)根据所述临时过滤的项目

项目相似性数据集和代理项目嵌入集,生成临时项目邻居嵌入集;(l)根据所述临时用户邻居嵌入和所述临时项目邻居嵌入,生成临时相关性分数集;(m)根据生成临时相关性分数集来确定所述损失;(n)更新所述临时用户相似性阈值矢量和临时项目相似性阈值矢量,以使所述损失最小化;重复(h)到(n),直到所述临时用户相似性阈值矢量和临时项目相似性阈值矢量相对于所述代理用户嵌入集和所述代理项目嵌入集得到优化,其中,在多个训练迭代期间,依次重复所述内部优化阶段和所述外部优化阶段。6.根据权利要求2所述的方法,其特征在于,共同学习包括:根据所述输入数据集确定多个三元组,其中每个三元组标识:(i)来自所述用户集的相应用户;(ii)所述项目集中根据所述用户

项目交互数据被认为相对于所述相应用户为正反馈的正反馈项目;(iii)所述项目集中根据所述用户

项目交互数据被认为相对于所述相应用户为负反馈的负反馈项目;学习所述用户相似性阈值矢量、所述用户嵌入集、所述项目相似性阈值矢量和所述项目嵌入集以优化目标,对于所述多个三元组,所述目标使针对相对于用户的正反馈项目计算的相关性分数与针对相对于用户的负反馈项目计算的相关性分数之间的差最大化。7.根据权利要求1至6中任一项所述的方法,其特征在于:使用余弦相似性算法确定所述用户对的所述用户

用户相似性分数和所述项目对的所述项目

项目相似性分数。8.根据权利要求1至7中任一项所述的方法,其特征在于:过滤所述用户

用户相似性数据集包括,对于每个用户:在所述过滤的用户

用户相似性数据集中复制所述用户

用户相似性数据集中超过所述用户的所述相应用户相似性阈值的所述用户的所述用户

用户相似性分数中的任何一个,在所述过滤的用户

用户相似性数据集中将所述用户

用户相似性数据集中不超过所述用户的所述相应用户相似性阈值的所述用户的所述用户

用户相似性分数中的任何一个
设置为零;并且过滤所述项目

项目相似性数据集包括,对于每个项目:在所述过滤的项目

项目相似性数据集中复制所述项目

项目相似性数据集中超过所述项目的所述相应项目相似性阈值的所述项目的所述项目

项目相似性分数中的任何一个,在所述过滤的项目

项目相似性数据集中将所述项目

项目相似性数据集中不超过所述项目的所述相应项目相似性阈值的所述项目的所述项目

项目相似性分数中的任何一个设置为零。9.根据权利要求8所述的方法,其特征在于:生成所述用户邻居嵌入集包括确定所述过滤的用户

用户相似性数据集的矩阵表示和所述用户嵌入集的矩阵表示的点积;生成所述项目邻居嵌入集包括确定所述过滤的项目

项目相似性数据集的矩阵表示和所述项目嵌入集的矩阵表示的点积。10.根据权利要求9所述的方法,其特征在于,生成所述相关性分数集包括确定所述用户邻居嵌入集的矩阵表示和所述项目邻居嵌入集的矩阵表示的点积。11.一种用于处理输入数据集的推荐系统,所述输入数据集标识用户集、项目集和关于所述用户集中的用户与所述项目集中的项目之间的历史交互的用户

项目交互数据,其特征在于,所述推荐系统包括:处理设备;非瞬时性存储设备,耦合到所述处理设备并存储指令,当由所述处理设备执行时,所述指令将所述推荐系统用于:根据所述用户

项目交互数据,生成指示所述用户集中用户对的用户

用户相似性分数的用户

用户相似性数据...

【专利技术属性】
技术研发人员:吴浩伦马辰张莹雪马克
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1