zoukankan      html  css  js  c++  java
  • Content-Based Recommender System

    Content-Based Recommender System是基于产品(商品、网页)的内容、属性、关键字,以及目标用户的喜好、行为,这两部分数据来联合计算出,该为目标用户推荐其可能最感兴趣的产品。

    有几个点值得注意:

    a、并不太关注其他用户的喜欢、行为或评分等,仅仅关注目标用户;

    b、适合于新产品的冷启动,但不适合新用户的冷启动;

    c、像电影、音乐类系统,有可能推荐给用户毫无新意的产品,从而缺乏对用户深层需求的挖掘;

    d、对于新闻类产品,则可能会抓住客户持续的爱好并进行内容提供。

    1、预处理和特征抓取(Preprocessing and Feature Extraction)

      a、特征抓取(Feature Extraction):通常将特征抓取为词库(bag of words),对于网页,则需要根据页面布局,选取出主要区块进行抓取;

      b、数据清洗(Feature Representation and Cleaning):去除无用词(Stop-Words Removal),合并相同词的不同形式(Stemming),phrases取词(Phrase Extraction)

      c、特征选取及赋权(Feature Selection and Feature Weighting): Unsupervised algorithm and Supervised Algorithm

        这里用到了TF-IDF,是一种Unsupervised Learning,基本思想是,给予在本文内频次高&在语料库中频次低的词更高的权重,但未考虑到用户喜好。

          具体参见wiki:https://zh.wikipedia.org/wiki/Tf-idf

    2、获取用户喜好(Content-Based Learning of User Profiles)

      a、我们取出目标用户已经打分的items,构建一个Matrix DL, 其中除了存放step1中抓取的所有特征外,还存放了用户对于这些items的打分

      b、我们取出用户未打分的items,构建一个Matrix DU,其中除了step1中抓取的特征外,空出用户的打分,下一步要来进行预测。

    3、过滤和推荐(Filtering and Recommendations)

      a、对于每一个DU中的items,要遍历DL,去计算每个DL_item与其相似性,相似性计算公式如下:

      b、为每个DU中的item,选出相似度最高的K个items;

      c、计算K个items的均值,也可以按照相似性作为权重,来合成目标item的得分,最终计算完成后,从DU中选出得分最高的p个items推荐给目标用户。

      ps:因为程序复杂度高,且类似新闻系统,很有可能要求运算时间,所以,在step.a遍历DL前,可以进行clustering,选出subset再计算相似性并比对

       Cosine Similarity:https://en.wikipedia.org/wiki/Cosine_similarity

       KNN:https://www.coursera.org/learn/python-machine-learning/lecture/I1cfu/k-nearest-neighbors-classification-and-regression

  • 相关阅读:
    CSP2019-S2总结
    #期望dp#洛谷 6835 [Cnoi2020]线形生物
    #树状数组,概率,离散,双指针#洛谷 6834 [Cnoi2020]梦原
    #容斥,倍数,排列组合#洛谷 2714 四元组统计
    #莫队,bitset#洛谷 3674 小清新人渣的本愿
    #贪心#洛谷 3173 [HAOI2009]巧克力
    #树链剖分,LCA#洛谷 3398 仓鼠找sugar
    #树状数组,哈希#洛谷 6687 论如何玩转 Excel 表格
    小甲鱼Python第八讲课后习题
    小甲鱼Python第七讲课后习题
  • 原文地址:https://www.cnblogs.com/rhyswang/p/8326475.html
Copyright © 2011-2022 走看看