掌桥专利:专业的专利平台
掌桥专利
首页

推荐效果的评估方法、装置、电子设备及可读存储介质

文献发布时间:2023-06-19 11:32:36


推荐效果的评估方法、装置、电子设备及可读存储介质

技术领域

本申请涉及人工智能技术领域,具体而言,本申请涉及一种推荐效果的评估方法、装置、电子设备及可读存储介质。

背景技术

随着互联网和通讯技术的迅速发展,用户通过各类终端设备所接受到的数据的体量随着时间的推移也呈指数倍的增长,使得用户在海量的数据中采集和挖掘有价值的信息变得异常困难。推荐系统综合了数据挖掘、机器学习、人类行为学、人机交互等多个领域知识经验和思想,能够为每位用户提供精确的、及时的、有惊喜的个性信息服务。

目前,各类推荐算法层出叠现,但是其推荐效果不尽相同,因此如果能够提供对推荐算法的推荐效果进行有效评估,就能够对推荐算法进行有效甄别,保证推荐算法实际应用时的有效性。

发明内容

本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:

第一方面,本申请实施例提供了一种推荐效果的评估方法,该方法包括:

获取用户对待推荐对象的偏好数据;

基于偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标;

基于评估指标对待评估推荐算法的推荐效果进行评估。

可选地,基于偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标,包括:

基于交叉验证的方式将偏好数据换划分为训练集以及测试集;

基于训练集对待评估推荐算法进行训练,并基于训练后的待评估推荐算法预测测试集中用户对测试集中待推荐对象的偏好预测数据;

基于偏好预测数据,并基于测试集中用户对测试集中待推荐对象的偏好数据,确定待评估推荐算法的评估指标。

可选地,基于交叉验证的方式将偏好数据换划分为训练集以及测试集,包括:

基于K折交叉验证的方式将偏好数据分为K组,并将K组中的一组指定为测试集,将除测试集以外的偏好数据指定为训练集。

可选地,基于K折交叉验证的方式将偏好数据分为K组,包括:

基于K折交叉验证的方式,并依照时间戳先后的顺序将偏好数据分为K组,其中K组中各组对应时长相等。

可选地,基于所述偏好预测数据,并基于所述测试集中用户对所述测试集中待推荐对象的偏好数据,计算待评估推荐算法的评估指标的值,包括:

基于所述偏好预测数据,并基于所述测试集中用户对所述测试集中待推荐对象的偏好数据,采用K折交叉验证的方式重复确定待评估推荐算法的评估指标的初始值;

将所述初始值的平均值确定为所述待评估推荐算法的评估指标的值。

可选地,评估指标包括评分准确度和/或使用准确度;

其中,评分准确度包括以下至少一项:

均方根误差;

平均绝对误差;

其中,使用准确度包括以下至少一项:

查准率;

真阳性率;

假阳性率;

真阴性率。

可选地,若评估指标包括评分准确度以及使用准确度,基于评估指标对待评估推荐算法的推荐效果进行评估,包括:

基于使用准确度确定对各用户的推荐命中权重;

基于推荐命中权重以及评分准确度,确定待评估推荐算法的推荐效果。

可选地,获取用户对待推荐对象的偏好数据,包括:

获取用户对待推荐对象的操作行为;

基于操作行为确定用户对待推荐对象的偏好数据。

可选地,基于操作行为确定用户对待推荐对象的偏好数据,包括:

基于预设的量化评价规则,并基于各操作行为的操作数据,确定待推荐对象的偏好数据。

可选地,获取用户对待推荐对象的偏好数据,包括:

发起对待推荐对象的调研DEMO;

基于调研DEMO的结果,确定用户对待推荐对象的偏好数据。

可选地,在基于偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标之前,上述方法还包括:

对偏好数据进行预处理,预处理用于降低偏好数据的稀疏性;

预处理包括以下至少一项:

将所对应的操作行为的操作数据不满足预设阈值的偏好数据过滤;

