[发明专利]一种面向完全冷启动的上下文自动编码推荐方法及系统有效
| 申请号: | 201910077281.3 | 申请日: | 2019-01-25 |
| 公开(公告)号: | CN109918564B | 公开(公告)日: | 2023-05-09 |
| 发明(设计)人: | 郑麟 | 申请(专利权)人: | 汕头大学 |
| 主分类号: | G06F16/9535 | 分类号: | G06F16/9535 |
| 代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 张泽思 |
| 地址: | 515000 *** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 面向 完全 冷启动 上下文 自动 编码 推荐 方法 系统 | ||
1.一种面向完全冷启动的上下文自动编码推荐方法,其特征在于,包括:
按照预设的顺序,依次对若干个老用户的各类上下文信息进行编码,获得每类上下文信息的编码向量,并将同一个老用户的各编码向量按照预设的方式串联起来,分别获得所有老用户的输入向量;其中,所述各类上下文信息包括用户档案、用户反馈信息、反馈相关的物品上下文;所述按照预设的顺序,依次对若干个老用户的各类上下文信息进行编码,获得每类上下文信息的编码向量,具体为:
按照用户档案、用户反馈信息、反馈相关的物品上下文的顺序,分别将各类上下文信息作为输入,采用以下的编解码公式依次对若干个老用户的各类上下文信息进行编码,将输出信息作为每类上下文信息对应的编码向量;
所述编解码公式为:;
其中,是输出矩阵,而是输入矩阵,表示的是老用户的数量并且代表原始向量的维度,为一维向量空间;激活函数和都被设置为sigmoid函数,即;
所述编解码公式包含第一隐藏层和第二隐藏层;第一隐藏层和第二隐藏层的权重和偏移分别被定义为和;
在编码时,;
在解码时,;
每类上下文信息的编码向量通过所述编解码公式解码后,能获得相应的上下文信息;
将所有老用户的输入向量作为输入,为每个老用户的每个邻居设置一个局部矩阵;所述局部矩阵用于表达所述各类上下文信息之间的关联,使得每个老用户的反馈信息,能够根据用户档案和所述局部矩阵而计算获得;
所述将所有老用户的输入向量作为输入,为每个老用户的每个邻居设置一个局部矩阵,具体为:
若每个老用户共有n个邻居,则包含n个子模型,第n个子模型的目标函数定义为:;
其中,使用下标指示老用户,并设定有个老用户和个物品,则表示老用户的用户反馈信息;表示老用户的输入向量;是输入向量的向量长度;表示第n个子模型中的局部矩阵;上标既表示第n个子模型,又表示第n个邻居;
通过对所述目标函数训练,得到每个老用户的每个邻居的局部矩阵:;
其中,是-2规范化因子,是一个单位矩阵;
计算所有老用户和新用户之间的用户档案关联度,得到所述新用户的n个邻居老用户;n为正整数;
所述计算所有老用户和新用户之间的用户档案关联度,得到所述新用户的n个邻居老用户,具体为:
提取新用户的用户档案,并根据所有老用户的用户档案与所述新用户的用户档案,采用余弦相似度计算方法,计算所有老用户和新用户之间的用户档案关联度,并根据所述用户档案关联度,得到所述新用户的n个邻居老用户;
以新老用户档案关联来约束n个邻居老用户的反馈信息,计算新用户反馈信息并得到新用户的冷启动推荐列表;
所述以新老用户档案关联来约束n个邻居老用户的反馈信息,计算新用户反馈信息并得到新用户的冷启动推荐列表,具体为:
以新老用户档案关联来约束n个邻居老用户的反馈信息,采用以下公式,计算新用户反馈信息;
;
其中,为新用户的反馈信息,为第n个邻居老用户与新用户之间的用户档案关联度;为第n个邻居老用户的上下文信息;为第n个邻居老用户的局部矩阵;即为老用户的反馈信息;
降序排列中代表一个新用户的每一行的值,得到用户从高到低的反馈预测,选取前个反馈值高的物品即可得到的冷启动推荐列表。
2.一种面向完全冷启动的上下文自动编码推荐系统,其特征在于,包括:上下文编码器和上下文感知推荐器;其中,所述上下文感知推荐器包括局部矩阵设置模块、第一计算模块和第二计算模块;
所述上下文编码器用于按照预设的顺序,依次对若干个老用户的各类上下文信息进行编码,获得每类上下文信息的编码向量,并将同一个老用户的各编码向量按照预设的方式串联起来,分别获得所有老用户的输入向量;其中,所述各类上下文信息包括用户档案、用户反馈信息、反馈相关的物品上下文;
所述上下文编码器具体用于:
按照用户档案、用户反馈信息、反馈相关的物品上下文的顺序,分别将各类上下文信息作为输入,采用以下的编解码公式依次对若干个老用户的各类上下文信息进行编码,将输出信息作为每类上下文信息对应的编码向量;
所述编解码公式为:;
其中,是输出矩阵,而是输入矩阵,表示的是老用户的数量并且代表原始向量的维度,为一维向量空间;激活函数和都被设置为sigmoid函数,即;
所述编解码公式包含第一隐藏层和第二隐藏层;第一隐藏层和第二隐藏层的权重和偏移分别被定义为和;
在编码时,;
在解码时,;
所述局部矩阵设置模块用于将所有老用户的输入向量作为输入,为每个老用户的每个邻居设置一个局部矩阵;所述局部矩阵用于表达所述各类上下文信息之间的关联,使得每个老用户的反馈信息,能够根据用户档案和所述局部矩阵而计算获得;
所述局部矩阵设置模块具体用于:
若每个老用户共有n个邻居,则包含n个子模型,第n个子模型的目标函数定义为:;
其中,使用下标指示老用户,并设定有个用户和个物品,则表示老用户的用户反馈信息;表示老用户的输入向量;是输入向量的向量长度;表示第n个子模型中的局部矩阵;上标既表示第n个子模型,又表示第n个邻居;
通过对所述目标函数训练,得到每个老用户的每个邻居的局部矩阵:;
其中,是-2规范化因子,是一个单位矩阵;
所述第一计算模块用于计算所有老用户和新用户之间的用户档案关联度,得到所述新用户的n个邻居老用户;n为正整数;
所述第二计算模块用于以新老用户档案关联来约束n个邻居老用户的反馈信息,计算新用户反馈信息并得到新用户的冷启动推荐列表;
所述第一计算模块具体用于:提取新用户的用户档案,并根据所有老用户的用户档案与所述新用户的用户档案,采用余弦相似度计算方法,计算所有老用户和新用户之间的用户档案关联度,并根据所述用户档案关联度,得到所述新用户的n个邻居老用户;
所述第二计算模块具体用于:以新老用户档案关联来约束n个邻居老用户的反馈信息,采用以下公式,计算新用户反馈信息;
;
其中,为新用户的反馈信息,为第n个邻居老用户与新用户之间的用户档案关联度;为第n个邻居老用户的上下文信息;为第n个邻居老用户的局部矩阵;即为老用户的反馈信息;
降序排列中代表一个新用户的每一行的值,得到用户从高到低的反馈预测,选取前个反馈值高的物品即可得到的冷启动推荐列表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汕头大学,未经汕头大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910077281.3/1.html,转载请声明来源钻瓜专利网。





