首页> 中国专利> 基于异构信息网络的内容提供方法及系统

基于异构信息网络的内容提供方法及系统

摘要

本发明公开了一种基于异构信息网络的内容提供方法,在用户订阅了推荐服务时,使用最优预测矩阵向用户推荐内容,该最优预测矩阵利用异构信息网络,采用基于元路径的相似度计算方法分别得出用户和项目的相似度矩阵,将用户相似度矩阵、用户-项目评分矩阵、项目相似度矩阵的两个或三个进行融合,得到用户与项目之间的内在关系,之后再利用基于协同过滤的矩阵分解预测方法进行预测,最后合并结果,获得最优预测矩阵。该方法有效地提高了推荐精度,在现有数据的基础上,经过有限次的计算,可以为用户推荐更符合用户意愿的结果,并部分解决了冷启动问题,改善了推荐结果的可解释性。

著录项

  • 公开/公告号CN104077351A

    专利类型发明专利

  • 公开/公告日2014-10-01

    原文格式PDF

  • 申请/专利权人 东北师范大学;

    申请/专利号CN201410222787.6

  • 申请日2014-05-26

  • 分类号G06F17/30(20060101);

  • 代理机构

  • 代理人

  • 地址 130024 吉林省长春市人民大街5268号东北师范大学

  • 入库时间 2023-12-17 01:49:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-01-25

    授权

    授权

  • 2014-10-29

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20140526

    实质审查的生效

  • 2014-10-01

    公开

    公开

说明书

技术领域

本发明涉及一种内容提供方法及系统,特别是基于异构信息网络 的内容提供方法及系统。

背景技术

随着科学技术的发展,目前已经进入了信息爆炸的时代,由于海 量信息的涌现使得信息的利用率反而降低,从而出现了称之为信息超 载的现象。特别是在当前的大数据时代,如何从海量的数据中准确地 找到自己所需要的信息,更是一个十分紧迫的问题。推荐系统就是解 决这一问题的有效手段。

协同过滤方法是推荐系统中研究得最早,也是最多的领域,并在 工业界得到了广泛的应用。其基本思想是如果用户在过去有相同的偏 好,那么他们在未来也会有相似的偏好。纯粹的协同过滤方法的输入 数据只有用户-项目评分矩阵,因此它只应用了用户对项目的历史评 分。协同过滤技术一般分为两类:基于记忆的和基于模型的。其中基 于记忆的方法是将原始评分数据保存在内存中,直接生成推荐结果; 而基于模型的方法会首先离线处理原始数据,学习相应模型,通常采 用各种矩阵分解方法。

无论是基于用户的过滤还是基于项目的过滤其中最近邻的计算 都只依赖于用户-项目评分矩阵。由于评分矩阵一般都非常稀疏,因 此协同过滤的主要挑战就是要用相对较少的有效评分来得到准确的 预测。

发明内容

为解决现有技术的不足,本发明的目的在于提供一种基于异构信 息网络的内容提供方法及系统。

为实现上述目标,本发明采用如下的技术方案:

一种基于异构信息网络的内容提供方法,在用户订阅了推荐服务 时,使用最优预测矩阵向用户推荐内容,该最优预测矩阵利用基于元 路径的相似度计算方法分别得出用户和项目的相似度矩阵,利用矩阵 相乘原理将用户相似度矩阵、用户-项目评分矩阵、项目相似度矩阵 任意两个或三个进行融合,得到用户与项目之间的内在关系,之后再 利用基于协同过滤的矩阵分解预测方法进行预测,最后合并结果,获 得最优预测矩阵。

获得最优预测矩阵的步骤,具体包括:

步骤一:生成用户集合和项目集合;

用户集合:US={u1,u2,...,um};

项目集合:WS={w1,w2,...,wn};

其中ui代表参与推荐过程的活动用户;wi代表参与推荐过程的活 动项目;

步骤二:生成属性集合;

用户属性集合:UA={p1,p2,...,pk};

项目属性集合:WA={q1,q2,...,qt};

其中pi代表参与推荐过程的用户某一方面的属性;qi代表参与推 荐过程的项目某一方面的属性;k和t分别表示参与推荐过程的用户 属性数和项目属性数;

步骤三:生成相似度矩阵;

采用基于元路径的相似度计算方法分别计算用户与项目各个属 性的相似度矩阵;

用户间关于属性pi的相似度矩阵:U(pi)∈Rm*m(0<i≤k);

项目间关于属性qi的相似度矩阵:W(qi)∈Rn*n(0<i≤t);

其中Ri*j代表表示i行j列的方阵;

