应用场景 - 个人化推荐(Personalization)


  • Lv 1

    【MongoDB应用场景】

    应用场景 - 个人化推荐(Personalization)

    1. 前言:
    如果你已经大略了解过MongoDB的架构与特性,你或许会有些疑问,诸如:「MongoDB可以给我带来什么样的实质帮助?」、「到底有哪些场景适用于MongoDB呢?」。
    事实上MongoDB对于许多大数据存储与应用都是可以支持的,本篇将着重在《MongoDB为何可运用在个人化推荐场景上》的说明,同时更进一步的带着大家一起了解如何使用如此强大的Nosql 数据库。

    2. 什么是个人化推荐?
    我们试着想象一下,如果你是住在热带国家的炎热城市,时常气温高达摄氏35~40度。基本上你的衣柜里面不会有厚重的外套,但当你在逛网络购物平台时,平台上出现满满的冬装广告给你时,你会有什么反应?反之,在寒冷的严冬,网站却一股脑儿的推荐比基尼给你时,相信你的额头上可能要冒出青筋吧。
    如果你逛的是服装购物网站,在你挑选衣物前,网站就已经推荐一些你会有兴趣的商品给你;或是在观看网络节目频道时,网站主动分析并列出你有兴趣的节目,这不是省去很多浏览的时间和精神吗?从另一个角度来说,做为网站业者,也可以透过推荐系统很精准的投递兴趣商品给用户,间接提高消费意愿。

    3. 个人化推荐简易流程(可同步参考下图):
    第一步: 收集使用者个人资料与使用者操作行为,用于后续分析个人化的重要依据。
    第二步: 根据个人数据结合其他外部数据源,如:各地每日气温、降雨量、各地人均收入…等。
    第三步: 以收集的数据透过推荐算法取得每个消费者的推荐标签,决定推荐内容。
    第四步: 将标签记录于用户个人信息中。
    第五步: 用户再次访问平台时,依个人信息中标签结果给予适当的商品推荐。

    0_1478158541256_個人化推薦簡易流程.jpg

    4. 选择MongoDB来实现个人化推荐的理由:
    文档模式: 用户的个人资料结构容易持续变更,当数据量大时,MongoDB在调整结构上比一般数据库容易许多。
    高吞吐量: 用户的个人数据量极大,且存取频繁,适合在MongoDB集群上实现。
    高扩展性: 需要能支持随时且容易的大数据量存储扩展及存取效率提升。
    丰富的查询功能: 商业类数据通常需要针对部份数据做统计与聚类计算,因此需要具备便易的查询功能。
    空间索引: 对于有地域性的商业需求,MongoDB提供了二维空间索引(Geospatial Indexing),透过索引建立,我们可以轻易找出距离某地点最近的其他地点。
    实时分析: 可以实现直接在MongoDB里面进行数据分析,或是将初步的数据分析聚合后再利用外部分析工具进行二次分析。
    Hadoop/Spark整合: MongoDB与Hadoop/Spark有一定程度的集成,可透过链接器(Connector)将数据传到Hadoop/Spark平台进行分布式分析运算。
    价格: MongoDB企业版的license拥有绝对的低价优势。

    5. 结语:
    本篇主要强调MongoDB如何良好的应用在推荐系统的实践上,因此对于推荐算法就没有太多的着墨,各位如果好奇想进一步的了解,可以以关键词”推荐算法”到搜索引擎上查找,有许多诸如协同过滤的算法可以参考。


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待