CN109918564A - 一种面向完全冷启动的上下文自动编码推荐方法及系统 - Google Patents

一种面向完全冷启动的上下文自动编码推荐方法及系统 Download PDF

Info

Publication number
CN109918564A
CN109918564A CN201910077281.3A CN201910077281A CN109918564A CN 109918564 A CN109918564 A CN 109918564A CN 201910077281 A CN201910077281 A CN 201910077281A CN 109918564 A CN109918564 A CN 109918564A
Authority
CN
China
Prior art keywords
user
old
context
new
users
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.)
Granted
Application number
CN201910077281.3A
Other languages
English (en)
Other versions
CN109918564B (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.)
Shantou University
Original Assignee
Shantou University
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 Shantou University filed Critical Shantou University
Priority to CN201910077281.3A priority Critical patent/CN109918564B/zh
Publication of CN109918564A publication Critical patent/CN109918564A/zh
Application granted granted Critical
Publication of CN109918564B publication Critical patent/CN109918564B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种面向完全冷启动的上下文自动编码推荐方法及系统,先将老用户的各类上下文信息进行编码,再将编码后的编码向量串联起来,作为输入向量输入到上下文感知推荐器中;上下文感知推荐器为每个老用户的每个邻居设置一个局部矩阵,用于表达上下文‑反馈信息之间的关联,使得每个老用户的反馈信息能够根据用户档案和局部矩阵而计算获得;最后根据新用户与老用户之间的档案关联度,计算出新用户对应的n个邻居老用户,以新老用户档案关联来约束老用户的反馈信息,计算新用户反馈信息并得到新用户的冷启动推荐列表。采用本发明实施例能挖掘新老用户之间的上下文关联关系,解决新用户推荐问题,提高完全冷启动推荐的准确性。

Description

