zoukankan      html  css  js  c++  java
  • 淘宝推荐系统

    一、推荐系统概念

    1、推荐系统定义

    维基百科:推荐系统属于资讯过滤的一种应用。推荐系统能够将可能受喜好的资讯或实物(例如:电影、电视节目、音乐、书籍、新闻、图片、网页)推荐给使用者。

    推荐系统大体可分为两类,即个性化推荐和非个性化推荐。

    2、推荐系统作用

    从用户角度:

    • 提高用户忠诚度
    • 帮助用户快速找到商品

    从网站角度:

    • 提高网站交叉销售能力
    • 提高成交转化率

    好的推荐系统更像一个有经验的网站导购员

    3、推荐系统与其他系统的区别

    推荐与搜索

    相同点:帮助用户找到商品

    不同点:搜索是通过用户主动输入的关键字进行查询。推荐则是用户在浏览网站的过程中,不一定需要用户输入,根据当前网页的上下文进行个性化的信息输出。

    推荐与广告

    相同点:基于用户行为

    不同点:广告目的是帮助商家推广商品等,推荐系统帮助用户找到想要的商品等。

    推荐与SNS

    相同点:它们都有基于人群的共同点产生推荐

    不同点:一个是机器,一个是人工

    4、推荐系统的主要产品

    • 同类或者相关商品、店铺推荐
    • 买了还买、看来还看等
    • 猜你喜欢
    • 群体信息披露
    • 热门排行榜
    • etc

    二、推荐系统的组成

    1、数据

    • explicit(显式):能准确的反应用户对物品的真实喜好,但需要用户付出额外的代价。如:用户收藏、用户评价。
    • Implicit(隐式):通过一些分析和处理,才能反映用户的喜好,只是数据不是很精确,有些行为的分析存在较大的噪音。如:用户浏览、用户页面停留时间、访问次数。

    2、算法

    • 离线:用户类目偏好、用户购买力分析、关联性分析、相似矩阵计算等等
    • 在线:排序、过滤、增量计算

    算法需要配合大量业务规则,没有最好,只有更好!

    3、消息系统

    消息系统是大型系统不可或缺的重要组成部分,与其他系统解耦,消息转发。

    4、搜索引擎

    主要功能是进行文本分析抽取关键词,作为推荐系统的一个信息检索技术内容相关性匹配。

    5、NoSQL

    简单、高性能、方便定制

    6、分布式计算

    使用MapReduce , Hive、Hadoop进行大规模数据统计和运算和大数据集合的ETL

    三、淘宝的推荐系统

    1、淘宝数据特点

    • 数据量巨大:数百万店铺、数亿激活用户、数亿的在线商品、数十亿的收藏信息…
    • 商品问题:同一类商品多个卖家、标类非标类、类目属性正确性、恶意收藏、刷信誉…

    2、淘宝推荐系统应用场景

    目前覆盖大小场景60多个,主要包括

    • Detail 浏览了还浏览
    • 收藏夹弹出层推荐
    • 购物车弹出层推荐
    • 已买到宝贝你可能感兴趣
    • 淘宝无线应用
    • EDM(重复购买提醒)
    • 各个垂直频道
    • 个性化list排序
    • 开放平台api

    淘宝业务产品丰富,推荐功能穿插其中,推荐功能涵盖的范围更广,很多场景推荐算法与业务规则相关。

    3、淘宝推荐系统算法

    ①基础算法:聚类算法,预测算法,分类算法等,主要用于产生基础知识库

    • 预测算法:logistic 回归,通过以点击率为目标,以商品,卖家等因素作为指标,建立预测模型构建淘宝优质宝贝库
    • 分类算法:朴素贝叶斯,商品性别判断(男性,女性,中性),用户性别判断
    • 聚类算法:人群,用户细分,用于降维

    ②推荐算法:content-based,collaborative-based,Association Rules等等

    基于内容推荐:通过给用户和商品标注Tag,通过内容匹配算法,推荐商品给用户

    • 优点:简单,搜索引擎支持,解决部分冷启动问题
    • 缺点:难以区分商品信息的品质,而且不能为用户发现新的感兴趣的商品,只能发现和用户已有兴趣相似的商品

    协同思想

    • 优点:新奇特,个性化程度高
    • 缺点:冷启动,稀疏性

    关联规则:类目的相关性、商品相关性、人的相关性

    4、推荐系统的效果评测

    • Offline: 给定输入输出,验证系统的输出
    • Online : ABTest (衡量指标:CTR GMV 转换率)

    5、淘宝推荐系统的设计

    • 提供统一的平台管理各个推荐模块
    • 提供高性能分布式存储
    • 提供算法的AbTest和效果统计
    • 提供灵活算法配置

    ①   分布是存储:Treasure

    • 存储云梯(hadoop)上对用户、商品等原始数据分析的结果
    • 云梯周期性同步,无实时更新
    • 为推荐系统提供ABTest存储支持
    • 可直接存储部分推荐算法的结果供推荐使用
    • 动态部署

    ②调度系统

    • 负责周期性云梯(hadoop)任务调度
    • 分布式
    • 生产者 消费者

    ③协调系统

    • Zookeeper集群
    • 智能路由
    • 线上与线下联动通知
    • Job依赖通知

    总结:推荐系统是需要不断创新并且与场景和行业有事紧密的关系

  • 相关阅读:
    leetcode — spiral-matrix-ii
    leetcode — spiral-matrix
    leetcode — maximum-subarray
    leetcode — n-queens
    leetcode — powx-n
    leetcode — anagrams
    bzoj 2194: 快速傅立叶之二 FFT
    bzoj 4503 两个串 快速傅里叶变换FFT
    Codeforces 762D Maximum path 动态规划
    Codeforces 762C Two strings 字符串
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205244.html
Copyright © 2011-2022 走看看