一种物品推荐方法及装置与流程

文档序号:11515619阅读:179来源:国知局
一种物品推荐方法及装置与流程

本发明属于计算机技术领域,尤其涉及一种物品推荐方法及装置。



背景技术:

随着互联网技术的日新月异,用户的生活方式发生了重大的改变。在信息琳琅满目、竞争激励的互联网时代,如何帮助用户快速准确的挑选出其感兴趣的物品,对一个互联网企业至关重要。基于上述问题,推荐系统技术应运而生。协同过滤技术是推荐系统中使用最广、最受欢迎的一项技术,常用的协同过滤技术有基于最邻近方法和基于模型的方法。基于模型的方法又细分为聚类模型、贝叶斯分类模型、隐因子模型、图模型,其中对于隐因子模型的研究效果最好。基于隐因子的推荐算法模型的研究最典型的代表是2007年由ruslansalakhutdinov等人提出的利用2层受限波尔兹曼机(restrictedboltzmannmachines,简称rbm)来学习用户或物品的隐因子,建立模型进行推荐。

然而,虽然基于rbm的协同过滤成功的将深度学习应用到了推荐系统领域,并取得了很好的推荐效果,但是它仅使用用户对物品的评分矩阵,而通常情况下,评分矩阵非常稀疏,从而导致推荐系统的推荐准确率严重下降。另外,现有的基于rbm的协同过滤技术对于新物品还存在冷启动的问题。



技术实现要素:

本发明的目的在于提供一种物品推荐方法及装置,旨在解决现有推荐系统对于新物品存在冷启动的问题、且推荐准确率不高,导致推荐效果不好的问题。

一方面,本发明提供了一种物品推荐方法,所述方法包括下述步骤:

根据历史评分数据中已评分物品与待评分物品的相似度,计算所述历史评分数据对所述待评分物品的预测评分的影响因子;

将所述计算得到的影响因子输入预先建立的受限波尔兹曼机模型,通过所述受限波尔兹曼机模型计算所述用户对所述待推荐物品的预测评分,生成推荐列表;

根据所述生成的推荐列表,向所述用户输出推荐物品。

另一方面,本发明提供了一种物品推荐装置,所述装置包括:

因子计算单元,用于根据历史评分数据中已评分物品与待评分物品的相似度,计算所述历史评分数据对所述待评分物品的预测评分的影响因子;

列表生成单元,用于将所述计算得到的影响因子输入预先建立的受限波尔兹曼机模型,通过所述受限波尔兹曼机模型计算所述用户对所述待推荐物品的预测评分,生成推荐列表;以及

列表推荐单元,用于根据所述生成的推荐列表,向所述用户输出推荐物品。

本发明根据历史评分数据中已评分物品与待评分物品的相似度,计算历史评分数据对待评分物品的预测评分的影响因子,将计算得到的影响因子输入预先建立的受限波尔兹曼机模型,通过受限波尔兹曼机模型计算用户对待推荐物品的预测评分,生成推荐列表,根据生成的推荐列表,向用户输出推荐物品,从而解决了推荐新物品时的冷启动的问题,提高了推荐的准确率。

附图说明

图1是本发明实施例一提供的物品推荐方法的实现流程图;

图2是本发明实施例二提供的物品推荐装置的结构示意图;以及

图3是本发明实施例二提供的物品推荐装置的优选结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下结合具体实施例对本发明的具体实现进行详细描述:

实施例一:

图1示出了本发明实施例一提供的物品推荐方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在步骤s101中,根据历史评分数据中已评分物品与待评分物品的相似度,计算历史评分数据对待评分物品的预测评分的影响因子。

在本发明实施例中,根据预先得到的用户已评分物品与待评分物品的相似度,计算历史评分数据中已评分物品对待评分物品的预测评分的影响因子。

优选地,在计算历史评分数据中已评分物品对待评分物品的预测评分的影响因子之前,首先接收待评分物品和用户的历史评分数据中已评分物品的文本内容,对这些文本内容进行分词、去停用词预处理操作后,作为预设的word2vec模型的输入内容,对word2vec模型进行训练,word2vec模型训练完毕后,得到文本内容中每一个词的词向量,利用训练好的word2vec模型得到待评分物品和已评分物品的内容中每一个词的词向量表示后,通过对物品内容中的所有词的词向量进行叠加得到每一件物品内容的词向量表示,从而方便在推荐过程中表示物品。

优选地,在使用词向量表示物品内容之后,使用公式计算待评分物品与用户的历史评分数据中的每一个物品的内容之间的相似度,其中,ti、tj表示进行相似度计算的表示两个物品内容的词向量,n表示词向量的大小,ti,i、tj,i表示ti和tj的分量。

优选地,在得到待评分物品与用户的历史评分数据中的每一个物品的内容之间的相似度之后,根据待评分物品与用户的历史评分数据中的每一个物品的内容之间的相似度,选择与待评分物品相似度最大的已评分物品,以提高影响因子的准确性。