对偏好数据进行降维处理;

对偏好数据进行降噪处理。

第二方面,本申请实施例提供了一种推荐效果的评估装置,该装置包括:

偏好数据获取模块,用于获取用户对待推荐对象的偏好数据;

评估指标确定模块,用于基于偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标;

推荐效果的评估模块,用于基于评估指标对待评估推荐算法的推荐效果进行评估。

可选地,评估指标确定模块在基于交叉验证的方式将偏好数据换划分为训练集以及测试集时,具体用于:

基于K折交叉验证的方式将偏好数据分为K组,并将K组中的一组指定为测试集,将除测试集以外的偏好数据指定为训练集。

可选地,评估指标确定模块在基于K折交叉验证的方式将偏好数据分为K组时,具体用于:

基于K折交叉验证的方式,并依照时间戳先后的顺序将偏好数据分为K组,其中K组中各组对应时长相等。

可选地,评估指标确定模块在基于所述偏好预测数据,并基于所述测试集中用户对所述测试集中待推荐对象的偏好数据,计算待评估推荐算法的评估指标的值时,具体用于:

基于所述偏好预测数据,并基于所述测试集中用户对所述测试集中待推荐对象的偏好数据,采用K折交叉验证的方式重复确定待评估推荐算法的评估指标的初始值;

将所述初始值的平均值确定为所述待评估推荐算法的评估指标的值。

可选地,评估指标包括评分准确度和/或使用准确度;

其中,评分准确度包括以下至少一项:

均方根误差;

平均绝对误差;

其中,使用准确度包括以下至少一项:

查准率;

真阳性率;

假阳性率;

真阴性率。

可选地,若评估指标包括评分准确度以及使用准确度,推荐效果的评估模块具体用于:

基于使用准确度确定对各用户的推荐命中权重;

基于推荐命中权重以及评分准确度,确定待评估推荐算法的推荐效果。

可选地,偏好数据获取模块具体用于:

获取用户对待推荐对象的操作行为;

基于操作行为确定用户对待推荐对象的偏好数据。

可选地,偏好数据获取模块在基于操作行为确定用户对待推荐对象的偏好数据时,具体用于:

基于预设的量化评价规则,并基于各操作行为的操作数据,确定待推荐对象的偏好数据。

可选地,偏好数据获取模块具体用于:

发起对待推荐对象的调研DEMO;

基于调研DEMO的结果,确定用户对待推荐对象的偏好数据。

可选地,上述装置还包括:

预处理模块,用于在基于偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标之前,对偏好数据进行预处理,预处理用于降低偏好数据的稀疏性;预处理包括以下至少一项:

将所对应的操作行为的操作数据不满足预设阈值的偏好数据过滤;

对偏好数据进行降维处理;

对偏好数据进行降噪处理。

可选地,评估指标确定模块具体用于:

基于交叉验证的方式将偏好数据换划分为训练集以及测试集;

基于所述训练集对待评估推荐算法进行训练,并基于训练后的待评估推荐算法预测所述测试集中用户对所述测试集中待推荐对象的偏好预测数据;

基于所述偏好预测数据,并基于所述测试集中用户对所述测试集中待推荐对象的偏好数据,计算待评估推荐算法的评估指标的值。

第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器和存储器;

存储器,用于存储操作指令;

处理器,用于通过调用操作指令,执行如本申请的第一方面的任一实施方式中所示的推荐效果的评估方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请的第一方面的任一实施方式中所示的推荐效果的评估方法。

本申请实施例提供的技术方案带来的有益效果是:

本申请实施例提供的方案,基于用户对待推荐对象的偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标,从而根据评估指标对待评估推荐算法的推荐效果进行评估。基于本方案,能够对推荐算法的推荐效果进行有效评估,实现对推荐算法的有效甄别,保证推荐算法实际应用时的有效性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的一种推荐效果的评估方法的流程示意图;

图2为本申请实施例提供的一种推荐效果的评估装置的结构示意图;

