CN113609388B - 基于反事实用户行为序列生成的序列推荐方法 - Google Patents

基于反事实用户行为序列生成的序列推荐方法 Download PDF

Info

Publication number
CN113609388B
CN113609388B CN202110851097.7A CN202110851097A CN113609388B CN 113609388 B CN113609388 B CN 113609388B CN 202110851097 A CN202110851097 A CN 202110851097A CN 113609388 B CN113609388 B CN 113609388B
Authority
CN
China
Prior art keywords
user
sequence
item
concept
facts
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.)
Active
Application number
CN202110851097.7A
Other languages
English (en)
Other versions
CN113609388A (zh
Inventor
吴飞
张圣宇
赵洲
姚东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202110851097.7A priority Critical patent/CN113609388B/zh
Publication of CN113609388A publication Critical patent/CN113609388A/zh
Application granted granted Critical
Publication of CN113609388B publication Critical patent/CN113609388B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于反事实用户行为序列生成的序列推荐方法。该方法的基本流程如下:首先使用物品相似度识别用户序列中物品层级和兴趣层级的重要概念和非重要概念;然后使用概念重要性识别结果和数据增强手段生成反事实正负用户序列;最后使用对比学习方法对反事实正负用户‑用户、用户‑物品进行对比表征学习,以学习得到的序列推荐模型进行实际的序列推荐。本发明将反事实样本生成、对比学习应用于序列个性化推荐。相比一般序列推荐方法,本发明通过建模反事实用户序列空间,能够缓解用户点击行为稀疏问题;通过识别物品层级和兴趣层级的重要概念和非重要概念,并以此进行用户表征学习,能够学习更加准确可靠的用户表征。

Description

基于反事实用户行为序列生成的序列推荐方法
技术领域
本发明涉及推荐系统领域,尤其涉及一种旨在建模反事实用户序列数据空间,利用对比学习增强序列推荐的用户表征的可靠性和准确性。
背景技术
由于人们在互联网上面临海量数据,个性化推荐对于检索信息和发现内容是必不可少的工具。在个性化推荐中,准确表征和表示用户在成功的推荐框架中起着至关重要的作用。由于用户的历史行为具有顺序依赖性,其个性化兴趣也会随着自然时间的演变,因此最近的个性化模型多采用序列推荐的建模范式。序列推荐通过利用顺序建模的用户-项目交互来捕捉用户当前的偏好。
序列推荐方法旨在基于历史交互行为,预测用户可能与之交互的下一个项目。序列建模具有挑战性和开放性,目前成为个性化推荐中的热点问题。序列推荐传统方法主要利用马尔可夫链和因子分解机来捕获低阶顺序依赖关系。在这些工作之后,研究领域又提出了高阶马尔可夫链和RNN(循环神经网络)来模拟复杂的高阶依赖关系。最近,MIND模型使用胶囊网络将历史交互行为转换为多个兴趣向量。ComiRec模型不同于MIND,它利用注意力机制引入了一个可控因子来实现推荐准确性和多样性的动态平衡。
尽管这些框架取得了重大进展,但仍有一些挑战需要进一步探索。比如,一个重要的挑战在于用户隐式反馈中存在的噪声行为。具体而言,由于无处不在的干扰因素可能影响着用户的第一印象(例如标题党、位置偏差、促销),导致用户兴趣与点击行为之间存在不一致。另一个重要挑战是现有方法在解决推荐系统中的数据稀疏问题方面存在不足,在推荐系统中,与在大型实时推荐系统中可以轻松达到1亿量级的项目库相比,用户通常只与有限数量的项目进行交互。因此,仅对既稀疏又嘈杂的观察行为序列进行建模可能会导致不那么令人满意的推荐系统。为此,学习准确和可靠的用户表示对于推荐系统而言至关重要。
发明内容
本发明的目的在于解决现有技术中存在的问题,并提供了一种基于反事实用户序列生成的序列推荐方法。
本发明具体采用的技术方案如下:
一种基于反事实用户行为序列生成的序列推荐方法,其包括如下步骤:
S1、将待推荐的目标项目作为参照,使用项目相似度识别用户行为序列中物品层级和兴趣层级各自的重要概念和非重要概念;
S2、基于S1中得到的概念识别结果以及从用户行为序列中提取的概念序列,通过数据增强手段对概念序列中的重要概念和非重要概念进行反事实替换,其中概念序列中重要概念被替换后生成反事实正用户序列,概念序列中非重要概念被替换后生成反事实负用户序列;基于反事实正用户序列和反事实负用户序列,通过用户编码器得到反事实正负用户表征;
S3、使用对比学习方法对反事实正负用户表征进行向量空间的对比,计算用户-用户反事实对比损失,并对反事实正负用户表征和目标项目表征进行向量空间的对比,计算用户-项目反事实对比损失;通过优化包含用户-用户反事实对比损失和用户-项目反事实对比损失在内的总损失函数,完成对序列推荐模型的训练;
S4:根据目标用户的历史行为序列,利用训练完毕的序列推荐模型预测用户可能与之交互的下一个项目,实现项目推荐。
作为优选,所述S1具体包括以下子步骤:
S101、首先从项目层级提取概念,用户行为序列中的每个项目都视为一个独立的概念,得到项目层级概念序列C=X∈Rt×d,其中X=gθ(xu,t+1)表示项目序列的向量表示,gθ表示项目编码器;xu,t+1表示用户u点击目标项目Yt+1之前的所有t个项目,表示为用户行为序列{Y1,Y2,…,Yt},其中Yt表示用户点击过的第t个项目,Rt×d表示t个维度为d的项目向量构成的矩阵;使用目标项目Yt+1作为指标,评估项目层级概念的重要性:
式中:是第i个项目层级概念的重要性分数,ci表示项目层级概念序列C中第i个概念的特征表示,yt+1表示目标项目的特征表示,φθ是相似度评估函数;
S102、首先根据注意力机制计算注意力矩阵:
A=softmax(W2tanh(W1XT))T
式中:和/>是可训练的线性变换矩阵,da是隐向量维度,K是预定义的概念抽取数量,tanh是双曲正弦激活函数,A的矩阵维度为Rt×K
再利用注意力矩阵提取兴趣层级概念,得到兴趣层级概念序列:
I=ATX
式中:I的矩阵维度为RK×d,表示K个维度为d的兴趣层级概念向量;
最后通过项目层级分数的加权之和来计算概念分数:
pinterest=ATφθ(X,yt+1)
式中:pinterest矩阵维度为RK,表示K个兴趣层级概念的重要性分数;
S103、以项目层级概念序列中每个项目层级概念的重要性分数为依据,按照设定比例将所有项目层级概念划分为项目层级的重要概念和非重要概念两类;以兴趣层级概念序列中每个兴趣层级概念的重要性分数为依据,按照设定比例将所有兴趣层级概念划分为兴趣层级的重要概念和非重要概念两类。
进一步的,所述S2具体包括以下子步骤:
S201、将项目层级概念序列和兴趣层级概念序列均作为用户序列,针对每一条用户序列,以rrep的比率替换用户序列中的非重要概念得到M条反事实正用户序列,另外以rrep的比率替换用户序列中的重要概念得到N条反事实负用户序列;
S202、利用用户编码器fθ,从M条反事实正用户序列中获得反事实的正用户表征{x+,m}m=1,…,M,同时从N条反事实负用户序列中获得反事实的负用户表征{x-,n}n=1,…,N
进一步的,所述的S3具体包括以下子步骤:
S301、在训练过程中,使用三元组边际损失来衡量样本之间的相对相似性,得到用户-用户反事实对比损失:
其中xq表示未进行概念替换的原始用户表征,x+,m表示根据第m条反事实正用户序列得到的反事实的正用户表征,x-,n表示根据第n条反事实负用户序列得到的反事实的负用户表征,d表示距离函数,Δco为超参数;
S302、在训练过程中,利用目标项目Yt+1增强用户表示学习,得到用户-项目反事实对比损失:
式中:为L2归一化后的目标项目的特征表示,/>为L2归一化后的反事实的正用户表征,/>为L2归一化后的反事实的负用户表征,Δii为超参数,“·”表示向量点积;
S303、在训练过程中,计算SampledSoftmax损失为:
其中:为随机采样的负样本项目表征集合,其中Nk表示负样本项目集合的数量。
S304、以所述Lco、Lii和Lssm三者之和作为总损失,以最小化总损失值为目标对由项目编码器和用户编码器构成的序列推荐模型进行训练,得到具有最优参数的序列推荐模型。
进一步的,所述的S4具体包括以下子步骤:
在序列推荐模型服务期间,输入待推荐用户历史点击过的项目序列xu,t+1,通过用户编码器fθ得到用户特征表示x;同时对于系统中所有的项目 通过项目编码器得到所有项目的表征/>其中/>表示项目集合/>中的项目总数量;使用K-近邻算法,以向量点积作为相似度函数计算用户特征表示x与每个项目的表征之间的相似度,得到与用户特征表示x相似度最高的K个项目,作为K个推荐返回给待推荐用户。
进一步的,所述S2中,通过数据增强手段对每个层级的概念序列中概念进行反事实替换时,预先维护一个先进先出队列作为每个层级的概念存储器,并使用队列出列的概念作为替代概念,完成一个批次后将从当前批次中提取的概念加入队列。
进一步的,所述项目编码器gθ中,使用嵌入层通过行为id直接得到项目表征。
进一步的,所述用户编码器fθ中,针对给定用户行为序列xu,t+1={Y1,Y2,…,Yt},用户编码器首先使用项目编码器gθ得到每个项目的表征{y1,y2,…,yt},然后使用均值池化得到整体表征最后将整体表征通过多层感知机得到用户的表征。
进一步的,相似度评估函数φθ通过计算向量的点积实现。
进一步的,所述的距离函数d设置为欧几里得距离。
本发明将反事实样本生成和对比学习应用于序列个性化推荐。相比一般序列推荐方法,本发明通过建模反事实用户序列空间,能够缓解用户点击行为稀疏问题;通过识别物品层级和兴趣层级的重要概念和非重要概念,并以此进行用户表征学习,能够学习更加准确可靠的用户表征。
附图说明
图1是基于反事实用户行为序列生成的序列推荐方法流程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步阐述和说明。
本发明的核心在于将反事实样本生成以及对比学习应用于个性化序列推荐模型的训练过程中,使得序列推荐模型能够学习到更加准确可靠的用户表征。
在本发明中,具体的序列推荐模型结构不限,例如GRU4Rec、ComiRec-SA均可,不同序列推荐模型的基本组成均可以分为项目编码器gθ和用户编码器fθ两部分。下面对本发明的具体实现方法进行详细展开描述。
在本发明的一个较佳实施例中,提供了一种基于反事实用户行为序列生成的序列推荐方法,如图1所示为其流程框架图,该方法具体包括如下步骤:
S1、将待推荐的目标项目作为参照,使用项目相似度识别用户行为序列中物品层级和兴趣层级各自的重要概念和非重要概念。
为了识别重要/非重要的概念,我们建议首先从用户序列中提取概念并计算概念重要性分数。除了项目级概念之外,我们还通过利用注意力机制来提取兴趣层级概念。因此,在本实施例中,上述S1具体包括以下子步骤:
S101、首先从项目层级提取概念,用户行为序列中的每个项目都视为一个独立的概念,得到项目层级概念序列C=X∈Rt×d,其中X=gθ(xu,t+1)表示项目序列的向量表示,gθ表示项目编码器;xu,t+1表示用户u点击目标项目Yt+1之前的所有t个项目,表示为用户行为序列{Y1,Y2,…,Yt},其中Yt表示用户点击过的第t个项目,Rt×d表示t个维度为d的项目向量构成的矩阵;使用目标项目Yt+1作为指标,评估项目层级概念的重要性:
式中:是第i个项目层级概念的重要性分数,ci表示项目层级概念序列C中第i个概念的特征表示,yt+1表示目标项目的特征表示,φθ是相似度评估函数。
在本实施例中,相似度评估函数φθ通过计算向量的点积实现。
S102、首先根据注意力机制计算注意力矩阵:
A=softmax(W2tanh(W1XT))T
式中:和/>是可训练的线性变换矩阵,da是隐向量维度,K是预定义的概念抽取数量,tanh是双曲正弦激活函数,A的矩阵维度为Rt×K
再利用注意力矩阵提取兴趣层级概念,得到兴趣层级概念序列:
I=ATX
式中:I的矩阵维度为RK×d,表示K个维度为d的兴趣层级概念向量;
最后由于兴趣级别的概念和目标物品不是自然嵌入在同一空间中,因此通过项目层级分数的加权之和来计算概念分数:
pinterest=ATφθ(X,yt+1)
式中:pinterest矩阵维度为RK,表示K个兴趣层级概念的重要性分数;
S103、以项目层级概念序列中每个项目层级概念的重要性分数为依据,按照设定比例将所有项目层级概念划分为项目层级的重要概念和非重要概念两类;以兴趣层级概念序列中每个兴趣层级概念的重要性分数为依据,按照设定比例将所有兴趣层级概念划分为兴趣层级的重要概念和非重要概念两类。
划分重要概念和非重要概念的具体比例可以根据实际需要调整,对于项目层级概念和兴趣层级概念,我们将得分最高的序列前一半概念视为重要概念,将序列后一半概念视为非重要概念。
S2、基于S1中得到的概念识别结果以及从用户行为序列中提取的概念序列,通过数据增强手段对概念序列中的重要概念和非重要概念进行反事实替换,其中概念序列中重要概念被替换后生成反事实正用户序列,概念序列中非重要概念被替换后生成反事实负用户序列;基于反事实正用户序列和反事实负用户序列,通过用户编码器得到反事实正负用户表征。
上述S2中所提出的反事实变换旨在原始用户序列的基础上,构建训练数据分布外的用户序列,以便于序列推荐模型能够更好地学习准确可靠的用户表征。
在本实施例中,上述S2具体包括以下子步骤:
S201、将项目层级概念序列和兴趣层级概念序列均作为用户序列,针对每一条用户序列,以rrep的比率替换用户序列中的非重要概念得到M条反事实正用户序列,另外以rrep的比率替换用户序列中的重要概念得到N条反事实负用户序列;
上述概念替换过程,本质上是一种数据增强的过程,原始的用户序列每一次被替换都会生成一条反事实正/负用户序列。而且由于每一次替换均是按照比率rrep替换了原始的用户序列中的部分概念,因此不断重复多次替换就可以形成多条反事实正/负用户序列。上述概念替换的具体做法可以是多样的,在本实施例中,通过数据增强手段对每个层级的概念序列中概念进行反事实替换时,预先维护一个先进先出队列作为每个层级的概念存储器,并使用队列出列的概念作为替代概念,完成一个批次后将从当前批次中提取的概念加入队列。
S202、利用用户编码器fθ,从M条反事实正用户序列中获得反事实的正用户表征{x+,m}m=1,…,M,同时从N条反事实负用户序列中获得反事实的负用户表征{x-,n}n=1,…,N
在本实施例中,项目编码器gθ获得项目表征、用户编码器fθ获得用户表征的具体方式需要根据具体的序列推荐模型而定。在本实施例中,项目编码器gθ中,使用嵌入层通过行为id直接得到项目表征。用户编码器fθ中,针对给定用户行为序列xu,t+1={Y1,Y2,…,Yt},用户编码器首先使用项目编码器gθ得到每个项目的表征{y1,y2,…,yt},然后使用均值池化得到整体表征最后将整体表征通过多层感知机得到用户的表征。
在本发明中,概念存在两个层级,即项目层级和兴趣层级,任一层级均可用于构建对应层级的用户表征模型架构。一方面,将仅建模项目层级概念的模型架构表示为CauseRec-Item。CauseRec-Item使用原始用户编码器fθ从反事实项目层级概念序列中获得反事实的正/负用户表征{x+,m}m=1,…,M/{x-,n}m=1,…,N。另一方面,将仅建模兴趣层级概念的架构表示为CauseRec-Interest。与CauseRec-Item不同,兴趣层级的概念是用可学习的参数构建的,即公式A=softmax(W2tanh(W1XT))T中的W1和W2。CauseRec-Interest中的用户编码器的输入是兴趣层级的概念序列,而不是项目层级的行为序列。用户编码器的架构可以保持与原始基础模型相同。CauseRec-Interest使用原始用户编码器fθ从反事实兴趣层级概念序列中获得反事实正/负用户特征表示。
但在本发明中,我们同时结合了项目层级和兴趣层级两方面进行用户表征,因此将在项目层级概念序列和兴趣层级概念序列上都进行反事实转换的架构表示为CauseRec-H(ierarchical)。CauseRec-H将兴趣层级的概念作为用户编码器的输入。与CauseRec-Interest不同,CauseRec-H进一步考虑了对项目层级概念的反事实转换。每个反事实用户表示都是仅通过对序列从一个级别进行变换来构建。因此,在上述S201中,通过数据增强形成反事实正/负用户序列样本的原始用户序列既包含了项目层级概念序列,也包含了兴趣层级概念序列;由此S202中获得的M条反事实正用户序列对应的反事实的正用户表征包含了两种层级,N条反事实负用户序列对应的反事实的负用户表征也包含了两种层级。这种做法下,在后续的模型训练学习过程中,序列推荐模型能够学习更加准确可靠的用户表征。
S3、使用对比学习方法对反事实正负用户表征进行向量空间的对比,计算用户-用户反事实对比损失,并对反事实正负用户表征和目标项目表征进行向量空间的对比,计算用户-项目反事实对比损失;通过优化包含用户-用户反事实对比损失和用户-项目反事实对比损失在内的总损失函数,完成对序列推荐模型的训练。
在本实施例中,上述S3具体包括以下子步骤:
S301、在训练过程中,使用三元组边际损失来衡量样本之间的相对相似性,得到用户-用户反事实对比损失:
其中xq表示未进行概念替换的原始用户表征,x+,m表示根据第m条反事实正用户序列得到的反事实的正用户表征,x-,n表示根据第n条反事实负用户序列得到的反事实的负用户表征,d表示距离函数,Δco为超参数。在本实施例中,距离函数d设置为欧几里得距离。
可靠用户表示减轻对非重要概念的敏感度,因此转换反事实序列中的重要概念,以此学习到的用户表示在表征空间中应该直观地远离原始用户表示。类似的,准确用户表示应该更多地信任重要的的概念,因此转换反事实序列中的非重要概念,以此学习到的用户表示在表征空间中应该直观地接近原始用户表示。上述S301中计算的三元组边际损失刚好能够衡量样本之间的相对相似性。
S302、在训练过程中,利用目标项目Yt+1增强用户表示学习,得到用户-项目反事实对比损失:
式中:为L2归一化后的目标项目的特征表示即yt+1的L2归一化结果,/>为L2归一化后的反事实的正用户表征即x+,m的L2归一化结果,/>为L2归一化后的反事实的负用户表征即x-,n的L2归一化结果,Δii为超参数,“·”表示向量点积。
另外,该损失Lii还能防止用户编码器对反事实用户序列学习到琐碎表征。本实施例可设置Margin值Δii=0.5。
S303、在训练过程中,还使用SampledSoftmax损失进行模型训练,计算SampledSoftmax损失为:
其中:为随机采样的负样本项目表征集合,其中Nk表示负样本项目集合的数量。
S304、以上述Lco、Lii和Lssm三者之和作为总损失,以最小化总损失值为目标对由项目编码器和用户编码器构成的序列推荐模型进行训练,得到具有最优参数的序列推荐模型。需注意的是,上述S301~S303中的三个损失,在每一轮训练过程中均需要计算。
S4:根据目标用户的历史行为序列,利用训练完毕的序列推荐模型预测用户可能与之交互的下一个项目,实现项目推荐。
需注意的是,上述S1~S3中,在模型测试和上线服务期间,只需要主干模型用以生成用户特征表示,重要和非重要的概念识别和反事实用户序列变换过程不需要进行计算。
因此在本实施例中,上述S4具体包括以下子步骤:
在序列推荐模型服务期间,输入待推荐用户历史点击过的项目序列xu,t+1,通过用户编码器fθ得到用户特征表示x;同时对于系统中所有的项目 通过项目编码器得到所有项目的表征/>其中/>表示项目集合/>中的项目总数量;使用K-近邻算法,以向量点积作为相似度函数计算用户特征表示x与每个项目的表征之间的相似度,得到与用户特征表示x相似度最高的K个项目,作为K个推荐返回给待推荐用户。具体返回的项目数量K可根据推荐场景的具体需要进行设置。
为了更充分清晰地展现本发明的技术方案、特点及优点,下面结合实施例与附图,对本发明进行进一步的详细说明。显然,所描述的实施例仅仅是本发明的一个实施例,而不是全部的实施例。
实施例
本实施例中,具体的基于反事实用户行为序列生成的序列推荐方法如前述S1~S4所示,对此不再赘述,主要展示其具体实现和技术效果。在本实施例中,获取推荐数据为Amazon Books的书籍推荐数据,共包含459133个用户,313966个物品,8898041个交互记录。数据集的用户按照8:1:1的比例分成训练/验证/测试子集。对于训练序列推荐模型,我们通过将行为序列中的每个物品视为潜在目标物品,并使用在用户点击目标物品之前点击的所有行为来生成用户特征表示。对于评估,我们只考虑验证/测试集中的用户。我们使用每个用户前80%的行为来对用户进行表征,并使用剩下的20%行为评估模型效果的优劣。我们采用了三个广泛使用的数值指标,即Recall、Normalized Discounted Cumulative Gain(NDCG)和Hit Rate。表展示了基于推荐模型推荐的前50个物品而计算的指标。较高的值表示所有指标的性能更好。GRU4Rec是使用循环神经网络建模用户序列的模型,ComiRec-SA是通过自注意力模型建模用户序列并得到多兴趣向量的模型。可见,本发明的方法的效果显著优于另两种方法。
表1
方法名称 Recall NDCG Hit Rate
GRU4Rec 0.0650 0.1037 0.1370
ComiRec-SA 0.0847 0.1356 0.1720
本方法(CauseRec-H) 0.1018 0.1655 0.2113
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

Claims (10)

1.一种基于反事实用户行为序列生成的序列推荐方法,其特征在于,包括如下步骤:
S1、将待推荐的目标项目作为参照,使用项目相似度识别用户行为序列中物品层级和兴趣层级各自的重要概念和非重要概念;
S2、基于S1中得到的概念识别结果以及从用户行为序列中提取的概念序列,通过数据增强手段对概念序列中的重要概念和非重要概念进行反事实替换,其中概念序列中重要概念被替换后生成反事实正用户序列,概念序列中非重要概念被替换后生成反事实负用户序列;基于反事实正用户序列和反事实负用户序列,通过用户编码器得到反事实正负用户表征;
S3、使用对比学习方法对反事实正负用户表征进行向量空间的对比,计算用户-用户反事实对比损失,并对反事实正负用户表征和目标项目表征进行向量空间的对比,计算用户-项目反事实对比损失;通过优化包含用户-用户反事实对比损失和用户-项目反事实对比损失在内的总损失函数,完成对序列推荐模型的训练;
S4:根据目标用户的历史行为序列,利用训练完毕的序列推荐模型预测用户可能与之交互的下一个项目,实现项目推荐。
2.如权利要求1所述的基于反事实用户行为序列生成的序列推荐方法,其特征在于,所述S1具体包括以下子步骤:
S101、首先从项目层级提取概念,用户行为序列中的每个项目都视为一个独立的概念,得到项目层级概念序列C=X∈Rt×d,其中X=gθ(xu,t+1)表示项目序列的向量表示,gθ表示项目编码器;xu,t+1表示用户u点击目标项目Yt+1之前的所有t个项目,表示为用户行为序列{Y1,Y2,...,Yt},其中Yt表示用户点击过的第t个项目,Rt×d表示t个维度为d的项目向量构成的矩阵;使用目标项目Yt+1作为指标,评估项目层级概念的重要性:
式中:是第i个项目层级概念的重要性分数,ci表示项目层级概念序列C中第i个概念的特征表示,yt+1表示目标项目的特征表示,φθ是相似度评估函数;
S102、首先根据注意力机制计算注意力矩阵:
A=softmax(W2tanh(W1XT))T
式中:和/>是可训练的线性变换矩阵,da是隐向量维度,K是预定义的概念抽取数量,tanh是双曲正弦激活函数,A的矩阵维度为Rt×K
再利用注意力矩阵提取兴趣层级概念,得到兴趣层级概念序列:
I=ATX
式中:I的矩阵维度为RK×d,表示K个维度为d的兴趣层级概念向量;
最后通过项目层级分数的加权之和来计算概念分数:
pinterest=ATφθ(X,yt+1)
式中:pinterest矩阵维度为RK,表示K个兴趣层级概念的重要性分数;
S103、以项目层级概念序列中每个项目层级概念的重要性分数为依据,按照设定比例将所有项目层级概念划分为项目层级的重要概念和非重要概念两类;以兴趣层级概念序列中每个兴趣层级概念的重要性分数为依据,按照设定比例将所有兴趣层级概念划分为兴趣层级的重要概念和非重要概念两类。
3.如权利要求2所述的基于反事实用户行为序列生成的序列推荐方法,其特征在于,所述S2具体包括以下子步骤:
S201、将项目层级概念序列和兴趣层级概念序列均作为用户序列,针对每一条用户序列,以rrep的比率替换用户序列中的非重要概念得到M条反事实正用户序列,另外以rrep的比率替换用户序列中的重要概念得到N条反事实负用户序列;
S202、利用用户编码器fθ,从M条反事实正用户序列中获得反事实的正用户表征{x+,m}m=1,...,M,同时从N条反事实负用户序列中获得反事实的负用户表征{x-,n}n=1,...,N
4.如权利要求3所述的基于反事实用户行为序列生成的序列推荐方法,其特征在于,所述的S3具体包括以下子步骤:
S301、在训练过程中,使用三元组边际损失来衡量样本之间的相对相似性,得到用户-用户反事实对比损失:
其中xq表示未进行概念替换的原始用户表征,x+,m表示根据第m条反事实正用户序列得到的反事实的正用户表征,x-,n表示根据第n条反事实负用户序列得到的反事实的负用户表征,d表示距离函数,Δco为超参数;
S302、在训练过程中,利用目标项目Yt+1增强用户表示学习,得到用户-项目反事实对比损失:
式中:为L2归一化后的目标项目的特征表示,/>为L2归一化后的反事实的正用户表征,/>为L2归一化后的反事实的负用户表征,Δii为超参数,“·”表示向量点积;
S303、在训练过程中,计算SampledSoftmax损失为:
其中:为随机采样的负样本项目表征集合,其中Nk表示负样本项目集合的数量;
S304、以所述Lco、Lii和Lssm三者之和作为总损失,以最小化总损失值为目标对由项目编码器和用户编码器构成的序列推荐模型进行训练,得到具有最优参数的序列推荐模型。
5.如权利要求4所述的基于反事实用户行为序列生成的序列推荐方法,其特征在于,所述的S4具体包括以下子步骤:
在序列推荐模型服务期间,输入待推荐用户历史点击过的项目序列xu,t+1,通过用户编码器fθ得到用户特征表示x;同时对于系统中所有的项目 通过项目编码器得到所有项目的表征/>其中/>表示项目集台/>中的项目总数量;使用K-近邻算法,以向量点积作为相似度函数计算用户特征表示x与每个项目的表征之间的相似度,得到与用户特征表示x相似度最高的K个项目,作为K个推荐返回给待推荐用户。
6.如权利要求2所述的基于反事实用户行为序列生成的序列推荐方法,其特征在于,所述S2中,通过数据增强手段对每个层级的概念序列中概念进行反事实替换时,预先维护一个先进先出队列作为每个层级的概念存储器,并使用队列出列的概念作为替代概念,完成一个批次后将从当前批次中提取的概念加入队列。
7.如权利要求3所述的基于反事实用户行为序列生成的序列推荐方法,其特征在于,所述项目编码器gθ中,使用嵌入层通过行为id直接得到项目表征。
8.如权利要求3所述的基于反事实用户行为序列生成的序列推荐方法,其特征在于,所述用户编码器fθ中,针对给定用户行为序列xu,t+1={Y1,Y2,...,Yt},用户编码器首先使用项目编码器gθ得到每个项目的表征{y1,y2,...,yt},然后使用均值池化得到整体表征最后将整体表征通过多层感知机得到用户的表征。
9.如权利要求2所述的基于反事实用户行为序列生成的序列推荐方法,其特征在于,相似度评估函数φθ通过计算向量的点积实现。
10.如权利要求4所述的基于反事实用户行为序列生成的序列推荐方法,其特征在于,所述的距离函数d设置为欧几里得距离。
CN202110851097.7A 2021-07-27 2021-07-27 基于反事实用户行为序列生成的序列推荐方法 Active CN113609388B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110851097.7A CN113609388B (zh) 2021-07-27 2021-07-27 基于反事实用户行为序列生成的序列推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110851097.7A CN113609388B (zh) 2021-07-27 2021-07-27 基于反事实用户行为序列生成的序列推荐方法

Publications (2)

Publication Number Publication Date
CN113609388A CN113609388A (zh) 2021-11-05
CN113609388B true CN113609388B (zh) 2024-02-06

Family

ID=78305585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110851097.7A Active CN113609388B (zh) 2021-07-27 2021-07-27 基于反事实用户行为序列生成的序列推荐方法

Country Status (1)

Country Link
CN (1) CN113609388B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491261B (zh) * 2022-01-27 2024-05-14 北京有竹居网络技术有限公司 用于获得推荐解释的方法、设备和计算机可读介质
CN115187345A (zh) * 2022-09-13 2022-10-14 深圳装速配科技有限公司 智能家居建材推荐方法、装置、设备及存储介质
CN116151329B (zh) * 2023-04-23 2023-07-18 山东师范大学 基于反事实图学习的学生知识状态追踪方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740444A (zh) * 2016-02-02 2016-07-06 桂林电子科技大学 基于用户评分的项目推荐方法
CN109829775A (zh) * 2018-12-03 2019-05-31 苏州大学 一种物品推荐方法、装置、设备及可读存储介质
CN112801305A (zh) * 2021-03-19 2021-05-14 腾讯科技(深圳)有限公司 应对策略预测处理方法、装置、计算机设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10986110B2 (en) * 2017-04-26 2021-04-20 Elasticsearch B.V. Anomaly and causation detection in computing environments using counterfactual processing
CN108763314B (zh) * 2018-04-26 2021-01-19 深圳市腾讯计算机系统有限公司 一种兴趣推荐方法、装置、服务器及存储介质
CN111460248B (zh) * 2019-01-19 2023-05-23 北京嘀嘀无限科技发展有限公司 用于线上到线下服务的系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740444A (zh) * 2016-02-02 2016-07-06 桂林电子科技大学 基于用户评分的项目推荐方法
CN109829775A (zh) * 2018-12-03 2019-05-31 苏州大学 一种物品推荐方法、装置、设备及可读存储介质
CN112801305A (zh) * 2021-03-19 2021-05-14 腾讯科技(深圳)有限公司 应对策略预测处理方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于排序学习的推荐算法研究综述;黄震华;张佳雯;田春岐;孙圣力;向阳;软件学报;第27卷(第3期);全文 *

Also Published As

Publication number Publication date
CN113609388A (zh) 2021-11-05

Similar Documents

Publication Publication Date Title
CN113609388B (zh) 基于反事实用户行为序列生成的序列推荐方法
Zhou et al. Atrank: An attention-based user behavior modeling framework for recommendation
Wu et al. Session-based recommendation with graph neural networks
CN107145977B (zh) 一种对在线社交网络用户进行结构化属性推断的方法
CN110503531B (zh) 时序感知的动态社交场景推荐方法
Deng et al. Introducing shared-hidden-layer autoencoders for transfer learning and their application in acoustic emotion recognition
CN110929164A (zh) 一种基于用户动态偏好与注意力机制的兴趣点推荐方法
CN111581520B (zh) 基于会话中物品重要性的物品推荐方法和系统
JP2021006980A (ja) スパース性制約及び知識の蒸留に基づくスパースかつ圧縮されたニューラルネットワーク
CN112258262B (zh) 一种基于卷积自注意力网络的会话推荐方法
CN106462608A (zh) 改进语言模型的知识源个性化
CN114817663B (zh) 一种基于类别感知图神经网络的服务建模与推荐方法
CN111737578A (zh) 一种推荐方法及系统
Kim et al. An online learning network for biometric scores fusion
CN110781401A (zh) 一种基于协同自回归流实现的Top-n项目推荐方法
CN110502701B (zh) 引入注意力机制的好友推荐方法、系统和存储介质
CN114461906A (zh) 一种聚焦于用户核心兴趣的序列推荐方法及装置
CN113656699B (zh) 用户特征向量确定方法、相关设备及介质
Ishkhanov et al. Time-based sequence model for personalization and recommendation systems
Vargas et al. Relu-based activations: Analysis and experimental study for deep learning
CN115495546B (zh) 相似文本检索方法、系统、设备及存储介质
Wang et al. Multi‐feedback Pairwise Ranking via Adversarial Training for Recommender
CN112115243B (zh) 通过对时序时间相关性建模的会话表示学习方法
CN113010774B (zh) 一种基于动态深度注意力模型的点击率预测方法
Chien et al. Stochastic adversarial learning for domain adaptation

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
GR01 Patent grant
GR01 Patent grant