基于异构信息网络和贝叶斯个性化排序的推荐方法及装置与流程

文档序号:12825135阅读:203来源:国知局
基于异构信息网络和贝叶斯个性化排序的推荐方法及装置与流程

本发明属于推荐系统领域,尤其涉及推荐系统中基于异构信息网络的方法及装置。



背景技术:

推荐系统:

随着互联网和移动互联网的发展,人们正处于一个信息爆炸的时代。面对海量的信息,如何从中高效的筛选出用户感兴趣的、对用户有帮助的信息,成为越来越重要的问题。传统的搜索引擎越来越无法满足用户个性化的信息过滤和检索需求,尤其是当用户无法准确描述自己的需求时,搜索引擎的筛选效果将大打折扣。

推荐系统正是在这种背景下出现的。其任务在于匹配用户和物品,使得用户能够发现对自己有价值的物品,同时物品能够展现在对他感兴趣的人群中。

目前,主要的推荐方法包括:基于内容的推荐、基于协同过滤的推荐以及混合推荐方法。

基于内容的推荐方法的主要思想是,如果用户喜欢过某个物品,那么与此物品在各种内在属性上都相似的物品,就有很大可能也是用户喜欢的。这种方法可被用于商品、音乐的推荐等。例如,在音乐推荐中,可以通过分析音乐的波形图,得到两个音乐之间的相似度,据此对用户进行推荐。

基于协同过滤的推荐方法是目前最为常用的推荐方法,其基本思想为:如果某用户喜欢过某个物品i,并且喜欢过此物品的其他用户大多也喜欢了另外一个物品j,那么就向此用户推荐物品j。这种方法又分为基于用户的协同过滤和基于物品的协同过滤,区别在于前者使用用户的历史偏好数据计算用户之间的相似度,后者则计算物品之间的相似度。

混合推荐方法综合了上述各种方法。综合的方法有多种。例如,在每种推荐方法给出各自的推荐物品排序列表后,对这些排序列表进行综合,得出一个综合排序列表并推荐给用户。又如,使用基本的推荐方法对所有物品进行打分,然后根据一定的标准对这些推荐方法的结果进行加权,并将加权平均后的打分作为物品的最终得分,最后据此对物品进行排序,并推荐给用户。

异构信息网络:

现实世界中存在大量的对象,它们相互之间存在各种各样的交互关系,形成一个庞大的、相互联系的复杂网络,这个网络称为信息网络。当信息网络中的对象和链接都是单类型时,此网络称为同构信息网络,例如根据不同作者合著同一著作这一关系建立起来的作者合作网络中,对象代表作者,链接代表作者之间的合作关系,这就是一个同构信息网络。当信息网络中的对象或链接是多种类型时,则称为异构信息网络,例如将论文、作者和会议联系起来的文献网络,论文、作者和会议为三种不同的对象,他们之间存在两种类型的链接,即论文和作者之间“写”与“被写”的关系,论文和会议之间“发表”与“被发表”的关系。

目前,基于同构信息网络的算法比较丰富,典型的包括pagerank算法和hits算法等。但是,在许多领域中,同构信息网络无法表达复杂的联系和信息,因此现实世界中还存在着大量的异构信息网络,其中不同类型的对象间的复杂联系揭示了更重要的结构语义信息。如何从这些异构信息网络中挖掘出有用的信息,已成为数据挖掘领域一个新的研究方向和热点。

基于异构信息网络的推荐方法:

基于异构信息网络的推荐方法正在吸引研究人员越来越大的兴趣。这种方法是一种混合的推荐方法,它首先将用户、物品、用户的属性和物品的属性关联起来,建立一张异构信息网络,然后通过在此网络上挖掘相关信息,得到用户对物品的偏好程度,从而进行推荐。已有研究证明,这种方法可以模拟各种传统的推荐方法,包括基于内容的推荐方法和目前最常用的协同过滤方法等。此外,这种方法还可以进行各种基于不同语义的推荐,例如为用户推荐与某演员主演的电影同类型的其他电影。

目前,基于异构信息网络的推荐方法尚处于起步阶段,已有的算法还较少。这些算法大多利用启发式的方法为网络中的边的权重赋值,然后据此在网络上进行随机游走,从而得到每个物品被访问到的概率值,以此作为用户对该物品的偏好的反映。这些方法的缺陷在于,边的权重是根据启发式地规则进行赋值的,因此受到实验者的影响较大,而且强烈的依赖于特定的数据集和实验者的经验,因此,在推广到其他数据集时,已有赋值规则往往不再适用或效果很差。简而言之,这些方法对不同数据集的适应能力较差。