一种面向完全冷启动的上下文自动编码推荐方法及系统
技术领域
本发明涉及推荐系统领域,尤其涉及一种面向完全冷启动的上下文自动编码推荐方法及系统。
背景技术
在推荐系统中,冷启动(Cold-Start)问题由用户行为(例如点击、评分、点赞等)缺失引起。具体地,冷启动问题可以分为完全冷启动和不完全冷启动,习惯上将完全冷启动问题称为“新用户问题”,因为新用户没有在系统中发生过任何行为。
现有解决新用户问题主要是搜集额外的信息来辅助推荐,例如在推荐前进行用户问卷调查或者获取用户档案与物品属性。这些额外的信息被称为上下文(Context),使用上下文信息进行推荐称为上下感知推荐,如冷启动版本的矩阵分解模型(CoMF)或冷启动版本的稀疏线性方法(CoSLIM)。以CoMF为例,由老用户的上下文与其反馈信息构建权重矩阵分解模型,再结合新用户的上下文预测出新用户的反馈情况,再筛选出前N个反馈分数高的物品进行推荐。此外,在实际应用中,由于用户上下文信息量可能很大,可以使用类似主成分分析(Principal Component Analysis,PCA)的技术压缩用户上下文,在高维数据中提取低秩的社会化元数据,提高稀疏数据的处理效果。
现有的技术方案通过建立用户上下文和用户反馈之间的联系来预测新用户反馈,需要额外的信息进行辅助,无法解决完全冷启动的问题,而且没有挖掘老用户与新用户之间的上下文的关联,更不用说考虑新用户和老用户上下文之间的不对称性。如老用户的上下文包括:1>用户档案(如年龄、性别、朋友等);2>用户反馈的信息(如点击、评分、评论日期等);3>与用户反馈相关的物品上下文(如物品类别、位置、物品评价等)。相比之下,新用户上下文仅仅包括了用户档案,因为新用户还未有任何反馈。新老用户之间的不对称性不仅会造成大量有用信息的浪费,而且会造成预测结果的偏差,使得推荐不准确。
发明内容
本发明实施例提出一种面向完全冷启动的上下文自动编码推荐方法及系统,能挖掘新老用户之间的上下文关联关系,解决新用户推荐问题,提高完全冷启动推荐的准确性。
具体地,本发明实施例提供一种面向完全冷启动的上下文自动编码推荐方法,包括:
按照预设的顺序,依次对若干个老用户的各类上下文信息进行编码,获得每类上下文信息的编码向量,并将同一个老用户的各编码向量按照预设的方式串联起来,分别获得所有老用户的输入向量;其中,所述各类上下文信息包括用户档案、用户反馈信息、反馈相关的物品上下文;
将所有老用户的输入向量作为输入,为每个老用户的每个邻居设置一个局部矩阵;所述局部矩阵用于表达上下文-反馈信息之间的关联,使得每个老用户的反馈信息,能够根据用户档案和所述局部矩阵而计算获得;
计算所有老用户和新用户之间的用户档案关联度,得到所述新用户的n个邻居老用户;n为正整数;
以新老用户档案关联来约束n个邻居老用户的反馈信息,计算新用户反馈信息并得到新用户的冷启动推荐列表。
进一步的,所述按照预设的顺序,依次对若干个老用户的各类上下文信息进行编码,获得每类上下文信息的编码向量,具体为:
按照用户档案、用户反馈信息、反馈相关的物品上下文的顺序,分别将各类上下文信息作为输入,采用以下的编解码公式依次对若干个老用户的各类上下文信息进行编码,将输出信息作为每类上下文信息对应的编码向量;
所述编解码公式为:
其中,是输出矩阵,而是输入矩阵,J表示的是老用户的数量并且d代表原始向量的维度,为一维向量空间;激活函数都被设置为sigmoid函数,即σ(x)=1/(1+exp(-x));
所述编解码公式包含第一隐藏层和第二隐藏层;第一隐藏层和第二隐藏层板的权重和偏移分别被定义为{W1,b1}和{W2,b2};
在编码时,
在解码时,
进一步的,每类上下文信息的编码向量通过所述编解码公式解码后,能获得相应的上下文信息。
进一步的,所述将所有老用户的输入向量作为输入,为每个老用户的每个邻居设置一个局部矩阵,具体为:
若每个老用户共有n个邻居,则包含n个子模型,第n个子模型的目标函数定义为:
其中,使用下标o指示老用户,并设定有J个老用户和I个物品,则表示老用户的用户反馈信息;表示老用户的输入向量;C是输入向量的向量长度;表示第n个子模型中的局部矩阵;上标(n)既表示第n个子模型,又表示第n个邻居;
通过对所述目标函数训练,得到每个老用户的每个邻居的局部矩阵:
其中,λ2是L-2规范化因子,是一个单位矩阵。
进一步的,所述计算所有老用户和新用户之间的用户档案关联度,得到所述新用户的n个邻居老用户,具体为:
提取新用户的用户档案,并根据所有老用户的用户档案与所述新用户的用户档案,采用余弦相似度计算方法,计算所有老用户和新用户之间的用户档案关联度,并根据所述用户档案关联度,得到所述新用户的n个邻居老用户。
进一步的,所述以新老用户档案关联来约束n个邻居老用户的反馈信息,计算新用户反馈信息并得到新用户的冷启动推荐列表,具体为:
以新老用户档案关联来约束n个邻居老用户的反馈信息,采用以下公式,计算新用户反馈信息;
其中,Rnew为新用户的反馈信息,为第n个邻居老用户与新用户之间的用户档案关联度;为第n个邻居老用户的上下文信息;W(n)为第n个邻居老用户的局部矩阵;即为老用户的反馈信息;
根据Rnew每一行(代表一个新用户)的向量值,降序排列这些值即可得到用户从高到低的反馈预测,选取前N个反馈值高的物品即可得到top-N的冷启动推荐列表。
相应地,本发明实施例还提供一种面向完全冷启动的上下文自动编码推荐系统,包括:上下文编码器和上下文感知推荐器;其中,所述上下文感知推荐器包括局部矩阵设置模块、第一计算模块和第二计算模块;
所述上下文编码器用于按照预设的顺序,依次对若干个老用户的各类上下文信息进行编码,获得每类上下文信息的编码向量,并将同一个老用户的各编码向量按照预设的方式串联起来,分别获得所有老用户的输入向量;其中,所述各类上下文信息包括用户档案、用户反馈信息、反馈相关的物品上下文;
所述局部矩阵设置模块用于将所有老用户的输入向量作为输入,为每个老用户的每个邻居设置一个局部矩阵;所述局部矩阵用于表达上下文-反馈信息之间的关联,使得每个老用户的反馈信息,能够根据用户档案和所述局部矩阵而计算获得;
所述第一计算模块用于计算所有老用户和新用户之间的用户档案关联度,得到所述新用户的n个邻居老用户;n为正整数;
所述第二计算模块用于以新老用户档案关联来约束n个邻居老用户的反馈信息,计算新用户反馈信息并得到新用户的冷启动推荐列表。
进一步的,所述上下文编码器具体用于:
按照用户档案、用户反馈信息、反馈相关的物品上下文的顺序,分别将各类上下文信息作为输入,采用以下的编解码公式依次对若干个老用户的各类上下文信息进行编码,将输出信息作为每类上下文信息对应的编码向量;
所述编解码公式为:
其中,是输出矩阵,而是输入矩阵,J表示的是老用户的数量并且d代表原始向量的维度,为一维向量空间;激活函数都被设置为sigmoid函数,即σ(x)=1/(1+exp(-x));
所述编解码公式包含第一隐藏层和第二隐藏层;第一隐藏层和第二隐藏层板的权重和偏移分别被定义为{W1,b1}和{W2,b2};
在编码时,
在解码时,
进一步的,所述局部矩阵设置模块具体用于:
若每个老用户共有n个邻居,则包含n个子模型,第n个子模型的目标函数定义为:
其中,使用下标o指示老用户,并设定有J个用户和I个物品,则表示老用户的用户反馈信息;表示老用户的输入向量;C是输入向量的向量长度;表示第n个子模型中的局部矩阵;上标(n)既表示第n个子模型,又表示第n个邻居;
通过对所述目标函数训练,得到每个老用户的每个邻居的局部矩阵:
其中,λ2是L-2规范化因子,是一个单位矩阵。
进一步的,所述第一计算模块具体用于:提取新用户的用户档案,并根据所有老用户的用户档案与所述新用户的用户档案,采用余弦相似度计算方法,计算所有老用户和新用户之间的用户档案关联度,并根据所述用户档案关联度,得到所述新用户的n个邻居老用户;
所述第二计算模块具体用于:以新老用户档案关联来约束n个邻居老用户的反馈信息,采用以下公式,计算新用户反馈信息;
其中,Rnew为新用户的反馈信息,为第n个邻居老用户与新用户之间的用户档案关联度;为第n个邻居老用户的上下文信息;W(n)为第n个邻居老用户的局部矩阵;即为老用户的反馈信息;
根据Rnew每一行(代表一个新用户)的向量值,降序排列这些值即可得到用户从高到低的反馈预测,选取前N个反馈值高的物品即可得到top-N的冷启动推荐列表。
实施本发明实施例,具有如下有益效果:
本发明实施例提供的一种面向完全冷启动的上下文自动编码推荐方法及系统,先将老用户的各类上下文信息进行编码,再将编码后的编码向量串联起来,作为输入向量输入到上下文感知推荐器中;上下文感知推荐器为每个老用户的每个邻居设置一个局部矩阵,用于表达上下文-反馈信息之间的关联,使得每个老用户的反馈信息能够根据用户档案和局部矩阵而计算获得;最后根据新用户与老用户之间的档案关联度,计算出新用户对应的n个邻居老用户,以新老用户档案关联来约束老用户的反馈信息,计算新用户反馈信息并得到新用户的冷启动推荐列表。相比于现有技术没有考虑新老用户之间的关系和两者之间的信息不对称性,本发明技术方案能挖掘新老用户之间的上下文关联关系,解决新用户推荐问题,提高完全冷启动推荐的准确性。
进一步的,面向不同类别的上下文分别编码,后将编码的向量进行串联,这种做法有效地解决了主成分提取与低秩技术无法挖掘向量之间联系的问题。此外,不同类的编码向量可以按照预设的方式串联起来,使得各类上下文信息灵活组合,实现编码的可扩展。
附图说明
图1是本发明提供的面向完全冷启动的上下文自动编码推荐方法的一种实施例的流程示意图;
图2是本发明提供的上下文编码器的一种实施例的结构示意图;
图3是本发明提供的上下文感知推荐器的一种实施例的结构示意图;
图4是本发明提供的面向完全冷启动的上下文自动编码推荐系统的一种实施例的结构示意图;
图5是本发明提供的SCE在三类上下文的运行与收敛趋势图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的面向完全冷启动的上下文自动编码推荐方法的一种实施例的流程示意图。如图1所示,该推荐方法包括步骤101至步骤104,各步骤具体如下:
步骤101:按照预设的顺序,依次对若干个老用户的各类上下文信息进行编码,获得每类上下文信息的编码向量,并将同一个老用户的各编码向量按照预设的方式串联起来,分别获得所有老用户的输入向量;其中,各类上下文信息包括用户档案、用户反馈信息、反馈相关的物品上下文。
在本实施例中,本发明采用上下文编码器(Scalable Context Encoder,SCE)对老用户的上下文进行高效编码。老用户的上下文常规包括:用户档案、用户反馈信息和与反馈相关的物品上下文。为了充分利用这三类上下文,首先将他们转化为一维有效编码格式,这种格式能增强上下文的表现形式,但是在维度很高的情况,这种表示法会产生很多无效信息。如果采用现有的主成分提取或低秩技术来压缩一维有效编码,则可能造成这三类上下文之间的关联信息丢失。
因此,本发明采用的上下文编码器是同时包含编码组件和解码组件的线性编码器(Linear Auto-Encoders,LAE),按照用户档案、用户反馈信息、反馈相关的物品上下文的顺序,分别将各类上下文信息作为输入,采用以下的编解码公式依次对若干个老用户的各类上下文信息进行编码,将输出信息作为每类上下文信息对应的编码向量;
编解码公式为:
其中,是输出矩阵,而是输入矩阵,J表示的是老用户的数量并且d代表原始向量的维度,为一维向量空间;激活函数都被设置为sigmoid函数,即σ(x)=1/(1+exp(-x));
编解码公式包含第一隐藏层和第二隐藏层;第一隐藏层和第二隐藏层板的权重和偏移分别被定义为{W1,b1}和{W2,b2};
在编码时,
在解码时,
在本实施例中,参见图2,图2是本发明提供的上下文编码器的一种实施例的结构示意图。如图2所示,编码组件的结构是对称的,由两层的隐藏层组成,同理,解码组件的结构也是对称的,同样由两层的隐藏层组成(为了便于说明,图2并无画出)。由上述编码和解码的公式中可知,将输入矩阵Cin按照一定的比例压缩(例如h2/d)就可以得到编码后的上下文向量。以h2/d为比例的取值是因为原始向量的维度d是固定的,而超参数h2可以通过手动设置或网格查找来确定。这种机制显示出该上下文编码器是可扩展的,即可以灵活调节上下文的长短。进一步的,由于该编码器先面向不同类别的上下文,后将编码后的向量进行串联,能有效解决主成分提取与低秩技术无法挖掘向量之间联系的问题,而且还能将编码后的三类上下文进行灵活组合。例如将用户档案和用户反馈信息进行组合,仅以此作为输入向量,执行下一步动作。
此外,每类上下文信息的编码向量可以通过编解码公式解码后,能获得相应的上下文信息,实现数据还原。
步骤102:将所有老用户的输入向量作为输入,为每个老用户的每个邻居设置一个局部矩阵;局部矩阵用于表达上下文-反馈信息之间的关联,使得每个老用户的反馈信息,能够根据用户档案和局部矩阵而计算获得。
在本实施例中,步骤102至步骤104由上下文感知推荐器完成,该推荐器的作用是实现新老用户的关联挖掘,以此为基础约束并利用编码上下文完成新用户的冷启动推荐任务。新老用户之间的关联仅仅存在于用户档案。因此可以从新用户的用户档案中查找出其与老用户之间的关系,用户关联度可以用相似度的形式来定义。比如新用户和两个老用户之间的关联可以用他们之间的相似度和分别表示。更复杂的关联度可以使用分解模型学习特征向量来表示,本发明使用余弦相似度来度量用户关联,把重点放在推荐器的构造上。而现有的方案会直接使用用户关联来进行新用户反馈预测,无法利用老用户的三类上下文。
在本发明中,先找出新用户的n个邻居老用户,然后以用户关联为约束,参考n个邻居老用户的反馈来预测新用户的反馈。参见图3,图3是本发明提供的上下文感知推荐器的一种实施例的结构示意图。由于本发明的上下文感知推荐器(cold-Start Context-awareRecommender,SCR)考虑了每个邻居的反馈都是个性化的,因此为每个邻居设置了一个局部矩阵来表达上下文-反馈之间的关联,使得每个老用户的反馈信息,能够根据用户档案和所述局部矩阵而计算获得,本发明采用用户档案与局部矩阵相乘的方式,得到某个特定用户。最后基于局部低秩矩阵近似技术(Local Low-Rank Matrix Approximation),受约束的老用户反馈可以被集成来预测新用户反馈。SCR通过新老用户的关联和新用户反馈联系起来,解决了老用户和新用户上下文信息的不对称问题,而且以SCE为基础对老用户上下文进行编码,输入到SCR的局部矩阵中,极大地提高了冷启动的推荐效率。
在本实施例中,SCR考虑了n个邻居,若每个老用户共有n个邻居,则包含n个子模型,第n个子模型的目标函数定义为:
其中,使用下标o指示老用户,并设定有J个老用户和I个物品,则表示老用户的用户反馈信息;表示老用户的输入向量;C是输入向量的向量长度;表示第n个子模型中的局部矩阵,这是上述目标函数的带训练参数;因为上标(n)既表示第n个子模型,又表示第n个邻居,所以代表J′个新用户分别与它们第n个(老用户)邻居的用户档案关联。为了更加突出这种关联,可以将S(n)写为本发明使用余弦相似度加上softmax函数约束得到的值,因为softmax可以保证在新老用户档案没有交集的情况下,相似度不会为0。通过元素级别的相乘加上广播操作(⊙符号),新老用户的关联约束了第n个子模型。注意到N个子模型的训练可以并行实现,也就是说子模型之间不会相互影响。另外,由于在测试时才用到关联(新用户在训练时还未进入系统),因此,训练时可以省略来加速模型收敛。等训练结束后,可以使用来约束与区分不同邻居的作用,达到整体预测的平衡。
由上述讨论,通过对目标函数训练,得到每个老用户的每个邻居的局部矩阵:
其中,λ2是L-2规范化因子,是一个单位矩阵。
步骤103:计算所有老用户和新用户之间的用户档案关联度,得到新用户的n个邻居老用户;n为正整数。
在本实施例中,步骤103具体为:提取新用户的用户档案,并根据所有老用户的用户档案与所述新用户的用户档案,采用余弦相似度计算方法,计算所有老用户和新用户之间的用户档案关联度,并根据用户档案关联度,得到新用户的n个邻居老用户。
步骤104:以新老用户档案关联来约束n个邻居老用户的反馈信息,计算新用户反馈信息并得到新用户的冷启动推荐列表。
在本实施例中,步骤104具体为:以新老用户档案关联来约束n个邻居老用户的反馈信息,采用以下公式,计算新用户反馈信息并得到新用户的冷启动推荐列表;
其中,Rnew为新用户的反馈信息,为第n个邻居老用户与新用户之间的用户档案关联度;为第n个邻居老用户的上下文信息;W(n)为第n个邻居老用户的局部矩阵;即为老用户的反馈信息;
根据Rnew每一行(代表一个新用户)的向量值,降序排列这些值即可得到用户从高到低的反馈预测,选取前N个反馈值高的物品即可得到top-N的冷启动推荐列表。
为了更好的说明本发明的技术方案以下面的流程进行具体说明:
在SCE中,输入:Ro-老用户反馈矩阵;-老用户的三类上下文;
-新用户的档案;N-老用户邻居数量;λ2-L-2规范化项;
在SCE中,输出:Rnew-新用户反馈矩阵。
SCE执行的流程如下:
1:将转换为一维有效编码,将其作为SCE的输入。
2:使用编解码公式训练SCE得到已编码的三类上下文,分别是用户档案用户反馈的信息与反馈相关的物品上下文
3:将以不同方式串联作为SCR的输入。
在SCR中执行的流程如下:
4:for N个子模型并行做训练:
5:随机打乱Ro,Uo中的用户顺序得到
6:repeat
7:使用局部矩阵更新W(n)
8:until满足停止条件
9:存储局部上下文-反馈矩阵W(n)
10:end for
新用户冷启动推荐部分
11:抽取老用户上下文中的用户档案部分
12:使用计算新老用户的关联Snew,并由此得到N个(老用户)邻居。
13:Rnew=0,此处Rnew存放要预测的新用户反馈。
14:for每个n∈{1,…,N}做计算:
15:按照关联Snew得到J′个新用户的第n个(老用户)邻居;
16:使用取行操作得到第n个(老用户)邻居的上下文;
17:
18:end for
19:根据Rnew的值按行降序排列每一列的值,得到新用户的冷启动推荐列表。
在上述例子中,由SCE的实现可以算出它需要估计2h1(d+h2)+h1+h2个参数。而局部模型的并行训练是SCR的核心,更新W(n)第I列的时间复杂度是其中K表示所有低秩因子的平均维度。在新用户冷启动推荐部分,第n个关联用于约束第n个局部模型;然后,所有加权局部反馈集成得到新用户的反馈预测Rnew;最后,根据Rnew每一行(代表一个新用户)的向量值,降序排列这些值即可得到用户从高到低的反馈预测,选取若干个反馈值高的物品即可得到冷启动推荐列表。
相应地,本发明提供了一种面向完全冷启动的上下文自动编码推荐系统,参见图4,图4是本发明提供的面向完全冷启动的上下文自动编码推荐系统的一种实施例的结构示意图。如图4所示,该系统包括:上下文编码器41和上下文感知推荐器42;其中,上下文感知推荐器42包括局部矩阵设置模块421、第一计算模块422和第二计算模块423;
上下文编码器41用于按照预设的顺序,依次对若干个老用户的各类上下文信息进行编码,获得每类上下文信息的编码向量,并将同一个老用户的各编码向量按照预设的方式串联起来,分别获得所有老用户的输入向量;其中,各类上下文信息包括用户档案、用户反馈信息、反馈相关的物品上下文。
局部矩阵设置模块421用于将所有老用户的输入向量作为输入,为每个老用户的每个邻居设置一个局部矩阵;局部矩阵用于表达上下文-反馈信息之间的关联,使得每个老用户的反馈信息,能够根据用户档案和局部矩阵而计算获得。
第一计算模块422用于计算所有老用户和新用户之间的用户档案关联度,得到所述新用户的n个邻居老用户;n为正整数。
第二计算模块423用于以新老用户档案关联来约束n个邻居老用户的反馈信息,计算新用户反馈信息并得到新用户的冷启动推荐列表。
在本举例中,上下文编码器41具体用于:按照用户档案、用户反馈信息、反馈相关的物品上下文的顺序,分别将各类上下文信息作为输入,采用以下的编解码公式依次对若干个老用户的各类上下文信息进行编码,将输出信息作为每类上下文信息对应的编码向量;
编解码公式为:
其中,是输出矩阵,而是输入矩阵,J表示的是老用户的数量并且d代表原始向量的维度,为一维向量空间;激活函数都被设置为sigmoid函数,即σ(x)=1/(1+exp(-x));
编解码公式包含第一隐藏层和第二隐藏层;第一隐藏层和第二隐藏层板的权重和偏移分别被定义为{W1,b1}和{W2,b2};
在编码时,
在解码时,
在本举例中,局部矩阵设置模块421具体用于:若每个老用户共有n个邻居,则包含n个子模型,第n个子模型的目标函数定义为:
其中,使用下标o指示老用户,并设定有J个用户和I个物品,则表示老用户的用户反馈信息;表示老用户的输入向量;C是输入向量的向量长度;表示第n个子模型中的局部矩阵;上标(n)既表示第n个子模型,又表示第n个邻居;
通过对所述目标函数训练,得到每个老用户的每个邻居的局部矩阵:
其中,λ2是L-2规范化因子,是一个单位矩阵。
在本举例中,第一计算模块422具体用于:提取新用户的用户档案,并根据所有老用户的用户档案与所述新用户的用户档案,采用余弦相似度计算方法,计算所有老用户和新用户之间的用户档案关联度,并根据所述用户档案关联度,得到所述新用户的n个邻居老用户。
第二计算模块423具体用于:以新老用户档案关联来约束n个邻居老用户的反馈信息,采用以下公式,计算新用户反馈信息;
其中,Rnew为新用户的反馈信息,为第n个邻居老用户与新用户之间的用户档案关联度;为第n个邻居老用户的上下文信息;W(n)为第n个邻居老用户的局部矩阵;即为老用户的反馈信息
根据Rnew每一行(代表一个新用户)的向量值,降序排列这些值即可得到用户从高到低的反馈预测,选取前N个反馈值高的物品即可得到top-N的冷启动推荐列表。
本系统更详细的工作原理可以但不限于参见上述推荐方法的相关描述。
由上可见,本发明具有以下的有益效果:
1)、使用自动编码技术面向不同类型的上下文信息分别编码,然后将编码的向量进行串联,这种做法有效地解决了主成分提取与低秩技术无法挖掘向量之间联系的问题;
2)、编码后的几类上下文可以被灵活组合输入到推荐器中,摆脱了传统的特征向量位置相对固定的形式,从而得到优化的上下文信息输入;
3)、通过计算新老用户的档案关联,将有限的新用户上下文与丰富的老用户上下文联系起来,解决了新老用户之间上下文信息不对称的问题;
4)、通过新老用户的关联找出新用户的若干个(老用户)邻居,使用局部低秩矩阵近似技术构造局部模型来集成这些邻居,从而预测新用户的反馈并完成冷启动推荐;
5)、设计SCE来压缩上下文作为SCR的输入,已压缩的上下文能提高SCR的训练效率。在保持较少邻居数量的情况下,SCR能比现有技术训练更快并且保持良好的性能。
为了证明本发明的技术方案比现有技术方案效果更好,本发明使用Yelp数据集(http://www.yelp.com/dataset_challenge)进行实验比较,因为该数据集含有的丰富上下文信息,而且其构成适合评估新用户的冷启动推荐效果。具体地,该数据集记录了用户(Users)消费某些商品(Businesses),并对其进行评论(Reviews)的所有相关信息。显然,与Users,Businesses,Reviews相关联的三类上下文信息分别是:用户档案,物品上下文,用户反馈。其中,用户档案包括了朋友关系(friends)、粉丝数量(fans);用户反馈包括了平均评分(average_stars)、评论时间(date)、评论数量(review_count);物品上下文则包括了类别(categories)、城市(city)、星级(stars)等。由于物品类别众多,我们选取了与类别"Home&Garden"和"Arts&Entertainment"相关的数据进行比较,这两类数据的统计信息如表1所示。其中HoTr是"Home&Garden"的缩写,而ArEn是"Arts&Entertainment"的缩写;标题行的含义是:No.U(用户数量),No.B(物品数量),No.R(反馈数量),Sparsity(稀疏性),User(用户档案维度),Business(物品上下文维度),Review(用户反馈维度),All(所有上下文数量)。如表1所示:
表1两个Yelp子数据集的统计信息表
数据集中的上下文信息已被转换为一维有效编码,所以用维度为单位表示该上下文的长度。可以看到两个子数据的稀疏性均高于99%,说明用户反馈相对于物品数量来说非常稀少,因此该数据集适用于冷启动的场景。注意在测试冷启动时,新用户只有用户档案可用。基于这两个子集,以下实验均采用10折交叉验证,并使用NDCG(NormalizedDiscounted Cumulative Gain,归一化折损累计增益)、Recall(召回率)、AUC(Area UnderCurve,曲线下面积)来评估本发明与现有技术的性能。
1)使用SCE对不同类型的上下文信息分别编码
这是本发明的前两个关键发明点,可扩展的上下文编码器(SCE)对三类上下文信息分别编码,考虑了这些信息的不同特性。因此,根据编解码公式设置SCE的超参数时也要考虑不同的上下文类别,如表2所示。
表2 SCE的超参数设置表
其中,h1和h2分别指示第一个隐藏层和第二个隐藏层的维度。这两个维度随着上下文向量的长度变化而变化,即SCE是可扩展的。其他超参数通过网格查找可以得到,对于h1和h2,我们在实验中手动地将h1的长度设置为User长度的10%,Business和Review长度的20%;将h2的长度设置为User长度的2%,Business和Review长度的5%。因为用户档案上下文相对较长,而且这种设置方法通过固定压缩比例,在后面可以方便地跟现有技术进行比较。基于这种设置,我们训练SCE直到收敛,如图5所示。
当“批处理损失值”趋向于0时SCE收敛。可以看到,压缩Business和Review直到收敛所需要的迭代次数是相似的,而压缩User上下文需要更多的迭代次数才能完成收敛。因为User原始上下文具有更高的维度,与此对应的是在表2中,User类上下文的学习速率也比其他两类上下文更高。被压缩(编码)后的上下文向量可以被灵活组合再进行串联,这种做法有效地解决了主成分提取与低秩技术无法挖掘向量之间联系的问题。具体地,本发明使用USER、USER-BUSINESS、USER-REVIEW、USER-BUSINESS-REVIEW四类组合。这四类编码上下文作为输入送到SCR中,进行推荐器的训练并实现新用户的冷启动推荐,以下比较SCR与现有技术在冷启动方面的性能。
2)SCR的设置、训练、评估与冷启动性能比较
SCE突出的是本发明的前两个关键点,SCR体现的是本发明的后面三个关键发明技术。与SCR比较的现有技术方案包括:CoMF(冷启动矩阵分解模型),CoSLIM(冷启动稀疏线性方法),LoCo(低秩线性回归模型)。根据上述上下文的组合方式,SCR有四个版本,分别是SCR-U(USER)、SCR-UB(USER-BUSINESS)、SCR-UR(USER-REVIEW)、SCR-UBR(USER-BUSINESS-REVIEW)。因此,冷启动实验共有七个比较方法。在参数设置方面,CoMF使用的是随机梯度下降的训练方式,需要设置L-2规范化因子λ2,我们在{0.01,0.1}的范围内按步长0.01调整。CoSLIM则使用弹性网络的训练方式,需要加多一个L-1规范化因子λ1,我们以步长0.001在{0.001,0.01}内进行网格查找。对于LoCo则需要设置低秩的大小,实验将LoCo的低秩数量设置为与SCR的第二个隐藏层的维度h2相同,因为使用同样的压缩比例更方便比较两个方法的性能与效率。SCR还需要设置邻居的数量,不过,由于我们要验证SCR的训练高效性,所以将邻居数量固定为一个较小的值:10。表3记录了L-2规范化因子λ2在两个数据集上的最优设置值。
表3L-2规范化因子λ2的最优设置表
对于L-1规范化因子λ1,CoSLIM在HoTr和ArEn上的最优值分别为0.002和0.001。基于这些超参数设置,我们使用CC-RADIO(Context Compression Ratio,上下文压缩比率,单位为%,100%表示没有压缩)、TR-TIME(model Training Time,模型训练时间,单位为秒)、SPEED-UP(加速倍值,由训练速度最慢的模型的TR-TIME除以当前模型的TR-TIME得到,因此,最慢模型的SPEED-UP=1.0)、NDCG(Normalized Discounted Cumulative Gain,归一化折损累计增益)、Rec(Recall,召回率)、AUC(Area Under Curve,曲线下面积)来评估比较模型的性能和效率,结果如表4所示。
表4本发明与现有技术在多项指标上的性能比较表
表中加粗字体表示最佳性能。LoCo与SCR-U都使用了用户档案,而且它们的上下文压缩比率(CC-RADIO)被设为一样的;CoMF和CoSLIM由于没有压缩上下文,导致需要花很多的训练时间(TR-TIME)。SCR的几个版本中,除了SCR-UBR使用了所有上下文,其他版本的训练加速比(SPEED-UP)都是全面占优的。这说明在同样压缩率的情况下,SCR的训练效率比LoCo更高。因为SCR使用了局部低秩矩阵近似技术来集成子模型,而且,通过用户关联约束并简化子模型来提高训练速度。另外,SCR在通用的推荐指标(NDCG、Rec、AUC)上也表现出优势,这些指标后面的@N表示进行Top-N冷启动推荐。原因在于CoMF和CoSLIM没有提取上下文的主成分来提高性能;而LoCo使用的截断SVD技术没有SCE的自动编码技术稳定。因此,本发明的上下文自动编码推荐器能在高效训练的情况下保持性能上的优势。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.一种面向完全冷启动的上下文自动编码推荐方法,其特征在于,包括:
按照预设的顺序,依次对若干个老用户的各类上下文信息进行编码,获得每类上下文信息的编码向量,并将同一个老用户的各编码向量按照预设的方式串联起来,分别获得所有老用户的输入向量;其中,所述各类上下文信息包括用户档案、用户反馈信息、反馈相关的物品上下文;
将所有老用户的输入向量作为输入,为每个老用户的每个邻居设置一个局部矩阵;所述局部矩阵用于表达上下文-反馈信息之间的关联,使得每个老用户的反馈信息,能够根据用户档案和所述局部矩阵而计算获得;
计算所有老用户和新用户之间的用户档案关联度,得到所述新用户的n个邻居老用户;n为正整数;
以新老用户档案关联来约束n个邻居老用户的反馈信息,计算新用户反馈信息并得到新用户的冷启动推荐列表。
2.根据权利要求1所述的面向完全冷启动的上下文自动编码推荐方法,其特征在于,所述按照预设的顺序,依次对若干个老用户的各类上下文信息进行编码,获得每类上下文信息的编码向量,具体为:
按照用户档案、用户反馈信息、反馈相关的物品上下文的顺序,分别将各类上下文信息作为输入,采用以下的编解码公式依次对若干个老用户的各类上下文信息进行编码,将输出信息作为每类上下文信息对应的编码向量;
所述编解码公式为:
其中,是输出矩阵,而是输入矩阵,J表示的是老用户的数量并且d代表原始向量的维度,为一维向量空间;激活函数都被设置为sigmoid函数,即σ(x)=1/(1+exp(-x));
所述编解码公式包含第一隐藏层和第二隐藏层;第一隐藏层和第二隐藏层板的权重和偏移分别被定义为{W1,b1}和{W2,b2};
在编码时,
在解码时,
3.根据权利要求2所述的面向完全冷启动的上下文自动编码推荐方法,其特征在于,每类上下文信息的编码向量通过所述编解码公式解码后,能获得相应的上下文信息。
4.根据权利要求2所述的面向完全冷启动的上下文自动编码推荐方法,其特征在于,所述将所有老用户的输入向量作为输入,为每个老用户的每个邻居设置一个局部矩阵,具体为:
若每个老用户共有n个邻居,则包含n个子模型,第n个子模型的目标函数定义为:
其中,使用下标o指示老用户,并设定有J个老用户和I个物品,则表示老用户的用户反馈信息;表示老用户的输入向量;C是输入向量的向量长度;表示第n个子模型中的局部矩阵;上标(n)既表示第n个子模型,又表示第n个邻居;
通过对所述目标函数训练,得到每个老用户的每个邻居的局部矩阵:
其中,λ2是L-2规范化因子,是一个单位矩阵。
5.根据权利要求4所述的面向完全冷启动的上下文自动编码推荐方法,其特征在于,所述计算所有老用户和新用户之间的用户档案关联度,得到所述新用户的n个邻居老用户,具体为:
提取新用户的用户档案,并根据所有老用户的用户档案与所述新用户的用户档案,采用余弦相似度计算方法,计算所有老用户和新用户之间的用户档案关联度,并根据所述用户档案关联度,得到所述新用户的n个邻居老用户。
6.根据权利要求5所述的面向完全冷启动的上下文自动编码推荐方法,其特征在于,所述以新老用户档案关联来约束n个邻居老用户的反馈信息,计算新用户反馈信息并得到新用户的冷启动推荐列表,具体为:
以新老用户档案关联来约束n个邻居老用户的反馈信息,采用以下公式,计算新用户反馈信息;
其中,Rnew为新用户的反馈信息,为第n个邻居老用户与新用户之间的用户档案关联度;为第n个邻居老用户的上下文信息;W(n)为第n个邻居老用户的局部矩阵;即为老用户的反馈信息;
根据Rnew每一行(代表一个新用户)的向量值,降序排列这些值即可得到用户从高到低的反馈预测,选取前N个反馈值高的物品即可得到top-N的冷启动推荐列表。
7.一种面向完全冷启动的上下文自动编码推荐系统,其特征在于,包括:上下文编码器和上下文感知推荐器;其中,所述上下文感知推荐器包括局部矩阵设置模块、第一计算模块和第二计算模块;
所述上下文编码器用于按照预设的顺序,依次对若干个老用户的各类上下文信息进行编码,获得每类上下文信息的编码向量,并将同一个老用户的各编码向量按照预设的方式串联起来,分别获得所有老用户的输入向量;其中,所述各类上下文信息包括用户档案、用户反馈信息、反馈相关的物品上下文;
所述局部矩阵设置模块用于将所有老用户的输入向量作为输入,为每个老用户的每个邻居设置一个局部矩阵;所述局部矩阵用于表达上下文-反馈信息之间的关联,使得每个老用户的反馈信息,能够根据用户档案和所述局部矩阵而计算获得;
所述第一计算模块用于计算所有老用户和新用户之间的用户档案关联度,得到所述新用户的n个邻居老用户;n为正整数;
所述第二计算模块用于以新老用户档案关联来约束n个邻居老用户的反馈信息,计算新用户反馈信息并得到新用户的冷启动推荐列表。
8.根据权利要求7所述的面向完全冷启动的上下文自动编码推荐系统,其特征在于,所述上下文编码器具体用于:
按照用户档案、用户反馈信息、反馈相关的物品上下文的顺序,分别将各类上下文信息作为输入,采用以下的编解码公式依次对若干个老用户的各类上下文信息进行编码,将输出信息作为每类上下文信息对应的编码向量;
所述编解码公式为:
其中,是输出矩阵,而是输入矩阵,J表示的是老用户的数量并且d代表原始向量的维度,为一维向量空间;激活函数都被设置为sigmoid函数,即σ(x)=1/(1+exp(-x));
所述编解码公式包含第一隐藏层和第二隐藏层;第一隐藏层和第二隐藏层板的权重和偏移分别被定义为{W1,b1}和{W2,b2};
在编码时,
在解码时,
9.根据权利要求8所述的面向完全冷启动的上下文自动编码推荐系统,其特征在于,所述局部矩阵设置模块具体用于:
若每个老用户共有n个邻居,则包含n个子模型,第n个子模型的目标函数定义为:
其中,使用下标o指示老用户,并设定有J个用户和I个物品,则表示老用户的用户反馈信息;表示老用户的输入向量;C是输入向量的向量长度;表示第n个子模型中的局部矩阵;上标(n)既表示第n个子模型,又表示第n个邻居;
通过对所述目标函数训练,得到每个老用户的每个邻居的局部矩阵:
其中,λ2是L-2规范化因子,是一个单位矩阵。
10.根据权利要求9所述的面向完全冷启动的上下文自动编码推荐系统,其特征在于,
所述第一计算模块具体用于:提取新用户的用户档案,并根据所有老用户的用户档案与所述新用户的用户档案,采用余弦相似度计算方法,计算所有老用户和新用户之间的用户档案关联度,并根据所述用户档案关联度,得到所述新用户的n个邻居老用户;
所述第二计算模块具体用于:以新老用户档案关联来约束n个邻居老用户的反馈信息,采用以下公式,计算新用户反馈信息;
其中,Rnew为新用户的反馈信息,为第n个邻居老用户与新用户之间的用户档案关联度;为第n个邻居老用户的上下文信息;W(n)为第n个邻居老用户的局部矩阵;即为老用户的反馈信息;
根据Rnew每一行(代表一个新用户)的向量值,降序排列这些值即可得到用户从高到低的反馈预测,选取前N个反馈值高的物品即可得到top-N的冷启动推荐列表。
CN201910077281.3A 2019-01-25 2019-01-25 一种面向完全冷启动的上下文自动编码推荐方法及系统 Active CN109918564B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910077281.3A CN109918564B (zh) 2019-01-25 2019-01-25 一种面向完全冷启动的上下文自动编码推荐方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910077281.3A CN109918564B (zh) 2019-01-25 2019-01-25 一种面向完全冷启动的上下文自动编码推荐方法及系统

