1.一种双分支信息协同增强的长尾推荐方法,其特征在于,所述方法包括如下步骤:步骤1、截断头部用户的整个历史交互序列,得到截断项目序列表示,基于头部用户的整个历史交互序列获取头部用户完整的项目序列表示,利用项目嵌入生成器学习用户完整项目序列表示与截断项目序列表示的信息差,并将学习到的知识转移到现有的尾部用户;
步骤2、截断头部项目的整个历史交互序列,得到部分项目序列表示,基于项目与用户的全部交互获得的项目的完整序列表示,利用用户嵌入生成器学习项目的完整序列表示与部分项目序列表示的信息差,并将学习到的知识转移到现有的尾部项目;
步骤3、用户增强分支利用项目增强分支中的项目嵌入生成器包含的知识更新用户增强分支中头部用户的项目交互序列的表示;
项目增强分支利用用户增强分支中的用户嵌入生成器包含的知识更新项目增强分支中部分项目序列表示;
步骤4、采用迭代的方式重复步骤1至步骤3进行训练,训练完成后,将所得用户的完整序列表示和用户的完整表示进行融合,得到用户的增强表示,将项目的完整序列表示和项目的完整表示进行融合,得到项目的增强表示,将用户的增强表示和项目的增强表示执行点积操作,得到项目的综合得分以进行推荐;
在所述步骤1中,截断头部用户的整个历史交互序列,得到截断项目序列表示,基于头部用户的整个历史交互序列获取头部用户完整的项目序列表示,利用项目嵌入生成器学习用户完整项目序列表示与截断项目序列表示的信息差,并将学习到的知识转移到现有的尾部用户的方法具体包括如下步骤:将头部用户的整个历史交互序列截断,得到包含 个最近交互的项目截断子序列的过程存在如下关系式:;
其中, 表示项目截断子序列, 表示用户 的最后一个交互项目;
使用SASRec编码器对项目截断子序列进行编码以生成头部用户的截断项目序列表示,使用SASRec编码器对截断项目序列进行编码的过程存在如下关系式:;
其中, 表示截断项目序列表示, ;
将完整项目序列送入SASRec编码器生成用户完整项目序列表示;
将截断项目序列表示中的头部与尾部项目表示送入TE,分别添加一个全为0和一个全为1的向量,以表示项目受欢迎程度的偏差,将截断项目序列表示中的头部与尾部项目表示送入TE的计算过程存在如下关系式:;
其中, 表示映射函数, 表示 映射到对应的项目 ,1和0向量与 长度相同,即,表示 的维度,+表示向量的拼接;
根据截断项目序列表示和项目受欢迎程度的偏差,使用注意力机制来表示用户的项目交互序列偏好,用注意力机制来表示用户的项目交互序列偏好的过程存在如下关系式:;
其中, 表示用户的项目交互序列偏好, 、 分别表示项目 与最后点击的项目 增加偏差向量后的表示, 、 、 分别表示用于表示用户的项目交互序列偏好的三个不同的注意力权重矩阵, 表示用于表示用户的项目交互序列偏好的偏置向量,表示项目 的注意力权重,其中,矩阵 将两个组合嵌入向量压缩到潜在空间 中,表示实数;
对用户的项目交互序列偏好使用sigmoid函数,得到头部用户与尾部用户的影响因子,头部用户与尾部用户的影响因子计算过程存在如下关系式:;
其中, 、 分别表示头部用户与尾部用户的影响因子,表示自然常数;
再利用截断项目序列表示经过项目嵌入生成器生成用户 的完整表示,利用用户 的完整表示与用户完整项目序列表示构建损失函数,通过最小化损失来生成接近头部用户的完整表示以实现利用项目嵌入生成器学习用户完整项目序列表示与截断项目序列表示的信息差,利用用户 的完整表示与用户完整项目序列表示构建损失函数的过程存在如下关系式:;
其中, 表示用户 的完整项目序列表示, 表示用户嵌入生成器,用户的截断项目序列表示 通过 得到用户 的完整表示 ;
项目嵌入生成器学习完成后,根据项目嵌入生成器所学习的知识来生成尾部用户的项目交互序列的完整表示,以增强尾部用户的表示,增强尾部用户的表示过程存在如下关系式:;
其中, 表示尾部用户 的增强表示;
利用截断项目序列表示经过项目嵌入生成器生成用户 的完整表示的方法具体包括如下步骤:将截断项目序列表示中每个项目表示通过GRU编码器进行计算,得到项目的潜在表示,将截断项目序列表示中每个项目表示通过GRU编码器进行计算的过程存在如下关系式:;
其中, 、 、 分别表示项目子序列表示处理部分的GRU编码器对应门的权重矩阵, 表示sigmoid函数, 表示 携带上下文信息的项目表示,即项目 的第一潜在表示, ;
使用注意力机制和线性转换层来处理项目 的第一潜在表示,得到用户的完整表示,用户的完整表示的计算过程在如下关系式:;
其中, 、 、 表示用于处理截断项目序列表示的三个不同的注意力权重矩阵,表示偏置向量, 表示用于处理截断项目序列表示的局部嵌入, 表示用于处理截断项目序列表示的全局嵌入, 表示用户 的完整表示;在所述步骤2中,截断头部项目的整个历史交互序列,得到部分项目序列表示,基于项目与用户的全部交互获得的项目的完整序列表示,利用用户嵌入生成器学习项目的完整序列表示与部分项目序列表示的信息差,并将学习到的知识转移到现有的尾部项目的方法具体包括如下步骤:定义关于项目 的交互,得到项目交互的用户交互子序列集,定义关于项目 的交互的过程存在如下关系式:;
其中, 表示项目 交互的用户交互子序列集, 表示用户 的以项目 结尾的交互子序列,该子序列从原始序列 中第一个交互的项目一直截断到项目 的序列, 表示截断序列的最后一项, 表示子序列关系;
从项目 交互的用户交互子序列集中随机抽取 个用户交互子序列 来模拟项目缺乏用户交互的现象,其中 , ;
使用SASRec编码器对所抽取的用户交互子序列进行计算各用户到项目 的序列表示,各用户到项目 的序列表示的计算过程存在如下关系式:;
再将各个序列表示合并生成部分项目序列表示,各个序列表示合并过程存在如下关系式:;
其中, 表示部分项目序列表示,每个部分项目序列表示被表示成;
将项目 交互的用户交互子序列集送入SASRec编码器生成项目的完整序列表示 ;
将部分项目序列表示经过用户嵌入生成器生成项目的完整表示,利用项目的完整表示与项目的完整序列表示构建损失函数,通过最小化损失来生成接近完整序列表示以实现利用用户嵌入生成器学习项目的完整序列表示部分项目交互序列表示的信息差,利用项目的完整表示与项目的完整序列表示构建损失函数的过程存在如下关系式:;
其中, 表示项目 的完整序列表示, 表示项目嵌入生成器,部分项目序列表示 通过 得到项目的完整表示 ;
用户嵌入生成器学习完成后,根据项目嵌入生成器所学习的知识来生成尾部项目的完整表示,以对尾部项目的表示进行增强,增强尾部项目的表示过程存在如下关系式:;
其中, 表示尾部项目的增强表示, 表示尾部项目, 表示尾部项目的影响因子;将部分项目序列表示经过用户嵌入生成器生成项目 的完整表示的方法具体包括如下步骤:将部分项目序列表示中的每个项目表示通过GRU编码器计算,得到携带上下文信息的项目表示,携带上下文信息的项目表示计算过程存在如下关系式:;
其中, 、 、 表示用于处理部分项目序列表示的GRU编码器对应门的权重,表示项目 的第二潜在表示,其中, ;
根据携带上下文信息的项目表示,利用注意力机制来表示用户对项目序列的偏好,利用注意力机制来表示用户对项目序列的偏好的过程存在如下关系式:;
其中, 表示用户对项目序列的偏好, 、 、 分别表示用户对项目序列的偏好的三个不同的注意力权重矩阵, 表示偏置向量, 表示每个项目 的注意力权重,矩阵 将两个组合嵌入向量压缩到潜在空间 中;
对用户对项目序列的偏好使用sigmoid函数得到头部项目和尾部项目的影响因子,头部项目和尾部项目的影响因子的计算过程存在如下关系式:;
其中, 、 分别表示头部项目和尾部项目的影响因子;
使用注意层和线性变换层来处理部分项目序列表示所携带上下文信息的项目表示,得到项目的完整表示,项目的完整表示的计算过程存在如下关系式:;
其中, 、 、 表示用于处理部分项目序列表示所携带上下文信息的项目表示的三个不同的权重矩阵, 表示用于处理部分项目序列表示所携带上下文信息的项目表示的偏置向量, 表示用于处理部分项目序列表示所携带上下文信息的局部嵌入, 表示用于处理部分项目序列表示所携带上下文信息的全局嵌入, 表示项目 的完整表示;在所述步骤3中,用户增强分支利用项目增强分支中的项目嵌入生成器包含的知识更新用户增强分支中用户的项目交互序列的表示的方法具体包括如下步骤:在用户增强分支中,将用户序列 转换成 维,得到项目表示矩阵,项目表示矩阵存在如下关系式:
;
其中, 表示用户交互序列 中出现的项目表示矩阵;
根据项目增强分支中的 获得的知识更新用户增强分支中用户的项目交互序列的表示,更新用户增强分支中用户的项目交互序列的表示的过程存在如下关系式:;
其中, 表示项目 的增强表示, 表示以项目 结尾的项目序列表示, 表示头部项目集, 表示尾部项目集;
在更新尾部项目表示的同时,同样对头部项目的表示进行更新,得到增强项目表示矩阵,增强项目表示矩阵存在如下关系式:;
其中, 表示增强项目表示矩阵;
在所述步骤3中,项目增强分支利用用户增强分支中的用户嵌入生成器包含的知识更新项目增强分支中头部项目的用户交互序列表示 的过程存如下关系式:;
其中, 是项目 子序列的增强表示;
在所述步骤4中,将所得用户的完整序列表示和用户的完整表示进行融合,得到用户的增强表示,将项目的完整序列表示和项目的完整表示进行融合,得到项目的增强表示,将用户的增强表示和项目的增强表示执行点积操作,得到项目的综合得分以进行推荐的具体方法包括如下步骤:分别将用户的完整序列表示和用户的完整表示与头部用户影响因子和尾部用户影响因子进行融合运算,得到用户的增强表示 ;
分别将项目的完整序列表示和项目的完整表示与头部项目影响因子和尾部项目影响因子融合运算,得到项目的增强表示 ;
将用户的增强表示与项目增强分支送入的信息执行点积操作,得到项目的综合得分而便于推荐。
2.一种双分支信息协同增强的长尾推荐系统,其特征在于,所述系统应用如权利要求1所述的一种双分支信息协同增强的长尾推荐方法,所述系统包括:用户增强模块,用于:
截断头部用户的整个历史交互序列,得到截断项目序列表示,基于头部用户的整个历史交互序列获取头部用户完整的项目序列表示,利用项目嵌入生成器学习用户完整项目序列表示与截断项目序列表示的信息差,并将学习到的知识转移到现有的尾部用户;
项目增强模块,用于:
截断头部项目的整个历史交互序列,得到部分项目序列表示,基于项目与用户的全部交互获得的项目的完整序列表示,利用用户嵌入生成器学习项目的完整序列表示与部分项目序列表示的信息差,并将学习到的知识转移到现有的尾部项目;
双分子互增强模块,用于:
用户增强分支利用项目增强分支中的项目嵌入生成器包含的知识更新用户增强分支中头部用户的项目交互序列的表示;
项目增强分支利用用户增强分支中的用户嵌入生成器包含的知识更新项目增强分支中部分项目序列表示;
目标跟踪模块,用于:
采用迭代的方式重复用户增强模块、项目增强模块和双分子互增强模块部分的操作进行训练,训练完成后,将所得用户的完整序列表示和用户的完整表示进行融合,得到用户的增强表示,将项目的完整序列表示和项目的完整表示进行融合,得到项目的增强表示,将用户的增强表示和项目的增强表示执行点积操作,得到项目的综合得分以进行推荐。