一种消费对象的推荐方法及装置的制造方法

文档序号:10656627阅读:215来源:国知局
一种消费对象的推荐方法及装置的制造方法
【专利摘要】本发明实施例提供了一种消费对象的推荐方法及装置。所述方法包括:获得待推荐消费对象的第一用户;根据保存的每个用户对应的每个待推荐消费对象的第一分数,从所述第一分数中确定所述第一用户对应的每个待推荐消费对象的第二分数;其中,所述第一分数是根据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,以及预设第一公式确定的;根据确定的第二分数,从所述待推荐消费对象中选择目标消费对象,并推荐给所述第一用户。本实施例能够使向用户推荐的消费对象更准确。
【专利说明】
-种消费对象的推荐方法及装置
技术领域
[0001] 本发明设及网络技术领域,特别设及一种消费对象的推荐方法及装置。
【背景技术】
[0002] 随着万维网的高速发展,特别是第二代互联网Web 2.0的到来,人们被各种信息包 围着。为了去解决信息过载的问题,推荐类客户端中被用于帮助用户快速、准确地找到他们 感兴趣的消费对象,提高用户体验。运里,消费对象可W包括餐厅、宾馆等商户,也可W包括 笔记本电脑、手机等物品。推荐类客户端被广泛利用在电子商户中,并且变成了一个万维网 上的基本工具。举个例子,亚马逊购物网站可W向用户推荐物品,W便帮助用户找到他们想 买的物品;美国的点评网站化Ip可W向用户推荐餐厅,W便帮助用户找到一个餐厅去消费。
[0003] 推荐客户端的一个基本问题是预测用户对于可选消费对象的评分,并根据评分对 用户进行推荐。现有技术中,很多研究利用各种信息去改善推荐结果,所利用的信息包括用 户的地理位置、用户的情感信息或用户之间的社交关系信息等。例如,当用户捜索电饭優 时,亚马逊购物网站可W根据用户的喜好信息来为用户推荐各种样式的电饭優,W帮助用 户快速、准确地找到他们想要的电饭優。但是,现有研究中为用户推荐消费对象时采用的信 息还不够全面,得到的推荐结果即消费对象还不够准确,用户的体验不高。

【发明内容】