Publications (2)

Publication Number Publication Date
CN109918564A true CN109918564A (zh) 2019-06-21
CN109918564B CN109918564B (zh) 2023-05-09

Family

ID=66960790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910077281.3A Active CN109918564B (zh) 2019-01-25 2019-01-25 一种面向完全冷启动的上下文自动编码推荐方法及系统

Country Status (1)

Country Link
CN (1) CN109918564B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579889A (zh) * 2020-12-07 2021-03-30 北京百度网讯科技有限公司 物品推荐方法、装置、电子设备及存储介质
CN113268667A (zh) * 2021-05-28 2021-08-17 汕头大学 一种基于中文评论情感引导的序列推荐方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150012345A1 (en) * 2013-06-21 2015-01-08 Thomson Licensing Method for cold start of a multi-armed bandit in a recommender system
CN106649657A (zh) * 2016-12-13 2017-05-10 重庆邮电大学 面向社交网络基于张量分解的上下文感知推荐系统及方法
CN108920641A (zh) * 2018-07-02 2018-11-30 北京理工大学 一种信息融合个性化推荐方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150012345A1 (en) * 2013-06-21 2015-01-08 Thomson Licensing Method for cold start of a multi-armed bandit in a recommender system
CN106649657A (zh) * 2016-12-13 2017-05-10 重庆邮电大学 面向社交网络基于张量分解的上下文感知推荐系统及方法
CN108920641A (zh) * 2018-07-02 2018-11-30 北京理工大学 一种信息融合个性化推荐方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
廖列法等: "隐式反馈场景中结合信任与相似度的排序推荐", 《计算机应用研究》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579889A (zh) * 2020-12-07 2021-03-30 北京百度网讯科技有限公司 物品推荐方法、装置、电子设备及存储介质
CN113268667A (zh) * 2021-05-28 2021-08-17 汕头大学 一种基于中文评论情感引导的序列推荐方法及系统
CN113268667B (zh) * 2021-05-28 2022-08-16 汕头大学 一种基于中文评论情感引导的序列推荐方法及系统