步骤四:矩阵融合;

通过基于元路径的相似度计算后,可以得到多个用户相似度矩阵 U(pi),和多个项目相似度矩阵W(qi);

通过如下三种方式之一或多个进行矩阵融合:

融合方式1:(用户-项目评分矩阵)×(项目相似度矩阵)

融合方式2:(用户相似度矩阵)×(用户-项目评分矩阵)

融合方式3:(用户相似度矩阵)×(用户-项目评分矩阵)×(项 目相似度矩阵);

步骤五:协同过滤;

使用矩阵分解算法进行推荐预测;

步骤六:矩阵合并;

针对多个元路径和融合方法,以及多种矩阵分解方法运算后会得 到多个结果预测矩阵,将这些预测矩阵合并获得最优预测矩阵。

进一步的,在用户输入查询内容时,从数据库获得初步的查询结 果,使用最优预测矩阵对该初步的查询结果进行过滤。

本申请还提供一种基于异构信息网络的内容提供系统,该系统包 括:

查询机:用户通过查询机登陆并向用户显示推荐内容;

存储机:存储各种数据;

最优预测矩阵生成器:从存储机获得数据,利用基于元路径的相 似度计算方法分别得出用户和项目的相似度矩阵,利用矩阵相乘原理 将用户相似度矩阵、用户-项目评分矩阵、项目相似度矩阵任意两个 或三个进行融合,得到用户与项目之间的内在关系,之后再利用基于 协同过滤的矩阵分解预测方法进行预测,最后合并结果,获得最优预 测矩阵;

过滤选择器:使用最优预测矩阵向用户推荐内容。

上述最优预测矩阵生成器包括:

集合生成器:用于生成用户集合和项目集合;

用户集合:US={u1,u2,...,um};

项目集合:WS={w1,w2,...,wn};

其中ui代表参与推荐过程的活动用户;wi代表参与推荐过程的 活动项目;

属性生成器:用于生成属性集合;

用户属性集合:UA={p1,p2,...,pk};

项目属性集合:WA={q1,q2,...,qt};

其中pi代表在系统中参与推荐过程的用户某一方面的属性;qi代表在系统中参与推荐过程的项目某一方面的属性;k和t分别表示 参与推荐过程的用户属性数和项目属性数;

相似度矩阵生成器:用于生成相似度矩阵;

采用基于元路径的相似度计算方法分别计算用户与项目各个属 性的相似度矩阵;

用户间关于属性pi的相似度矩阵:U(pi)∈Rm*m(0<i≤k);

项目间关于属性qi的相似度矩阵:W(qi)∈Rn*n(0<i≤t);

其中Ri*j代表表示i行j列的方阵;

信息融合生成器:用于矩阵融合;

通过基于元路径的相似度计算后,对于用户来说可以得到多个用 户相似度矩阵U(pi),对于项目也可以得到多个项目相似度矩阵W(qi);

通过如下三种方式之一或多个进行矩阵融合:

融合方式1:(用户-项目评分矩阵)×(项目相似度矩阵)

融合方式2:(用户相似度矩阵)×(用户-项目评分矩阵)

融合方式3:(用户相似度矩阵)×(用户-项目评分矩阵)×(项 目相似度矩阵);

协同过滤器:用于协同过滤;

使用的矩阵分解算法进行推荐预测;

合并器:用于结果预测矩阵合并;

针对多个元路径和融合方法,以及多种矩阵分解方法运算后会得 到多个结果预测矩阵,将这些预测矩阵合并获得最优预测矩阵。

合并器的合并方法包括以下三种:

1.平均(Average):取多个结果的平均值;

2.最高兴(Most Pleasure):取多个结果的最大值;

3.最不惨(Least Misery):取多个结果的最小值。

本申请旨在使用丰富的用户属性和项目属性信息,主要考虑充分 利用用户和项目属性的潜在信息构建异构信息网络,利用基于元路径 的相似度计算方法分别得出用户和项目的相似度矩阵,利用矩阵相乘 原理将用户相似度矩阵、用户-项目评分矩阵、项目相似度矩阵进行 融合,得到用户与项目之间的更丰富的内在关系,之后再利用基于协 同过滤的矩阵分解预测方法进行预测,最后合并结果预测矩阵为用户 提供更加有效的内容。该方法有效地提高了推荐精度,在现有数据的 基础上,经过有限次的计算,可以为用户推荐更符合用户意愿的结果, 针对推荐系统中针对新用户与新项目不能很好进行推荐的冷启动问 题,由于引入了用户与项目属性可以部分得到解决,同时也可以改善 推荐结果的可解释性。