图3为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图1示出了本申请实施例提供的一种推荐效果的评估方法的流程示意图,如图1所示,该方法主要可以包括:

步骤S110:获取用户对待推荐对象的偏好数据;

步骤S120:基于偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标;

步骤S130:基于评估指标对待评估推荐算法的推荐效果进行评估。

本申请实施例中,待推荐对象可以为媒体内容或者金融产品等,可以将待推荐对象推荐给用户,以得到用户对待推荐对象的真实偏好数据。

本申请实施例中,可以基于交叉验证的方式确定待评估推荐算法的评估指标。具体而言,基于交叉验证的方式,可以将获取到的偏好数据作为数据集,将整个数据集划分为若干部分,一部分作为训练集用以训练评估算法、一部分作为测试集用以测试训练出的评估算法的优劣。

本申请实施例提供的方法,基于用户对待推荐对象的偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标,从而根据评估指标对待评估推荐算法的推荐效果进行评估。基于本方案,能够对推荐算法的推荐效果进行有效评估,实现对推荐算法的有效甄别,保证推荐算法实际应用时的有效性。

本申请实施例的一种可选方式中,获取用户对待推荐对象的偏好数据,包括:

获取用户对待推荐对象的操作行为;

基于操作行为确定用户对待推荐对象的偏好数据。

传统偏好数据采集方式一般为由用户对产品主动评分,并记录用户对产品的评分值,对用户而言操作较为繁琐,采集效果依赖用户的评分积极性。

本申请实施例中,可以监控用户在使用产品对待推荐对象的操作行为,从而基于操作行为来确定用户对待推荐对象的偏好数据,能够避免传统偏好数据采集方式中所存在的缺陷。

具体而言,操作行为可以包括隐式行为,隐式行为是指用户出于某种目的主动做出的,没有感受到额外负担的浏览和操作行为。例如用户在产品页面的停留时间,用户手指或鼠标的触摸或点击,用户复制页面本文,标记收藏某个产品,用户将产品分享给他人,用户购买或签约某项产品等。

本申请实施例中,能够基于隐式行为快速采集并量化出用户对产品的偏好值,获取最接近真实应用场景的用户数据。

本申请实施例的一种可选方式中,基于操作行为确定用户对待推荐对象的偏好数据,包括:

基于预设的量化评价规则,并基于各操作行为的操作数据,确定待推荐对象的偏好数据。

本申请实施例中,在确定偏好数据时,需要对用户的操作数据进行量化,具体而言,可以设置量化评价规则,基于各操作行为的操作数据,来计算量化评分,将该量化评分作为用户对产品的偏好数据。

量化评价规则可以为对操作数据的一系列运算规则,可以根据量化评价规则对操作数据进行计算得到量化评分。量化评价规则中的具体运算方式可以根据实际需要进行设定。

作为一个示例,操作行为可以包括用户对产品页面的点击行为、浏览行为、对产品的收藏行为及分享行为。

用户对产品页面的点击行为对应的操作数据可以为点击次数。

用户对产品页面的浏览行为对应的操作数据可以为浏览时间。

用户对产品的收藏行为可以为收藏次数。

用户对产品的分享行为可以为分享次数。

本例中量化评价规则具体如下:

以用户u为例,量化评分为r

若用户u点击一次产品i,则r

若用户u在产品i的介绍页面下浏览了t

若用户u收藏一次银行产品i,则r

若用户u将银行产品i分享给他人一次,则r

本例偏好数据的数据表存储结构如表1所示

表1

其中,操作行为ID即操作行为标识,操作行为描述即对用户操作行为的描述信息。

本申请实施例中,可以采用埋点的方式来监控用户的操作行为,具体而言,可以通过客户端代码埋点的方式记录用户的操作日志,从而获取到用户对待推荐对象的操作行为,并在用户浏览产品过程中所产生的指定的操作行为时进行记录。