Also Published As

Publication number Publication date
CN109918564B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
Huang et al. Csan: Contextual self-attention network for user sequential recommendation
CN109960761B (zh) 信息推荐方法、装置、设备及计算机可读存储介质
CN111209386B (zh) 一种基于深度学习的个性化文本推荐方法
CN110309195B (zh) 一种基于fwdl模型的内容推荐方法
CN104462383A (zh) 一种基于用户多种行为反馈的电影推荐方法
CN110442618B (zh) 融合专家信息关联关系的卷积神经网络评审专家推荐方法
Vilakone et al. Movie recommendation system based on users’ personal information and movies rated using the method of k-clique and normalized discounted cumulative gain
CN114186013A (zh) 实体识别模型热更新方法及其装置、设备、介质、产品
CN112699310A (zh) 基于深度神经网络的冷启动跨域混合推荐的方法及系统
Liu et al. PHD: A probabilistic model of hybrid deep collaborative filtering for recommender systems
CN114298783A (zh) 基于矩阵分解融合用户社交信息的商品推荐方法及系统
CN114077661A (zh) 信息处理装置、信息处理方法和计算机可读介质
CN109918564A (zh) 一种面向完全冷启动的上下文自动编码推荐方法及系统
CN111079011A (zh) 一种基于深度学习的信息推荐方法
Wang et al. TDR: Two-stage deep recommendation model based on mSDA and DNN
CN115203529A (zh) 一种基于多头自注意力机制的深度神经网络推荐模型及方法
CN112883229B (zh) 基于多特征图注意网络模型的视频-文本跨模态检索方法和装置
US20220366295A1 (en) Pre-search content recommendations
CN113051468A (zh) 一种基于知识图谱和强化学习的电影推荐方法及系统
CN110717103B (zh) 基于堆栈降噪编码器改进的协同过滤方法
CN113688281B (zh) 一种基于深度学习行为序列的视频推荐方法及系统
CN112559905B (zh) 一种基于双模式注意力机制和社交相似度的会话推荐方法
CN115269998A (zh) 信息推荐方法、装置、电子设备及存储介质
CN112487231B (zh) 一种基于双图正则化约束和字典学习的图像自动标注方法
Kim Time-varying Item Feature Conditional Variational Autoencoder for Collaborative Filtering

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