一种基于隐式反馈的自适应降噪方法及装置

    专利查询2025-07-18  39


    本发明涉及电子商务推荐系统领域,具体涉及一种基于隐式反馈的自适应降噪方法及装置。


    背景技术:

    1、在电子商务推荐系统领域,了解用户的喜好和行为是提供个性化推荐的核心,而用户反馈数据是了解用户的喜好和行为的重要途经。通常,用户反馈数据分为显式反馈和隐式反馈两种类型。在实际环境特别是电子商务领域中,能够明确反映用户偏好的显式反馈数据的数量较少且不容易收集,大部分用户并不会对商品进行评论或者打分,更多的是用户对商品的交互记录,这类隐式反馈数据才是大多数企业所拥有的数据。

    2、然而,隐式反馈数据中所固有的噪声干扰性是推荐系统领域的一大痛点,其主要体现在假正例(fp)和假负例(fn)两个方面。假正例指的是对于用户交互过的商品,它们并不是用户所感兴趣的,可能是由于错误的点击或者代购等因素造成了用户对此类商品的交互。假负例指的是对于用户未交互过的商品,它们并不是用户所不感兴趣的,可能是由于暂未发现或已购买过类似商品等因素造成了用户对此类商品的未交互。

    3、因此,需要提出一种基于隐式反馈的自适应降噪方法及装置,克服隐式反馈数据中的噪声干扰。


    技术实现思路

    1、本技术的目的在于针对上述提到的技术问题提出一种基于隐式反馈的自适应降噪方法及装置。

    2、第一方面,本发明提供了一种基于隐式反馈的自适应降噪方法,包括以下步骤:

    3、获取用户对商品的隐式反馈数据,隐式反馈数据包括用户、商品、用户对交互商品的交互行为、交互时间戳和交互行为的频率,对于每个用户,定义与其产生过交互的商品为交互商品,与其未产生过交互的商品为未交互商品,根据用户对商品的隐式反馈数据计算得到每个用户对每个交互商品的偏好值;

    4、根据每个用户对每个交互商品的偏好值计算得到每个用户对每个交互商品感兴趣的置信度,并计算得到所有商品的商品热度,根据商品热度计算得到每个用户对每个未交互商品不感兴趣的置信度;

    5、根据商品热度构造负例集合;

    6、根据所有用户对交互商品感兴趣的置信度和用户对未交互商品不感兴趣的置信度,采用交替最小二乘法对用户和商品进行建模,并采用负例集合进行自适应降噪训练,得到用户-商品模型;在训练过程中,计算负例集合中每个负例的损失值,根据设定阈值和损失值将负例集合中的负例划分为真负例和假负例,对于真负例,提高其作为负例训练时的权重,对于假负例,降低其作为负例训练时的权重,具体包括以下步骤:

    7、s11,随机初始化用户特征向量矩阵p和商品特征向量矩阵q,定义损失函数loss(p,q),p、q和loss(p,q)计算公式如下:

    8、;

    9、;

    10、;

    11、其中,表示用户u的隐含特征向量,,n表示用户数量;表示商品i的隐含特征向量,,m表示商品数量;loss(p,q)表示基于用户特征向量矩阵p和商品特征向量矩阵q的损失值,u表示所有用户的集合,和分别表示用户u交互过和未交互过的商品的集合,表示用户对交互商品感兴趣的置信度,表示用户对未交互商品不感兴趣的置信度;reg表示正则化系数,t表示向量转置,表示范数;

    12、s12,根据当前用户特征向量矩阵p和商品特征向量矩阵q计算负例集合n中每一个元素(u,i)的损失值,构建初始为空的真负例集合tn和假负例集合fn,对负例集合中的负例进行分类并保存至真负例集合tn或假负例集合fn中,具体包括:

    13、s121,负例集合n中每一个元素(u,i)的损失值计算公式如下:

    14、;

    15、其中,loss(u,i)表示用户u和商品i互为负例时的损失值,表示用户u的隐含特征向量,表示商品i的隐含特征向量,t表示向量转置;

    16、s122,定义上限阈值和下限阈值,如下式所示:

    17、;

    18、;

    19、其中,表示下限阈值,表示下限阈值初始值,表示下限阈值更新步长,iter表示迭代次数;表示上限阈值,表示上限阈值初始值,表示上限阈值更新步长;

    20、s123,遍历负例集合中的负例(u,i),当时,将元素(u,i)视为真负例并保存至真负例集合tn,当时,将元素(u,i)视为假负例并保存至假负例集合fn,划分后得到真负例集合tn和假负例集合fn;

    21、s13,固定用户特征向量矩阵p,更新商品特征向量矩阵q,具体包括:

    22、s131,根据真负例集合tn计算第一微调矩阵,计算公式如下:

    23、;

    24、其中,表示更新商品i的隐含特征向量的第一微调矩阵,用于增加真负例作为负例训练时的权重;表示真负例集合tn中与商品i互为负例的用户集合;iter表示当前迭代次数;tnk表示超参数;loss(u,i)表示用户u和商品i互为负例时的损失值;表示用户对未交互商品不感兴趣的置信度;表示用户u的隐含特征向量;

    25、s132,根据假负例集合fn计算第二微调矩阵,计算公式如下:

    26、;

    27、其中,表示更新商品i的隐含特征向量的第二微调矩阵,用于降低假负例作为负例训练时的权重;表示假负例集合fn中与商品i互为负例的用户集合;iter表示当前迭代次数,maxiter表示最大迭代次数;loss(u,i)表示用户u和商品i互为负例时的损失值;表示用户对未交互商品不感兴趣的置信度;表示用户u的隐含特征向量;

    28、s133,根据第一微调矩阵和第二微调矩阵更新商品i的隐含特征向量,计算公式如下:

    29、;

    30、其中,表示商品i的隐含特征向量;和分别表示与商品i交互过和未交互过的用户的集合;表示用户对交互商品感兴趣的置信度,表示用户对未交互商品不感兴趣的置信度;表示用户u的隐含特征向量;reg表示正则化系数;e表示单位矩阵;

    31、s134,重复以上三个步骤,更新商品特征向量矩阵q中所有商品的隐含特征向量;

    32、s14,固定商品特征向量矩阵q,更新用户特征向量矩阵p,具体包括:

    33、s141,根据真负例集合tn计算第三微调矩阵,计算公式如下:

    34、;

    35、其中,表示更新用户u的隐含特征向量的第三微调矩阵,用于增加真负例作为负例训练时的权重;表示真负例集合tn中与用户u互为负例的商品集合;表示商品i的隐含特征向量;

    36、s142,根据假负例集合fn计算第四微调矩阵,计算公式如下:

    37、;

    38、其中,表示更新用户u的隐含特征向量的第四微调矩阵,用于降低假负例作为负例训练时的权重;表示假负例集合fn中与用户u互为负例的商品集合;表示商品i的隐含特征向量;

    39、s143,根据第三微调矩阵和第四微调矩阵更新用户u的隐含特征向量,计算公式如下:

    40、;

    41、其中,表示用户u的隐含特征向量;和分别表示用户u交互过和未交互过的商品的集合;表示用户对交互商品感兴趣的置信度,表示用户对未交互商品不感兴趣的置信度;表示商品i的隐含特征向量;reg表示正则化系数;e表示单位矩阵;

    42、s144,重复以上三个步骤,更新用户特征向量矩阵p中所有用户的隐含特征向量;

    43、s15,循环执行步骤s13到步骤s14,直到loss(p,q)收敛或达到最大迭代次数,得到用户-商品模型;

    44、基于用户-商品模型对用户生成推荐列表。

    45、作为优选,根据用户对商品的隐式反馈数据计算得到每个用户对每个交互商品的偏好值,具体包括:

    46、根据用户对交互商品的交互行为和交互时间戳,计算每个用户对每个交互商品的局部偏好值,计算公式如下:

    47、;

    48、其中,u表示用户,i表示商品,表示用户对交互商品的局部偏好值;e表示自然常数,表示时间衰减系数,表示当前时间戳值;t表示交互行为发生时的交互时间戳值;表示用户对交互商品的交互行为的量化值,交互行为包括点击行为、收藏行为、加入购物车行为和购买行为,对于点击行为,;对于收藏行为,;对于加入购物车行为,;对于购买行为,;

    49、对用户的隐式反馈数据以(用户,商品)为关键字进行分组,根据同一用户对同一交互商品在不同时间段的所有局部偏好值计算该用户对该交互商品的偏好值,计算公式如下:

    50、;

    51、其中,表示用户对交互商品的偏好值,表示求和。

    52、作为优选,根据每个用户对每个交互商品的偏好值计算得到每个用户对每个交互商品感兴趣的置信度,并计算得到所有商品的商品热度,根据商品热度计算得到每个用户对每个未交互商品不感兴趣的置信度,具体包括:

    53、第一种情况,响应于确定用户u对商品i产生过交互,交互行为属于点击行为,且交互行为的频率为1,则用户u对该商品i感兴趣的置信度计算公式如下:

    54、;

    55、其中,表示用户对交互商品感兴趣的置信度;

    56、第二种情况,响应于确定用户u对商品i产生过交互,交互行为属于购买行为,且用户u对商品i只存在多次购买行为而不存在其他的交互行为,则用户u对商品i感兴趣的置信度计算公式如下:

    57、;

    58、其中,表示置信度系数;表示用户u所购买的商品的集合;表示用户u不经过其他交互行为而直接购买的商品的集合;

    59、第三种情况,响应于确定用户u对商品i产生过交互,且交互行为不属于第一种情况和第二种情况,则用户u对该商品i感兴趣的置信度计算公式如下:

    60、;

    61、根据同一商品i对应的所有用户对交互商品的偏好值计算该商品i的热度值,计算公式如下:

    62、;

    63、其中,表示商品i的热度值;u表示所有用户的集合;表示与商品i产生过交互的用户的集合;

    64、第四种情况,响应于确定用户u与商品i未产生过交互,则用户u对该商品i不感兴趣的置信度计算公式如下:

    65、;

    66、其中,表示用户对未交互商品不感兴趣的置信度,k和l表示超参数;表示所有商品热度的平均值。

    67、作为优选,根据商品热度构造负例集合,具体包括:

    68、选取每个用户的所有未交互商品中商品热度最高的前h个商品,生成负例集合n,其中n中每一个元素为(u,i),表示用户u和商品i互为负例。

    69、作为优选,基于用户-商品模型对用户生成推荐列表,具体计算公式如下:

    70、;

    71、其中,表示推荐列表,表示商品i的隐含特征向量和用户u的隐含特征向量的内积;表示热度惩罚因子,取值为[0,1];表示商品i的热度值;表示列表按由大到小排序;表示取列表前recn个元素;i表示所有商品集合。

    72、第二方面,本发明提供了一种基于隐式反馈的自适应降噪装置,包括:

    73、偏好值计算模块,被配置为获取用户对商品的隐式反馈数据,隐式反馈数据包括用户、商品、用户对交互商品的交互行为、交互时间戳和交互行为的频率,对于每个用户,定义与其产生过交互的商品为交互商品,与其未产生过交互的商品为未交互商品,根据用户对商品的隐式反馈数据计算得到每个用户对每个交互商品的偏好值;

    74、置信度计算模块,被配置为根据每个用户对每个交互商品的偏好值计算得到每个用户对每个交互商品感兴趣的置信度,并计算得到所有商品的商品热度,根据商品热度计算得到每个用户对每个未交互商品不感兴趣的置信度;

    75、负例集合构造模块,被配置为根据商品热度构造负例集合;

    76、模型训练模块,被配置为根据所有用户对交互商品感兴趣的置信度和用户对未交互商品不感兴趣的置信度,采用交替最小二乘法对用户和商品进行建模,并采用负例集合进行自适应降噪训练,得到用户-商品模型;在训练过程中,计算负例集合中每个负例的损失值,根据设定阈值和损失值将负例集合中的负例划分为真负例和假负例,对于真负例,提高其作为负例训练时的权重,对于假负例,降低其作为负例训练时的权重,具体包括以下步骤:

    77、s11,随机初始化用户特征向量矩阵p和商品特征向量矩阵q,定义损失函数loss(p,q),p、q和loss(p,q)计算公式如下:

    78、;

    79、;

    80、;

    81、其中,表示用户u的隐含特征向量,,n表示用户数量;表示商品i的隐含特征向量,,m表示商品数量;loss(p,q)表示基于用户特征向量矩阵p和商品特征向量矩阵q的损失值,u表示所有用户的集合,和分别表示用户u交互过和未交互过的商品的集合,表示用户对交互商品感兴趣的置信度,表示用户对未交互商品不感兴趣的置信度;reg表示正则化系数,t表示向量转置,表示范数;

    82、s12,根据当前用户特征向量矩阵p和商品特征向量矩阵q计算负例集合n中每一个元素(u,i)的损失值,构建初始为空的真负例集合tn和假负例集合fn,对负例集合中的负例进行分类并保存至真负例集合tn或假负例集合fn中,具体包括:

    83、s121,负例集合n中每一个元素(u,i)的损失值计算公式如下:

    84、;

    85、其中,loss(u,i)表示用户u和商品i互为负例时的损失值,表示用户u的隐含特征向量,表示商品i的隐含特征向量,t表示向量转置;

    86、s122,定义上限阈值和下限阈值,如下式所示:

    87、;

    88、;

    89、其中,表示下限阈值,表示下限阈值初始值,表示下限阈值更新步长,iter表示迭代次数;表示上限阈值,表示上限阈值初始值,表示上限阈值更新步长;

    90、s123,遍历负例集合中的负例(u,i),当时,将元素(u,i)视为真负例并保存至真负例集合tn,当时,将元素(u,i)视为假负例并保存至假负例集合fn,划分后得到真负例集合tn和假负例集合fn;

    91、s13,固定用户特征向量矩阵p,更新商品特征向量矩阵q,具体包括:

    92、s131,根据真负例集合tn计算第一微调矩阵,计算公式如下:

    93、;

    94、其中,表示更新商品i的隐含特征向量的第一微调矩阵,用于增加真负例作为负例训练时的权重;表示真负例集合tn中与商品i互为负例的用户集合;iter表示当前迭代次数;tnk表示超参数;loss(u,i)表示用户u和商品i互为负例时的损失值;表示用户对未交互商品不感兴趣的置信度;表示用户u的隐含特征向量;

    95、s132,根据假负例集合fn计算第二微调矩阵,计算公式如下:

    96、;

    97、其中,表示更新商品i的隐含特征向量的第二微调矩阵,用于降低假负例作为负例训练时的权重;表示假负例集合fn中与商品i互为负例的用户集合;iter表示当前迭代次数,maxiter表示最大迭代次数;loss(u,i)表示用户u和商品i互为负例时的损失值;表示用户对未交互商品不感兴趣的置信度;表示用户u的隐含特征向量;

    98、s133,根据第一微调矩阵和第二微调矩阵更新商品i的隐含特征向量,计算公式如下:

    99、;

    100、其中,表示商品i的隐含特征向量;和分别表示与商品i交互过和未交互过的用户的集合;表示用户对交互商品感兴趣的置信度,表示用户对未交互商品不感兴趣的置信度;表示用户u的隐含特征向量;reg表示正则化系数;e表示单位矩阵;

    101、s134,重复以上三个步骤,更新商品特征向量矩阵q中所有商品的隐含特征向量;

    102、s14,固定商品特征向量矩阵q,更新用户特征向量矩阵p,具体包括:

    103、s141,根据真负例集合tn计算第三微调矩阵,计算公式如下:

    104、;

    105、其中,表示更新用户u的隐含特征向量的第三微调矩阵,用于增加真负例作为负例训练时的权重;表示真负例集合tn中与用户u互为负例的商品集合;表示商品i的隐含特征向量;

    106、s142,根据假负例集合fn计算第四微调矩阵,计算公式如下:

    107、;

    108、其中,表示更新用户u的隐含特征向量的第四微调矩阵,用于降低假负例作为负例训练时的权重;表示假负例集合fn中与用户u互为负例的商品集合;表示商品i的隐含特征向量;

    109、s143,根据第三微调矩阵和第四微调矩阵更新用户u的隐含特征向量,计算公式如下:

    110、;

    111、其中,表示用户u的隐含特征向量;和分别表示用户u交互过和未交互过的商品的集合;表示用户对交互商品感兴趣的置信度,表示用户对未交互商品不感兴趣的置信度;表示商品i的隐含特征向量;reg表示正则化系数;e表示单位矩阵;

    112、s144,重复以上三个步骤,更新用户特征向量矩阵p中所有用户的隐含特征向量;

    113、s15,循环执行步骤s13到步骤s14,直到loss(p,q)收敛或达到最大迭代次数,得到用户-商品模型;

    114、推荐列表生成模块,被配置为基于用户-商品模型对用户生成推荐列表。

    115、第三方面,本发明提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。

    116、第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。

    117、第五方面,本发明提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。

    118、相比于现有技术,本发明具有以下有益效果:

    119、(1)本发明提出的基于隐式反馈的自适应降噪方法在训练过程中通过对负例集合中的负例进行真负例和假负例划分,对于所述真负例,提高其作为负例训练时的权重,对于所述假负例,降低其作为负例训练时的权重,克服隐式反馈数据中的噪声干扰,使建模更加准确。

    120、(2)本发明提出的基于隐式反馈的自适应降噪方法中先计算每个用户对每个未交互商品不感兴趣的置信度,而不是简单地认为每个用户对每个未交互商品不感兴趣的置信度相同,避免了传统算法中将所有负例视为相同权重的弊端;然后,在训练时根据真负例集合和假负例集合中用户对未交互商品不感兴趣的置信度分别计算真负例集合对应的第一微调矩阵和第三微调矩阵、假负例集合对应的第二微调矩阵和第四微调矩阵,从而调整负例训练时的权重,实现自适应降噪,更好地克服隐式反馈数据中的噪声干扰。

    121、(3)本发明提出的基于隐式反馈的自适应降噪方法在计算用户对交互商品感兴趣的置信度时,将用户对商品产生过交互行为的情况进行分类,并对分类后的情况分别计算用户对与其产生过交互行为的商品感兴趣的置信度,通过此方法,可以有效降低潜在的假正例在模型训练过程中作为正例训练的权重,有效避免了由于代购或者购买之后反馈不好的正例对模型训练产生的消极影响。


    技术特征:

    1.一种基于隐式反馈的自适应降噪方法,其特征在于,包括以下步骤:

    2.根据权利要求1所述的基于隐式反馈的自适应降噪方法,其特征在于,所述根据所述用户对商品的隐式反馈数据计算得到每个用户对每个交互商品的偏好值,具体包括:

    3.根据权利要求2所述的基于隐式反馈的自适应降噪方法,其特征在于,所述根据所述每个用户对每个交互商品的偏好值计算得到每个用户对每个交互商品感兴趣的置信度,并计算得到所有商品的商品热度,根据所述商品热度计算得到每个用户对每个未交互商品不感兴趣的置信度,具体包括:

    4.根据权利要求3所述的基于隐式反馈的自适应降噪方法,其特征在于,所述根据商品热度构造负例集合,具体包括:

    5.根据权利要求3所述的基于隐式反馈的自适应降噪方法,其特征在于,所述基于所述用户-商品模型对用户生成推荐列表,具体计算公式如下:

    6.一种基于隐式反馈的自适应降噪装置,其特征在于,包括:

    7.一种电子设备,包括:

    8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。

    9.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述的方法。


    技术总结
    本发明涉及电子商务推荐系统领域,具体涉及一种基于隐式反馈的自适应降噪方法及装置,其包括获取用户对商品的隐式反馈数据,根据用户对商品的隐式反馈数据计算得到用户对与其交互过的交互商品的偏好值;根据用户对交互商品的偏好值计算得到用户对交互商品感兴趣的置信度,并计算得到所有商品的商品热度,根据商品热度计算得到用户对与其未交互过的未交互商品不感兴趣的置信度;根据商品热度构造负例集合;对用户和商品进行建模,并在采用负例集合训练时对各负例训练的权重自适应调整,以实现自适应降噪,得到准确的用户‑商品模型;基于用户‑商品模型对用户生成推荐列表,解决了隐式反馈数据的噪声干扰问题,实现自适应降噪。

    技术研发人员:吕晟,王佳斌,邓凡,林熙隆
    受保护的技术使用者:华侨大学
    技术研发日:
    技术公布日:2024/11/26
    转载请注明原文地址:https://tc.8miu.com/read-30397.html

    最新回复(0)