当前位置:   article > 正文

AI上推荐 之 基于内容的推荐(ContentBasedRecommend)_基于内容的推荐会使用到word2vec技术吗

基于内容的推荐会使用到word2vec技术吗

1. 前言

随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战:

  • 信息消费者:如何从大量的信息中找到自己感兴趣的信息?
  • 信息生产者:如何让自己生产的信息脱颖而出, 受到广大用户的关注?

为了解决这个矛盾, 推荐系统应时而生, 并飞速前进,在用户和信息之间架起了一道桥梁,一方面帮助用户发现对自己有价值的信息, 一方面让信息能够展现在对它感兴趣的用户前面。 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协同过滤,矩阵分解,LR, FM, FFM, GBDT)到深度学习的浪潮之巅(DNN, Deep Crossing, DIN, DIEN, Wide&Deep, Deep&Cross, DeepFM, AFM, NFM, PNN, FNN, DRN), 现在正无时无刻不影响着大众的生活。

推荐系统通过分析用户的历史行为给用户的兴趣建模, 从而主动给用户推荐给能够满足他们兴趣和需求的信息, 能够真正的“懂你”。 想上网购物的时候, 推荐系统在帮我们挑选商品, 想看资讯的时候, 推荐系统为我们准备了感兴趣的新闻, 想学习充电的时候, 推荐系统为我们提供最合适的课程, 想消遣放松的时候, 推荐系统为我们奉上欲罢不能的短视频…, 所以当我们淹没在信息的海洋时, 推荐系统正在拨开一层层波浪, 为我们追寻多姿多彩的生活!

这篇文章又回到了传统的推荐方式协同过滤的时代了, 因为最近刚好学习到基于内容的推荐和基于回归模型的推荐, 之前在刚开始学习协同过滤的时候, 其实也了解过这两种推荐方式, 但当时并不是太了解具体是怎么做的, 这次又重温了一下, 知道了里面的一些实施细节, 所以借机会整理一下。

今天首先是看一下基于内容的推荐方式, 这种推荐方式是非常直接的, 它是以物品的内容描述信息为依据做出的推荐, 本质上是基于对物品和用户自身的特征或者属性直接分析和计算。 再白话一点, 就是事先先给出物品的画像和用户的画像, 这样, 我们就能根据用户喜欢什么直接给用户推荐物品, 这也是一种非常简单和快捷的方式,例如,假设已知电影A是一部喜剧,而恰巧我们得知某个用户喜欢看喜剧电影,那么我们基于这样的已知信息,就可以将电影A推荐给该用户。 (PS:之前从福哥的口中了解到,虽然现在深度学习模型很火, 但大多数还停留在理论的研究阶段,真正能够应用到实践中的并不是太多,因为模型本身的部署比较复杂,且对于数据, 设备等要求也非常高, 对于中小规模的公司来讲,早期的一些简单的推荐方法可以作为初版推荐系统的不二之选, 所以有时候还是有必要学习一下那些简单推荐方式的思想的, 而基于内容的推荐的思想就挺简单的哈哈)。

之前学习的时候, 也是停留在理论阶段, 也知道先构建物品画像(给物品打标签)和用户画像(给用户打标签),然后实施推荐。 但是并没有理解到一些细节,比如如何给物品打标签, 如何给用户打标签? 如何解决物品冷启动问题? 等, 所以这次想通过之前用到过的比较简单的movielens数据集, 来走一波基于内容的推荐流程, 这里面会涉及到tf-idf技术, word2vec技术, doc2vec技术等, 所以通过这次的学习, 收获还是蛮大的, 把之前的知识也串联了一下。

关于movidlens数据集和任务, 这是一个基于用户对看过的一些电影的 评分情况给用户实施电影推荐的一个任务, 详细的可以参考之前的文章或者资料,这里就不过多描述了。因为之前也用协同过滤, 矩阵分解等完成过这个任务, 这里主要是基于内容的走一下这个推荐流程:

  1. 建立物品画像
    1. 基于用户给电影打的tag和电影的分类值,得到每一部电影的总标签
    2. 求每一部电影标签的tf-idf值
    3. 根据tf-idf的结果, 为每一部电影选择top-n(tf-idf值较大)的关键词作为整部电影的关键词
    4. 最后得到了 电影id— 关键词 — 关键词权重
  2. 建立倒排索引
    1. 这个是为了能够根据关键词找到对应的电影, 好方便得到用户画像之后(用户喜欢啥样的电影)对用户进行一些推荐
  3. 建立用户画像
    1. 看用户看过哪些电影, 基于前面的物品画像找到电影对应的关键词
    2. 把用户看过的所有关键词放到一起, 统计词频, 每个词出现了几次
    3. 出现次数最多的关键词作为用户的兴趣词, 这个就是用户的画像
  4. 根据用户的兴趣词, 基于倒排表找到电影, 就可以对用户实施推荐了。

上面就是基于内容推荐的整个流程, 这篇文章会走一遍这个流程, 但是再走之前,需要介绍到一些技术, 首先是tf-idf技术, 这是一种在自然语言处理领域中应用比较广泛的一种算法。可用来提取目标文档中,并得到关键词用于计算对于目标文档的权重,并将这些权重组合到一起得到特征向量。这里会再次介绍一下Tf-idf的原理。 然后走一遍基于内容推荐的整体流程, 最后,针对物品的冷启动问题, 再介绍两种比较经典的技术, 一个叫做Word2Vec, 另一个叫做Doc2Vec, 这里也会整理他们的细节部分, 并实现这个模型完成影片的推荐, 重点是看看这俩模型是如何使用的。

这篇文章会很长, 这里给出目录大纲, 各取所需即可

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/86403
推荐阅读
相关标签