首页> 中国专利> 一种动态的多维情境感知电影推荐系统及其实现方法

一种动态的多维情境感知电影推荐系统及其实现方法

摘要

本发明公开了一种动态的多维情境感知电影推荐系统及其实现方法,包括系统交互界面模块、用户-物品-情境-评分数据库模块以及情境感知推荐引擎模块;本发明充分考虑了情境感知推荐过程中情境的动态变化性,主要体现在情境建模,情境添加,情境权重的变化等几个方面,在原有情境感知推荐系统基础上,将情境建模中的情境静态泛化改进为动态聚类泛化,在情境选择过程中提出一种动态新增情境的算法,并根据变化的情境计算不同用户的情境权重,最终实现一个动态的多维情境感知推荐系统,为用户提供更加个性化,精度更高的推荐。

著录项

  • 公开/公告号CN104008204A

    专利类型发明专利

  • 公开/公告日2014-08-27

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN201410270608.6

  • 发明设计人 余萍;吕建;陈斌;

    申请日2014-06-17

  • 分类号G06F17/30;

  • 代理机构南京知识律师事务所;

  • 代理人张苏沛

  • 地址 210093 江苏省南京市鼓楼区汉口路22号

  • 入库时间 2023-12-17 00:55:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-07-21

    授权

    授权

  • 2014-09-24

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

    实质审查的生效

  • 2014-08-27

    公开

    公开

说明书

技术领域

本发明涉及一种动态的多维情境感知电影推荐系统及其实现方法。

背景技术

随着互联网技术的飞速发展,人们接收到的信息越来越多以致有大量无效或 冗余信息影响效率和时间,为了解决信息过载的问题,推荐系统应运而生。推荐 系统为用户提供最可能需要的信息帮助用户节省精力和时间。情境感知推荐系统 是推荐系统的一个热门研究分支,它将情境信息融入到推荐系统中,因为在很多 应用中,在不同的情境下,用户的兴趣选择是不同的,所以推荐的信息也应该随 之变化。

情境感知推荐系统所考虑的情境和具体应用有关,不同应用所需要的情境信 息并不相同。情境可以是物理环境中的情境,如天气,地点,时间等,也可以是 与应用相关的用户信息,物品信息等,只要是在用户与该应用交互过程中可能产 生影响的实体均可称之为情境。

情境感知推荐过程大体可分为三个范式:情境前置过滤,情境后置过滤和情 境推荐建模。前置过滤是将多维数据空间根据情境值进行降维处理,得到情境化 的数据空间,然后用传统的推荐算法进行计算。后置过滤是不考虑情境信息,用 传统的推荐算法进行计算得到推荐结果,然后再通过情境和用户行为之间的关系 进行推荐结果的情境化过滤。情境推荐建模是指在推荐算法中加入情境信息。

目前的一些情境感知推荐算法能够为用户提供精度较高的推荐,但现有的技 术仍存在一些问题:情境的类型和对应取值在初始被设定之后,便不会再改变, 这主要表现在以下几点:1,情境建模过程中,情境泛化过程往往依赖于领域专家 知识,设定情境区间后,区间值不会随着数据集的变化而变化,移植性和动态性 比较欠缺;2,传统的情境感知推荐算法较少考虑新增了情境该如何处理;3,传 统的情境感知推荐算法大多将不同情境类型平等对待,而实际上不同用户对不同 的情境类型看重程度都是不同的。

发明内容

针对现有技术中存在的问题,本发明的目的是提供一种动态的多维情境感知 电影推荐系统及其实现方法,其充分考虑随着数据集的变化,情境的选择和相关 的取值也会随之变化,可以较好的将情境的动态性以及用户对上下文的不同侧重 性融合起来,从而为用户提供更加合理的推荐。

为了实现上述目的,本发明通过一定方式体现情境的动态性和推荐的动态性, 为用户提供更加灵活和个性化的推荐。本发明的具体方案为:一种动态的多维情 境感知电影推荐系统,它包括交互界面模块、用户-电影-情境-评分数据库以及情 境感知电影推荐引擎模块;其中,所述交互界面模块作为用户与系统交互的接口, 包括用户向系统填写观影时的情境信息和评分以及系统为用户在特定情境下推 荐合适的歌曲;所述用户-电影-情境-评分数据库用于存储用户在不同情境下对电 影的评分信息,包括用户的标识符、电影的标识符、情境信息和评分;所述时序 推荐引擎模块是系统的核心部件,用于从用户-电影-情境-评分数据库中读取数据 并对情境和评分行为建模,通过将多维情境数据空间分解,然后加权再综合的方 法为用户在特定情境下推荐电影。

上述的情境感知电影推荐系统,其进一步特征在于:

所述交互界面模块分为两个单元:展示区单元和操作区单元。展示区单元用 于展示电影对应的图片、电影演员,导演,影片简介和评分。操作区单元用于供 用户填写观影时的情境信息和评分以及推荐操作。

所述情境感知推荐引擎模块用来分析用户在不同情境下评分偏好的不同,进 而为用户生成在不同情境下的推荐列表。该模块情境建模、情境动态添加,情境 权重计算,情境过滤和推荐列表生成工作。

本发明同时公开了一种动态的多维情境感知电影推荐方法,组建上述的情境 感知电影推荐系统,其特征在于:

步骤一、用户在系统上产生动作:

包含n个用户的用户集U={u1,u2,...,un};对于用户u,其在系统上产生的动 作分为填写情境信息和评分信息。供用户填写的情境信息为显示情境信息,包括 观影同伴,观看地点,观看方式,观影心情等。评分信息是用户对该电影的评分, 评分范围为1到5分。

步骤二、系统将用户动作收集到用户-电影-情境-评分数据库:

系统将用户的行为以四元组(user,movie,contexts,rate)的形式存储到用户- 电影-情境-评分数据库;其中,user表示用户及其标识符,movie表示电影及其 标识符,contexts表示用户对电影movie打分时显示填写的情境信息和系统隐式 生成的情境信息,rate表示用户user在情境contexts下对电影item的评分;

步骤三、动态情境感知推荐引擎模块读取用户-电影-情境-评分数据库和当前 用户情境信息,通过建模与分析为用户生成一个包含若干电影的推荐列表:

包含k部电影的电影集M={m1,m2,...,mk};对于用户u根据其当前情境信息, 为其推荐的电影列表为R(u)={mu1,mu2,...,muN},其中N为推荐列表长度, muj∈M(1≤j≤N)表示为用户u推荐的电影列表中的第j部电影,所述第j部电影 存在于电影集M中;

步骤四、交互界面模块将推荐列表展示出来。

上述的动态的多维情境感知电影推荐方法,步骤三中动态情境感知推荐引擎 模块,具体工作步骤为:

步骤3.1、读取情境信息,进行情境建模:

情境信息表示为cN个情境类型(context type)的情境集 C={context1,context2,...,contextcN};每一种情境类型有多个情境值(context  value),我们采用动态聚类的方法对其进行情境泛化,生成相应的情境值区间 (context segment);

步骤3.2、选择推荐结果优于无情境推荐结果的情境区间作为情境过滤的候 选,用|cType|表示候选情境类型的个数,然后对每个情境类型(cType i)进行情 境前置过滤,得到其对应的用户-电影-评分矩阵M(cType i);

步骤3.3、对每个用户计算其情境权重,每个情境类型cType i都有一个在某 个用户u下的权重值W(u,cType i);

步骤3.4、对每个情境类型对应的用户-电影-评分矩阵M(cType i)采用传统的 协同过滤算对每个用户u得出预测评分列表R(u,cType i),列表的每一项是一个 三元组(u,m,R(u,m,cType i)),表示用户u,电影m,用户u对电影m在情境类型 cType i下的预测评分R(u,m,cType i);

步骤3.5、利用步骤3.3得到的情境权重对步骤3.4中的不同情境下的预测评 分列表进行加权,在每个情境类型下得到加权后的预测评分列表WR(u,cType i), 该列表的每一项为三元组(u,m,WR(u,m,cType i)),表示用户u,电影m,用户u对某 个电影m在情境类型cType i下的加权预测评分WR(u,m,cType i)=W(u,cType  i)R(u,m,cType i);然后综合各个情境下的加权预测评分得到最终的对用户u的加 权预测评分列表R(u)=ΣWR(u,cTypei)(1<=i<=|cType|)列表中的每一项为三 元组(u,m,R(u,m)),表示用户u,电影m,用户u对电影m的加权预测评分 R(u,m)=ΣWR(u,m,cTypei)(1<=i<=|cType|);然后根据预测评分高低对预测评 分列表R(u)进行排序,根据需要推荐列表里前N个电影给用户u。

步骤3.6、当出现新的情境类型时,利用动态添加算法添加到原有系统中。

步骤3.7、当添加新的情境类型时,重新计算各情境类型的权值。

步骤3.8、根据步骤3.7中得到的更新后的情境权值,重复步骤3.4、3.5对 每个用户生成新的推荐列表。

上述的动态的多维情境感知电影推荐方法,其进一步特征在于:

步骤3.1中进行动态情境泛化:将多维的推荐评分数据空间分解为多个三维 的评分数据空间,每个三维空间包含用户,电影,情境类型三个维度,该三维空 间中的评分表示某用户在某个情境类型下对某电影的评分。对每个三维空间进行 数据降维,得到情境-电影的二维数据。对每个情境类型cTypei的初始取值集合 context values采用聚类的方法进行自动划分,动态泛化,聚类出的每个簇即为泛 化后的一个情境区间context segment。