优选地,选择出与待评分物品相似度最大的已评分物品之后,根据用户对与待评分物品相似度最大的已评分物品的评分,计算与待评分物品相似度最大的已评分物品对待评分物品的预测评分的影响因子,从而提高了影响因子的准确性。

进一步优选地,在计算与待评分物品相似度最大的已评分物品对待评分物品的预测评分的影响因子时,使用公式计算与待评分物品相似度最大的已评分物品对待评分物品的预测评分的影响因子,其中,为用户的历史评分数据中用户u对物品sk的评分,si,sk∈s={s1,s2,...,sj},s={s1,s2,...,sj}为用户u的已评分物品的集合。

在步骤s102中,将计算得到的影响因子输入预先建立的受限波尔兹曼机模型,通过受限波尔兹曼机模型计算用户对待推荐物品的预测评分,生成推荐列表。

在本发明实施例中,历史评分数据组成评分矩阵,在将计算得到的影响因子输入预先建立的受限波尔兹曼机模型之前,利用评分矩阵作为输入,进行rbm模型的训练,通过训练后的rbm模型计算用户对待推荐物品的初始预测评分。优选地,在根据训练后的rbm模型计算用户对待推荐物品的初始预测评分时,使用公式计算用户对待推荐物品的初始预测评分,其中,l表示rbm模型的神经网络可见层中用于进行待推荐物品评分的softmax神经单元的个数,l={1,2,……,k},表示从rbm模型的神经网络隐含层h计算可见层第i个待推荐物品的第k个softmax神经单元的概率,从而实现对待推荐物品进行初始预测评分。

在本发明实施例中,在计算得到用户对待推荐物品的初始预测评分之后,计算用户对待推荐物品的预测评分。

优选地,在计算用户对待推荐物品的预测评分时,根据与待评分物品相似度最大的已评分物品对待评分物品的预测评分的影响因子θ对预测评分的影响,通过给θ赋予一个权重,使用最终的预测评分计算公式计算用户对待推荐物品的预测评分,从而实现在对待推荐物品进行预测评分时既考虑已评分物品的影响,又考虑物品内容之间相似度的影响,提高了预测评分的准确性。另外,如果待推荐物品为新物品,则新物品虽然不能通过协同过滤进行预测评分,但是可以利用物品内容之间相似度进行预测评分,从而解决了新物品冷启动的问题。

在本发明实施例中,在得到用户对待推荐物品的预测评分之后,生成推荐列表。优选地,在生成推荐列表时,根据预测评分的大小对待推荐物品的预测评分进行正序排序,选取评分最高的n项待推荐物品生成大小为n的推荐列表,从而提高推荐的准确率。

在步骤s103中,根据生成的推荐列表,向用户输出推荐物品。

在本发明实施例中,推荐列表中的n项待推荐物品就是推荐系统为用户u推荐的物品,因此,将推荐列表设置为推荐系统的推荐结果,向用户输出这n项待推荐物品组成的推荐列表,从而实现了对用户的推荐,提高了推荐的准确率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如rom/ram、磁盘、光盘等。

实施例二:

图2示出了本发明实施例二提供的物品推荐装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:

因子计算单元21,用于根据历史评分数据中已评分物品与待评分物品的相似度,计算历史评分数据对待评分物品的预测评分的影响因子。

在本发明实施例中,因子计算单元根据预先得到的用户已评分物品与待评分物品的相似度,计算历史评分数据中已评分物品对待评分物品的预测评分的影响因子。

优选地,在计算历史评分数据中已评分物品对待评分物品的预测评分的影响因子之前,首先接收待评分物品和用户的历史评分数据中已评分物品的文本内容,对这些文本内容进行分词、去停用词预处理操作后,作为预设的word2vec模型的输入内容,对word2vec模型进行训练,word2vec模型训练完毕后,得到文本内容中每一个词的词向量,利用训练好的word2vec模型得到待评分物品和已评分物品的内容中每一个词的词向量表示后,通过对物品内容中的所有词的词向量进行叠加得到每一件物品内容的词向量表示,从而方便在推荐过程中表示物品。

优选地,在使用词向量表示物品内容之后,使用公式计算待评分物品与用户的历史评分数据中的每一个物品的内容之间的相似度,其中,ti、tj表示进行相似度计算的表示两个物品内容的词向量,n表示词向量的大小,ti,i、tj,i表示ti和tj的分量。

优选地,在得到待评分物品与用户的历史评分数据中的每一个物品的内容之间的相似度之后,根据待评分物品与用户的历史评分数据中的每一个物品的内容之间的相似度,选择与待评分物品相似度最大的已评分物品,以提高影响因子的准确性。

优选地,选择出与待评分物品相似度最大的已评分物品之后,根据用户对与待评分物品相似度最大的已评分物品的评分,计算与待评分物品相似度最大的已评分物品对待评分物品的预测评分的影响因子,从而提高了影响因子的准确性。

