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

  • 相关阅读:
    nginx.conf中配置laravel框架站点
    centos6.4下安装php7+nginx+mariadb环境
    Windows Terminal 安装和运行
    微软 WSL 重装操作系统
    Pulumi 如何在 Windows 环境中设置
    Ubuntu 20.04 安装 JDK
    代码的 Lint 是什么意思
    CentOS 8 手动安装 Go 1.16 版本
    Raspberry Pi 安装 go 后提示错误 Exec format error
    系统管理--查看网卡、内存等
  • 原文地址:https://www.cnblogs.com/rhyswang/p/8326475.html
Copyright © 2011-2022 走看看