步骤3.3中进行情境权值计算:先计算用户u在情境类型cTypei下的评分波 动性voli,波动性计算公式为:

voli=1|ct|ΣmM,ctC(rict-rict___)2rict___(rict__=1|ct|ΣmM,ctcrict)

公式中rmct表示用户在情境区间ct下对电影m的评分。

则该用户对情境类型cTypei的权重为

W(u,cTypei)=voliΣvoli(1<=i<=|cType|),.

步骤3.4中,将多维的推荐评分数据空间分解为多个三维的评分数据空间, 每个三维空间包含用户,电影,情境类型三个维度,分别计算每个三维空间的预 测评分列表,然后再在步骤3.5中进行加权综合。

步骤3.6中,动态添加新增情境到原有系统中,添加算法如下:

对新增情境进行动态聚类,生成相应的情境区间。对新增情境对应的三维数 据空间进行计算得到预测评分列表。计算新增情境类型权重。综合各个情境下的 预测评分列表得到最终的预测列表,比较新增情境后的推荐结果与未增加该情境 时的推荐结果,若新增情境后的推荐结果更好,则增加该情境类型,否则不增加。

本发明的有益效果是:

本发明中情境选择和相关取值随着数据集的变化而变化,动态改变相应数值。

本发明在情境泛化过程中无需领域专家设定,根据应用和数据集的不同自动 生成情境区间,降低了系统成本,增加了泛化方法的可移植性和适应性。

本发明在将多维情境数据空间分解为多个三维数据空间后,分别计算每个三 维空间对应的情境类型的权重和预测评分列表,然后再以加权的方式综合各个预 测评分列表得到最终的预测结果,为用户提供更加个性化和更精确的情境感知推 荐结果。

附图说明

图1:本发明的情境感知推荐引擎工作流程图。

图2:本发明的数据库部署ER图。

图3:本发明的系统原理框架图。

具体实施方式

以下结合附图和具体实施例对本发明作进一步详细说明。

本发明充分考虑了情境的动态性和用户在情境侧重方面的个性化,在将多维 情境数据空间分解为多个三维数据空间的基础上,将用户在不同情境类型下的预 测评分加权然后综合得到与预测评分和推荐结果。

本发明所述的动态的多维情境感知电影推荐系统主要包括系统交互界面、情 境感知推荐引擎以及用户-电影-情境-评分数据库等几个组件,系统逻辑清晰, 结构明了。如图3所示。以下将详细介绍本发明所述系统的具体实施过程。

本发明所述的动态的多维情境感知电影系统分为客户端和服务端两部分,其 中客户端主要用于用户与系统交互,服务端包括读写用户-电影-情境-评分数据 库,动态的多维情境感知推荐引擎的实现和用户推荐列表的生成。

1)系统交互界面的实现。

系统交互界面是用户与系统交互的窗口,本发明的系统交互界面如图1所示。 对于用户来说,其可以通过该界面填写观影时的情境信息和对电影的态度,而用 户表达态度的方式是通过对电影评分,评分范围是1-5分,1分表示对该电影评 价很低,5分表示评价很高。对系统来说,系统可以通过该交互界面收集用户的 行为并将这些行为送回后台服务器存储到用户-电影-情境-评分数据库。

如附图1所示,系统交互界面主要分为两个区域:展示区和操作区。展示区 分为两部分:显示区和推荐区。显示区用于展示电影对应的图片,电影相关信息 供用户打分。推荐区用于显示给用户的推荐电影列表。操作区用于供用户填写观 影时的情境信息和对电影的评分。该系统中预设了观影同伴,观影方式,观影地 点,观影时间等情境信息让用户显示填写,观影天气,观影季节等则系统后台根 据用户填写的显示情境信息隐式生成。然后,系统将用户的动作以四元组 (user,movie,contexts,rate)的形式传到后台并存储。

2)后台数据库的部署。

本发明所述的动态的多维情境感知电影推荐系统的服务器端主要用于读取 用户-电影-情境-评分数据库,然后通过情境感知推荐引擎为用户推荐合适的电 影。

具体到数据库的部署和实现,系统主要涉及两个核心实体,即用户和电影。 电影包含编号、电影名、电影类型、导演等基本属性。用户包含编号、用户名、 年龄、性别等基本属性。而用户和电影之间具有操作的关系,即对电影的评价打 分。分析可知,本系统涉及的数据库的ER图可按附图2设计,根据该ER图可以 设计如下表所示的本系统涉及数据库对应的关系模式,其中下划线为实线的表示 实体的主键,波浪线表示外键。

用户(用户编号,用户名,年龄,性别)

电影(电影编号,电影名,影片类型,导演,主要演员)