技术实现要素:

为解决上述提到的基于异构信息网络的推荐方法中存在的对不同数据适应能力较差的问题,本发明提供了一种基于贝叶斯个性化排序的机器学习算法,能够自动地学习异构信息网络中边的权重。

本发明所采用的技术方案是:首先根据用户、物品、用户属性及物品属性这些信息建立一张异构信息网络,然后使用基于贝叶斯个性化排序的机器学习算法对每种类型的边分别学习出一个权值。在本发明的机器学习算法中,主要包含下列几个步骤:

(1)每轮迭代中,从用户喜欢过的物品(也称为正样本)中随机抽取一个,由于接下来训练时的目标是最大化此正样本和负样本之间评分的差距,需要平等对待此正样本和负样本,因此在异构信息网络中暂时将用户与此物品的边删除,即在本轮迭代中,将此物品视为用户未标记过喜欢的物品;

(2)每轮迭代中,首先按下式计算网络中所有节点的评分:

其中,r(0)表示网络中所有节点的初始评分,可随机设置,α和l为模型的参数,w为一个矩阵,其中的元素wij表示节点i和节点j之间边的权重,且对于相同类型的边,其权重是相同的,初始时,w中各元素初始值可以设置为任意的正数。此公式表示的是l步的带重启的随机游走模型,参数α表示的是继续游走的概率,相应的,1-α就是重启的概率。计算出每个节点的评分后,对每一类型的边τ,将当前类型的边的权重加上一个微小的增量δ,然后使用新的w矩阵计算新的评分向量r'。然后,使用下面公式计算每个节点评分对边类型τ的权值的梯度:

上述过程也就是对wτ进行数值求导;

(3)从当前用户未标记喜欢的物品(也称为负样本)中,随机抽取一组物品,组成集合i,然后设前面抽取的正样本为i,并使用下面公式更新每个类型的边的权重wτ:

其中,η表示学习速率,迭代中,如果任何一个类型的边的权重在更新后会变为负值,则将η折半,直到没有任何一个类型的边的权重为负。此方法来源于协同过滤方法中的贝叶斯个性化排序(bayesianpersonalizedranking,bpr)算法,本发明将其推广到基于异构信息网络的推荐中来;

(4)在更新完所有类型的边的权重后,将所有类型的边的权重储存起来,作为一个候选解ω,继续下一轮迭代,直到达到指定的迭代次数;

(5)从每轮迭代后取得的候选解中,使用验证集进行测试,从中选择最优的解ω*,作为最终的解;

(6)使用最优解ω*计算所有节点的评分r,并输出评分最高的若干物品,作为对用户的推荐物品集合。

此外,为解决现有基于异构信息网络的推荐方法中存在的对不同数据适应能力较差的问题,本发明提供了一种利用基于贝叶斯个性化排序的机器学习算法自动的学习边的权重的装置。包括:

异构信息网络构建模块,用来利用用户、物品、用户属性及物品属性这些信息建立一张异构信息网络;

机器学习模块,用来使用异构信息网络和贝叶斯个性化排序方法来学习所有类型的边的权重,并存储在每轮迭代中得到的候选解;

候选解选择模块,用来根据验证集的效果选择最优候选解;

输出模块,用来根据得到的最优候选解计算每个物品评分,并输出评分最高的一组物品给用户。

实施本发明实施例,将具有如下有益效果:

该基于异构信息网络和贝叶斯个性化排序的推荐方法及装置可以自动的从数据中学习出各边的权重,从而大大提高了对不同数据的适应能力,同时,由于该方法学到的权重能很好的匹配数据,因此可以更好的对用户偏好进行刻画,从而得到更好的个性化推荐效果。

下面使用grouplens研究团队1发布的hetrec2011movielens数据集进行实验验证。此数据集是movielens10m的一个扩展版本,它组合了原始的电影数据、互联网电影数据库(internetmoviedatabase,imdb)2上对应的电影信息页面,以及烂番茄电影评论系统3上的相应数据。表1是此数据集的一些统计信息。实验中,这些数据被按照时间顺序排序,并取最早的80%作为训练集,余下的20%作为测试集。

表1hetrec2011movielens数据集的统计信息

实验基于训练集和数据集的元信息建立了一个异构信息网络,如图1所示。为了简单起见,本实验所构建的异构信息网络是无向的,但本发明对于有向网络也是可以应用的。此异构信息网络中含有7种类型的节点,分别为user、movie、tag、genre、director、actor、country,每类节点都使用其首字母大写作为其缩写。网络中还有7种类型的边,分别为um、ut、tm、mg、md、ma、mc。