进一步优选地,在计算与待评分物品相似度最大的已评分物品对待评分物品的预测评分的影响因子时,使用公式计算与待评分物品相似度最大的已评分物品对待评分物品的预测评分的影响因子,其中,为用户的历史评分数据中用户u对物品sk的评分,si,sk∈s={s1,s2,...,sj},s={s1,s2,...,sj}为用户u的已评分物品的集合。

列表生成单元22,用于将计算得到的影响因子输入预先建立的受限波尔兹曼机模型,通过受限波尔兹曼机模型,计算用户对待推荐物品的预测评分,生成推荐列表。

在本发明实施例中,历史评分数据组成评分矩阵,列表生成单元在将计算得到的影响因子输入预先建立的受限波尔兹曼机模型之前,利用评分矩阵作为输入,进行rbm模型的训练,通过训练后的rbm模型计算用户对待推荐物品的初始预测评分。优选地,在根据训练后的rbm模型计算用户对待推荐物品的初始预测评分时,使用公式计算用户对待推荐物品的初始预测评分,其中,l表示rbm模型的神经网络可见层中用于进行待推荐物品评分的softmax神经单元的个数,l={1,2,……,k},表示从rbm模型的神经网络隐含层h计算可见层第i个待推荐物品的第k个softmax神经单元的概率,从而实现对待推荐物品进行初始预测评分。

在本发明实施例中,列表生成单元在计算得到用户对待推荐物品的初始预测评分之后,计算用户对待推荐物品的预测评分。

优选地,在计算用户对待推荐物品的预测评分时,根据与待评分物品相似度最大的已评分物品对待评分物品的预测评分的影响因子θ对预测评分的影响,通过给θ赋予一个权重,使用最终的预测评分计算公式计算用户对待推荐物品的预测评分,从而实现在对待推荐物品进行预测评分时既考虑已评分物品的影响,又考虑物品内容之间相似度的影响,提高了预测评分的准确性。另外,如果待推荐物品为新物品,则新物品虽然不能通过协同过滤进行预测评分,但是可以利用物品内容之间相似度进行预测评分,从而解决了新物品冷启动的问题。

在本发明实施例中,列表生成单元在得到用户对待推荐物品的预测评分之后,生成推荐列表。优选地,在生成推荐列表时,根据预测评分的大小对待推荐物品的预测评分进行正序排序,选取评分最高的n项待推荐物品生成大小为n的推荐列表,从而提高推荐的准确率。

列表推荐单元23,用于根据生成的推荐列表,向用户输出推荐物品。

在本发明实施例中,推荐列表中的n项待推荐物品就是推荐系统为用户u推荐的物品,因此,列表推荐单元将推荐列表设置为推荐系统的推荐结果,向用户输出这n项待推荐物品组成的推荐列表,从而实现了对用户的推荐,提高了推荐的准确率。

因此,优选地,如图3所示,该因子计算单元21包括:

向量表示单元311,用于接收待评分物品和用户的历史评分数据中已评分物品的文本内容,对预设的word2vec模型进行训练,得到文本内容中每一个词的词向量,使用得到的词向量表示待评分物品和已评分物品的内容;

相似度计算单元312,用于使用计算待评分物品与用户的历史评分数据中的每一个物品的内容之间的相似度,其中,ti、tj表示进行相似度计算的表示两个物品内容的词向量,n为词向量的大小,ti,i、tj,i表示ti和tj的分量;

相似度比较单元313,用于根据待评分物品与用户的历史评分数据中的每一个物品的内容之间的相似度,获取与待评分物品相似度最大的已评分物品;以及

因子计算子单元314,用于根据用户对与待评分物品相似度最大的已评分物品的评分,计算与待评分物品相似度最大的已评分物品对待评分物品的预测评分的影响因子;

优选地,该列表生成单元22包括:

初始计算单元321,用于使用公式计算用户对待推荐物品的初始预测评分,其中,l表示受限波尔兹曼机模型的神经网络可见层中用于进行待推荐物品评分的softmax神经单元的个数,表示从受限波尔兹曼机模型的神经网络隐含层h计算可见层第i个待推荐物品的第k个softmax神经单元的概率;

评分计算单元322,用于使用公式计算用户对待推荐物品的预测评分,其中,α为影响因子θ的权重;

列表生成子单元323,用于根据预测评分的大小对待推荐物品的预测评分进行正序排序,选择排序中的前n项待推荐物品生成大小为n的推荐列表;

优选地,该因子计算子单元314包括:

公式计算单元,用于使用公式计算与待评分物品相似度最大的已评分物品对待评分物品的预测评分的影响因子,其中,为用户的历史评分数据中用户u对物品sk的评分,si,sk∈s={s1,s2,...,sj},s={s1,s2,...,sj}为用户u的已评分物品的集合。

在本发明实施例中,物品推荐装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。各单元的具体实施方式可参考前述实施例一的描述,在此不再赘述。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1