附图说明

图1为本发明第一实施例的方法流程图;

图2为本发明的第二实施例的方法流程图;

图3为构建最优预测矩阵的方法流程图;

图4为本发明的系统结构图;

图5为最优预测矩阵生成器的结构图。

具体实施方式

以下结合附图和具体实施例对本发明作具体的介绍。

向用户提供内容服务的系统通常具有push和pull两种模式,用 户可以分别采用pull模式或push模式登录查询机。在push模式中, 当用户登陆查询机时,即可根据用户之前的服务订阅情况和查询历 史,及时向用户推送通过推荐系统预测的可能用户最感兴趣的相关内 容;pull模式为用户进行查询请求时,结合用户的查询历史,推荐 系统向用户推荐更可能相关的内容。本发明可以是具有单独的push 模式或pull模式的系统,也可以是具有这两种模式的系统。

首先,介绍本发明的第一实施例的方法流程图。

参照图1,本发明的第一实施例的方法流程图是push模式的基 于异构信息网络的内容提供方法,包括:

步骤101:用户登陆。

用户登陆查询机,提供用户身份鉴别,通常是账号和密码或者其 它验证方式,也可以采用系统默认用户的方式,以避免用户每次都需 要重新登录的麻烦。通过身份鉴别,判断用户是否订阅了推荐服务。 其中本领域技术人员可以知道,查询机可以是任意网络浏览器或应 用。

步骤102:获得用户身份。

通过用户身份认证,一旦判断用户订阅了推荐服务,则推荐系统 即时定位用户信息以及用户与项目交互历史,确定系统中活动用户与 活动项目集合,触发推荐过程,计算并产生最优预测矩阵。

步骤103:使用最优预测矩阵向用户推荐内容。

针对用户的个性化信息使用最优预测矩阵向用户推荐服务内容, 将服务内容呈现给当前用户,并跟踪用户反馈,将用户交互结果进行 保存。

这里需要注意的是,为了提高系统响应的实时性,可以在用户退 出系统前进行推荐内容计算,如果用户下次登录时系统中用户与项目 变化不大的情况下就可以立即呈现计算结果,从而大大提高了系统的 实时性。

参照图2,是本发明的第二实施例的方法流程图。第二实施例是 pull模式的基于异构信息网络的内容提供方法,包括:

步骤201:用户查询。

用户通过查询机输入查询关键字或其组合。需要注意的是,为了 提供个性化的信息服务,在用户打开查询机的时候通常需要使用用户 鉴别过程以确定当前用户,虽然这一过程并不是必需的,当然也可以 使用系统默认用户方式避免用户多次登录。

步骤202:获得查询数据结果。

系统通过查询本地或远端数据库获得初步的查询结果,查询结果 通常很多,为了实现个性化服务,所以需要根据查询结果触发推荐过 程。

步骤203:使用最优预测矩阵过滤查询结果。

推荐系统根据当前用户查询历史对查询结果进行推荐,使用最优 预测矩阵对初步的查询结果进行过滤,实现结果自动分类和重新排 序。

步骤204:提供给用户过滤后的查询结果。

将过滤后的查询结果通过查询机提供给用户,得到个性化的服务 体验,实现针对用户的个性化服务。并跟踪和保存用户对结果的交互 信息。

在上述图1和图2中所示的两个实施例中,最优预测矩阵的获得 过程为:利用基于元路径的相似度计算方法分别得出用户和项目的相 似度矩阵,利用矩阵相乘原理将用户相似度矩阵、用户-项目评分矩 阵、项目相似度矩阵任意两个或三个进行融合,得到用户与项目之间 的内在关系,之后再利用基于协同过滤的矩阵分解预测方法进行预 测,最后合并结果,获得最优预测矩阵。详细步骤如图3所示,包括:

步骤301:生成用户集合和项目集合。

用户集合:US={u1,u2,...,um};

项目集合:WS={w1,w2,...,wn};

其中ui代表参与推荐过程的活动用户。对于系统中存在的但不再 使用的用户以及特殊用户通常不参加推荐过程,可以有效提高系统效 率。

wi代表参与推荐过程的活动项目,对于不再使用的过期项目也不 参与推荐过程,系统也可以指定某些特殊项目不参与推荐过程。

项目可以是系统提供的各种信息服务,通常可以是商品、文件、 活动等。

步骤302:生成属性集合。

用户属性集合:UA={p1,p2,...,pk};

项目属性集合:WA={q1,q2,...,qt};