[0004] 本发明实施例的目的在于提供了一种消费对象的推荐方法及装置,能够使向用户 推荐的消费对象更准确。
[0005] 为了达到上述目的,本发明公开了一种消费对象的推荐方法,应用于客户端,所述 方法包括:
[0006] 获得待推荐消费对象的第一用户;
[0007] 根据保存的每个用户对应的每个待推荐消费对象的第一分数,从所述第一分数中 确定所述第一用户对应的每个待推荐消费对象的第二分数;其中,所述第一分数是根据保 存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,W及预设第一公式 确定的;
[0008] 根据确定的第二分数,从所述待推荐消费对象中选择目标消费对象,并推荐给所 述第一用户。
[0009] 较佳的,所述第一分数是采用W下步骤确定的:
[0010] 根据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,W 及
:,确定每个用户对应的每个待推荐消费对象的第一分数;
[OOW 其中,竟中的元素?g表示第i个用户对第j个待推荐消费对象的第一分数,PmXk为 m个用户在k个方面的第一评分矩阵,QnXk为n个待推荐消费对象在k个方面的第二评分矩阵, WmXT为m个用户与T个价格区间的第一相关度矩阵,DnXT为n个待推荐消费对象与T个价格区 间的第二相关度矩阵,k和T均为预设的整数。
[0012] 较佳的,所述第二相关度矩阵DnXT中的第j个待推荐消费对象与第t个价格区间的 相关度tjt是义用下述步骤确定的:
[0013] 根据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,确 定评分矩阵RmXn和价格矩阵CmXn,其中m为用户的数量,n为待推荐消费对象的数量,RmXn中的 元素 ru表示第i个用户对第j个待推荐消费对象的总评分,Cmxn中的元素 CU表示第i个用户 在第j个待推荐消费对象上的消费价格;
[0014] 根据所述UxnW及预设的价格区间的数量T,采用最大期望算法算法,确定与每 个价格区间对应的混合高斯函数;根据所述Cmxn,确定n个待推荐消费对象的平均消费价格; 针对第j个待推荐消费对象,根据确定的T个价格区间对应的混合高斯函数W及所述第j个 待推荐消费对象的平均消费价格,确定所述第j个待推荐消费对象与第t个价格区间的相关 度 t jt。
[001引较佳的,所述第一评分矩阵PmXk、第二评分矩阵QnXk和第一相关度矩阵WmXT是采用 W下步骤确定的:
[0016]根据确定的第二相关度矩阵DnXT、评分矩阵Rmxn和价格矩阵Cmxn, W及预设第二公 式,确定所述第一评分矩阵PmXk、第二评分矩阵QnXk和第一相关度矩阵WmXT。
[0017]较佳的,所述根据确定的第二相关度矩阵DnXT、评分矩阵Rmxn和价格矩阵CmXn,W及 预设第二公式,确定所述第一评分矩阵PmXk、第二评分矩阵QnXk和第一相关度矩阵WmXT包括: [001引根据确定的第二相关度矩阵DnXT、评分矩阵Rmxn和价格矩阵Cmxn, W及
I确定 所述第一评分矩阵PmXk、第二评分矩阵QnXk和第一相关度矩阵WmXT ;其中,所述PmXk、QnXk和 WmXT为采用随机梯度下降算法迭代得到的当L(P,Q,W)取最小值时对应的PmXk、QnXk和WmXT, 丫 和e为权衡参数,I I ? I If为弗罗贝尼乌斯范数,T为矩阵的转置,O为矩阵的点积,Imxn为指 示矩阵,Imxn中的元素 Iu取0或1,当第i个用户对第j个待推荐消费对象给出总评分时,IiJ取 1,当第i个用户没有对第j个待推荐消费对象给出总评分时,Iu取0。
[0019] 为了达到上述目的,本发明公开了一种消费对象的推荐装置,应用于客户端,所述 装置包括:
[0020] 获得模块,用于获得待推荐消费对象的第一用户;
[0021] 确定模块,用于根据保存的每个用户对应的每个待推荐消费对象的第一分数,从 所述第一分数中确定所述第一用户对应的每个待推荐消费对象的第二分数;其中,所述第 一分数是根据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,W 及预设第一公式确定的;
[0022] 推荐模块,用于根据确定的第二分数,从所述待推荐消费对象中选择目标消费对 象,并推荐给所述第一用户。
[0023] 较佳的,所述确定模块还用于采用W下步骤确定所述第一分数:
[0024] 根据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,W 及
,确定每个用户对应的每个待推荐消费对象的第一分数;
[00巧]其中,瓦,,x"中的元素;:g表示第i个用户对第j个待推荐消费对象的第一分数,PmXk为 m个用户在k个方面的第一评分矩阵,QnXk为n个待推荐消费对象在k个方面的第二评分矩阵, WmXT为m个用户与T个价格区间的第一相关度矩阵,DnXT为n个待推荐消费对象与T个价格区 间的第二相关度矩阵,k和T均为预设的整数。
[0026] 较佳的,所述确定模块还用于采用下述步骤确定第二相关度矩阵DnXT中的第j个待 推荐消费对象与第t个价格区间的相关度tjt:
[0027] 根据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,确 定评分矩阵RmXn和价格矩阵CmXn,其中m为用户的数量,n为待推荐消费对象的数量,RmXn中的 元素 ru表示第i个用户对第j个待推荐消费对象的总评分,Cmxn中的元素 CU表示第i个用户 在第j个待推荐消费对象上的消费价格;
[0028] 根据所述UxnW及预设的价格区间的数量T,采用最大期望算法算法,确定与每 个价格区间对应的混合高斯函数;根据所述Cmxn,确定n个待推荐消费对象的平均消费价格; 针对第j个待推荐消费对象,根据确定的T个价格区间对应的混合高斯函数W及所述第j个 待推荐消费对象的平均消费价格,确定所述第j个待推荐消费对象与第t个价格区间的相关 度 t jt。
[0029] 较佳的,所述确定模块还用于采用W下步骤确定第一评分矩阵PmXk、第二评分矩阵 QnXk和第一相关度矩阵WmXT:
[0030] 根据确定的第二相关度矩阵DnXT、评分矩阵Rmxn和价格矩阵Cmxn, W及预设第二公 式,确定所述第一评分矩阵PmXk、第二评分矩阵QnXk和第一相关度矩阵WmXT。
[0031 ]较佳的,所述确定模块具体用于:
[0032] 根据确定的第二相关度矩阵DnXT、评分矩阵Rmxn和价格矩阵Cmxn, W及
,确定 所述第一评分矩阵PmXk、第二评分矩阵QnXk和第一相关度矩阵WmXT;其中,所述PmXk、QnXk和 WmXT为采用随机梯度下降算法迭代得到的当L(P,Q,W)取最小值时对应的PmXk、QnXk和WmXT, 丫 和e为权衡参数,I I ? I If为弗罗贝尼乌斯范数,T为矩阵的转置,O为矩阵的点积,Imxn为指 示矩阵,Imxn中的元素 Ii戒0或1,当第i个用户对第j个待推荐消费对象给出总评分时,Ii戒 1,当第i个用户没有对第j个待推荐消费对象给出总评分时,Iu取0。
[0033] 由上述技术方案可见,本发明实施例,在获得待推荐消费对象的第一用户之后,根 据保存的每个用户对应的每个待推荐消费对象的第一分数,从该第一分数中确定第一用户 对应的每个待推荐消费对象的第二分数,根据确定的第二分数,从待推荐消费对象中选择 目标消费对象并推荐给第一用户。其中,第一分数是根据保存的用户针对待推荐消费对象 给出的用户评论中的总评分和消费价格,W及预设第一公式确定的。
[0034] 也就是说,本实施例中,第一分数是根据多个用户评论中的总评分和消费价格W 及预设第一公式确定的,从保存的第一分数中确定第一用户对应的每个待推荐消费对象的 第二分数,根据第二分数向第一用户推荐消费对象。由于用户评论中的总评分和消费价格 中蕴含了能够体现用户的消费价格W及待推荐消费对象的消费价格的关系的信息,因此, 应用本实施例的推荐方法能够使向用户推荐的消费对象更准确。
【附图说明】
[0035] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W 根据运些附图获得其他的附图。
[0036] 图1为本发明实施例提供的消费对象的推荐方法的一种流程示意图;
[0037] 图2为用户评论的一个例子;
[0038] 图3a为数据集Dl中总评分与用户评论的数量的关系示意图;
[0039] 图3b为数据集D2中总评分与用户评论的数量的关系示意图;
[0040] 图3c为数据集Dl中消费价格与用户评论的数量的关系示意图;
[0041] 图3d为数据集D2中消费价格与用户评论的数量的关系示意图;
[0042] 图4a为数据集Dl中每个消费价格区间内的平均总评分示意图;
[0043] 图4b为数据集D2中每个消费价格区间内的平均总评分示意图;
[0044] 图4c为经过预处理之后数据集Dl中每个消费价格区间内的平均总评分示意图;
[0045] 图4d为经过预处理之后数据集D2中每个消费价格区间内的平均总评分示意图;
[0046] 图5为根据EM算法获得混合高斯函数的一个例子;
[0047] 图6为本发明实施例的EARP-M模型在不同数量的价格区间上得到的推荐结果示意 图;
[0048] 图7a为所有用户在5个价格区间均值上的平均第一相关度示意图;
[0049] 图7b为不同类型的用户在5个价格区间均值上的平均第一相关度示意图;
[0050] 图7c为特定类型的用户的平均第一相关度示意图;
[0051 ]图7d为不同类型的待推荐消费对象的平均第二相关度示意图;
[0052] 图8a为本发明实施例的S个EARP模型中消费价格在不同缺失比例下的RMSE误差 示意图;
[0053] 图8b为本发明实施例的S个EARP模型中消费价格在不同缺失比例下的MAE误差示 意图;
[0054] 图9为本发明实施例提供的消费对象的推荐装置的一种结构示意图。
【具体实施方式】
[0055] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基 于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有 其他实施例,都属于本发明保护的范围。
[0056] 本发明实施例提供了一种消费对象的推荐方法及装置,能够使向用户推荐的消费 对象更准确。
[0057] 现有技术中,很多评分预测算法利用用户和物品的交互信息,预测用户对于消费 对象的评分,根据该评分向用户推荐消费对象。在推荐时,除了评分信息W外,很多附加信 息被用于提升推荐结果,比如社交关系和地理位置信息等。但是,大量的电子商务网站都有 用户交易的消费价格,运类信息一般和用户的评分一起出现,但是目前还没有研究工作研 究评分和消费价格的关系。
[005引本发明实施例中根据用户评论中的总评分和消费价格之间的关系,预测出用户对 待推荐消费对象的评分即第一分数,根据第一分数向用户推荐消费对象。
[0059] 下面通过具体实施例,对本发明进行详细说明。
[0060] 图1为本发明实施例提供的消费对象的推荐方法的一种流程示意图,应用于客户 端,所述方法包括如下步骤:
[0061] 步骤Sioi:获得待推荐消费对象的第一用户;
[0062] 其中,所述第一用户可W包括在所述客户端中发表过用户评论的用户,待推荐消 费对象可W包括在所述客户端中存在用户评论的消费对象。
[0063] 具体的,获得待推荐消费对象的第一用户,可W是获得第一用户的用户名、用户ID 或预先设置的用户编号等能够唯一地标识该第一用户的信息。当然,还可W获得第一用户 的其他信息,本发明对此不做限定。
[0064] 在本发明实施例中,待推荐消费对象可W包括所有商品,可W是餐厅、宾馆一类的 商家,也可W是电饭優、空调一类的电器,当然还可W是其他种类的商品。只要是用于流通 的商品,都可W是本实施例中的待推荐消费对象,都可W应用本发明实施例。
[0065] 在实际应用中,应用本发明实施例的时机,也就是获得待推荐消费对象的第一用 户的时机,可W是用户登录了客户端,或用户完成了一次购买行为,或用户进行了一次捜索 操作,或按照预设时间间隔进行等,当然,还可W包括其他时机,本发明对此不做限定。另 夕h获得第一用户的方式可W包括将已经登录客户端并且正在进行捜索行为的用户确定为 第一用户,进而获得第一用户,或根据用户的输入操作获得第一用户,当然还可W包括其他 获得方式,本发明对此不做具体限定。
[0066] 步骤S102:根据保存的每个用户对应的每个待推荐消费对象的第一分数,从所述 第一分数中确定所述第一用户对应的每个待推荐消费对象的第二分数。
[0067] 假设,客户端中保存的每个用户对应的每个待推荐消费对象即商品的第一分数可 W见表1,假设第一用户为B,则可W从表1中确定用户B对应的每个商品的第二分数见表2。
[0068] 表 1
[0069]
[
[
[0072]在本步骤中^片述第一女^数是根据保存的用户针对待推荐消费对象给出的用;^评 论中的总评分和消费价格,W及预设第一公式确定的。其中,总评分是用户对待推荐消费对 象的总体评分,其表征了用户对消费对象的喜好程度;消费价格是指用户的人均消费价格。 图2为用户评论的一个例子,其中包括用户、总评分、消费价格和待推荐消费对象等。
[0073] 需要说明的是,在客户端中保存的用户评论中,通常情况是一个用户针对部分待 推荐消费对象给出了用户评论,一个待推荐消费对象被部分用户发表过用户评论。例如,用 户A购买过商品1、商品3和商品5,并给出了关于商品1、商品3和商品5的用户评论,用户B购 买过商品1、商品3、商品6、商品7和商品21,并给出了关于商品1、商品3、商品6、商品7和商品 21的用户评论。
[0074] 也就是说,部分用户已经对部分待推荐消费对象给出了评分信息即总评分和消费 价格,如何根据运部分评分信息和消费价格,得到所有待推荐消费对象的用户对所有待推 荐消费对象的评分信息即第一分数,是步骤S102所需要解决的一个重要问题。
[0075] 为了解决上述问题,本发明研究了大量用户评论,研究所采用的数据集为大众点 评上的用户评论数据。大众点评是著名的社交媒体平台,该平台允许用户发表针对商家和 娱乐场的用户评论。通过爬取技术可W从大众点评上爬取到大量的用户评论。
[0076] 在大众点评上,用户在一商家接受了服务W后,可W发表一个用户评论。用户评论 包括总评分(1分到5分)和人均消费价格(简称消费价格)。研究中分别采集了大众点评上5 个具有代表性的大城市中(例如,北京,上海和广州等)的用户评论,分别得到了5个数据集, 分别称为化化1、化ta2、化ta3、化ta4和化ta5(缩写为01、02、03、04和05)。因为用户评论中 非常高的消费价格(例如大于1000元)是非常稀疏的,研究中删除了消费价格大于1000元的 用户评论。5个数据集的详细统计信息在表3中列出。
[0077] 表 3 「007?1
1234 通过表3中的运些统计可W发现,运些数据集虽然有不同的规模,但是它们都有类 似的平均总评分和平均消费价格。除此之外,评分信息是非常稀疏的,其中D3、D4和D5数据 集比Dl和D2更稀疏。 2 图3a和图3b中分别列出了数据集Dl和D2中总评分与用户评论的数量的关系,从图 中可W看出,大多数的总评分集中在3分到5分,其中4分的数量是最多的。图3c和图3d中分 别列出了数据集Dl和D2中消费价格与用户评论的数量的关系,从图中可W看出,消费价格 与用户评论的数量的关系分布有明显的长尾现象,也就是说,大多数消费价格小于100元, 并且很少有大于300元的消费价格出现;还可W发现,用户的消费价格具有几个明显的峰 值。 3 -个用户可能从多个商家接受服务,同时一个商家会向很多用户提供服务,用户 和商家之间是典型的多对多关系。 4 对于数据集Dl和D2,W20元为间隔将运两个数据集中的消费价格划分成多个价格 区间,并计算每个价格区间内的平均总评分。图4a和图4b中分别列出了数据集Dl和D2中划 分价格区间之后每个消费价格区间内的平均总评分。从图中可W清晰地看到,平均总评分 正比于消费价格。也就是说,如果用户在商家消费了比较高的价格,他更有可能给一个比较 高的总评分;如果用户在商家消费了比较低的价格,他更有可能给出一个比较低的评分。运 个观察结果很少被提及,但是可W很清晰地理解它的实际意义,即当用户在商家中消费了 比较高的费用时,他通常会得到更好的服务,因此他更可能给出比较高的总评分;相反,当 用户在商家中消费了比较低的费用时,他可能获得不了让他满意的服务,他就更有可能给 出比较低的总评分。
[0083] 为了进一步地研究用户评论中总评分和消费价格的关系,先将每个用户的每个消 费价格做预处理,即,针对每个用户,计算该用户的平均消费价格,将该用户的每个用户评 论中的消费价格减去该平均消费价格,获得该用户经过预处理之后的每个消费价格。上述 过程可W用W下公式表示:
[0084] 针对用户1,采用公^!
计算该用户的平均消费价格 G.,将该用户的每个用户评论中的消费价格减去该平均消费价格,获得该用户经过预处理 之后的每个消费价格C。
[0085] 对两个数据集中的所有数据都进行上述预处理,并W20元为间隔将运两个经过预 处理的数据集中的消费价格划分成多个价格区间,然后计算每个价格区间内的平均总评 分。图4c和图4d中分别列出了经过预处理之后的数据集Dl和D2中,划分价格区间之后每个 消费价格区间内的平均总评分。从图中可W看出,预处理之后的消费价格与平均总评分成 正相关。也就是说,如果用户花了比他的平均消费价格更多的钱,他倾向于给出比较高的总 评分;如果一个用户花了比他的平均消费价格更少的钱,他倾向于给出比较低的总评分。运 是可解释的,因为当用户花了比他的平均消费价格更多的钱时,他享受的服务一般会高于 他的预期。在运样的情况下,用户也更容易给出高的评分。从统计结果中也可W看出,如果 两个用户在同一个商家中消费了相同的钱,具有更高的平均消费价格的用户更容易给出比 较低的分数。运种现象也是可W理解的。有着更高平均消费价格的用户对于商家的服务有 更高的要求和屯、理预期,因此会对商家的服务有更严格的要求。然而,对于低平均消费价格 用户,他们的屯、理预期可能没有那么高,比较容易获得高于他们屯、理预期的服务。所W,通 过平均消费价格,也可W发现消费价格和总评分之间的关系。
[0086] 从图4c和图4d中还可W发现,消费价格的分布有多个不同的峰值。也就是说,用户 在商家中的消费价格分布在不同的价格区间中。特别是,对于一个平均消费价格较低的用 户来说,例如他的消费价格主要集中在50元附近,那么他也会消费100元或是200元的价格。 对于一个平均消费价格较高的用户来说,例如他主要的消费区间在150元上下,但他同时也 会消费50元的价格。类似的,一个平均消费价格比较高的商家,例如它的主要消费价格是 300元左右,但是也有用户在运家商家消费150元或者500元。同样的,对于一个平均消费价 格较低的商户来说,例如它的主要消费集中在30元左右,但是同时也会有50元左右的消费 存在。从运里可W看出,用户或者商家的消费价格分别主要集中在一个价格区间中,同时在 也有少数的消费价格分布在不同的价格区间中。
[0087]综上,通过上述研究,可W得到关于用户评论中总评分和消费价格的下列关系: [008引A. -次交易的消费价格越高,总评分也越高;
[0089] B.当用户的消费价格高于他的消费习惯时,用户通常会给更高的总评分;
[0090] C.消费价格有多区域性。
[0091] 基于上述研究结果,本发明实施例构建了消费对象的评分预测模型EARP,该模型 用于根据用户评论中的总评分和消费价格,计算得到每个用户对每个待推荐消费对象的第 一分数。
[0092] 在所述EARP模型中,即在本实施例中,第一分数是采用W下步骤确定的:根据保存 的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,W及
,确定每个用户对应的每个待推荐消费对象的第一分数;
[009引其中,克,,X,冲的元素;表示第i个用户对第j个待推荐消费对象的第一分数,PmXk为 m个用户在k个方面的第一评分矩阵,QnXk为n个待推荐消费对象在k个方面的第二评分矩阵, WmXT为m个用户与T个价格区间的第一相关度矩阵,DnXT为n个待推荐消费对象与T个价格区 间的第二相关度矩阵,k和T均为预设的整数。
[0094] 在本实施例中,第二相关度矩阵DnXT中的第j个待推荐消费对象与第t个价格区间 的相关度tjt是义用下述步骤确定的:
[0095] 步骤1:根据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费 价格,确定评分矩阵Rmxn和价格矩阵CmXn。
[0096] 其中,m为用户的数量,n为待推荐消费对象的数量,Rmxn中的元素重^表示第i个用 户对第j个待推荐消费对象的总评分,Cmxn中的元素 CU表示第i个用户在第j个待推荐消费 对象上的消费价格。
[0097] 需要说明的是,由于通常情况下每个用户购买的待推荐消费对象即商品不完全一 致,也就是说每个用户都针对了部分待推荐消费对象给出了用户评论。因此,评分矩阵Rmxn 中的部分元素 rij是没有数值的,价格矩阵CmXn中的部分元素 Cij也是没有数值的。
[009引 W下为评分矩阵Rmxn和价格矩阵Cmxn的一个例子:
[0099]
1234 可W理解的是,评分矩阵中的数值是在一定范围内的数值,例如用户评论中的总 评分取值为1分~5分,而价格矩阵中的数值通常没有一定的范围,即用户的消费价格可W 是任意数值。 2 步骤2:根据所述CmxnW及预设的价格区间的数量T,采用最大期望算法EM算法,确 定与每个价格区间对应的混合高斯函数;根据所述Cmxn,确定n个待推荐消费对象的平均消 费价格;针对第j个待推荐消费对象,根据确定的T个价格区间对应的混合高斯函数W及所 述第j个待推荐消费对象的平均消费价格,确定所述第j个待推荐消费对象与第t个价格区 间的相关度tjt。 3 其中,T可W取值为5或其他值,本发明对此不做具体限定。 4 需要说明的是,在上述价格矩阵中,从用户角度看,每个用户可W在多个不同的价 格区间中消费,从待推荐消费对象的角度看,一个待推荐消费对象的消费价格也可W涵盖 不同的价格区间。更多的是,较高的价格之间的差距对于用户的影响比较小,而较低的价格 之间的差距对于用户的影响比较大。例如,消费价格300元和350元之间没有明显的区别,但 是50元和100元之间有很大的区别。通常,50元意味着低档消费,而100元则意味着中档消 费。所W需要把连续的消费价格分到不同的区间内。
[0104] 那么如何将消费价格分到不同的区间内,最简单的做法是将消费价格W固定的价 格分隔成不同的价格区间。例如,消费价格被分成(〇,50]、(50,100]、(100,150]等。但是运 个方法是不公平的。例如,用户在一个零食店消费10元,在一个普通的餐厅消费了50元,运 种消费价格分类方法把两个消费价格放在了同一个区间内,运显然不够合理。
[0105] 为了使划分的价格区间更加合理,在本步骤中,根据所述CmxnW及预设的价格区间 的数量T,采用最大期望算法EM算法,确定与每个价格区间对应的混合高斯函数。也就是说, 每个价格区间对应一个混合高斯函数。采用运种方式划分价格区间时,划分的价格区间中 的每个区间的范围可能是不均匀的。具体的,EM算法的架构设计可W见表4。
[0106] 表4 「01071
[0109]根据表4中列出的EM算法的细节,可W得至IjT个混合高斯函数G= (N(y,X ),d)),运 里y是混合高斯函数的均值,S是混合高斯函数的均方差,d)是多项式分布概率。在得到T个 混合高斯函数之后,针对第j个待推荐消费对象M,可W将该M的平均消费价格〇^戈入第Z个 混合高斯函数,确定该M与第Z个价格区间的相关度tjz,用公式可W表示为
[0110]
[0111] 例如,经过EM算法得到的5个混合高斯函数如图5所示,图中列出了每个混合高斯 函数的均值和均方差。将每个待推荐消费对象的平均消费价格分别代入运5个混合高斯函 数,即可W得到该待推荐消费对象与5个价格区间的5个相关度的值。
[0112] 也就是说,经过上述步骤,确定了第二相关度矩阵DnXT中的每个元素,即每个待 推荐消费对象与每个价格区间的相关度。
[0113] 在本实施例中,第一评分矩阵PmXk、第二评分矩阵QnXk和第一相关度矩阵WmXT可W 是采用W下步骤确定的:
[0114] 根据确定的第二相关度矩阵DnXT、评分矩阵Rmxn和价格矩阵Cmxn, W及预设第二公 式,确定所述第一评分矩阵PmXk、第二评分矩阵QnXk和第一相关度矩阵WmXT。
[011引具体的,所述根据确定的第二相关度矩阵DnXT、评分矩阵Rmxn和价格矩阵Cmxn, W及 预设第二公式,确定所述第一评分矩阵PmXk、第二评分矩阵QnXk和第一相关度矩阵WmXT包括:
[0116] 根据确定的第二相关度矩阵DnXT、评分矩阵Rmxn和价格矩阵Cmxn, W及
,确定 所述第一评分矩阵PmXk、第二评分矩阵QnXk和第一相关度矩阵WmXT;其中,所述PmXk、QnXk和 WmXT为采用随机梯度下降算法迭代得到的当L(P,Q,W)取最小值时对应的PmXk、QnXk和WmXT, 丫 和e为权衡参数,I I ? I If为弗罗贝尼乌斯范数,T为矩阵的转置,O为矩阵的点积,Imxn为指 示矩阵,Imxn中的元素 Ii戒0或1,当第i个用户对第j个待推荐消费对象给出总评分时,Ii戒 1,当第i个用户没有对第j个待推荐消费对象给出总评分时,Iu取0。
[0117] 步骤S103:根据确定的第二分数,从所述待推荐消费对象中选择目标消费对象,并 推荐给所述第一用户。
[0118] 由上述内容可知,本实施例中,第一分数是根据多个用户评论中的总评分和消费 价格W及预设第一公式确定的,从保存的第一分数中确定第一用户对应的每个待推荐消费 对象的第二分数,根据第二分数向第一用户推荐消费对象。由于用户评论中的总评分和消 费价格中蕴含了能够体现用户的消费价格W及待推荐消费对象的消费价格的关系的信息, 因此,应用本实施例的推荐方法能够使向用户推荐的消费对象更准确。
[0119] 需要说明的是,根据本发明实施例得到每个用户对每个待推荐消费对象的第一分 数之后,由于所述待推荐消费对象包括不同种类的待推荐消费对象,因此,在本发明的另一 实施例中,图1所示实施例中,根据保存的每个用户对应的每个待推荐消费对象的第一分 数,从所述第一分数中确定所述第一用户对应的每个待推荐消费对象的第二分数,具体可 W包括:确定第一用户对应的待推荐消费对象的目标种类,从第一分数中确定第一用户对 应的每个目标种类的待推荐消费对象的第二分数。其中,目标种类可W包括至少一种。
[0120] 为了更容易理解本发明提供的EARP模型,下面结合实验详细说明该模型的建立过 程。
[0121] 首先,明确要解决的问题一一基于总评分和消费价格进行评分预测,即得到第一 分数,是指根据用户评论中的总评分和消费价格去预测用户对每个待推荐消费对象的打分 即第一分数。和传统的评分问题相似,运里首先存在一个描述用户和待推荐消费对象之间 关系的评分矩阵巧,w,G 。除此之外,还存在一个价格矩阵斬x"e ?,其用来描述用户在不 同待推荐消费对象中的消费价格。
[0122] 对于运个问题,一个直接的解决方案是同时分解评分矩阵和价格矩阵,并共享相 同的隐分子。但是,直接分解消费价格矩阵会为算法带来很多的问题。
[0123] 评分矩阵和价格矩阵有不同的规模。总评分是离散的正整数,评分区间为1分到5 分。但是消费价格是连续的整数,而且价格区间是一个相对宽泛的空间。直接分解价格矩阵 将使得它们的隐空间有不同的规模,从而造成学习的模型无法很好地反映它们二者之间的 深层关系。
[0124] 更重要的是,与评分矩阵相比,消费价格不仅是稀疏的而且充满噪声。在实际的应 用中,一些用户并没有标注消费价格或者是随机标注消费价格,所W直接分解价格矩阵将 会引入更多的误差,从而影响整个推荐模型的表现。
[0125] 除了直接分解消费价格矩阵,本方面还引入了消费信息项。运个消费信息项可W 当做与用低秩矩阵分解得到的评分矩阵的一个联系。
[0126] 运个消费信息项充分利用了总评分与消费价格之间的关联。除此之外,消费信息 项尝试利用概率分布去表示用户和待推荐消费对象对于不同价格区间的关联度。运种方法 可W很好地控制消费价格的规模和带来的噪声。
[0127] 其次,通常采用低秩矩阵分解算法解决上述问题。在获得用户与待推荐消费对象 的评分矩阵之后,低秩矩阵分解算法将用户和待推荐消费对象映射到一个联合隐空间中, 该隐空间的维数为k<<min(m,n),m为用户的数量,n为待推荐消费对象的数量。而用户对 待推荐消费对象的总评分可W看成它们之间隐空间的内积。运种方法是一个典型的机器学 习算法,算法主要需要解决一个最大化评分矩阵的优化问题,即
[012 引
[0129] 其中,运里Pg肢和0€胁-1'分别是用户隐分子和待推荐消费对象隐分子。I I ? If是弗罗贝尼乌斯范数,T为矩阵或者向量的转置。O为矩阵的点积,I为指示矩阵,I中的元 素 Iu取0或1,当第i个用户对第j个待推荐消费对象给出总评分时,Iu取1,当第i个用户没 有对第j个待推荐消费对象给出总评分时,Iu取0。为了有效地减少泛化误差,本发明在上述 最优化公式中加入了规则化项,通过规则化项来限制隐向量的大小。
[0130] 本发明中,经过统计研究得到了关于用户评论中总评分和消费价格的下列关系即 规则:
[0131 ] A. -次交易的消费价格越高,总评分也越高;
[0132] B.当用户的消费价格高于他的消费习惯时,用户通常会给更高的总评分;
[0133] C.消费价格有多区域性。
[0134] 将上述的S条规则与低秩矩阵分解算法相结合,可W得到本发明的EARP模型,该 模型又可W包括S个子模型:EARP-E,EARP-U和EARP-M。
[0135] 在EARP-E模型中整合了规则A,即总评分是正比于消费价格的。也就是说,用户在 商家消费的金额越高,就越有可能给出较高的总评分。将运条规则与低秩矩阵分解算法相 结合,一个基本的做法是引入消费信息项,通过消费信息项来反映消费价格对于总评分的 影响。从另一个角度看,引入消费信息项,可W看成对于低秩矩阵分解结果的一个修正。在 该模型中,利用待推荐消费对象的平均消费价格U作为消费信息项。其中,待推荐消费对象 的平均消费价格由价格矩阵C得出,公式如下:
[0136]
[0137] 由于在上文中提到过,消费价格高于1000元的用户评论被舍弃了,所[0, 1000]元。该模型中,利用归一化处理缩小待推荐消费对象的平均消费价格区间,使其规模 和评分矩阵规模相当。特别是,因为消费价格的特殊性,还要利用log函数和最小最大归一 化处理来将U压缩到[0,1]之间。在此之后,算法通过复制多个行向量〇T,将行向量〇T扩展到 一个mXn的矩阵V。简单来说,EARP-E模型就是通过增加一个消费信息项,将消费价格融合 到低秩矩阵分解的结果中,可W得到
[013 引
[0139] 其中,O是一个权值参数,该参数表示所有用户对于消费价格的敏感程度。与基础 的低秩矩阵分解相比,加入了消费信息项的EARP-E模型强迫隐分子P、Q去适应消费价格。
[0140] 在上述模型中,对于不同的用户,其对于消费价格的权值都是一样的。然而,将规 贝化再整合至化ARP-E模型中,可W得到EARP-U模型。规贝化表明,具有不同平均消费价格的用 户,对于相同的消费价格,会给出不同的总评分。所W ,EARP-U模型需要为每一个用户计算 一个独特的权值。运里定义一个权值向量^?€化》^1,它表示了每个用户对于消费价格都有一 个单独的权重。EARP-U模型的形式如下:
[0141]
[0142] 运里丫和0是权衡参数,该模型可W通过控制运两个参数,防止模型过拟合,达到 更好的泛化效果。
[0143] 上述EARP-U模型基于一个假设,即对于所有用户和所有待推荐消费对象只有一个 价格区间。然而,将规贝化整合到EARP-U模型中,可W得到EARP-M模型。也就是说,EARP-M模 型中将消费价格划分到了不同的价格区间。运是由于,上文提到的规则C说明,用户可W在 多个不同的价格区间中消费,而一个待推荐消费对象的消费价格也可W涵盖不同的价格区 间。并且,较高的价格之间的差距对于用户的影响比较小,而较低的价格之间的差距对于用 户的影响比较大。例如,300元和350元之间没有明显的区别,但是50元和100元之间有很大 的区别。50元意味着低档消费,而100元则意味着中档消费。所W需要把连续的消费价格划 分到不同的价格区间内。
[0144] 在EARP-M模型中,将价格区间的划分当做一个一维的聚类问题。假设运些价格区 间由混合高斯函数生成。根据给定的价格矩阵C,可W利用算法得到每个混合高斯函数的 均值和均方差。EM算法的细节已经在表4中列出,最终可W得到第二相关度矩阵DnXT。 Dg化,D表示不同待推荐消费对象对于不同价格区间的关联程度。
[0145] 除此之外,考虑到用户对于不同的价格区间也有不同的反应。运里,定义第一相关 度矩阵ITe肢wxr,;W表示不同用户对于不同价格区间的关联程度。D和W矩阵的建立有诸多优 点。
[0146] 定义第二相关度矩阵D去表示待推荐消费对象对于不同价格区间的联系。运里没 有用到具体的消费价格,所W它消除了价格区间规模与评分区间规模不一致对第一分数的 影响。除此之外,不同的价格区间是由整个消费价格统计、用EM算法推演出的。并且运些相 关度是概率值,而不是特定的消费价格,运样的方式有利于削减价格矩阵的噪声对于第一 分数的影响。
[0147] 在EARP-M模型中,利用W和D矩阵去分别表示用户和待推荐消费对象对于价格区间 的关联程度。具体的EARP-M模型如下:
[014 引
[0149] 在EARP-M模型中,将S条观察规则A、B、C均整合到了低秩矩阵分解的优化函数中 去了。为了更好地求解W上公式,把上式重写进行改写,得到目标公式
[0150]
[0151] 随机梯度下降算法是一个很好的求解上述公式的最优化解的方法。运里有=个变 量,其中包括第一评分矩阵即用户隐分子P、第二评分矩阵即待推荐消费对象隐分子Q和第 一相关度矩阵W。利用随机梯度下降算法,局部最小化上述目标公式,可W得到
[0152]
[0153]
[0154]
[0155] 关于EARP-M框架的实现细节,在表5中进行了详细的展示。
[0156] 表5
[0157]
[015 引
[0159] 当利用随机梯度下降算法,最终得到P,Q和W的解之后,可W利用本发明提供的 EARP-M模型得到最终的估计矩阵
[0160]
[0161] 其中,^中的元素;^表示第i个用户对第j个待推荐消费对象的第一分数。
[0162] 对于上述=个模型,本发明尝试通过运=个模型有效地将=条观察规则A、B、C与 低秩矩阵分解算法相融合,W得到更好的评分结果。=个模型可W看成一个串联的关系,前 面的模型可W看成是后面模型的一个特例。当价格区间数量为1时,EARP-M模型可W转化为 EARP-U模型。当所有用户的第一相关度W相同时,EARP-U模型可W转化去EARP-E模型。本发 明提出的=个模型,层层递进,不断地将更多的观察规则融合到基础的低秩矩阵分解算法 中,从而达到更好的评分结果。
[0163] 可见,在整个模型中,本发明尝试引入消费信息项来表示消费价格对于总评分的 影响。运里提出了两个有意义的矩阵:D矩阵意味着待推荐消费对象对于不同价格区间的关 联程度,W矩阵意味着用户对于不同价格区间的关联程度。矩阵D通过价格矩阵C和EM算法直 接计算得出。矩阵W和P、Q-起通过随机梯度下降算法迭代学习得到。除此之外,D矩阵和W矩 阵有明显的物理特征,运些特征可W深入地表现待推荐消费对象和用户的特点。矩阵D反映 了待推荐消费对象的消费价格的分布和覆盖区域。图5显示了一个混合高斯分布的例子,运 个例子是通过算法在数据集Dl中得到的。当设置价格区间的数量为5时,可W看出图5中 混合高斯模型的图形表示与图3c中消费价格的分布很相近,运说明混合高斯函数模型可W 很好地表现消费价格的分区。矩阵W反映了用户的消费行为和他们对于消费价格的响应。
[0164] 另外,本发明中的EARP-M模型在计算时,时间主要消耗在利用EM算法计算混合高 斯函数和采用随机梯度下降算法迭代优化P,Q和W矩阵上。用N来表示矩阵R中的非零总评分 数量,k表示隐分子的数量,T是价格区间的数量。那么,在EM算法中,每一次迭代对应的算法 复杂度是O(NXT)。随机梯度下降算法的主要算法复杂度集中在计算目标公式W及它相对 应的梯度上,从目标公式可W得出算法复杂度是〇(NX(T+k))。其中,梯度3巧、3爲的计算 复杂度为O(NXk),梯度WK/的计算复杂度是O(NXT)D总结来说,EARP模型的算法复杂度是 0(NX(T+k))。与矩阵R中的非零总评分数量呈现线性关系。
[0165] 为了进一步说明本发明实施例的有效性,下面结合具体的实验结果进行说明。
[0166] 实验采集了大众点评上5个具有代表性的大城市中(例如,北京,上海和广州等)的 用户评论,分别得到了5个数据集,分别称为化化1、化化2、化ta3、化化4和化化5(缩写为Dl、 D2、D3、D4和D5)。
[0167] 为了去展示本发明提出的EARP模型的有效性,下面将S个版本的EARP与多个经典 的评分预测方法进行对比。在运几种经典算法中,前四种方法只利用了评分信息。后=种方 法(CPMF,FM和CoMF)除了利用了评分信息之外,还利用了消费价格信息。
[0168] UserMean:运个方法利用每个用户的平均评分作为预测结果。
[0169] ItemMean:运个方法利用每个物品的平均评分作为预测结果。
[0170] PMF:运是一种基本的矩阵分解方法,实验中利用用户和物品的评分矩阵进行推 荐。
[0171] LL0RMA:运是一种最新的矩阵分解方法,运种方法基于局部低秩假设。它也是主要 利用用户和物品的评分矩阵进行推荐。
[0172] cPM:运是一种价格敏感的旅行推荐方法,利用商户的价格信息作为价格。
[0173] FM:运是一种通用的矩阵分解方法,通过特征工程的方式去模仿大多数的矩阵分 解模型,本实验利用它的评分矩阵上,并把商户价格信息作为一个特征使用。
[0174] CoMF:运是一种联合矩阵分解的方法,同时分解评分矩阵和消费价格信息矩阵,并 共享同一个用户隐空间。
[0175] EARP-E:运是只使用了第一个关于消费信息和评分有正相关关系的观察的矩阵分 解方法。
[0176] EARP-U:运是将第一相关度矩阵W拓展为一个向量,并利用了第二个观察规则的矩 阵分解方法。
[0177] EARP-M:运是将消费信息延伸到多个价格区间,并使用EM算法去获得每个区间的 均值的矩阵分解方法。
[0178] 对于EARP,本实验把价格区间的数量定为5,就像实验中建议的那样,运样的参数 结果在实际的数据集中有比较好的效果。规则化系数T设为0.08,规则化系数的受为0.1。其 他方法的参数设定是利用交叉验证的方法,在各个数据集中找到最优的效果,作为最终的 参数设定的。
[0179] 为了量化各种方法结果的好坏,运里引入两个广泛使用的评分预测标准,平均平 方根误差(MSE)和平均绝对值误差(MAE)。通过运两个指标,可W去衡量各种不同的评分预 测算法结果的质量。RMSE的定义如下:
[0180]
[0181] 其中,rp,q代表用户P给待推荐消费对象q的真实评分,表示推荐模型对其的预 测评分,R表示整个评分集合。
[0182] MAE的定义如下:
[0183] 更小的MAE或者RMSE意味着更好的结果。相比于MAE,RMSE对于大的误差的敏感度 更高。
[0184] 对于每一个数据集,实验随机从评分矩阵中抽样不同比例的训练数据,从60%的 训练数据到90%训练数据,每10%为一个间隔,剩下的作为测试数据。每一个随机抽样过程 独立重复10次,在表6和表7中分别展示10次有效性实验的RMSE和MAE的平均结果。
[0185] 表6
[0186]
[0187]
[C
[C
[0190] 从表6和表7中可W看出:
[0191] 本发明的EARP-E、EARP-U、EARP-MS种方法在大多数情况下比别的方法都好。特别 是,EARP-M在各种情况下,总有最优的结果。运个现象验证了消费价格是可W有效提升评分 的准确性的。
[0192] 在LLORMA和PMF方法中只利用了总评分,忽略了消费价格,运两种方法在预测评分 时并没有较好的结果。
[0193] cPMF,FM和CoMFS种方法同时利用了总评分和消费价格,虽然运些方法混合了消 费价格,但它们只是很简单地将消费价格作为一个属性,而不是考虑消费价格独有的特性。 所W它们比EARP的效果要差。CoMF中直接分解价格矩阵,引入了更多的误差,运导致了更差 的效果。本发明提出的EARP模型不仅能有效地利用消费信息和评分的关系,而且可W很好 地融合运些关联。所WEARP在多数情况下有更好的表现。
[0194] 对比本发明的S个EARP方法,发现它们也有不同的表现。EARP可比EARP-E表现更 好,EARP-M表现最好。运S种EARP的表现验证了之前的观察和假设。EARP-E证明消费价格可 W有效提升评分预测的表现,EARP-U说明了个性化用户权重的有效性。EARP-M则表明考虑 多个价格区间的有效性。
[0195] 在价格区间的数量方面,实验中研究了不同数量的消费价格区间对于EARP结果的 影响。图6为基于80%的数据集D1,采用EARP-M模型在不同数量的价格区间上得到的推荐结 果表现。同时,表8中展示了不同价格区间的均值。从图6中可W清楚地看到EARP-M的表现先 是上升,然后随着区间数量的增加在不断下降。当消费价格区间的数量是4、5和6的时候, EARP-M有最好的表现。
[0196] 表8 LU. /UJ *1^ T十口 IJ把口术疋/円巧^凶口 IJ :
[0199] 当价格区间的数量比较少时,价格区间对于待推荐消费对象的价格区间分布的反 映比较粗略,例如,在表8中,当只有2个价格区间[38,179]时,该价格区间很难反映实际的 情况。
[0200] 当价格区间的数量比较大时,可能有很多冗余的消费价格区间。例如,在表8中,当 价格区间的数量为別寸,区间[66,6引是非常接近的,区间[137,160]也是非常接近的。
[0201] 当价格区间的数量适中时,价格区间的划分比较合理、可信,能有效地反映待推荐 消费对象的消费价格的不同分布。例如,在表8中,当价格区间的数量为5时,29元一般是小 吃的消费价格,68元是普通餐厅的消费水平,149元和289元是中档和高档餐厅的消费水平, 584元是最高的价格区间。在本发明使用的数据集中,5个价格区间反映了真实的待推荐消 费对象的消费价格的分布,并且EARP有最好的表现。所W,在下面的实验中,把消费价格区 间的数量定为5。
[0202] 下面结合具体实验说明构建第一相关度矩阵W和第二相关度矩阵D的意义。
[0203] 实验方法采用本发明中的EARP-M模型,实验数据仍然采用上述5个数据集Dl~D5, 并选取每个数据集的80 %作为训练数据。
[0204] 首先,将表征用户在消费价格方面的权值的第一相关度矩阵W作为实验观察对象 进行实验。
[0205] 图7a为每个数据集中的所有用户在5个价格区间均值上的平均第一相关度。从图 中可W很明显地看出,价格区间的均值越高,用户的平均第一相关度越高。从运个图中可W 发现,第一相关度反映了用户对于价格信息的响应,运也间接印证了规则A。也就是说,用户 在较高的价格区间有较高的权重,运意味着用户对高消费价格有更强烈的响应。
[0206] 图7b为不同类型的用户在5个价格区间均值上的平均第一相关度。具体地说,实验 中选定了S种类型的用户:用户的平均消费价格分别是20元、70元和120元的用户,其分别 表示了低消费用户、中档消费用户和高档消费用户。然后,实验统计了每一类型用户在5个 不同消费价格区间的平均第一相关度。从图7b中可W看出,该实验除了具有与图7a中相似 的观察,还可W发现高平均消费价格的用户有较低的权值。也就是说,一个具有高平均消费 价格的用户对于同等消费价格的响应更弱。运是可W理解的。当一个具有高平均消费价格 的用户在一家餐厅接受服务的时候,他通常关屯、的是服务质量而不是消费价格。
[0207] 图7c为特定类型的用户的平均第一相关度。实验将不同用户按平均消费价格分为 7个区间,每一个区间间隔是20元,然后计算不同区间内用户的平均第一相关度。从图中可 W很清晰地看出,具有更高平均消费价格的用户有更低的平均第一相关度。运个结果证明 了图7b中的结果。图7c也能解释规则B,即用户的总评分和用户的真实消费价格与平均消费 价格之间的差是成正相关的。当消费价格相同时,例如消费了 149元,一个有高平均消费价 格的用户更可能去给一个较低的总评分,而一个有低平均消费价格的用户更可能给一个高 的总评分。
[0208] 其次,将表征待推荐消费对象在消费价格方面的权值的第二相关度矩阵D作为实 验观察对象进行实验。
[0209] 图7d为不同类型的待推荐消费对象的平均第二相关度。实验中展示了=种不同类 型的待推荐消费对象的平均第二相关度,即平均消费价格在20元左右、150元左右和300元 左右的待推荐消费对象。从图7d中可W看到,待推荐消费对象和与其最接近的消费价格区 间的关联更紧密,运个可W验证基于EM算法的价格区间划分的有效性。
[0210] 总体来说,第二相关度矩阵D覆盖了待推荐消费对象的价格分布,第一相关度矩阵 W显示了用户对于消费价格的响应。
[0211] 在本发明提出的模型EARP中,假设每一个用户评论中都存在消费价格的信息。然 而,在很多实际的应用中,运些消费价格是缺失的。下面结合实验说明在运种情况下本发明 也能够很好地进行评分预测。在数据集Dl中随机删除从10%到90%的消费价格数据,W 10%为间隔,分别设置实验,测试EARP算法的有效性。图8a和图8b中分别展示了模 型中消费价格在不同缺失比例下的RMSE误差和MAE误差,运S个模型包括EARP-E、EARP-U和 ARP-M。从两图中可W看出,S个EARP模型对于消费价格的缺失都有一定的容忍度。并且,当 消费价格缺失得较少时,EARP有较好的表现。WEARP-M为例,当消费价格缺失比例达到80% 的时候,该算法依然有不错的表现,并且可W看到EARP-E对于消费价格缺失并不敏感。运个 现象的原因是,EARP-E模型中所有用户的第一相关度W相同,其可W从已有的消费价格中学 到第一相关度。
[0212] 图9为本发明实施例提供的消费对象的推荐装置的一种结构示意图,与图1所示方 法实施例相对应,应用于客户端,所述装置包括:获得模块901、确定模块902和推荐模块 903;
[0213] 其中,获得模块901,用于获得待推荐消费对象的第一用户;
[0214] 确定模块902,用于根据保存的每个用户对应的每个待推荐消费对象的第一分数, 从所述第一分数中确定所述第一用户对应的每个待推荐消费对象的第二分数;其中,所述 第一分数是根据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格, W及预设第一公式确定的;
[0215] 推荐模块903,用于根据确定的第二分数,从所述待推荐消费对象中选择目标消费 对象,并推荐给所述第一用户。
[0216] 在本实施例中,所述确定模块902还可W用于采用W下步骤确定所述第一分数:
[0217] 根据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,W 及
,确定每个用户对应的每个待推荐消费对象的第一分数;
[021引其中,哀,,x,冲的元素;表示第i个用户对第j个待推荐消费对象的第一分数,PmXk为 m个用户在k个方面的第一评分矩阵,QnXk为n个待推荐消费对象在k个方面的第二评分矩阵, WmXT为m个用户与T个价格区间的第一相关度矩阵,DnXT为n个待推荐消费对象与T个价格区 间的第二相关度矩阵,k和T均为预设的整数。
[0219] 在本实施例中,所述确定模块902还可W用于采用下述步骤确定第二相关度矩阵 DnXT中的第j个待推荐消费对象与第t个价格区间的相关度tjt:
[0220] 根据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,确 定评分矩阵RmXn和价格矩阵CmXn,其中m为用户的数量,n为待推荐消费对象的数量,RmXn中的 元素 ru表示第i个用户对第j个待推荐消费对象的总评分,Cmxn中的元素 CU表示第i个用户 在第j个待推荐消费对象上的消费价格;
[0221] 根据所述UxnW及预设的价格区间的数量T,采用最大期望算法算法,确定与每 个价格区间对应的混合高斯函数;根据所述Cmxn,确定n个待推荐消费对象的平均消费价格; 针对第j个待推荐消费对象,根据确定的T个价格区间对应的混合高斯函数W及所述第j个 待推荐消费对象的平均消费价格,确定所述第j个待推荐消费对象与第t个价格区间的相关 度 t jt。
[0222] 在本实施例中,所述确定模块902还可W用于采用W下步骤确定第一评分矩阵 PmXk、第二评分矩阵QnXk和第一相关度矩阵WmXT :
[022引根据确定的第二相关度矩阵DnXT、评分矩阵Rmxn和价格矩阵Cmxn, W及预设第二公 式,确定所述第一评分矩阵PmXk、第二评分矩阵QnXk和第一相关度矩阵WmXT。
[0224] 在本实施例中,所述确定模块902具体可W用于:
[0225] 根据确定的第二相关度矩阵DnXT、评分矩阵Rmxn和价格矩阵Cmxn, W及
,确定 所述第一评分矩阵PmXk、第二评分矩阵QnXk和第一相关度矩阵WmXT;其中,所述PmXk、QnXk和 WmXT为采用随机梯度下降算法迭代得到的当L(P,Q,W)取最小值时对应的PmXk、QnXk和WmXT, 丫 和e为权衡参数,I I ? I If为弗罗贝尼乌斯范数,T为矩阵的转置,O为矩阵的点积,Imxn为指 示矩阵,Imxn中的元素 Ii戒0或1,当第i个用户对第j个待推荐消费对象给出总评分时,Ii戒 1,当第i个用户没有对第j个待推荐消费对象给出总评分时,Iu取0。
[0226] 由于上述装置实施例是基于方法实施例得到的,与该方法具有相同的技术效果, 因此装置实施例的技术效果在此不再寶述。
[0227] 对于装置实施例而言,由于其基本相似于方法实施例,所W描述得比较简单,相关 之处参见方法实施例的部分说明即可。
[0228] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实 体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示运些实体或操作之间存 在任何运种实际的关系或者顺序。而且,术语"包括"、"包含"或者任何其他变体意在涵盖非 排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素, 而且还包括没有明确列出的其他要素,或者是还包括为运种过程、方法、物品或者设备所固 有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括 所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0229] 本领域普通技术人员可W理解,上述实施方式中的全部或部分步骤是能够通过程 序指令相关的硬件来完成的,所述的程序可W存储于计算机可读取存储介质中。运里所称 存储介质,是指R0M/RAM、磁碟、光盘等。
[0230] W上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围 内。
【主权项】
1. 一种消费对象的推荐方法,其特征在于,应用于客户端,所述方法包括: 获得待推荐消费对象的第一用户; 根据保存的每个用户对应的每个待推荐消费对象的第一分数,从所述第一分数中确定 所述第一用户对应的每个待推荐消费对象的第二分数;其中,所述第一分数是根据保存的 用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,以及预设第一公式确定 的; 根据确定的第二分数,从所述待推荐消费对象中选择目标消费对象,并推荐给所述第 一用户。2. 根据权利要求1所述的推荐方法,其特征在于,所述第一分数是采用以下步骤确定 的: 枏据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,以及确定每个用户对应的每个待推荐消费对象的第一分数; 其中,及中的元素表示第i个用户对第j个待推荐消费对象的第一分数,Pmxk为m个用 户在k个方面的第一评分矩阵,Qnxk为η个待推荐消费对象在k个方面的第二评分矩阵,WmXT 为m个用户与T个价格区间的第一相关度矩阵,DnXT为η个待推荐消费对象与T个价格区间的 第二相关度矩阵,k和T均为预设的整数。3. 根据权利要求2所述的推荐方法,其特征在于,所述第二相关度矩阵0"><1中的第j个待 推荐消费对象与第t个价格区间的相关度是采用下述步骤确定的: 根据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,确定评 分矩阵RmXn和价格矩阵CmXn,其中HI为用户的数量,η为待推荐消费对象的数量,RmXn中的兀素 表示第i个用户对第j个待推荐消费对象的总评分,C mxn中的元素Clj表示第i个用户在第j 个待推荐消费对象上的消费价格; 根据所述Cmxn以及预设的价格区间的数量T,采用最大期望算法EM算法,确定与每个价 格区间对应的混合高斯函数;根据所述Cmxn,确定η个待推荐消费对象的平均消费价格;针对 第j个待推荐消费对象,根据确定的T个价格区间对应的混合高斯函数以及所述第j个待推 荐消费对象的平均消费价格,确定所述第j个待推荐消费对象与第t个价格区间的相关度 tjt 〇4. 根据权利要求2所述的推荐方法,其特征在于,所述第一评分矩阵Pmxk、第二评分矩阵 QnXk和第一相关度矩阵WmXT是米用以下步骤确定的: 根据确定的第二相关度矩阵DnXT、评分矩阵Rmxn和价格矩阵Cmxn,以及预设第二公式,确 定所述第一评分矩阵Pmxk、第二评分矩阵Qnxk和第一相关度矩阵WmXT。5. 根据权利要求4所述的推荐方法,其特征在于,所述根据确定的第二相关度矩阵DnXT、 评分矩阵Rmx n和价格矩阵Uxn,以及预设第二公式,确定所述第一评分矩阵Pmxk、第二评分矩 阵QnXk和第一相关度矩阵WmXT包括: 根据确定的第二相关度矩阵DnXT、评分矩阵RmXn和价格矩阵CmXn,以及确定 所述第一评分矩阵Pmxk、第二评分矩阵QnXk和第一相关度矩阵WmXT;其中,所述P mXk、QnXk和 WmxT为采用随机梯度下降算法迭代得到的当L(P,Q,W)取最小值时对应的PmXk、Qnxi^PW mXT,γ 和β为权衡参数,U · I If为弗罗贝尼乌斯范数,T为矩阵的转置,ο为矩阵的点积,Imxn为指 示矩阵,Ι"χηψ的元素I lj取O或1,当第i个用户对第j个待推荐消费对象给出总评分时,1"取 1,当第i个用户没有对第j个待推荐消费对象给出总评分时,I lj取〇。6. -种消费对象的推荐装置,其特征在于,应用于客户端,所述装置包括: 获得模块,用于获得待推荐消费对象的第一用户; 确定模块,用于根据保存的每个用户对应的每个待推荐消费对象的第一分数,从所述 第一分数中确定所述第一用户对应的每个待推荐消费对象的第二分数;其中,所述第一分 数是根据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,以及预 设第一公式确定的; 推荐模块,用于根据确定的第二分数,从所述待推荐消费对象中选择目标消费对象,并 推荐给所述第一用户。7. 根据权利要求6所述的推荐装置,其特征在于,所述确定模块还用于采用以下步骤确 定所述第一分数: 根据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,以及,确定每个用户对应的每个待推荐消费对象的第一分数; 其中中的元素&表示第i个用户对第j个待推荐消费对象的第一分数,P>xk为m个 用户在k个方面的第一评分矩阵,Qnxk为η个待推荐消费对象在k个方面的第二评分矩阵, WmXT为m个用户与T个价格区间的第一相关度矩阵,DnXT为η个待推荐消费对象与T个价格区 间的第二相关度矩阵,k和T均为预设的整数。8. 根据权利要求7所述的推荐装置,其特征在于,所述确定模块还用于采用下述步骤确 定第二相关度矩阵DnXT中的第j个待推荐消费对象与第t个价格区间的相关度 根据保存的用户针对待推荐消费对象给出的用户评论中的总评分和消费价格,确定评 分矩阵RmXn和价格矩阵CmXn,其中HI为用户的数量,η为待推荐消费对象的数量,RmXn中的兀素 表示第i个用户对第j个待推荐消费对象的总评分,C mxn中的元素Clj表示第i个用户在第j 个待推荐消费对象上的消费价格; 根据所述Cmxn以及预设的价格区间的数量T,采用最大期望算法EM算法,确定与每个价 格区间对应的混合高斯函数;根据所述Cmxn,确定η个待推荐消费对象的平均消费价格;针对 第j个待推荐消费对象,根据确定的T个价格区间对应的混合高斯函数以及所述第j个待推 荐消费对象的平均消费价格,确定所述第j个待推荐消费对象与第t个价格区间的相关度 t jt O9. 根据权利要求7所述的推荐装置,其特征在于,所述确定模块还用于采用以下步骤确 定第一评分矩阵Pmxk、第二评分矩阵QnXk和第一相关度矩阵W mXT: 根据确定的第二相关度矩阵DnXT、评分矩阵Rmxn和价格矩阵Cmxn,以及预设第二公式,确 定所述第一评分矩阵Pmxk、第二评分矩阵Qnxk和第一相关度矩阵WmXT。10. 根据权利要求9所述的推荐装置,其特征在于,所述确定模块具体用于: 根据确定的第二相关度矩阵DnXT、评分矩阵RmXn和价格矩阵CmXn,以及,确定 所述第一评分矩阵Pmxk、第二评分矩阵Qnxk和第一相关度矩阵WmXT;其中,所述P mXk、QnXk和 WmxT为采用随机梯度下降算法迭代得到的当L(P,Q,W)取最小值时对应的PmXk、Qnxi^PW mXT,γ 和β为权衡参数,U · I If为弗罗贝尼乌斯范数,T为矩阵的转置,ο为矩阵的点积,Imxn为指 示矩阵,Ι"χηψ的元素I lj取O或1,当第i个用户对第j个待推荐消费对象给出总评分时,1"取 1,当第i个用户没有对第j个待推荐消费对象给出总评分时,I lj取〇。
【文档编号】G06F17/30GK106022869SQ201610312878
【公开日】2016年10月12日
【申请日】2016年5月12日
【发明人】石川, 何博威
【申请人】北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1