对于每个用户对电影的评分,如果此评分大于该用户对所有电影的平均评分,那么就在用户和电影之间建立一条边。也就是说,将得到高于平均分的电影视为正样本。

实验使用auc指标作为衡量推荐算法好坏的标准。首先针对测试集中的每个用户计算其推荐结果的auc指标,然后对所有这些用户的auc指标取平均值,以得到平均auc指标。

实验比较了下面几种基于异构信息网络的推荐算法:

1)基于路径umum的推荐:也称为基于用户的协同过滤方法。

2)pathrank:基于异构信息网络的推荐算法中最好的方法之一,其中的权重使用了与原作者相同的设置,路径组合使用了他们的文献中效果最好的一个。实验中,将此算法作为基准算法。

3)本文所提集成推荐算法:实验中,路径长度l设为3步,并尝试了三个不同的α值的设定,分别为0.6、0.8和1.0。

表2参与比较的各个推荐算法的平均auc指标

实验结果如表2所示。从表中可以看出,本发明的方法比目前最好的基于异构信息网络的推荐算法即pathrank算法提高了9%左右,相比的基于用户的协同过滤算法提高了约18%。

附图说明

下面结合附图和实施例对本发明进一步说明。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

其中:

图1为一个实施例中一种基于异构信息网络和贝叶斯个性化排序的推荐方法的流程图;

图2为一个实施例中利用数值求导计算所有节点的评分对所有边类型权重的偏导数的方法流程图;

图3为一个实施例中一种基于异构信息网络和贝叶斯个性化排序的推荐装置的示意图。

图4为一个实施例中使用hetrec数据集建立的异构信息网络结构图

具体实施方式

以下结合附图对本发明的原理和性质进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种基于异构信息网络和贝叶斯个性化排序的推荐方法,如图1所示,详细过程如下:

1)如图步骤s101,使用用户、物品、用户属性及物品属性这些信息建立一张异构信息网络;

2)如图步骤s102,从用户喜欢过的物品(也称为正样本)中随机抽取一个,并在异构信息网络中,在本轮迭代中暂时将用户与此物品的边删除;

3)如图步骤s103,利用数值求导计算所有节点的评分对所有边类型权重的偏导数;

4)如图步骤s104,从当前用户未标记喜欢的物品(也称为负样本)中,随机抽取一组物品,并使用公式3来更新所有边类型的权重;

5)如图步骤s105,更新完成后,将所有边类型的权重存储起来,作为一个候选解;

6)如图步骤s106,判断迭代是否达到预定次数,如果没有,那么重复步骤s102、s103、s104、s105,否则进入下一步;

7)如图步骤s107,从每轮迭代后取得的候选解中,使用验证集进行测试,从中选择最优的解;

8)如图步骤s108,使用最优解计算所有节点的评分,并输出评分最高的若干物品,作为对用户的推荐物品集合。

其中,步骤s103中所述数值求导方法,如图2所示,详细过程如下:

1)如图步骤s201,使用公式1计算所有节点的评分;

2)如图步骤s202,判断是否每种边的类型的权重均已求过偏导数,如果是,则结束,如果否,则继续;

3)如图步骤s203,取下一个边的类型τ,将其权重wτ加上一个微小的数值δ;

4)如图步骤s204,使用新的权重矩阵w代入公式1,计算所有节点的评分r';

5)如图步骤s205,使用公式2计算所有节点评分对当前边类型τ的梯度。

重复步骤s203、s204和s205,直到所有类型的边的权重均已求过偏导数。

此外,本发明提供一种基于异构信息网络和贝叶斯个性化排序的推荐装置,如图3所示,包括四个模块:异构信息网络构建模块101、机器学习模块102、候选解选择模块103和输出模块104,其中:

1)异构信息网络构建模块101,用来利用用户、物品、用户属性及物品属性这些信息建立一张异构信息网络;

2)机器学习模块102,用来使用基于异构信息网络和贝叶斯个性化排序的推荐方法来学习所有类型的边的权重,并存储在每轮迭代中得到的候选解;

3)候选解选择模块103,用来根据验证集的效果选择最优候选解;

4)输出模块104,用来根据得到的最优候选解计算每个物品评分,并输出评分最高的一组物品给用户。

采用了上述基于异构信息网络和贝叶斯个性化排序的推荐方法及装置之后,不仅可以自动的从数据中学习出各边的权重,从而大大提高了对不同数据的适应能力,同时,由于该方法学到的权重能很好的匹配数据,因此可以更好的对用户偏好进行刻画,从而得到更好的个性化推荐效果。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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