对待评估推荐系统的客户端页面安装用户行为监控模块,通常是以埋点结合日志记录的方式记录用户浏览产品过程中所产生的行为,可以将用户行为信息记录在下图所示的用户-产品评价日志表(即表2)中。

表2

如表2中所示,U

若推荐系统的用户操作端是网页,可以采用Ajax和JavaScript完成操作行为的捕捉和采集;若推荐系统的用户操作端是网页Android或IOS的银行APP,可以采用Android或IOS的行为采集SDK(Software Development Kit,软件工具包)。

本申请实施例的一种可选方式中,获取用户对待推荐对象的偏好数据,包括:

发起对待推荐对象的调研DEMO;

基于调研DEMO的结果,确定用户对待推荐对象的偏好数据。

本申请实施例中,可以发起对待推荐对象的调研DEMO的方式,对用户发起调研,从而得到偏好评分。

现有的对推荐算法的评估主要是通过离线评估、用户调研评估、线上评估三种模式。离线评估一般是通过可公开下载的第三方数据集来训练推荐算法并通过预测误差来评估准确率;用户调研评估需要设置一组测试对象,他们须根据需求与系统进行交互,在测试对象完成交互任务时,需要观察并记录测试的行为,根据测试的各个阶段提出定性的问题,用于收集不能直观获取的数据。最后,通过分析收集的数据了解系统的性能;线上评估实际上是让用户在线上进行体验,通过用户的反馈来判断优劣。

以上三种方法均存在一定的缺陷,离线评估所使用的第三方数据集可能与真实推荐算法被应用的场景存在差距,仅能够预测误差而不能计算用户是否采纳推荐内容。用户调研执行代价昂贵,佣金和时间成本高,并且试验设计要求严苛。线上评估周期长并且需要设计对照试验,经过反复调整和试验才可得出评估结论。本申请提供的结合线上实验与离线评估的方法,目的在保证推荐效果有效评估的前提下,减轻现有的评估方式存在的缺陷所带来问题。

本申请实施例中,对于偏好数据的采集,可以仅通过社交平台将用于偏好数据采集的调研DEMO链接发送到社交应用的群聊或网络社区中,实验志愿者随意的在网站上浏览点击一下自己喜欢的产品,通过数据采集引擎就可以获取到用户-活动点击数据集,从而获取用户的偏好数据,使得真实场景下的数据采集难度和任务量大大降低。

本申请实施例中,采用离线评估的思路直接对得到的真实的偏好数据进行划分和计算,只需要设定参数的取值后,通过编程语言实现对功能的取数、循环和交叉计算,输出当前参数下系统的评估指标,评估操作的开销仅仅是运行评估程序造成的时间复杂度和计算资源的消耗,并且留一法和K折交叉验证的方法,也保障了评估实验的理论可行性,得出的结论更加让人信服。

本申请实施例的一种可选方式中,在基于偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标之前,上述方法还包括:

对偏好数据进行预处理,预处理用于降低偏好数据的稀疏性。

在实际使用中,预处理可以包括以下至少一项:

将所对应的操作行为的操作数据不满足预设阈值的偏好数据过滤;

对偏好数据进行降维处理;

对偏好数据进行降噪处理。

本申请实施例中,为了降低用户偏好数据的稀疏性,可以对偏好数据进行预处理。

具体而言,对偏好数据的预处理,可以但不限于以下方式:

(1)过滤,由于不活跃用户仅对少量产品有行为记录,对于推荐算法的推荐模型建立并没有实质性的帮助,可以设定预设阈值,将操作数据不满足预设阈值的用户行为进行过滤。例如,将浏览时间小于预设时长的用户浏览行为对应的偏好数据过滤。

(2)降维,可以采取降维的方式解决稀疏性的问题,如可以通过PCA(PrincipalComponent Analysis,主成分分析方法)或者SVD(Singular Value Decomposition,奇异值分解)的方式对偏好数据进行降维。。

(3)降噪,对于缺失数据、异常数据、恶意数据或自然偏差数据等容易影像算法建模的噪声数据进行合理的去除。