其中pi代表在系统中参与推荐过程的用户某一方面的属性。也可 能存在一些属性对推荐帮助不大,所以可以不包括对推荐意义不大的 属性。同时也可以根据用户当前状态自动生成新的属性或者合并组合 几个属性生成新的属性。qi代表在系统中参与推荐过程的项目某一 方面的属性,不必是全体属性集合都参与推荐。同时也可以根据项目 当前状态自动生成新的属性或者合并组合几个属性生成新的属性。

k和t分别表示参与推荐过程的用户属性数和项目属性数。

步骤303:生成相似度矩阵。

采用基于元路径的相似度计算方法分别计算用户与项目各个属 性的相似度矩阵。

用户间关于属性pi的相似度矩阵:U(pi)∈Rm*m(0<i≤k);

项目间关于属性qi的相似度矩阵:W(qi)∈Rn*n(0<i≤t);

其中Ri*j代表表示i行j列的方阵。

步骤304:矩阵融合。

通过基于元路径的相似度计算后,对于用户来说可以得到多个用 户相似度矩阵U(pi),对于项目也可以得到多个项目相似度矩阵W(qi)。

注意到对于有m个用户,n个项目的推荐系统来说,用户相似度 矩阵是一个m行m列的方阵,同样项目相似度矩阵是一个n行n列的 方阵,同时注意到用户-项目的评分矩阵是一个m行n列的矩阵。因 此可以通过在用户-项目评分矩阵左乘用户相似度矩阵或者右乘项目 相似度矩阵的方法来实现融合用户与项目属性的目的,因此分别可以 通过如下三种方式进行信息融合:

融合方式1:(用户-项目评分矩阵)×(项目相似度矩阵)

融合方式2:(用户相似度矩阵)×(用户-项目评分矩阵)

融合方式3:(用户相似度矩阵)×(用户-项目评分矩阵)×(项 目相似度矩阵)

其中融合方式3的示例如下:

融合方式1和2的示例与融合方式3类似,在此不再赘述。

步骤305:协同过滤。

对获得的矩阵使用在协同过滤推荐系统中通常使用的矩阵分解 算法进行推荐预测:

通常将矩阵分解成用户和项目两个特征值基向量。为了缩短过 程,可以使用梯度下降法。也可以在分解时使用约束条件,如根据推 荐数值的实际意义可以约束所有的低秩矩阵必须是非负数,然后使用 乘法更新原则来减小实际值和评估值的欧氏距离或者相对熵。得到结 果预测矩阵。

步骤306:矩阵合并。

针对多个元路径和融合方法,以及多种矩阵分解方法运算后会得 到多个结果预测矩阵,因此需要进一步合并多个预测结果,得到最终 的预测结果。比如选取几种较简单的合并方法:

1.平均(Average):取多个结果的平均值;

2.最高兴(Most Pleasure):取多个结果的最大值;

3.最不惨(Least Misery):取多个结果的最小值。

步骤307:获得最优预测矩阵。

经过上述合并方法后就可以得到最优预测矩阵,从而可以有效地 对提供个性化的信息服务。

图4是本发明的系统结构图。

该推荐系统包括如下的组成部分:

查询机:用户通过查询机登陆并使用推荐系统,用户可以在查询 机上进行用户身份鉴别,查询机在获得用户身份信息之后,可通过查 询存储机内存储的信息,从而判断用户是否订阅了推荐服务。在用户 输入查询内容时,查询机可将该查询内容以及用户上下文传送到存储 机。

存储机:存储各种数据,例如用户数据、项目数据、用户与项目 的交互信息,交互信息中包括用户查询历史、项目使用频次、用户对 项目的操作行为等信息,还存储由下述的最优预测矩阵生成器生成的 最优预测矩阵。在获得查询机传送的用户身份之后,可查询存储的信 息,并将查询结果传送给查询机;在判断用户订阅了推荐服务时,从 查询机获得查询内容和用户上下文之后,存储机查询存储的数据内 容,并将获得的初步查询结果传送到过滤选择器,并启动最优预测矩 阵生成器。如果用户未订阅推荐服务,可以把存储机中查询系统中热 门项目列表作为推荐内容直接返回查询机作为推荐结果。

最优预测矩阵生成器:从存储机获得数据,确定参与推荐的用户 集合和项目集合,以及用户属性集合和项目属性集合,启动推荐过程, 进行数据的推荐与预测,生成最优预测矩阵,其构成如图5所示。

过滤选择器:利用最优预测矩阵生成器生成的最优预测矩阵过滤 从存储机接收的初步查询结果,处理并生成过滤后的查询结果,并将 过滤后的查询结果传送给查询机,进行结果呈现。

该推荐系统除了实现上述基于pull模式的推荐之外,在基于 push模式的推荐过程中,用户登陆查询机,进行用户身份鉴定,查 询机将该身份信息传输该存储机;存储机鉴别用户身份,判断用户是 否订阅了推荐服务,如果判断用户订阅了推荐服务,则存储机定位用 户信息和用户与项目交互历史,启动最优预测矩阵生成器;最优预测 矩阵生成器生成最优预测矩阵,并将生成的最优预测矩阵发送给过滤 选择器,并转发到查询机进行推荐结果呈现。

进一步的,查询机跟踪用户反馈,将用户与项目交互结果保存在 存储机中,为以后的推荐做准备。

图5示出了推荐系统中最优预测矩阵生成器的构成,包括:

集合生成器501:用于生成用户集合和项目集合。

用户集合:US={u1,u2,...,um};

项目集合:WS={w1,w2,...,wn};

其中ui代表参与推荐过程的活动用户。对于系统中存在的但不再 使用的用户以及特殊用户进行不参加推荐过程,可以有效提高系统效 率。

wi代表参与推荐过程的活动项目,对于不同使用的过期项目也不 参与推荐过程,系统也可以指定某些特殊项目不参与推荐过程。

项目可以是系统提供的各种信息服务,通常可以是商品、文件、 活动等。

属性生成器502:用于生成属性集合。

用户属性集合:UA={p1,p2,...,pk};

项目属性集合:WA={q1,q2,...,qt};

其中pi代表在系统中参与推荐过程的用户某一方面的属性。也可 能存在一些属性对推荐帮助不大,所以可以不包括对推荐意义不大的 属性。同时也可以根据用户当前状态自动生成新的属性或者合并组合 几个属性生成新的属性。

qi代表在系统中参与推荐过程的项目某一方面的属性,不必是全 体属性集合都参与推荐。同时也可以根据项目当前状态自动生成新的 属性或者合并组合几个属性生成新的属性。

相似度矩阵生成器503:用于生成相似度矩阵。

采用基于元路径的相似度计算方法分别计算用户与项目各个属 性的相似度矩阵。

用户间关于属性pi的相似度矩阵:U(pi)∈Rm*m(0<i≤k);

项目间关于属性qi的相似度矩阵:W(qi)∈Rn*n(0<i≤t);

其中Ri*j代表表示i行j列的方阵。

信息融合生成器504:用于矩阵融合。

通过基于元路径的相似度计算后,对于用户来说可以得到多个用 户相似度矩阵U(pi),对于项目也可以得到多个项目相似度矩阵W(qi)。

注意到对于有m个用户,n个项目的推荐系统来说,用户相似度 矩阵是一个m行m列的方阵,同样项目相似度矩阵是一个n行n列的 方阵,同时注意到用户-项目的评分矩阵是一个m行n列的矩阵。因 此可以通过在用户-项目评分矩阵左乘用户相似度矩阵或者右乘项目 相似度矩阵的方法来实现融合用户与项目属性的目的,因此分别可以 通过如下三种方式进行信息融合:

融合方式1:(用户-项目评分矩阵)×(项目相似度矩阵)

融合方式2:(用户相似度矩阵)×(用户-项目评分矩阵)

融合方式3:(用户相似度矩阵)×(用户-项目评分矩阵)×(项 目相似度矩阵)

其中融合方式3的示例如下:

融合方式1和2的示例与融合方式3类似,在此不再赘述。

协同过滤器505:用于协同过滤。

对获得的矩阵使用在协同过滤推荐系统中通常使用的矩阵分解 算法进行推荐预测:

通常将矩阵分解成用户和项目两个特征值基向量。为了缩短过 程,可以使用梯度下降法。也可以在分解时使用约束条件,如根据推 荐数值的实际意义可以约束所有的低秩矩阵必须是非负数,然后使用 乘法更新原则来减小实际值和评估值的欧氏距离或者相对熵。得到结 果预测矩阵。

合并器506:用于矩阵合并,获得最优预测矩阵。

针对多个元路径和融合方法,以及多种矩阵分解方法运算后会得 到多个结果预测矩阵,因此需要进一步合并多个预测结果,得到最终 的预测结果。本领域所公知的融合方式有很多,比如选取几种较简单 的合并方法:

1.平均(Average):取多个结果的平均值;

2.最高兴(Most Pleasure):取多个结果的最大值;

3.最不惨(Least Misery):取多个结果的最小值。

需要说明的是,上述实施例不以任何形式限制本发明,凡采用等 同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范 围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号