elasticsearch智能推荐系统用到的二分类模型是怎样的

发布时间:2022-01-11 16:16:46 作者:iii
来源:亿速云 阅读:304

本篇内容主要讲解“elasticsearch智能推荐系统用到的二分类模型是怎样的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“elasticsearch智能推荐系统用到的二分类模型是怎样的”吧!

1. 算法设计概览

算法方案的设计,在整体思路的指导下,先从数据调研入手,明确模型开发应用过程中需要着重关注的问题。在算法方案设计中,加入对问题的考量,以期得到优化的模型结果。

整体算法方案如下图所示:

2. 样本构造

样本构造对于任意数据挖掘场景都至关重要,推荐系统也不例外。

一般而言,用户的购买是偏少的,所以单单使用用户购买作为正样本,会导致样本量很少。为了解决这个问题,将用户有行为的课程定义为正样本,其他的定义为负样本。这些行为包括:点击、收藏、分享、加购物车、购买等,由于各种行为代表的用户对课程的偏好度是不同的,所以在后续建模中会通过样本权重的方式体现出来。

用户产生过行为的课程,只是所有课程中很小的一部分,所以如果直接把用户没有产生过行为的课程作为负样本,会导致正负样本比例严重失衡。所以在实际建模过程中,会对负样本进行抽样,根据以往的经验,抽样后正负样本比例可以设置为1:80。

3. 特征工程

本节将对特征工程的开展思路进行描述,最终采用的特征,还需要根据数据情况进行调整。以下仅供参考,具体情况可详见《标签/筛选体系》。

l 短期用户行为的特征加工

类目下课程被点击、收藏、分享、加购物车、购买等的次数

不同标签下课程被点击、收藏、分享、购买等的次数

用户近期是否点击、收藏该课程

l 课程属性特征

课程所属类目

课程所属标签

课程销量和相似课程销量均值的比值

课程价格和相似课程价格均值的比值

近期被点击次、分享、收藏、加购物车的次数

课程标题词的个数、图片个数、以及和相似课程的均值的比值

上架天数

l 用户属性特征

性别、年龄、职业、地域、app使用天数

l 用户长期偏好

矩阵分解得到的用户标签偏好

用户价格偏好

4. 模型训练

模型训练主要考虑PLM、LightGBM、FM等模型,各模型各有优劣:

l PLM 在线性模型的基础上加入分块,可以实现非线性的效果。训练和预测速度快,适应大规模稀疏特征。

l LightGBM 基于决策树的迭代式模型。适合于稠密特征,模型精度高。但训练、预测速度不高,不适用于大规模稀疏特征。

l FM 自动进行特征之间的交叉,能发现有用的特征交叉。训练和预测速度快,但本质上是线性模型,可能效果不能得到保证。

在评价指标的选择上,主要关注准确率,兼顾覆盖率,准确率考虑采用MAP@k,DDCG@k等评价指标。

在项目开展过程中对各模型进行分别调优,并根据评价指标迭代式地优化特征和模型,不断提升离线评估效果。

5. 评价指标

在评价指标的选择上,主要从用户满意度、预测准确度以及覆盖率3个方面考虑:

l 用户的满意度是评测推荐系统最重要的指标,但是用户满意度无法通过离线计算,一般通过用户调查、在线实验获取。或者可以通过分析用户行为日志计算用户满意度,大致的计算方式为:计算推荐的课程中,用户购买并且评分较高的课程的占比。

l 预测准确度是最重要的推荐系统离线评测指标,包含评分预测和TopN推荐两个方面。评分预测的预测准确度通过均方根误差(RMSE)和平均绝对误差(MAE)度量;TopN推荐的预测准确度通过准确度(Precision)和召回率(Recall)度量。

l 覆盖率(Coverage)描述的是一个推荐系统对物品长尾的发掘能力,其定义指标有2种。第一种是信息熵,计算公式如下:

这里p(i)是物品i的流行度除以所有物品流行度之和。

第二种是基尼指数,计算公式如下:

这里ij是按照物品流行度p(i)从小到大排序的物品列表中第j个物品。

另外mAP@k,DDCG@k等也是模型评测的重要指标。

在项目开展过程中对各模型进行分别调优,并权衡各项评价指标迭代式地优化特征和模型,不断提升离线评估效果。

6. 模型应用

在模型实际应用中,需要关注模型的运行效率,更新频率等方面,下面对这两个方面进行展开。

1) 预测效率

对全量的用户和课程组合进行预测的话,需要进行n*m条记录进行预测,其中n为用户数,m为课程数,非常消耗资源。所以对于单个用户,需要筛选一部分课程,只预测用户对这些课程的偏好评分。目前考虑将以下几部分课程纳入预测范围:

l 运营课程

l 热门课程

主要针对新用户,用于给他们推荐人们课程

l 用户近期常点击类目下的课程、近期常点击标签下的课程

用户近期常点击的课程,某种程度上代表了用户近期的需求

而近期常点标签,具有某种程度的发散性,比如关于品牌的标签会发散到同品牌课程,关于功用的标签会发散到同功用课程

有助于新上架课程的发现

l 基于协同过滤算法给出的推荐课程

用标签代替课程,进行基于用户的协同过滤和基于课程的协同过滤,对于推荐课程的新颖性会带来提升

2) 更新频率

目前的算法设计为一天更新一次。在每天夜里,会将今天的新数据纳入模型训练、预测的范围,包括新产生的用户行为,新课程信息,新用户数据。

因为目前模型是离线模型,用户当前新产生的行为并不会影响推荐结果,要等到第二天模型更新完成后才会产生新的推荐。

3) 场景结合

模型对商品作出预测后,会生成用户对商品的偏好得分。下面对于三个不同的场景分开进行设计。

1. 对运营商品进行推荐

首先从运营表中获取运营商品的id,接着关联用户商品评分表,获取用户对商品的偏好度,按偏好度控制app上商品的显示顺序

2. 对指定类目下商品进行推荐

首先获取指定类目下商品的id,接着关联用户商品评分表,获取用户对商品的偏好度,按偏好度控制app上商品的显示顺序。

3. 搜索推荐

通过ElasticSearch获取商品搜索相关度后,关联用户商品评分表,将用户对商品的偏好度乘以搜索相关度,得到综合评分,按该评分控制app上搜索商品的显示顺序。

到此,相信大家对“elasticsearch智能推荐系统用到的二分类模型是怎样的”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. 什么是MyCat?为什么要用到MyCat呢?
  2. Flink编程模型是怎样的

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

elasticsearch

上一篇:学习大数据的5个理由分别是什么

下一篇:MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决方法是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》