本申请实施例的一种可选方式中,基于偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标,包括:

基于交叉验证的方式将偏好数据换划分为训练集以及测试集;

基于所述训练集对待评估推荐算法进行训练,并基于训练后的待评估推荐算法预测所述测试集中用户对所述测试集中待推荐对象的偏好预测数据;

基于所述偏好预测数据,并基于所述测试集中用户对所述测试集中待推荐对象的偏好数据,计算待评估推荐算法的评估指标的值。

本申请实施例中,基于交叉验证的方式可以将偏好数据换划分为训练集以及测试集,训练集与测试集不存在数据交叉。

在进行偏好预测数据预测时,可以通过训练集对待评估推荐算法的训练得到训练完成的推荐模型,而后可以通过训练完成的推荐模型预测用户对待推荐对象的偏好预测数据。将测试集中待操作对象的偏好数据作为真实数据,从而基于待推荐对象的偏好预测数据,以及测试集中用户对待推荐对象的偏好数据,计算待评估推荐算法的评估指标的值,例如,计算使用准确度以及评分准确度的值。

本申请实施例的一种可选方式中,基于交叉验证的方式将偏好数据换划分为训练集以及测试集,包括:

基于K折交叉验证的方式将偏好数据分为K组,并将K组中的一组指定为测试集,将除测试集以外的偏好数据指定为训练集。

本申请实施例中,可以基于K折交叉验证的方式将偏好数据均分为K组,将K组中的一组指定为测试集,将其余的K减1组指定为训练集,并通过指定出的测试集与训练集确定评估指标。

本申请实施例的一种可选方式中,基于K折交叉验证的方式将偏好数据分为K组,包括:

基于K折交叉验证的方式,并依照时间戳先后的顺序将偏好数据分为K组,其中K组中的各份对应时长相等。

本申请实施例中,时间戳可以为用户对待推荐对象进行浏览所产生的操作行为发生的时间,即用户-产品评价日志表中的时间戳属性下的值,可以按照时间戳的先后顺序,划分为对应时长相等的K组。时长可以根据数据集数据量、数据的分布和具体试验要求来划分,可以是年、月、日、时等单位。由于在K组的各组中,偏好数据的发生时间是连续的,使得各份数据中的偏好数据能够表征在某一时段内用户的连续行为,相比于随机分组能够更好的体现用户在一段时间内的偏好。

在实际使用中,建议使各时段内所采集的偏好数据的数据量均匀,从而使得被划分的等时长的各份偏好数据的数据量相近。

本方案中,是通过结合时间和用户选择次序两方面对数据分组。首先按照整个数据收集过程所使用的时间,按照时间戳的先后顺序均等划分成K组,将其中一份作为专门的测试时间,其余组别作为推荐算法模型的训练数据。按照时间戳分组的方式是为了使评估试验更接近和模拟在线用户评估的场景,即将其中一份作为专门的测试时间,来假设推荐系统是在测试时间建立的,对这段时间用户实际产生的产品操作行为进行隐藏,然后使系统对其进行推荐,再假设实际行为是用户被推荐产品后的反馈,以模拟测试时间内志愿者对推荐效果的反馈,进而评估推荐的质量。

本申请实施例的一种可选方式中,所述基于所述偏好预测数据,并基于所述测试集中用户对所述测试集中待推荐对象的偏好数据,计算待评估推荐算法的评估指标的值,包括:

基于所述偏好预测数据,并基于所述测试集中用户对所述测试集中待推荐对象的偏好数据,采用K折交叉验证的方式重复确定待评估推荐算法的评估指标的初始值;

将所述初始值的平均值确定为所述待评估推荐算法的评估指标的值。

本申请实施例中,可以分K次在K组偏好数据中指定一份作为测试集,其余的K-1组指定为训练集的步骤,并保证每次选取的测试集不同。作为一个示例,可以根据时间序列,对K组偏好数据进行编号,以K=10为例:X

其中,

本申请实施例的一种可选方式中,评估指标包括评分准确度和/或使用准确度;

其中,评分准确度包括以下至少一项:

均方根误差;

平均绝对误差;

其中,使用准确度包括以下至少一项:

查准率;

真阳性率;

假阳性率;

真阴性率。

本申请实施例中,推荐系统的评测指标可以包括评分准确度指标以及使用准确度,可以将评分准确度指标以及使用准确度指标作为本申请中的评估指标。

评分准确度评测主要衡量推荐系统对物品的预测评分值与实际评分值的误差大小,自然差值越小准确度越高,差值越大准确度越低。主要包括均方根误差(Root-Mean-Square Error,RMSE)和平均绝对误差(Mean Absolute Error,MAE)两种。

如果在推荐系统中,真实的用户-评好评分的数据集为

由此,预测值和实际值的均方根误差如公式2所示:

平均绝对误差与其类似,也是一个长用的误差评估选择,如公式3所示:

使用准确度评测主要衡量推荐集的推荐对象是不是被用户所感兴趣程的,而不是关注预测评分的误差是不是最小的。

如表3中所示,用户对于给待推荐对象有以下四种可能的情况:

表3

其中,可以根据偏好数据的量化评分值区分用户对待推荐对象是否感兴趣,如设定量化评分值高于某一值时,确定用户对待推荐对象感兴趣,相应地,当量化评分值不高于某一值时,确定用户对待推荐对象不感兴趣。被推荐对象可以为待推荐对象中被推荐给用户的对象,未被推荐对象则为待推荐对象中除被推荐对象之外的对象。

通过此分类,我们可以统计落入每个格子的数量来评估推荐的效果。因此有以下几个指标和计算公式来衡量算法的准确度:

公式4是指查准率,公式5是指真阳性率,也叫召回率或查全率,公式6是指假阳性率,公式7为真阴性率。通常为了衡量系统的推荐准确度,可以采用公式4和公式5共同组成的查准率-查全率比较曲线或者公式三和公式四组成的假阳性率-真阴性率比率曲线。前者被简化称为查准率-查全率曲线,主要用于衡量被用户真正喜欢的物品占推荐集和物品集中的比例。后者为ROC(Receiver Opreating Characteristic)曲线,主要衡量用户不喜欢的物品占推荐集和未被推荐的物品集中的比例。因此可以根据实际情况选择所采用的曲线。

作为一个示例,在进行真阳性率计算时,待推荐对象可以包括A、B、C、D、E以及F,其中被推荐对象为A、B、C以及D,未被推荐对象为E以及F,用户感兴趣的对象为C、D以及E,不感兴趣的对象为A、B以及F,则可以确定出真阳性数tp为2,假阴性数fn为1,则可以计算出此时的真阳性率为三分之二。

目前,大多数推荐系统进行评估的典型方法是简单的基于网络上第三方公开的数据集来对推荐算法进行误差度量。首先数据集不是推荐系统将要应用的平台上真实场景的用户数据,并且系统推荐机制本质上就是通过预测和召回来产生推荐集,因此反应用户对推荐集使用情况的查准率、召回率等重要评估指标,离线评估无法衡量所以没有采纳。

本申请实施例提供的方案,由于可以通过采集的用户产品行为数据来模拟用户在平台上被推荐和使用推荐的操作行为。从而能够计算用户对推荐集使用情况的查准率、召回率等评估指标,有助于对推荐效果进行更好的衡量。

本申请实施例的一种可选方式中,若评估指标包括评分准确度以及使用准确度,基于评估指标对待评估推荐算法的推荐效果进行评估,包括:

基于使用准确度确定对各用户的推荐命中权重;

基于推荐命中权重以及评分准确度,确定待评估推荐算法的推荐效果。

本申请实施例中,可以基于使用准确度确定对各用户的推荐命中权重,具体而言,可以将召回率或者查准率确定为对各用户的推荐命中权重。而后可以基于推荐命中权重,并基于均方根误差或者平均绝对误差,来确定预测量化评分值。

本申请实施例中,可以通过计算所得的测量化评分值来表征待评估推荐算法的推荐效果,可以认为当测量化评分值的数值较高时,待评估推荐算法的推荐效果较佳,而测量化评分值的数值较低时,待评估推荐算法的推荐效果较差。

作为一个示例,当基于推荐命中权重以及均方根误差来计算预测量化评分值时,具体计算方式如公式8所示:

其中,RMSE

作为一个示例,可以基于本申请实施例提供的方案对多个推荐系统的推荐效果进行比较。

具体而言,可以首先模拟用户体验推荐系统的行为。

为了离线评估推荐系统的效果,需要使用预先采集的用户产品行为数据来模拟用户在平台上被推荐和使用推荐的操作行为。可以将离线数据集模拟成在线测试中的用户执行任务和收集推荐反馈两部分。

本方案结合时间和用户选择次序两方面对数据分组。首先按照整个数据收集过程所使用的时间,按照时间戳的先后顺序均等划分成X份。将其中一份作为专门的测试时间,模拟推荐系统是在测试时建立的,对这段时间用户实际产生的产品操作行为进行隐藏,然后使系统对其进行推荐,再假设实际行为是用户对被推荐产品的反馈,进而评估推荐的质量。

将其余组别作为推荐算法模型的训练数据,推荐系统根据这部分数据,对测试时间内的用户产生产品推荐集或预测用户对产品的量化评分值,再计算评估指标来多方面评估推荐效果或预测准确率。

作为一个示例,采取基于周期的X折交叉验证,量化待评估推荐算法的推荐效果具体过程如下:

(1)确定假设和控制变量。

在进行实验之前必须做出假设和控制变量,如果假设算法A的效果比算法B好,就需要评估同一数据集下两种算法的表现结果;如果假设在参数配置A下,算法的表现比参数配置B下好,那么就要保证使用的是同一数据集和同一种推荐算法。

推荐算法参数的取值。例如,操作数据的预设阈值的取值;或者基于近邻的协同过滤推荐算法中,最近邻个数的取值;基于物品协同过滤算法中,最相似物品个数的取值;使用TOP-N生成最优推荐产品集时,N的取值等等。

(2)对数据集进行模拟分组,数据集已经被按照时间均等的分成X个周期组别,可以对X份偏好数据进行编号:1、2、3、4、5、6、7、8、9以及10,选定一份作为测试周期集,如X

(3)将测试周期集X

(4)选取合适的评估推荐算法准确率的指标,本例中采用召回率或查准率以及均方根误差。

在测试周期集R

其中,U指所有用户的集合(u

(5)通过推荐模型计算并记录下用户u被推荐的产品集R

(6)使用

(7)交叉验证:根据前面基于周期分为的K组数据集,换一组作为测试周期集,其余作为训练周期集,重新执行上述步骤(3)-步骤(6)进行K折交叉验证,计算出所有周期组别的RMSE,取RMSE的平均值作此推荐算法和参数条件下最终的推荐效果量化值RMSE

其中,RMSE

基于与图1中所示的方法相同的原理,图2示出了本申请实施例提供的一种推荐效果的评估装置的结构示意图,如图2所示,该推荐效果的评估装置20可以包括:

偏好数据获取模块210,用于获取用户对待推荐对象的偏好数据;

评估指标确定模块220,用于基于偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标;

推荐效果的评估模块230,用于基于评估指标对待评估推荐算法的推荐效果进行评估。

本申请实施例提供的装置,基于用户对待推荐对象的偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标,从而根据评估指标对待评估推荐算法的推荐效果进行评估。基于本方案,能够对推荐算法的推荐效果进行有效评估,实现对推荐算法的有效甄别,保证推荐算法实际应用时的有效性。

可选地,评估指标确定模块在基于交叉验证的方式将偏好数据换划分为训练集以及测试集时,具体用于:

基于K折交叉验证的方式将偏好数据分为K组,并将K组中的一组指定为测试集,将除测试集以外的偏好数据指定为训练集。

可选地,评估指标确定模块在基于K折交叉验证的方式将偏好数据分为K组时,具体用于:

基于K折交叉验证的方式,并依照时间戳先后的顺序将偏好数据分为K组,其中K组中各组对应时长相等。

可选地,评估指标确定模块在基于所述偏好预测数据,并基于所述测试集中用户对所述测试集中待推荐对象的偏好数据,计算待评估推荐算法的评估指标的值时,具体用于:

基于所述偏好预测数据,并基于所述测试集中用户对所述测试集中待推荐对象的偏好数据,采用K折交叉验证的方式重复确定待评估推荐算法的评估指标的初始值;

将所述初始值的平均值确定为所述待评估推荐算法的评估指标的值。

可选地,评估指标包括评分准确度和/或使用准确度;

其中,评分准确度包括以下至少一项:

均方根误差;

平均绝对误差;

其中,使用准确度包括以下至少一项:

查准率;

真阳性率;

假阳性率;

真阴性率。

可选地,若评估指标包括评分准确度以及使用准确度,推荐效果的评估模块具体用于:

基于使用准确度确定对各用户的推荐命中权重;

基于推荐命中权重以及评分准确度,确定待评估推荐算法的推荐效果。

可选地,偏好数据获取模块具体用于:

获取用户对待推荐对象的操作行为;

基于操作行为确定用户对待推荐对象的偏好数据。

可选地,偏好数据获取模块在基于操作行为确定用户对待推荐对象的偏好数据时,具体用于:

基于预设的量化评价规则,并基于各操作行为的操作数据,确定待推荐对象的偏好数据。

可选地,偏好数据获取模块具体用于:

发起对待推荐对象的调研DEMO;

基于调研DEMO的结果,确定用户对待推荐对象的偏好数据。

可选地,上述装置还包括:

预处理模块,用于在基于偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标之前,对偏好数据进行预处理,预处理用于降低偏好数据的稀疏性;

预处理包括以下至少一项:

将所对应的操作行为的操作数据不满足预设阈值的偏好数据过滤;

对偏好数据进行降维处理;

对偏好数据进行降噪处理。

可以理解的是,本实施例中的推荐效果的评估装置的上述各模块具有实现图1中所示的实施例中的推荐效果的评估方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述推荐效果的评估装置的各模块的功能描述具体可以参见图1中所示实施例中的推荐效果的评估方法的对应描述,在此不再赘述。

本申请实施例提供了一种电子设备,包括处理器和存储器;

存储器,用于存储操作指令;

处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的推荐效果的评估方法。

作为一个示例,图3示出了本申请实施例所适用的一种电子设备的结构示意图,如图3所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。

其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。

处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器2003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的推荐效果的评估方法。

本申请实施例提供的电子设备,适用于上述方法任一实施例,在此不再赘述。

本申请实施例提供了一种电子设备,与现有技术相比,基于用户对待推荐对象的偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标,从而根据评估指标对待评估推荐算法的推荐效果进行评估。基于本方案,能够对推荐算法的推荐效果进行有效评估,实现对推荐算法的有效甄别,保证推荐算法实际应用时的有效性。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的推荐效果的评估方法。

本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,在此不再赘述。

本申请实施例提供了一种计算机可读存储介质,与现有技术相比,基于用户对待推荐对象的偏好数据,并基于交叉验证的方式确定待评估推荐算法的评估指标,从而根据评估指标对待评估推荐算法的推荐效果进行评估。基于本方案,能够对推荐算法的推荐效果进行有效评估,实现对推荐算法的有效甄别,保证推荐算法实际应用时的有效性。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 推荐效果的评估方法、装置、电子设备及可读存储介质
  • 效果评估方法、装置、电子设备及可读存储介质
技术分类

06120112964702