zoukankan      html  css  js  c++  java
  • 《推荐系统》--基于内容的推荐


    《Recommender System An Introduction》,第三章,基于内容的推荐。


    概要


    “推荐相似用户喜欢的物品”,基于内容推荐则可描写叙述成“推荐与用户过去喜欢的物品相似的物品”。因此,推荐系统的任务还是(基于用户记录)预測用户是否喜欢自己没有见过的物品。

    基于内容的推荐。必须依赖关于物品和用户偏好的额外信息。但它不须要巨大的用户群体或评分记录。也就是说,仅仅有一个用户也能够产生推荐列表。

    在实际生产中,人工获取物品的特征,须要非常多成本。

    在文本文档推荐中,比方新闻或网页。绝大多数的基本如果是物品的特征可以自己主动从文档内容本身或无结构的文本描写叙述中抽取。

    因此。基于内容推荐系统的典型样例是比較候选文章的主要关键词和用户过去高度评价过的其它文章中出现的关键词来推荐新文章。对应地,可以被推荐的物品常常指的就是“文档”。

    基于内容和基于知识的推荐系统并没有明白界限,有些作者甚至觉得基于内容是基于知识的子集。

    传统分类方案中。基于内容推荐系统的特点是着重于利用物品描写叙述信息,而基于知识推荐系统则通常会有一些附加的因果知识来生成推荐。比方某个有用功能。

    本节中,讨论基于内容的推荐。关注的算法側重于推荐文本描写叙述的物品。并能自己主动“学习”用户记录(基于知识的推荐系统一般是显示询问用户的偏好)。


    内容表示和相似度


    最简单的方法


    物品特征:维护每一个物品特征的具体列表(也叫属性集、特征集或物品记录),比方,对于推荐图书,能够是体裁、作者、出版社等;

    偏好记录:通过询问,用户评分。或者分析文档,得出用户偏好记录。

    这样,推荐要做的就是将物品特征和用户偏好匹配起来。

    基于内容推荐的一般工作原理是。评估用户还没看到的物品与当前用于喜欢的物品的相似程度。

    典型相似度度量方法会用到Dice系数,它必将适合多值特征集合。原则上。依据实际面临的问题。各种相似度測量方法都是可行的。


    向量空间模型和TF-IDF


    严格说,以上方法中,关于出版社、作者等并不能算事图书的“内容”,仅仅能算事附加知识。

    一直以来。基于内容推荐系统。都被用来过滤并推荐基于文本的物品,比方电子邮件或新闻。

    基于内容推荐的标准不是去维护一列“元信息”特征,而是使用一列出如今文档中得相关关键词。

    所以,它的主要思想是,可以从文档内容或没有限制的文字描写叙述中自己主动生成这种列表

    文档内容--》关键词列表的方法:

    (1)维护文档的关键词列表,和用户记录的相似列表。之后计算兴趣和文档的重合程度就能够推荐。其缺陷是由于文档越长,词的重叠几率会越大,结果,推荐系统会更倾向于推荐长文档。

    (2)TF-IDF转换,TF-IDF是信息检索领域的成熟技术,代表词频和反文档频率。这是有标准的计算公式的。。

    。(凡是有公式的地方。都先略过,在算法节补充:))。

    。。

    在TF-IDF模型中。文档不是表示为每一个关键词的布尔值向量,而是算出的TF-IDF值向量。


    向量空间模型的改进及局限


    (1)停用词和词干还原

    (2)精简规模

    (3)短语

    (4)局限:没有考虑到关键词的上下文,在某些情况下没有正确体现描写叙述的含义。


    基于内容相似度检索


    依赖“向量-空间文档表示模型”的最为常见的技术:


    近期邻


    k近期邻方法(kNN)。长处:相对易于实现。可高速适应新近编号,仅仅要有相对较少的评分数据就能得到一定的推荐之类;缺点:纯粹kNN方法比其它更复杂的技术的预測精准度要低。


    相关性反馈--Rocchio方法


    其思想来源于20世纪60年代后期开创性的信息检索系统SMART。SMART的特点是:用户不能仅仅提交给系统基于关键词的查询。还要反馈检索结果是否相关。有了反馈的帮助,系统可以从本质上扩展查询词,并改进下一轮检索的查询结果。

    了解就可以,没有有用则先不深入研究。


    其它文本分类方法


    另一种确定用户是否对一个文档感兴趣的方法。即将这类问题看做分类任务,分为“喜欢”和“不喜欢”两类。把基于内容的推荐任务表示成分类问题后,原则上就能够应用各种标准的(有监督)机器学习技术,这样一个智能的系统会自己主动决定用户是否会对某个文档感兴趣。有监督学习意味着算法依赖现成的训练数据。


    基于概率模型的方法


    早起文本分类系统最著名的分类方法是概率论。

    这些方法基于服从条件如果的朴素贝叶斯方法(词出如今文档中),并被成功部署于基于内容的推荐系统。


    其它线性分类器和机器学习


    (1)Widrow-Hoff算法

    (2)支持向量机器(SVM)


    显示决策模型


    另外两种已用于构建基于内容推荐系统的学习技术是:决策树和规则归纳法。其独特之处在于训练阶段生成显示的决策模型。


    特征选择


    以上的技术都是依赖于向量表示文档和IF-IDF权重。直接使用的话,去除停用词并还原词干后,文档向量还是会非常长。并且非常稀疏(每一个文档中仅仅用到非常少一部分词语)。会导致性能、内存问题。导致过拟合。

    有必要仅仅用文档集中全部词的一个子集分类。

    这个选择可用词子集的过程叫做特征选择。


    对照和局限


    对照


    在实验室中小数据量下,以正确分类的文档比例作为衡量精准度的标准。算法对照结果例如以下:

    决策树学习算法在既定条件下表现也不突出。并且“近期邻”方法在某些领域表现非常差;贝叶斯和Rocchio方法在全部领域都总是表现良好,并且没有明显差别;採用非线性激活函数的神经网络方法,效果也不明显。

    以上仅是实验室评估,演示而已,详细生产中得效果评估。是须要客观的评估方案及苹果结果进行佐证的。不同的场景表现都会不尽同样。

    评估结果似乎对贝叶斯算法情有独钟,觉得:在測试领域表现良好(即使条件独立的如果不成立),并且它的学习和预測过程相对较快。

    并且似乎在分类器中仅仅用布尔文档表示法(而不是TF-IDF权值),也不会显著影响推荐精准度。


    局限


    (1)浅层内容分析:比方推荐网页时。除了文本内容,还有非常多其它方面。比方美观、时效、图片、音视频等。

    (2)推荐结果新颖性:基于学习的方法非常快就会倾向给出同样的推荐。会推荐与当前用户正面评价的物品比較相似的物品,导致推荐大路货。因此,有人提出,既要过滤不相似的,也要过滤太相似的,整体目标是提高推荐列表的惊喜度。由于意料之外的物品对用户的价值偏低。避免单调的简单方法是“随机插入记录”。

    (3)获取评分:冷启动问题依旧存在。在全部的过滤技术中。推荐精准度随着评分数量添加而提高。有研究表明。当评分数在20-50之间时,学习算法的效果会显著提升。

    非常多领域,初始阶段,能够要求用户提供一列关键词,能够是从主题列表中挑选,也能够是在文本框里自由输入。


    小结


    基于内容推荐,相比协同过滤,不须要借助用户群体信息,可是须要通过显示反馈或者隐式反馈获取用户偏好。也须要考虑怎样对待新用户。

    基于内容推荐的方法,大多数方法都来源于信息检索(IR)领域。由于信息过滤或文本分类的典型IR任务都能够看做是某种推荐应用。

    这些方法都是基于显示或隐式的反馈学习出用户兴趣偏好的模型。在各种机器学习技术的帮助下能够达到非常好的推荐精准度。

    基于内容和基于知识推荐的典型不同是:基于内容推荐一般针对文本文档或其它可以自己主动抽取特征的物品,并而且会使用一些学习技术;知识为基础的系统主要依靠外部信息。

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    MySQL教程22-字符串类型
    MySQL教程21-日期和时间类型
    MySQL教程20-小数类型
    MySQL教程19-整数类型
    MySQL教程18-数据类型简介
    ActiveMQ_topic
    ActiveMQ_消费者编码
    ActiveMQ_生产者编码
    ActiveMQ介绍
    管理docker容器
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4882460.html
Copyright © 2011-2022 走看看