CN116830100A - 具有自适应阈值的邻域选择推荐系统 - Google Patents
具有自适应阈值的邻域选择推荐系统 Download PDFInfo
- Publication number
- CN116830100A CN116830100A CN202180092738.3A CN202180092738A CN116830100A CN 116830100 A CN116830100 A CN 116830100A CN 202180092738 A CN202180092738 A CN 202180092738A CN 116830100 A CN116830100 A CN 116830100A
- Authority
- CN
- China
- Prior art keywords
- user
- item
- similarity
- project
- temporary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000003044 adaptive effect Effects 0.000 title description 6
- 239000013598 vector Substances 0.000 claims abstract description 144
- 230000003993 interaction Effects 0.000 claims abstract description 73
- 238000001914 filtration Methods 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 53
- 239000011159 matrix material Substances 0.000 claims description 86
- 238000005457 optimization Methods 0.000 claims description 65
- 238000000034 method Methods 0.000 claims description 61
- 238000012549 training Methods 0.000 claims description 44
- 230000006870 function Effects 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 230000002123 temporal effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 239000010410 layer Substances 0.000 description 28
- 230000002776 aggregation Effects 0.000 description 15
- 238000004220 aggregation Methods 0.000 description 15
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000015654 memory Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 102000002274 Matrix Metalloproteinases Human genes 0.000 description 1
- 108010000684 Matrix Metalloproteinases Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007103 stamina Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于处理输入数据集的推荐系统(recommendation system,RS),所述输入数据集标识用户集、项目集和关于所述用户集中的用户与所述项目集中的项目之间的历史交互的用户‑项目交互数据。所述RS用于:根据用户‑项目交互数据集生成用户‑用户相似性数据集和项目‑项目相似性数据集;根据包括每个用户的相应用户相似性阈值的用户相似性阈值矢量过滤所述用户‑用户相似性数据集;根据包括每个项目的相应项目相似性阈值的项目相似性阈值矢量过滤所述项目‑项目相似性数据集;根据过滤的用户‑用户相似性数据集生成用户邻居嵌入集;根据过滤的项目‑项目相似性数据集生成项目邻居嵌入集。所述RS还用于根据所述用户邻居嵌入和所述项目邻居嵌入生成相关性分数集,并为每个用户生成一个或多个推荐项目的列表。
Description
本专利申请要求2021年2月8日提交的发明名称为“具有自适应阈值的邻域选择推荐系统(RECOMMENDATION SYSTEM WITH ADAPTIVE THRESHOLDS FOR NEIGHBORHOODSELECTION)”的第17/170,647号美国专利申请的优先权权益,所述美国专利申请通过引用结合在本申请中,就像完整复制一样。
技术领域
本发明大体上涉及使用机器学习技术处理基于图的数据,特别是在推荐系统的上下文中。
背景技术
信息过滤系统是一种从提供给人类用户的信息流中删除冗余或不需要的信息以管理信息过载的系统。推荐系统(recommendation system,RS)是信息过滤系统的子类,试图预测用户对项目的评级或偏好。RS通常用于商业应用,以引导用户从大量潜在候选者中找到他们的真正兴趣。
个性化RS在许多在线服务中发挥着重要作用。个性化RS的任务是为每个前向用户提供项目的排名列表。准确的个性化RS可以使用户以及内容发布者和平台提供商受益。RS用于各种商业领域,以向用户提供个性化推荐,包括例如:为流处理和下载内容提供商平台提供视频或音乐建议;为在线零售商平台提供产品建议;为应用商店平台提供应用建议;为社交媒体平台提供内容建议;为移动新闻应用程序或在线新闻网站建议新闻文章。
RS通常采用协同过滤(collaborative filtering,CF)和基于内容的过滤中的一种或两种。这两种过滤方法都应用了基于个性的方法,根据不同用户的历史行为为他们推荐个性化产品或服务。
CF方法通常根据目标或活跃用户的过去行为(例如,先前购买或选择的项目和/或对这些项目的数字评级)以及具有与活跃用户相似的行为历史的其他用户的过去行为来建立预测模型或函数。相比之下,基于内容的过滤方法利用项目(项目属性)的一系列离散、预先标记的特性,以便推荐具有相似属性的附加项目。然而,基于内容的过滤方法可能会受到以下事实的阻碍,即大量项目的关联项目属性数量非常有限,这至少部分是由于不断添加的项目数量。
一些RS将基于内容的过滤方法集成到CF方法中,以创建混合系统。然而,对于通过在线平台提供的数量激增的项目,缺乏合适的项目属性要求大多数RS仍然仅严重依赖于根据用户的历史行为给出推荐的CF方法。
CF方法通常可总结为:步骤1)寻找与活跃用户(要进行预测的用户)共享相同交互模式的用户;步骤2)使用步骤1中找到的那些志同道合用户的评级/交互来计算活跃用户的预测。找到共享相同交互模式的用户需要标识相似用户或相似项目。导出相似用户和相似项目的过程包括将每个用户和每个项目嵌入到创建的低维空间中,使得相似用户在附近,相似项目在附近。在这方面,嵌入是离散、分类变量到连续数矢量的映射。在神经网络的上下文中,嵌入是离散变量的低维、学习的连续矢量表示。个性化RS中的嵌入是有用的,因为它们可以有意义地将转换矢量空间中的用户和项目表示为低维矢量。
现有的CF方法尝试针对每个用户和项目生成不同的代表性嵌入。这样的代表性嵌入可以捕获用户与项目之间的复杂关系。项目和用户在矢量空间中的距离越近,用户就越有可能与项目交互或对项目给予高度评价。
一种经典且成功的CF方法是矩阵分解(matrix factorization,MF)。MF算法通过同一空间中的矢量来表征项目和用户,这些矢量根据观察到的用户-项目历史交互条目推断出来。MF算法的工作原理是将用户-项目交互矩阵分解为两个低维矩形矩阵的乘积,目标是在低维潜在空间中表示用户和项目(在深度学习算法的上下文中也称为嵌入表示)。MF的早期工作主要应用例如单一值分解(singular value decomposition,SVD)及其变体等矩阵分解的线性代数的数学学科。近年来,已经提出了人工神经网络(artificial neuralnetwork,ANN)和深度学习(deep-learning,DL)技术,其中一些技术通过由神经网络和可学习权重参数化的非线性神经架构推广了传统的MF算法。在线性代数和基于DL的MF模型的情况下,MF的目标是找到每个用户和每个项目作为矢量表示的正确表示。
在RS中,存在各种可以表示为图的关系,例如社交网络(用户-用户图)、商品相似性(项目-项目图)和用户-项目交互(可以建模为用户-项目二分图)。图卷积神经网络(graph convolution neural network,GCNN)已被证明是学习嵌入的强大工具。通过将用户-项目交互历史建模为二分图,已将GCNN应用于推荐。GCNN被训练成学习图结构中用户和项目节点的用户和项目表示,并将用户-项目交互历史建模为节点之间的连接边。节点的矢量表示是通过迭代地将节点本身的嵌入(即离散变量到连续数矢量的映射)与节点在其局部邻域中的嵌入相结合来学习的。在神经网络的上下文中,嵌入是离散变量的低维、学习的连续矢量表示。神经网络嵌入是有用的,因为它们可以降低分类变量的维数,并有意义地表示转换空间中的类别。
大多数现有的方法将学习节点(可以是项目节点或用户节点)的矢量表示(即嵌入)的过程分成两个步骤:邻域聚合,其中聚合函数对矢量集进行操作,以聚合邻居的嵌入;以及将聚合邻域矢量与中心节点嵌入结合的中心-邻居组合。基于GCNN的CF模型通过将节点表示为其周围邻域的函数,以卷积的方式学习图上的用户和项目节点嵌入。
在一些基于GCNN的二分图RS中,聚合函数在中心节点(例如,项目节点或用户节点)的局部邻域上操作,其中局部邻域是指给定拓扑(图)中所述节点的直接连接。例如,与中心用户节点交互的项目节点将形成所述用户节点的局部邻域。在ANN的情况下,聚合函数可以使用NN多层感知(Multi-layer perception,MLP)实现,所述多层感知使用可学习的非线性转换函数来转换输入,以学习输入矢量的每个单一维度上的权重。MLP层的输出是由神经网络参数加权的输入矢量,这些参数将通过神经网络的梯度下降来更新。
现有的基于GCNN的二分图RS将观察到的图视为关系的地面真值描述,从而将观察到的图视为非常强的先验知识。然而,由于数据的稀疏性,二分用户-项目交互图实际上经常缺少许多边,反映了非常有限的信息。
在固定且不完整的图上学习忽略了用户的所有潜在偏好,因此在RS应用中的多样性和有效性方面存在不足。当在图上学习时,这可能会导致推荐性能下降。
现有的RS在经验上采用一个固定的阈值来选择相似的用户和项目,这很难在不同的数据集上推广。此外,现有的RS通常为所有不考虑个性化的用户和项目共享一个共同阈值。此外,现有的RS通常采用两步训练过程:首先搜索最佳阈值,然后进行预测模型训练。这样的方法可能会导致次优RS。
因此,需要一种能够补偿在用户数量和内容量快速扩展的环境中固有存在的数据稀疏性的RS。
发明内容
根据本发明的第一方面,提供了一种用于处理输入数据集的推荐系统(recommendation system,RS)的计算机实现方法,所述输入数据集标识用户集、项目集和关于所述用户集中的用户与所述项目集中的项目之间的历史交互的用户-项目交互数据。所述计算机实现方法包括根据所述用户-项目交互数据生成用户-用户相似性数据集,所述用户-用户相似性数据集指示所述用户集中用户对的用户-用户相似性分数;根据所述用户-项目交互数据生成项目-项目相似性数据集,所述项目-项目相似性数据集指示所述项目集中项目对的项目-项目相似性分数;根据用户相似性阈值矢量过滤所述用户-用户相似性数据集,以生成过滤后的用户-用户相似性数据集,所述用户相似性阈值矢量包括所述用户集中每个用户的相应用户相似性阈值。所述计算机实现方法还包括根据所述过滤后的用户-用户相似性数据集和用户嵌入集生成用户邻居嵌入集,所述用户嵌入集包括针对所述用户集中的每个用户的相应用户嵌入;根据项目相似性阈值矢量过滤所述项目-项目相似性数据集,以生成过滤后的项目-项目相似性数据集,所述项目相似性阈值矢量包括所述项目集中每个项目的相应项目相似性阈值;根据所述过滤后的项目-项目相似性数据集和项目嵌入集生成项目邻居嵌入集,所述项目嵌入集包括针对所述项目集中每个项目的相应项目嵌入;根据所述用户邻居嵌入和所述项目邻居嵌入生成相关性分数集,对于用户集中的每个用户,所述相关性分数集包括所述项目集中的所述项目的相应相关性分数。所述计算机实现方法还包括根据所述相关性分数集,为每个用户生成一个或多个推荐项目的列表。
在某些应用中,针对每个用户和每个项目使用个性化阈值可以使RS生成更准确的个性化排名。这可以使RS的操作得到优化,使得不会向用户呈现不相关或误导性的项目选项。在本发明的计算机实现方法的至少某些方面中,优化可以提高RS效率,因为通过不向用户呈现不相关选项且最小化用户对不相关选项的探索,可以减少计算资源、通信带宽和功率中的一个或多个的消耗。
所述计算机实现方法可以包括学习所述用户相似性阈值矢量、所述用户嵌入集、所述项目相似性阈值矢量和所述项目嵌入集。
因此,在本发明的计算机实现方法的某些方面中,针对每个用户和项目,对阈值矢量和嵌入进行个人自适应学习,这可以提高系统准确度并增强上述优点。
学习所述用户相似性阈值矢量、所述用户嵌入集、所述项目相似性阈值矢量和所述项目嵌入集可以包括执行双层优化过程,所述双层优化过程包括用于根据下层目标函数学习所述用户嵌入和项目嵌入的内部优化阶段和用于根据上层目标函数学习所述用户相似性阈值矢量和项目相似性阈值矢量的外部优化阶段。
所述计算机实现方法可以包括通过计算所述用户嵌入和所述项目嵌入的代理嵌入并在所述外部优化阶段期间使用所述代理嵌入来进行所述双层优化过程。
用于学习所述用户嵌入和项目嵌入的所述内部优化阶段可以包括:(a)根据临时用户相似性阈值矢量过滤所述用户-用户相似性数据集,以生成临时过滤的用户-用户相似性数据集;(b)根据临时项目相似性阈值矢量过滤所述项目-项目相似性数据集,以生成临时过滤的项目-项目相似性数据集;(c)根据所述临时过滤的用户-用户相似性数据集和临时用户嵌入集,生成临时用户邻居嵌入集;(d)根据所述临时过滤的项目-项目相似性数据集和临时项目嵌入集,生成临时项目邻居嵌入集;(e)根据所述临时用户邻居嵌入和所述临时项目邻居嵌入,生成临时相关性分数集;(f)根据生成临时相关性分数集来确定损失;(g)更新所述临时用户嵌入集和临时项目嵌入集,以使所述损失最小化;重复(c)到(g),直到所述临时用户嵌入集和临时项目嵌入集相对于所述临时用户相似性阈值矢量和临时项目阈值矢量得到优化。用于学习所述用户相似性阈值矢量和所述项目相似性阈值矢量的所述外层优化阶段可以包括:(h)根据临时用户相似性阈值矢量过滤所述用户-用户相似性数据集,以生成临时过滤的用户-用户相似性数据集;(i)根据临时项目相似性阈值矢量过滤所述项目-项目相似性数据集,以生成临时过滤的项目-项目相似性数据集;(j)根据所述临时过滤的用户-用户相似性数据集和代理用户嵌入集,生成临时用户邻居嵌入集;(k)根据所述临时过滤的项目-项目相似性数据集和代理项目嵌入集,生成临时项目邻居嵌入集;(l)根据所述临时用户邻居嵌入和所述临时项目邻居嵌入,生成临时相关性分数集;(m)根据生成临时相关性分数集来确定所述损失;(n)更新所述临时用户相似性阈值矢量和临时项目相似性阈值矢量,以使所述损失最小化;重复(h)到(n),直到所述临时用户相似性阈值矢量和临时项目相似性阈值矢量相对于所述代理用户嵌入集和所述代理项目嵌入集得到优化。在多个训练迭代期间,依次重复所述内部优化阶段和所述外部优化阶段。
学习所述用户相似性阈值矢量、所述用户嵌入集、所述项目相似性阈值矢量和所述项目嵌入集可以包括根据所述输入数据集确定多个三元组,其中每个三元组标识:(i)来自所述用户集的相应用户;(ii)所述项目集中根据所述用户-项目交互数据被认为相对于所述相应用户为正反馈的正反馈项目;(iii)所述项目集中根据所述用户-项目交互数据被认为相对于所述相应用户为负反馈的负反馈项目;以及学习系统参数以优化目标,对于所述多个三元组,所述目标使针对相对于用户的正反馈项目计算的相关性分数与针对相对于用户的负反馈项目计算的相关性分数之间的差最大化。
所述用户对的所述用户-用户相似性分数和所述项目对的所述项目-项目相似性分数可以使用余弦相似性算法确定。
过滤所述用户-用户相似性数据集可以包括,对于每个用户:在过滤的用户-用户相似性数据集中复制所述用户-用户相似性数据集中超过所述用户的相应用户相似性阈值的所述用户的所述用户-用户相似性分数中的任何一个;在所述过滤的用户-用户相似性数据集中将所述用户-用户相似性数据集中不超过所述用户的所述相应用户相似性阈值的所述用户的所述用户-用户相似性分数中的任何一个设置为零。过滤所述项目-项目相似性数据集包括,对于每个项目:在过滤的项目-项目相似性数据集中复制所述项目-项目相似性数据集中超过所述项目的相应项目相似性阈值的所述项目的所述项目-项目相似性分数中的任何一个;在所述过滤的项目-项目相似性数据集中将所述项目-项目相似性数据集中不超过所述项目的所述相应项目相似性阈值的所述项目的所述项目-项目相似性分数中的任何一个设置为零。
生成所述用户邻居嵌入集可以包括确定所述过滤的用户-用户相似性数据集的矩阵表示和所述用户嵌入集的矩阵表示的点积;以及生成所述项目邻居嵌入集包括确定所述过滤的项目-项目相似性数据集的矩阵表示和所述项目嵌入集的矩阵表示的点积。
生成所述相关性分数集可以包括确定所述用户邻居嵌入集的矩阵表示和所述项目邻居嵌入集的矩阵表示的点积。
根据本发明的另一方面,提供了一种用于处理输入数据集的推荐系统,所述输入数据集标识用户集、项目集和关于所述用户集中的用户与所述项目集中的项目之间的历史交互的用户-项目交互数据。所述推荐系统包括:处理设备;非瞬时性存储设备,耦合到所述处理设备并存储软件指令,当由所述处理设备执行时,所述软件指令使所述推荐系统进行以下操作:根据所述用户-项目交互数据,生成指示所述用户集中用户对的用户-用户相似性分数的用户-用户相似性数据集;根据所述用户-项目交互数据,生成指示所述项目集中项目对的项目-项目相似性分数的项目-项目相似性数据集;根据用户相似性阈值矢量过滤所述用户-用户相似性数据集,以生成过滤的用户-用户相似性数据集,所述用户相似性阈值矢量包括所述用户集中每个用户的相应用户相似性阈值;根据所述过滤的用户-用户相似性数据集和用户嵌入集,生成用户邻居嵌入集,所述用户嵌入集包括所述用户集中每个用户的相应用户嵌入;根据项目相似性阈值矢量过滤所述项目-项目相似性数据集,以生成过滤的项目-项目相似性数据集,所述项目相似性阈值矢量包括所述项目集中每个项目的相应项目相似性阈值;根据所述过滤的项目-项目相似性数据集和项目嵌入集,生成项目邻居嵌入集,所述项目嵌入集包括所述项目集中每个项目的相应项目嵌入;根据所述用户邻居嵌入和所述项目邻居嵌入,生成相关性分数集,对于用户集中的每个用户,所述相关性分数集包括所述项目集中的所述项目的相应相关性分数;根据所述相关性分数集,为每个用户生成一个或多个推荐项目的列表。
所述RS可以是基于GCNN的二分图RS。
根据本发明的另一方面,提供了一种存储软件指令的非瞬时性计算机可读介质,当由处理设备执行时,所述软件指令使所述处理设备:接收标识用户集、项目集和关于所述用户集中的用户与所述项目集中的项目之间的历史交互的用户-项目交互数据的输入数据集;根据所述用户-项目交互数据,生成指示所述用户集中用户对的用户-用户相似性分数的用户-用户相似性数据集;根据所述用户-项目交互数据,生成指示所述项目集中项目对的项目-项目相似性分数的项目-项目相似性数据集;根据用户相似性阈值矢量过滤所述用户-用户相似性数据集,以生成过滤的用户-用户相似性数据集,所述用户相似性阈值矢量包括所述用户集中每个用户的相应用户相似性阈值;根据所述过滤的用户-用户相似性数据集和用户嵌入集,生成用户邻居嵌入集,所述用户嵌入集包括所述用户集中每个用户的相应用户嵌入;根据项目相似性阈值矢量过滤所述项目-项目相似性数据集,以生成过滤的项目-项目相似性数据集,所述项目相似性阈值矢量包括所述项目集中每个项目的相应项目相似性阈值;根据所述过滤的项目-项目相似性数据集和项目嵌入集,生成项目邻居嵌入集,所述项目嵌入集包括所述项目集中每个项目的相应项目嵌入;根据所述用户邻居嵌入和所述项目邻居嵌入,生成相关性分数集,对于用户集中的每个用户,所述相关性分数集包括所述项目集中的所述项目的相应相关性分数;根据所述相关性分数集,为每个用户生成一个或多个推荐项目的列表。
附图说明
现在将通过示例参考示出本申请示例性实施例的附图,其中:
图1为示出二分图的示例的框图;
图2为示出示例实施例的推荐系统的框图;
图3为示出示例实施例的用户-项目(User-Item,U-I)交互矩阵、用户-用户(User-User,U-U)相似性矩阵和项目-项目(Item-Item,I-I)相似性矩阵的示例的框图;
图4为示出I-I交互矩阵的个性化过滤以生成有向I-I图的框图;
图5示出了在多个训练会话上自适应地生成有向I-I图;
图6为图2的RS的训练过程的伪代码表示;
图7为示出示例实施例的由图2的RS进行的动作的流程图;且
图8为示出可用于执行机器可读指令以实现图2的RS的示例处理系统的框图。
不同的附图中使用了相似的附图标记来表示相似的组件。
具体实施方式
根据示例实施例,双层优化被结合到基于机器学习(machine learning,ML)的推荐系统(recommendation system,RS)中。具体地,代替使用RS训练过程(其中首先确定邻域阈值,然后将其用作用于生成项目和用户节点嵌入的超参数),在端到端的训练过程中,使用双层优化来共同自适应地学习项目邻域阈值和节点嵌入。
双层优化可以被认为是包含另一个优化问题作为约束的优化问题,例如外部优化任务(通常称为上层优化任务)和内部优化任务(通常称为下层优化任务)。双层优化可以使用计算机程序来实现,以对分层决策过程和工程设计问题进行建模。双层优化问题的一种简单形式定义如下:
s.t.G(x,y)≤0
s.t.g(x,y)≤0,
其中,x和y分别是上层变量和下层变量的集合。相似地,函数F和f分别是上层和下层目标函数,而矢量值函数G和g分别称为上层和下层约束。上层约束G涉及两层变量,并发挥着非常具体的作用。下文将更详细地讨论双层优化在RS中的应用。
如本领域已知的,图是包括节点和边的数据结构。每个节点表示一个实例或数据点。每个边表示连接两个节点的关系。二分图是一种图结构形式,其中每个节点属于两种不同节点类型中的一种,并且直接关系(例如,1跳邻居)仅存在于不同类型的节点之间。图1示出了观察到的二分图101的样本的简化表示,所述二分图包括两种类型的节点,即表示用户uAlice到uDavid(统称为用户集U,表示nusers=4个用户的集合)的用户类型节点(本文称为“用户节点”)和表示项目v1到v5(统称为项目集I,表示nitems=5的集合)的项目类型节点(本文称为项目节点)。在本发明中,“u”用于指代一个或多个通用用户,“v”用于指代一个或多个通用项目。每个相应用户节点表示用户u的实例。例如,用户uAlice,例如可以是与特定注册用户账户或唯一用户标识符相关联的用户,在图101中由表示为uAlice的用户节点表示。每个相应的项目节点表示唯一项目v的实例。例如,项目v1,例如可以是电影《007:无暇赴死》,在图101中可以由表示为v1的项目节点表示。例如,项目可以是用户可用的产品或服务。例如,在各种场景中,项目可以是:用户可以从在线视频内容提供商流处理或下载的音频/视频媒体项目(例如电影或连续剧或视频);用户可以从在线音频内容提供商流处理或下载的音频媒体项目(例如歌曲或播客);在线内容提供商可以向用户提供的图像/文本媒体项目(例如新文章、杂志文章或广告);用户可以从例如应用商店等在线软件提供商下载或访问的软件应用程序(例如在线应用程序);用户可以从在线零售商订购送货或取货的不同实物产品(例如玩具、准备好的饭菜、服装等)。上文提供的项目的可能类别的示例是示意性的,而不是详尽无遗的。
在示例实施例中,用户uAlice到uDavid和项目v1到v5在图101中分别表示为未属性化用户节点和项目节点,这意味着每个节点具有类型(项目或用户)和唯一标识(例如,标识由v1和uAlice的下标指示),但没有附加已知属性。在一些示例中,项目标识可以映射到特定类别的项目(例如,电影)。在替代性实施例中,每个节点可以进一步由相应的节点特征集定义(例如,在用户的情况下为年龄、性别、地理位置等,在作为电影的项目的情况下为类型、制作年份、演员、电影发行商等)。
将用户节点u连接到相应项目节点v的边102指示节点之间的关系,并且边102共同定义观察到的图拓扑Gobs。例如,节点之间的边102的存在或不存在表示由用户节点表示的用户与由项目节点表示的项目之间存在或不存在预定义类型的交互。例如,边102的存在或不存在可以指示交互历史,例如用户u先前是选择了项目v进行消费(例如,购买、订购、下载或流处理项目),还是提交了关于项目v的按比例(例如,1到5星)或二进制(例如“赞”)评分,还是以某种其他可跟踪的方式与项目v交互。
在一些示例实施例中,边102传送二进制关系信息,使得边的存在指示积极交互的存在(例如,用户ualice先前已经“点击”或评分/点赞或消费项目v1),并且边的不存在指示积极交互的不存在(例如,表示用户uAlice的用户节点与表示项目v2的项目节点之间缺乏边,指示用户ualice从未与特定项目v2交互,使得项目v2相对于用户ualice是负反馈项目。在一些实施例中,边102可以与指示关系强度的附加属性相关联(例如,用户关于特定项目的“点击”次数,或用户给出的评分级别)。
因此,二分图101包括关于用户的信息(例如,用户节点集U)、关于项目的信息(例如,项目节点集V)和关于用户与项目之间的历史交互的信息(例如,图拓扑Gobs,其可以表示为U-I交互矩阵204(图3))。在这方面,二分图101表示特定的U-I交互数据集。
在许多实际情况下,观察到的二分图101中存在的信息具有固有的数据稀疏性问题,因为图101中存在的历史交互数据通常是相当有限的,尤其在具有很少交互记录的新用户和项目的情况下。因此,许多用户节点和许多项目节点可能具有非常少的连接边。
因此,如下面将更详细地描述,描述了在一些应用中可以解决上述现有RS所面临的一个或多个问题的示例实施例。
在这方面,图2为计算机实现RS200的框图。如下面将详细描述,RS200用于学习关于输入U-I交互数据集的多个参数,然后根据学习的参数预测用户的个性化项目排名。RS200包括多个模块(例如,由图2中标记为206、212、218、220、222和230的块表示的模块),这些模块使系统能够如所描述进行。如本文所使用,“模块”可以指硬件处理电路和可在硬件处理电路上执行以用于进行给定操作的机器可读指令(软件和/或固件)的组合。硬件处理电路可以包括中央处理单元、硬件加速器、张量处理单元、神经处理单元、微处理器、多核微处理器的核心、微控制器、可编程集成电路、现场可编程门阵列、数字信号处理器或另一硬件处理电路的任何或某一组合。在一些示例中,“模块”可以指专门用于进行给定操作的硬件处理电路。
虽然图2中所示的RS200包括“模块”,但应理解,在其他实施例中,RS可以进行各种操作以学习关于输入U-I交互数据集的多个参数,然后根据学习的参数预测用户的个性化项目排名。如本文所使用,“操作”可以指当由硬件处理电路执行时由机器可读指令(软件和/或固件)进行的任务或功能。
由二分图101表示的U-I交互数据集可以nuser X nitem、用户-项目(user-item,U-I)交互矩阵204的形式提供为RS200的输入(图3)。图3示出了二分图101的U-I交互数据集的U-I交互矩阵204表示。U-I交互矩阵204定义了指示每个用户节点u与每个项目节点v之间的连接边的存在或不存在的值矩阵。在一些示例中,U-I交互矩阵104对应于二进制矩阵(例如,用户已与项目交互(“1”)或未与项目交互(“0”)),在一些替代示例中,U-I交互矩阵104可以对应于加权矩阵(例如,用户已经按离散比例(“1”到“5”)对项目进行了评分,或者未与项目交互(“0”))。
如图2和3中所指示,RS200包括相似性矩阵生成模块206,用于生成关于U-I交互矩阵204的nuser X nuser用户-用户(User-User,U-U)相似性矩阵(SU)208和nitem X nitem项目-项目(Item-Item,I-I)相似性矩阵(SI)210。在用户-用户(User-User,U-U)相似性矩阵(SU)208中,对应于用户u的行包括各自指示用户u与包括在用户集U中的每个用户之间的相应相似性的相应相似性分数的矢量。在示例实施例中,相似性分数是0与1之间的规范化值,其中1指示最大相似性。在项目-项目(Item-Item,I-I)相似性矩阵(SI)210中,对应于项目v的行包括各自指示项目v与包括在项目集I中的每个项目之间的相应相似性的相应相似性分数的矢量。在示例实施例中,相似性矩阵生成模块206用于根据用户对中的每个用户已经与之交互的公共项目的数量确定用户对的相似性分数。相似性矩阵生成模块206用于根据项目对中的每个项目已经与之交互的公共用户的数量确定项目对的相似性分数。虽然可以使用不同的方法来确定相似性分数,但在所示的示例中,相似性矩阵生成模块206应用余弦相似性算法来生成U-U相似性矩阵(SU)208和I-I相似性矩阵(SI)210,并且针对用户对和项目对计算的相似性分数是余弦相似性分数。在所示的示例中,每个相似性分数在0到1的范围内规范化,其中1指示最大相似性。
参考图2,RS200包括可训练过滤和聚合模块212,其用于:(i)通过应用过滤操作214来生成相应的有向图,应用过滤操作214来过滤U-U相似性矩阵(SU)208和I-I相似性矩阵(SI)210;(ii)将聚合操作216应用于有向图,以生成用于每个用户u的邻域嵌入n_u和用于每个项目v的邻域嵌入n_v。
过滤操作214用于过滤低于阈值的来自U-U相似性矩阵(SU)208的用户-用户对和来自I-I相似性矩阵(SI)210的项目-项目对。对U-U相似性矩阵(SU)208的过滤产生过滤的U-U相似性数据集FU,如以下函数表示:
在等式1中,SU是包括在U-U相似性矩阵(SU)208中的余弦相似性分数的矩阵,KU是包括nuser阈值(即,每个相应用户u的个性化阈值)的个性化阈值矢量。
相似地,对I-I相似性矩阵(SI)210的过滤产生过滤的I-I相似性数据集FI,如以下函数表示:
在等式2中,SI是包括在I-I相似性矩阵(SI)210中的余弦相似性分数的矩阵,KI是包括nitem阈值(即,每个相应项目v的个性化阈值)的个性化阈值矢量。
图4示出了过滤操作214的操作的示例,所述操作将阈值矢量KI应用于I-I相似性矩阵(SI)210以生成I-I过滤相似性数据集FI,其可以表示为大小为nitem X nitem的I-I过滤相似性矩阵402。如等式2所指示,I-I相似性矩阵(SI)210中超过阈值矢量KI中指定的个性化行特定阈值k的每个相似性分数在I-I过滤相似性矩阵402中将复制,并且I-I相似性矩阵(SI)210中等于或小于阈值矢量KI中指定的个性化行特定阈值k的每个元素在I-I过滤相似性矩阵402中将被设置为空值或“0”值。
例如,在图4中,第一行中对应于项目M1的相似性分数为:对于项目对M1、M1为1.0;对于项目对M1、M2为0.74;对于项目对M1、M3为0.33;对于项目对M1、M4为0.98;对于项目对M1、M5为0.26。项目M1的阈值矢量KI中指定的个性化阈值为k=0.35。I-I相似性矩阵(SI)210的行M1中大于行特定阈值k=0.35的相似性分数(例如,M1、M1=1.0;M1、M2=0.74和M1、M4=0.98)包括在I-I过滤相似性矩阵402的行M1中的相同位置,并且I-I相似性矩阵(SI)210的行M1中等于或小于行特定阈值k=0.35的相似性分数(例如,M1、M3=0.33;M1、M5=0.26)在I-I过滤相似性矩阵402的行M1中被设置为“0”。在行M2的情况下,个性化逐行过滤阈值是k=0.75,使得I-I相似性矩阵(SI)210的行M2中大于行特定阈值k=0.75的相似性分数(例如,M2、M2=1.0;M2、M4=0.79)包括在I-I过滤相似性矩阵402的行M2中的相同位置,并且I-I相似性矩阵(SI)210的行M2中等于或小于行特定阈值k=0.75的相似性分数(例如,M2、M1=0.74;M2、M3=0.0;和M2、M5=0.28)在I-I过滤相似性矩阵402的行M2中被设置为“0”。
此外,对每个项目使用个性化阈值使得所得的过滤相似性数据具有指向性,这意味着尽管第一项目、第二项目对的相似性阈值对于第一项目相对于第二项目可以不同,但对于第二项目相对于第一项目可以不同。例如,第一项目、第二项目对的对相似性分数可以满足第一项目相似性阈值k,但相同的对相似性分数可能不满足第二项目相似性阈值。图4中示出了这种指向性的示例,在包括项目M1和M2的项目对的情况下,其相似性分数为0.74。当相对于项目M1过滤项目M2(例如,表示为项目对M1、M2)时,阈值为k=0.35;然而,对于相对于项目M2过滤项目M1(例如,表示为项目对M2、M1),阈值为k=0.74。因此,项目对M1、M2的相似性分数0.74超过项目M1阈值k=0.35,并包括在I-I过滤相似性矩阵402中,然而,项目对M2、M1的相似性分数0.74小于项目M2阈值k=0.75,因此在I-I过滤相似性矩阵402中被设置为“0”。
包括在I-I过滤相似性矩阵402中的过滤I-I相似性数据集FI也可以表示为I-I有向图404,如图4所示。以相似的方式,过滤操作214将阈值矢量KU应用于U-U相似性矩阵(SU)208,以生成相应的过滤I-I相似性数据集FU(其也可以表示为nuser X nuser U-U过滤相似性矩阵和U-U有向图)。
如下面将更详细地解释,阈值矢量KU和KI(统称为阈值矢量)在训练阶段期间通过训练迭代集自适应地学习,使得针对每个用户u和项目v学习相应的唯一过滤阈值k。在训练之前,初始化的阈值矢量KU int、KI int可以通过从候选阈值的范围或预定义分布中随机抽样生成。
图5图形化地示出了在训练阶段期间通过连续训练迭代集,通过过滤操作214相对于U-U相似性矩阵(SU)208生成的U-U有向图502的自适应,以及通过过滤操作214相对于I-I相似性矩阵(SI)210生成的I-I有向图404的自适应。
U-U对和I-I对的过滤先前已经通过对所有用户使用单个阈值和对所有项目使用单个阈值来进行。在某些应用中,使用分别针对每个用户和每个项目学习的个性化阈值可以使RS能够生成更准确的个性化排名。这可以使RS的操作能够得到优化,使得不会向用户呈现不相关或误导性的项目选项。在至少一些示例中,RS的操作的优化可以提高RS的效率,因为通过不向用户呈现不相关选项且最小化用户对不相关选项的探索,可以减少计算资源、通信带宽和功率中的一个或多个的消耗。
再次参考图2,过滤的U-U相似性数据集NU和过滤的I-I相似性数据集NI然后各自经受聚合操作216。聚合操作216用于为每个用户u生成邻居嵌入n_u且为每个项目v生成邻居嵌入n_v。在示例实施例中,为用户U生成邻居嵌入NU可以由以下函数表示:
NU=FU·ΘU (等式3)
在等式3中,ΘU∈R|U|×d是在RS200的迭代训练期间学习的用户嵌入集,d是每个嵌入的维数。
因此,在示例实施例中,邻居嵌入NU是矩阵,所述矩阵是过滤的U-U相似性数据集FU和用户嵌入ΘU的点积。
在示例实施例中,项目V的邻居嵌入NV的生成可以由以下函数表示:
NI=FI·ΘI (等式4)
在等式4中,ΘI∈R|I|×d是在RS200的迭代训练期间学习的项目嵌入集。
因此,在示例实施例中,邻居嵌入NI是矩阵,所述矩阵是过滤的I-I相似性数据集FI和项目嵌入ΘI的点积。
如下面将更详细地解释,个性化用户嵌入ΘU和项目嵌入ΘI(统称为模型嵌入Θ∈R(|U|+|I|)×d))的集合通过在训练阶段期间进行的训练迭代集自适应地学习,使得针对每个用户u和项目v学习相应的唯一嵌入。在训练阶段期间进行训练迭代集之前,可以通过从候选嵌入值的范围或预定义分布中随机抽样来生成初始化的用户嵌入和项目嵌入/>
因此,过滤和聚合模块212关于U-U相似性矩阵(SU)208和I-I相似性矩阵(SI)210中的每一个进行的函数可以由以下等式表示:
在示例实施例中,相关性分数生成模块218用于针对输入U-I交互矩阵中包括的每个项目-用户对生成相应的相关性分数在示例实施例中,U-I相关性分数矩阵/>可以使用以下函数生成为过滤的U-U相似性矩阵用户数据集NU和过滤的I-I相似性矩阵用户数据集NI的点积:
在等式6中,每个用户-项目相关性分数指示相应项目v相对于相应用户u的相关性分数。
如下面将更详细地解释,进行RS200的训练阶段,直到已经自适应地学习系统参数(特别是模型嵌入Θ和阈值矢量K)以优化定义的目标。当训练阶段完成并且定义的目标得到优化时,在推理阶段期间由相关性分数生成模块218生成最终相关性分数集并且生成排名列表模块230可以使用此最终相关性分数集/>来生成与每个前向用户u最相关的项目的个性化推荐列表xuv。在一些示例中,推理阶段可以是训练阶段的最终迭代。
现在将根据示例实施例更详细地描述RS200的训练。在示例实施例中,根据贝叶斯个性化排名(Bayesian Personalized Ranking,BPR)损失调适的双层优化目标用于训练RS200。具体是,学习系统参数的值,即模型嵌入Θ和阈值矢量K,以优化训练目标。在示例实施例中,训练目标是双层优化目标,其中在模型嵌入更新阶段期间学习模型嵌入Θ以优化内部或下层优化任务,在阈值矢量更新阶段期间学习阈值矢量K以优化外部或高层训练任务。在这方面,由RS200进行的推荐任务被视为排名问题,其中输入是用户隐式反馈,输出是关于每个用户u的推荐项目Xu的有序集合。
参考图2,为了训练目的,RS200包括三元组标识模块224,用于从U-I交互矩阵204标识地面真值(u,i,j)三元组226的列表,其中,“i”表示相对于用户u是正反馈项目的项目v,“j”表示相对于用户u是负反馈项目的项目v。在示例实施例中,项目与用户之间的关系可以根据这些项目之间的交互历史被分类为积极或消极的。例如,在由U-I图101和对应的U-I交互矩阵204表示的U-I交互数据集的情况下,在表示用户uAlice的用户节点与表示项目M1的项目节点之间存在边可以指示项目M1相对于用户uAlice是正反馈项目,并且在表示uAlice的用户节点与表示项目M2的项目节点之间不存在边可以指示项目M2相对于用户uAlice是负反馈项目。因此,每个地面真值(u,i,j)三元组标识用户-项目对u、i,其中i是相对于用户u的正反馈项目;以及相同情况下的另一个用户-项目对u、j,其中另一个项目j是相对于同一用户u的负反馈项目。在示例实施例中,这指示根据包括在输入U-I交互数据集(例如,U-I交互矩阵)204中的信息,假设在(u,i,j)三元组中标识的用户u更喜欢项目i而不是项目j。将所标识的(u,i,j)三元组提供给损失计算模块220。
在训练期间,由相关性分数生成模块218生成的相关性分数可以由损失计算模块220根据用户和项目标识被分离为对应于其中项目相对于用户为正反馈的用户-项目对的相关性分数/>和对应于其中项目相对于用户为负反馈的用户-项目对的相关性分数在训练阶段期间,目标是联合优化目标,以学习系统参数(模型嵌入Θ和阈值矢量K),这些参数将使对应于在地面真值(u,i,j)三元组中标识的用户、正反馈项目和负反馈项目的相关性分数/>与/>之间的差最大化。
在这方面,联合优化目标可以表示为:
/>
其中等式7中的损失L表示为:
在等式8中,Ω(·)是一个正则化项。
等式7的联合优化目标可能很难实现,因为阈值矢量K中的阈值可能非常小(或为零),并且没有为确定阈值矢量K提供明确的约束或指导,这可能导致搜索时间长和收敛困难。为了解决这个问题,在示例实施例中,联合优化被视为双层优化问题,其中阈值矢量K是上层(例如,外部)变量集和模型嵌入Θ,并且是下层(例如,内部)变量集。上层和下层目标函数可以分别表示为:
其中:
u:用户
i:正反馈项目w.r.t.u
j:负反馈项目w.r.t.u
Du:训练数据集w.r.t.u
模型嵌入
个性化阈值
如图2所示,损失计算模块220实现计算等式8中表示的损失所需的操作。计算的损失由更新参数操作222使用,所述操作进行反向传播以计算用于更新系统参数的梯度,作为过滤和聚合函数212的基于梯度下降的训练的一部分,在此期间,训练过滤和聚合模块212以学习优化的系统参数集(模型嵌入Θ和阈值矢量K)。模型嵌入在时间t根据内层损失更新,阈值矢量在时间t+1根据外层损失更新。如等式8所示,损失是根据对应于在地面真值(u,i,j)三元组中标识的用户、正反馈项目和负反馈项目的相关性分数与/>之间的差。
因此,在RS200的训练阶段期间,通过两阶段交互训练过程学习系统参数。具体是,进行内部优化/模型嵌入更新阶段,在此期间,阈值矢量/>为固定的,并且使用梯度下降更新模型嵌入/>然后进行外部优化/阈值矢量/>更新阶段,在此期间,模型嵌入/>为固定的,并且使用梯度下降更新阈值矢量/>可以迭代地重复内部和外部更新阶段,直到实现收敛。如上所述,在双层优化的情况下,必须间接执行外部优化约束。因此,在示例实施例中,通过使用代理函数来生成阈值矢量/>上的梯度与外部目标之间的连接。代理函数定义如下:
代理模型嵌入是来自先前训练迭代的模型嵌入/>由当前训练迭代确定的梯度下降值调整,如由超参数缩放值α缩放。
图6中表示了用于训练RS200以学习过滤和聚合函数212的优化系统参数的双层优化过程的伪代码表示。参考602指示用于内部优化/模型嵌入更新阶段的伪代码,在此期间,阈值矢量/>为固定的,并且根据内层目标函数在第一时间步t期间更新模型嵌入/>参考604指示用于外部优化/阈值矢量/>更新阶段的伪代码,在此期间,模型嵌入/>为固定的,并且根据外层目标函数在后一时间步t+1期间使用梯度下降更新阈值矢量/>参考606示出了用于生成阈值矢量/>与外部目标之间的连接的代理函数。当与现有RS相比时,现有RS实现了在两步过程中训练的模型(例如,首先搜索最优阈值,然后训练模型以学习模型嵌入),在本发明的示例实施例中,端到端训练是通过使用双层优化来学习模型嵌入和个性化阈值矢量两者来实现的。在某些应用中,阈值矢量/>中的个性化值的自适应学习使得能够在邻域聚合期间通过有用信息进行更准确的学习,从而提高推荐质量。将阈值矢量/>视为可学习系统参数可以提供更有用的阈值。此外,由于在训练过程期间迭代学习模型嵌入/>和阈值矢量/>因此可以为阈值矢量/>的梯度下降提供指导,与纯贝叶斯搜索算法相比,这可以节省时间和计算资源。
本发明提供了一种新的双层优化框架,以在例如RS200等推荐系统中实现个性化邻域选择。包括在阈值矢量中的相似性阈值被视为将以端到端方式学习的可学习系统参数,而不是现有RS中的超参数。此外,所公开的解决方案使用双层优化来在训练阶段期间自适应地联合学习项目和用户嵌入以及阈值矢量,而不是像在现有RS中那样使用贝叶斯搜索算法搜索全局最优阈值。阈值不是固定的,也不是所有用户和项目共享的,而是针对每个前向用户和项目学习个性化阈值以用于选择邻居。
在示例实施例中,包括过滤操作214和聚合操作216的过滤和聚合模块212可以嵌入到各种不同的ML模型中。例如,个性化RS通常使用深度学习/图形神经网络模型,这些模型用于学习用户和项目嵌入作为最终目标。因此,过滤和聚合模块212和相关性分数生成模块218的一个或多个操作可以嵌入GNN模型中。
图7为示出RS200的操作的流程图。如上所述,RS200的输入数据集是U-I交互矩阵,其标识用户集U、项目集I和关于用户集U中的用户u和项目集I中的项目v之间的历史交互的用户-项目交互数据。如框702所指示,根据用户-项目交互数据,生成指示用户集中用户对的用户-用户相似性分数的用户-用户相似性数据集,并且根据用户-项目交互数据,生成指示项目集中项目对的项目-项目相似性分数的项目-项目相似性数据集。
在推理阶段期间,进行以下操作来处理用户-用户和项目-项目相似性数据:
如框704所指示,根据用户相似性阈值矢量过滤用户-用户相似性数据集以生成过滤的用户-用户相似性数据集,并且根据项目相似性阈值矢量过滤项目-项目相似性数据集以生成过滤的项目-项目相似性数据集。用户相似性阈值矢量包括用户集中每个用户的相应用户相似性阈值,并且项目相似性阈值矢量包括项目集中每个项目的相应项目相似性阈值。
如框706所指示,根据过滤的用户-用户相似性数据集和用户嵌入集生成用户邻居嵌入集,所述用户嵌入集包括用户集中每个用户的相应用户嵌入。相似地,根据过滤的项目-项目相似性数据集和项目嵌入集生成项目邻居嵌入集,所述项目嵌入集包括项目集中每个项目的相应项目嵌入。
如框708所指示,根据用户邻居嵌入和项目邻居嵌入生成相关性分数集,对于用户集中的每个用户,所述相关性分数集包括项目集中的项目的相应相关性分数。
如框710所指示,然后根据相关性分数集为每个用户生成一个或多个推荐项目的列表。
在示例实施例中,用户相似性阈值矢量、用户嵌入集、项目相似性阈值矢量和项目嵌入集共同包括在推理阶段之前的训练阶段期间学习的系统参数。如上所述,在训练阶段期间,进行双层优化过程,包括用于根据下层目标函数学习用户嵌入和项目嵌入的内部优化阶段和用于根据上层目标函数学习用户相似性阈值矢量和项目相似性阈值矢量的外部优化阶段。
在示例实施例中,用于学习用户嵌入和项目嵌入的内部优化阶段包括:(a)根据临时用户相似性阈值矢量过滤所述用户-用户相似性数据集,以生成临时过滤的用户-用户相似性数据集;(b)根据临时项目相似性阈值矢量过滤所述项目-项目相似性数据集,以生成临时过滤的项目-项目相似性数据集;(c)根据临时过滤的用户-用户相似性数据集和临时用户嵌入集,生成临时用户邻居嵌入集;(d)根据临时过滤的项目-项目相似性数据集和临时项目嵌入集,生成临时项目邻居嵌入集;(e)根据临时用户邻居嵌入和临时项目邻居嵌入,生成临时相关性分数集;(f)根据生成临时相关性分数集来确定损失;(g)更新所述临时用户嵌入集和临时项目嵌入集,以使所述损失最小化;重复(c)到(g),直到所述临时用户嵌入集和临时项目嵌入集相对于所述临时用户相似性阈值矢量和临时项目阈值矢量得到优化。
在示例实施例中,用于学习用户相似性阈值矢量和项目相似性阈值矢量的外部优化阶段包括:(h)根据临时用户相似性阈值矢量过滤所述用户-用户相似性数据集,以生成临时过滤的用户-用户相似性数据集;(i)根据临时项目相似性阈值矢量过滤所述项目-项目相似性数据集,以生成临时过滤的项目-项目相似性数据集;(j)根据临时过滤的用户-用户相似性数据集和代理用户嵌入集,生成临时用户邻居嵌入集;(k)根据临时过滤的项目-项目相似性数据集和代理项目嵌入集,生成临时项目邻居嵌入集;(l)根据临时用户邻居嵌入和临时项目邻居嵌入,生成临时相关性分数集;(m)根据生成临时相关性分数集来确定所述损失;(n)更新所述临时用户相似性阈值矢量和临时项目相似性阈值矢量,以使所述损失最小化;重复(i)到(n),直到临时用户相似性阈值矢量和临时项目相似性阈值矢量相对于代理用户嵌入集和代理项目嵌入集得到优化。在多个训练迭代期间,依次重复所述内部优化阶段和所述外部优化阶段。
在一些示例中,进行训练阶段包括根据输入数据集确定多个三元组,其中每个三元组标识:(i)来自所述用户集的相应用户;(ii)所述项目集中根据所述用户-项目交互数据被认为相对于所述相应用户为正反馈的正反馈项目;(iii)所述项目集中根据所述用户-项目交互数据被认为相对于所述相应用户为负反馈的负反馈项目。进行系统参数的学习以优化目标,对于多个三元组,所述目标使针对相对于用户的正反馈项目计算的相关性分数与针对相对于用户的负反馈项目计算的相关性分数之间的差最大化。
处理系统
在示例实施例中,由RS200进行的操作是使用一个或多个物理或虚拟计算设备计算机实现的。在示例操作中,由RS200进行的操作可以是形成云计算服务提供商的“软件即服务”的一部分的软件。图8为示例处理系统170的框图,其可以用于物理或虚拟计算机设备中,以执行机器可执行指令以实现RS200的操作。可以使用适合于实现本发明中描述的实施例的其他处理系统,这些处理系统可以包括与下面讨论的那些组件不同的组件。虽然图8示出了每个组件的单个实例,但是在处理单元170中可能存在每个组件的多个实例。
处理系统170可以包括处理设备172,包括一个或多个处理元件,例如处理器、微处理器、通用处理器单元(general processor unit,GPU)、人工智能处理器、张量处理单元、神经处理单元、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、专用逻辑电路系统、加速器逻辑,或其组合。处理单元170还可以包括一个或多个输入/输出(input/output,I/O)接口174,其可以使得能够与一个或多个适当的输入设备184和/或输出设备186介接。处理单元170可以包括一个或多个网络接口176,用于与网络进行有线或无线通信。
处理系统170还可以包括一个或多个存储设备178,其可以包括大容量存储设备,例如固态硬盘、硬盘驱动器、磁盘驱动器和/或光盘驱动器。处理系统170可以包括一个或多个存储器180,其可以包括易失性或非易失性存储器(例如,闪存、随机存取存储器(randomaccess memory,RAM)和/或只读存储器(read-only memory,ROM))。一个或多个存储器180可以存储用于由一个或多个处理设备172执行的指令,这些指令将处理单元170用于实现RS200的操作并执行本发明中所描述的示例。一个或多个存储器180可以包括其他软件指令,例如用于实现操作系统和其他应用/功能的软件指令。
可以存在在处理系统170的组件之间提供通信的总线182,所述组件包括一个或多个处理设备172、一个或多个I/O接口174、一个或多个网络接口176、一个或多个存储设备178和/或一个或多个存储器180。总线182可以是任何合适的总线架构,例如包括存储器总线、外围总线或视频总线。
尽管本发明以特定的顺序描述了方法和过程,但可以视情况省略或更改方法和过程的一个或多个步骤。一个或多个步骤可以按顺序执行,但不是按描述的顺序执行(视情况而定)。在本发明中,除非上下文另有明确指示,否则术语“一(a)”、“一(an)”或“所述(the)”的使用也旨在包括复数形式。此外,术语“包括(includes/including/comprises/comprising)”或“具有(have/having)”当在本发明中使用时指定了所述元件的存在,但不排除其他元件的存在或添加。
尽管描述了本发明,但至少部分地,就方法来说,本领域普通技术人员将理解,本发明还涉及各种组件,用于通过硬件组件、软件或两者的任意组合进行所描述的方法的至少一些方面和特征。相应地,本发明的技术方案可通过软件产品的形式体现。合适的软件产品可以存储在预先记录的存储设备或其他相似的非易失性或非瞬时性计算机可读介质中,包括例如DVD、CD-ROM、USB闪存盘、可移动硬盘或其他存储介质。软件产品包括其上有形地存储的指令,这些指令使处理设备(例如个人计算机、服务器或网络设备)能够执行本文所公开的方法的示例。
本发明可以其他特定形式体现,而不脱离权利要求书的主题。所描述的示例实施例在各方面都仅仅是示意性的,而不是限制性的。可以将上述一个或多个实施例中的选定特征组合以创建未明确描述的替代性实施例,理解适合此类组合的特征在本发明的范围内。
还公开了公开范围内的所有值和子范围。此外,虽然本文所公开和示出的系统、设备和过程可包括特定数量的元素/组分,但可以修改所述系统、设备和组合件,以包括此类元素/组分中的更多或更少的元素/组分。例如,尽管所公开的任何元素/组分可引用为单数,但可以修改本文所公开的实施例以包括多个此类元素/组分。本文所描述的主题旨在覆盖和涵盖所有适当的技术变更。
Claims (21)
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.一种用于处理输入数据集的推荐系统,所述输入数据集标识用户集、项目集和关于所述用户集中的用户与所述项目集中的项目之间的历史交互的用户-项目交互数据,其特征在于,所述推荐系统包括:
处理设备;
非瞬时性存储设备,耦合到所述处理设备并存储指令,当由所述处理设备执行时,所述指令将所述推荐系统用于:
根据所述用户-项目交互数据,生成指示所述用户集中用户对的用户-用户相似性分数的用户-用户相似性数据集;
根据所述用户-项目交互数据,生成指示所述项目集中项目对的项目-项目相似性分数的项目-项目相似性数据集;
根据用户相似性阈值矢量过滤所述用户-用户相似性数据集,以生成过滤的用户-用户相似性数据集,所述用户相似性阈值矢量包括所述用户集中每个用户的相应用户相似性阈值;
根据所述过滤的用户-用户相似性数据集和用户嵌入集,生成用户邻居嵌入集,所述用户嵌入集包括所述用户集中每个用户的相应用户嵌入;
根据项目相似性阈值矢量过滤所述项目-项目相似性数据集,以生成过滤的项目-项目相似性数据集,所述项目相似性阈值矢量包括所述项目集中每个项目的相应项目相似性阈值;
根据所述过滤的项目-项目相似性数据集和项目嵌入集,生成项目邻居嵌入集,所述项目嵌入集包括所述项目集中每个项目的相应项目嵌入;
根据所述用户邻居嵌入和所述项目邻居嵌入,生成相关性分数集,对于用户集中的每个用户,所述相关性分数集包括所述项目集中的所述项目的相应相关性分数;
根据所述相关性分数集,为每个用户生成一个或多个推荐项目的列表。
12.根据权利要求11所述的推荐系统,其特征在于,所述非瞬时性存储设备存储附加软件指令,在由所述处理设备执行时,所述软件指令将所述推荐系统用于共同学习所述用户相似性阈值矢量、所述用户嵌入集、所述项目相似性阈值矢量和所述项目嵌入集。
13.根据权利要求12所述的推荐系统,其特征在于,所述非瞬时性存储设备存储附加软件指令,在由所述处理设备执行时,所述软件指令将所述推荐系统用于通过双层优化过程共同学习所述用户相似性阈值矢量、所述用户嵌入集、所述项目相似性阈值矢量和所述项目嵌入集,所述双层优化过程包括用于根据下层目标函数学习所述用户嵌入和项目嵌入的内部优化阶段和用于根据上层目标函数学习所述用户相似性阈值矢量和项目相似性阈值矢量的外部优化阶段。
14.根据权利要求13所述的推荐系统,其特征在于:
用于学习所述用户嵌入和项目嵌入的所述内部优化阶段包括:
(a)根据临时用户相似性阈值矢量过滤所述用户-用户相似性数据集,以生成临时过滤的用户-用户相似性数据集;
(b)根据临时项目相似性阈值矢量过滤所述项目-项目相似性数据集,以生成临时过滤的项目-项目相似性数据集;
(c)根据所述临时过滤的用户-用户相似性数据集和临时用户嵌入集,生成临时用户邻居嵌入集;
(d)根据所述临时过滤的项目-项目相似性数据集和临时项目嵌入集,生成临时项目邻居嵌入集;
(e)根据所述临时用户邻居嵌入和所述临时项目邻居嵌入,生成临时相关性分数集;
(f)根据生成临时相关性分数集来确定损失;
(g)更新所述临时用户嵌入集和临时项目嵌入集,以使所述损失最小化;
重复(c)到(g),直到所述临时用户嵌入集和临时项目嵌入集相对于所述临时用户相似性阈值矢量和临时项目阈值矢量得到优化;并且
用于学习所述用户相似性阈值矢量和所述项目相似性阈值矢量的所述外部优化阶段包括:
(h)根据临时用户相似性阈值矢量过滤所述用户-用户相似性数据集,以生成临时过滤的用户-用户相似性数据集;
(i)根据临时项目相似性阈值矢量过滤所述项目-项目相似性数据集,以生成临时过滤的项目-项目相似性数据集;
(j)根据所述临时过滤的用户-用户相似性数据集和代理用户嵌入集,生成临时用户邻居嵌入集;
(k)根据所述临时过滤的项目-项目相似性数据集和代理项目嵌入集,生成临时项目邻居嵌入集;
(l)根据所述临时用户邻居嵌入和所述临时项目邻居嵌入,生成临时相关性分数集;
(m)根据生成临时相关性分数集来确定所述损失;
(n)更新所述临时用户相似性阈值矢量和临时项目相似性阈值矢量,以使所述损失最小化;
重复(h)到(n),直到所述临时用户相似性阈值矢量和临时项目相似性阈值矢量相对于所述代理用户嵌入集和所述代理项目嵌入集得到优化,
其中,在多个训练迭代期间,依次重复所述内部优化阶段和所述外部优化阶段。
15.根据权利要求12所述的推荐系统,其特征在于,所述非瞬时性存储设备存储附加软件指令,在由所述处理设备执行时,所述软件指令将所述推荐系统用于通过以下方式共同学习所述用户相似性阈值矢量、所述用户嵌入集、所述项目相似性阈值矢量和所述项目嵌入集:
根据所述输入数据集确定多个三元组,其中每个三元组标识:(i)来自所述用户集的相应用户;(ii)所述项目集中根据所述用户-项目交互数据被认为相对于所述相应用户为正反馈的正反馈项目;(iii)所述项目集中根据所述用户-项目交互数据被认为相对于所述相应用户为负反馈的负反馈项目;
学习所述用户相似性阈值矢量、所述用户嵌入集、所述项目相似性阈值矢量和所述项目嵌入集以优化目标,对于所述多个三元组,所述目标使针对相对于用户的正反馈项目计算的相关性分数与针对相对于用户的负反馈项目计算的相关性分数之间的差最大化。
16.根据权利要求11至15中任一项所述的推荐系统,其特征在于:
使用余弦相似性算法确定所述用户对的所述用户-用户相似性分数和所述项目对的所述项目-项目相似性分数。
17.根据权利要求11至16中任一项所述的推荐系统,其特征在于:
所述推荐系统用于通过以下方式过滤所述用户-用户相似性数据集,对于每个用户,包括:
在所述过滤的用户-用户相似性数据集中复制所述用户-用户相似性数据集中超过所述用户的所述相应用户相似性阈值的所述用户的所述用户-用户相似性分数中的任何一个,
在所述过滤的用户-用户相似性数据集中将所述用户-用户相似性数据集中不超过所述用户的所述相应用户相似性阈值的所述用户的所述用户-用户相似性分数中的任何一个设置为零;并且
所述推荐系统用于通过以下方式过滤所述项目-项目相似性数据集,对于每个项目,包括:
在所述过滤的项目-项目相似性数据集中复制所述项目-项目相似性数据集中超过所述项目的所述相应项目相似性阈值的所述项目的所述项目-项目相似性分数中的任何一个,
在所述过滤的项目-项目相似性数据集中将所述项目-项目相似性数据集中不超过所述项目的所述相应项目相似性阈值的所述项目的所述项目-项目相似性分数中的任何一个设置为零。
18.根据权利要求17所述的推荐系统,其特征在于,所述非瞬时性存储设备存储附加软件指令,在由所述处理设备执行时,所述软件指令将所述推荐系统用于:
使用所述过滤的用户-用户相似性数据集的矩阵表示和所述用户嵌入集的矩阵表示的点积生成所述用户邻居嵌入集;
使用所述过滤的项目-项目相似性数据集的矩阵表示和所述项目嵌入集的矩阵表示的点积生成所述项目邻居嵌入集。
19.根据权利要求18所述的推荐系统,其特征在于,所述非瞬时性存储设备存储附加软件指令,在由所述处理设备执行时,所述软件指令将所述推荐系统用于使用所述用户邻居嵌入集的矩阵表示和所述项目邻居嵌入集的矩阵表示的点积生成所述相关性分数集。
20.一种计算机可读介质,其特征在于,所述计算机可读介质包括指令,当由处理系统的处理设备执行时,所述指令使所述处理系统进行根据权利要求1至10中任一项所述的方法。
21.一种计算机程序,其特征在于,所述计算机程序包括指令,当由处理系统的处理设备执行时,所述指令使所述处理系统进行根据权利要求1至10中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/170,647 | 2021-02-08 | ||
US17/170,647 US20220253722A1 (en) | 2021-02-08 | 2021-02-08 | Recommendation system with adaptive thresholds for neighborhood selection |
PCT/CN2021/105826 WO2022166115A1 (en) | 2021-02-08 | 2021-07-12 | Recommendation system with adaptive thresholds for neighborhood selection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116830100A true CN116830100A (zh) | 2023-09-29 |
Family
ID=82703890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180092738.3A Pending CN116830100A (zh) | 2021-02-08 | 2021-07-12 | 具有自适应阈值的邻域选择推荐系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220253722A1 (zh) |
CN (1) | CN116830100A (zh) |
WO (1) | WO2022166115A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230245206A1 (en) * | 2022-01-31 | 2023-08-03 | Salesforce.Com, Inc. | Time sensitive item-to-item recommendation system and method |
US20230297625A1 (en) * | 2022-03-15 | 2023-09-21 | Adobe Inc. | Utilizing a graph neural network to generate visualization and attribute recommendations |
US20240078495A1 (en) * | 2022-08-29 | 2024-03-07 | Sap Se | Compatibility assessment through machine learning |
CN115374369B (zh) * | 2022-10-20 | 2023-04-07 | 暨南大学 | 基于图神经网络的新闻多样性推荐方法及装置 |
CN115659063B (zh) * | 2022-11-08 | 2023-07-25 | 黑龙江大学 | 针对用户兴趣漂移的关联性信息增强推荐方法、计算机设备、存储介质和程序产品 |
CN116992099B (zh) * | 2023-09-27 | 2024-01-12 | 湖北工业大学 | 一种基于交互选择的图神经网络推荐方法、系统及终端 |
CN117932165B (zh) * | 2024-03-22 | 2024-06-11 | 湖南快乐阳光互动娱乐传媒有限公司 | 个性化社交方法、系统、电子设备及存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102044009A (zh) * | 2009-10-23 | 2011-05-04 | 华为技术有限公司 | 群组推荐方法和系统 |
US10353944B2 (en) * | 2014-11-24 | 2019-07-16 | RCRDCLUB Corporation | User-specific media playlists |
EP3580718A4 (en) * | 2017-02-09 | 2021-01-13 | Painted Dog, Inc. | METHODS AND APPARATUS FOR DETECTING, FILTERING AND IDENTIFYING OBJECTS IN CONTINUOUS VIDEO |
US10496752B1 (en) * | 2018-01-04 | 2019-12-03 | Facebook, Inc. | Consumer insights analysis using word embeddings |
US11055764B2 (en) * | 2018-01-29 | 2021-07-06 | Selligent, S.A. | Systems and methods for providing personalized online content |
US10803386B2 (en) * | 2018-02-09 | 2020-10-13 | Twitter, Inc. | Matching cross domain user affinity with co-embeddings |
US20190295124A1 (en) * | 2018-03-26 | 2019-09-26 | DoorDash, Inc. | Dynamic predictive similarity grouping based on vectorization of merchant data |
US20190325293A1 (en) * | 2018-04-19 | 2019-10-24 | National University Of Singapore | Tree enhanced embedding model predictive analysis methods and systems |
US11514333B2 (en) * | 2018-04-30 | 2022-11-29 | Meta Platforms, Inc. | Combining machine-learning and social data to generate personalized recommendations |
US11487791B2 (en) * | 2019-03-29 | 2022-11-01 | Microsoft Technology Licensing, Llc | Latent feature extraction from a network graph |
US20210035151A1 (en) * | 2019-07-31 | 2021-02-04 | Microsoft Technology Licensing, Llc | Audience expansion using attention events |
US20210110306A1 (en) * | 2019-10-14 | 2021-04-15 | Visa International Service Association | Meta-transfer learning via contextual invariants for cross-domain recommendation |
US11494617B2 (en) * | 2020-02-12 | 2022-11-08 | Huawei Technologies Co., Ltd. | Recommender system using bayesian graph convolution networks |
CN111949894B (zh) * | 2020-08-27 | 2023-05-23 | 桂林电子科技大学 | 一种基于多空间交互的协同过滤个性化推荐方法 |
-
2021
- 2021-02-08 US US17/170,647 patent/US20220253722A1/en active Pending
- 2021-07-12 CN CN202180092738.3A patent/CN116830100A/zh active Pending
- 2021-07-12 WO PCT/CN2021/105826 patent/WO2022166115A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20220253722A1 (en) | 2022-08-11 |
WO2022166115A1 (en) | 2022-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116830100A (zh) | 具有自适应阈值的邻域选择推荐系统 | |
Darban et al. | GHRS: Graph-based hybrid recommendation system with application to movie recommendation | |
Liu et al. | Deep learning based recommendation: A survey | |
Zhao et al. | Attribute mapping and autoencoder neural network based matrix factorization initialization for recommendation systems | |
Tian et al. | Evolutionary programming based deep learning feature selection and network construction for visual data classification | |
WO2021159894A1 (en) | Recommender system using bayesian graph convolution networks | |
Yuan et al. | Boostfm: Boosted factorization machines for top-n feature-based recommendation | |
WO2022036494A1 (en) | Graph structure aware incremental learning for recommender system | |
US20210034975A1 (en) | Artificial intelligence job recommendation neural network machine learning training based on embedding technologies and actual and synthetic job transition latent information | |
Chen et al. | Generative inverse deep reinforcement learning for online recommendation | |
WO2021262380A1 (en) | Differentiable user-item co-clustering | |
Paleti et al. | Approaching the cold-start problem using community detection based alternating least square factorization in recommendation systems | |
Sivaramakrishnan et al. | An effective user clustering-based collaborative filtering recommender system with grey wolf optimisation | |
CN116431914A (zh) | 一种基于个性化偏好转移模型的跨域推荐方法及系统 | |
WO2022166125A1 (en) | Recommendation system with adaptive weighted baysian personalized ranking loss | |
Gupta et al. | Research on understanding the effect of deep learning on user preferences | |
Wang et al. | Deep meta-learning in recommendation systems: A survey | |
Zhang et al. | Deep learning for recommender systems | |
Meena et al. | Group recommender systems–an evolutionary approach based on multi-expert system for consensus | |
Lv et al. | Xdm: Improving sequential deep matching with unclicked user behaviors for recommender system | |
Nazari et al. | Scalable and data-independent multi-agent recommender system using social networks analysis | |
Sangeetha et al. | Predicting personalized recommendations using GNN | |
US11636291B1 (en) | Content similarity determination | |
Rafailidis et al. | GeoDCF: deep collaborative filtering with multifaceted contextual information in location-based social networks | |
Jindal et al. | Efficient web navigation prediction using hybrid models based on multiple evidence combinations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |