• [推荐系统]数据之物料池排序


    引言

    推荐系统中的推荐是建立在海量数据挖掘基础上的,主要是给用户提供个性化的信息服务和决策支持,其主要作用是:

    • 降低信息过载
    • 发掘长尾
    • 提高转化率

    按照现在说法,推荐系统其实就是人,货,场中的场。主要就是将不同的信息推荐给不同的人,分为:

    • 个性化,千人千面,精准到个人一面
    • 非个性化,如热门推荐,编辑精选,相似推荐等

    从零搭建推荐系统——数据篇中所述,"将历史数据与现实流量打通,针对用户产生的行为数据挖掘出画像信息,结合物料信息共同构建出个性化的推荐模式"。


    如图所示,物料池其实就是推荐系统中的货,而上图中的例子主要是新闻类推荐,众所周知,新闻类推荐和电商类推荐两者内在还是存在诸多不同的。如电商领域,货物通过录入系统录入之后,并接受各种标签以及描述信息的填写,这类数据,也就是物料主要以hive,hbase形式存储。

    其实物料如何存储,如hive的大,但是慢,还是采用列式数据库hbase快速读取,这都取决于整个推荐系统的架构,推荐系统领域发展至今,其内部诸多功能并不是单一统一的,各个企业都有各自的考量点,如阿里妈妈的MIMN模型中,就是将不实时的部分解耦开,存储到外部,等用到再调用一样的道理。

    虽然关于物料池的排序问题主要益于搜索系统,但是推荐系统也有其用武之地,如当对物料池进行以品类进行倒排后,在召回阶段(现在都基本是多路召回)的同品类商品召回上,就十分迅速了。关于电商数据如何采集以及如何建表,可参考书籍《大数据之路 阿里巴巴大数据实践》和《大数据大创新 阿里巴巴云上数据中台之道》

    正排

    假定物料池中一个物料如下:

    用每条物料唯一的ID去取到这条物料的各种属性字段,查询这条物料的详细情况,这就是我们通常意义下的正排索引。所以如果要想知道多少物料包含某个属性,针对正排只有遍历这一条路。

    正排索引其实就是数据结构中简单的排序了,什么快排啊,归并排序啊,直接对id从小到大排序即可。

    倒排

    在推荐系统的召回阶段,我们实际要取到某个特征、主题或关键词下的所有物料,作为推荐的候选集,如文章中提到的推荐池,是基于一些规则,从整体物料库(可能会有几十亿甚至百亿规模)中选择一些item进入推荐池,再通过汰换规则定期进行更新。比如电商平台可以基于近30天成交量、商品在所属类目价格档位等构建推荐池。

    这个时候就反过来了,是由以特征为出发点去找具备这些特征的物料,这就是所谓的倒排索引。如下图就是关于文本的倒排索引的例子

    参考文献:
    从零搭建推荐系统——数据篇
    从零到一搭建推荐系统指南,神策数据
    推荐系统的中的正排和倒排

  • 相关阅读:
    MoodNotes产品分析及功能说明书
    C#探秘系列(十)WPF:打开文件选择器选择文件并保存
    C#探秘系列(九)WPF连接Mysql数据库
    C#探秘系列(八)WPF数据绑定
    C#探秘系列(七):XML文件操作(一)
    #安卓杂记(七):自定义控件及属性获取
    C#探秘系列(六)
    安卓问题报告小记(七)
    121. Best Time to Buy and Sell Stock
    566. Reshape the Matrix
  • 原文地址:https://www.cnblogs.com/shouhuxianjian/p/16377564.html
Copyright © 2020-2023  润新知