评分(评分编号,,,情境信息,评分)

根据上表所示的关系模式,可以创建用户表user、电影表movie和评分表 rating三张表。

3)动态的多维情境感知推荐引擎的实现。

动态的多维情境感知推荐引擎模块主要用来根据评分数据库形成多维情境 数据空间,然后对其进行情境过滤,之后采用传统的协同过滤的推荐算法为用户 生成一个合适的推荐列表。需要完成情境建模、多维情境数据空间分解、情境加 权、推荐列表综合生成等工作。与传统的情境感知推荐方法相比,本系统着重突 出了推荐过程中的动态性,这里的动态性是指情境的类型选择,情境区间的取值, 情境对应的权重等相关数值是会随着数据集的变化而变化的,具体体现在情境泛 化的自动成生,情境权重的自动更新,情境类型的动态添加。

情境建模过程中,传统的情境泛化需要领域专家人为根据设定情境区间用于 情境过滤,此种静态的方法显然在实用性和灵活性上有所欠缺,本系统使用动态 聚类的方法可以自动根据数据集划分出情境区间。

多维情境数据空间分解过程将传统的多个情境同时过滤转为多个情境分别 过滤然后分别得出预测评分再通过加权综合得到最终推荐结果。该方法大大减少 了建模计算的复杂度,并且在推荐结果上有更好的表现。

情境加权是针对每个用户的,不同用户对各个情境的侧重程度不同,所以赋 予的权重也应该不同,此处充分考虑了用户的个性化,当有新增情境出现时,权 重也会重新计算更新。

上述过程均在离线的状态下进行,并定期更新数据,在线计算的压力并不大, 系统的效率不受影响。

综上所述,本发明所述的动态的多维情境感知电影推荐系统的实现方法在通 过将多维情境数据空间分解为多个三维数据空间分别进行预测评分然后再综合 最终为用户作出合理推荐。这种方法考虑了情境在不同应用中的不同泛化呈现, 传统情境过滤时计算复杂度和过滤后数据过于稀疏,涌现的新增情境类型,不同 情境类型的权重等问题。系统能够体现情境的动态性,用户的个性化,提高推荐 的准确度。此外,本发明所述的动态的多维情境感知电影推荐系统逻辑清晰,结 构明了,部署容易。

本发明的动态的多维情境感知电影推荐推荐方法具体包括以下步骤:

1)聚类生成情境区间并选择合适的情境区间作为本系统的情境过滤条件;

本发明使用聚类的方法对每个情境类型的情境值进行泛化,形成情境区间, 对每个情境区间,计算在该情境区间下的推荐结果,如果推荐效果好于无情境时 的推荐结果,则将该情境区间加入系统将要采用的情境区间集合中。

2)将多维情境数据空间分解为多个三维数据空间;

多维情境数据空间可表示为:RUser×Item×C1×C2...CnD:U×I×C1×C2..Cnrating表 示在有n个情境类型下的评分数据。可将其分解为n个三维数据空间,每个三维 数据空间包含用户,物品和n个情境类型中的一个情境类型。每个三维数据空间 可以用上一步骤选取的对应的情境区间进行情境过滤,本系统采用的情境过滤方 法是经典的基于规约的前置过滤方法,得到情境化的二维评分数据,然后实施传 统的二维推荐算法,本系统中使用的是基于用户的协同过滤,得到预测评分列表。

3)对每个用户分别计算不同情境类型的情境权重;

本发明先计算用户u在情境类型cTypei下的评分波动性voli,则该用户对情 境类型cTypei的权重为:

W(u,cTypei)=voliΣvoli(1<=i<=|cType|).

4)综合各个情境类型下的与测评结果并进行加权综合;

对每个用户在各情境下的预测评分与对应情境的权重相乘,然后相加,得到 最终的预测评分类表。

5)当新增加情境类型时进行动态添加;

对新增情境进行动态聚类,生成相应的情境区间。对新增情境对应的三维数 据空间进行计算得到预测评分列表。计算新增情境类型权重。综合各个情境下的 预测评分列表得到最终的预测列表,比较新增情境后的推荐结果与未增加该情境 时的推荐结果,若新增情境后的推荐结果更好,则增加该情境类型,否则不增加。

6)如果确认新增添加情境类型后,更新每个用户的情境权重和预测评分;

即再执行步骤2)~4),但是之前已计算过的情境类型的相关情境区间,对 应三维数据空间的预测评分和用户在该情境下的评分波动性则无需重新计算,只 需计算新增情境类型的情境区间和对应的三维数据空间预测评分和用户在该情 境下的评分波动性。情境权重则需全部重新计算,然后综合得到新的最终的预测 评分列表

7)将排名靠前的N部电影推荐给用户。

R(u)={Mu1,Mu2,...,MuN}。

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技 术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动 与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号