《Recommender System An Introduction》,第四章,基于知识的推荐。
协同过滤和基于内容推荐的方法的主要优势在于,可以以相对较小的代价获取和维护这些知识。
但是,在一些场景下,比如房屋、汽车、计算机等商品,协同系统会因为评分数据少而效果不好;或者时间跨度因素也很重要的情况,用户偏好随着各种状况而变化等;这些场景就不是协同过滤和基于内容推荐擅长解决的。
基于知识的推荐系统可以解决这些问题,它不需要评分数据,因此不存在启动问题。基于知识推荐交互性很强,所以是一种会话式系统。基于知识推荐不仅仅是一种过滤系统,而是更为广义上“以一种个性化方法引导用户在大量潜在候选项中找到感兴趣或有用的物品,或者产生这些物品作为输出结果”的系统。
基于知识推荐系统的两种基本类型是:基于约束推荐和基于实例推荐。
它们的推荐过程相似:用户必须指定需求,然后系统设法给出解决方案。如果找不到解决方案,用户必须修改需求。此外,系统还要给出推荐物品的解释。
它们的不同之处在于:如何使用所提供的知识。基于实例的推荐系统着重于根据不同的相似度衡量方法检索出相似的物品,基于约束的推荐系统依赖明确定义的推荐规则集合。
基于知识的系统依赖物品特性的详细知识。
基于约束的推荐问题一般可以表示为由约束求解器解决的约束满足问题,或者通过数据库引擎执行并解决的合取查询形式。基于实例推荐系统主要利用相似度衡量标准从目录中检索物品。
约束满足问题(CSP)的求解过程,根据CSP算法和推荐知识库,就可以构建基于约束的推荐系统。
基于约束的推荐系统,会涉及如下的变量和约束条件:
(1)用户属性(Vc):描述潜在的用户需求
(2)产品属性(Vprod):按照分类描述产品的属性
(3)一致性约束条件(Cr):定义了允许范围内的用户属性比例
(4)过滤条件(Cf):定义了在哪种条件下应该选择哪种产品
(5)产品约束条件(Cprod):定义了当前有效的产品分类
(6)合取查询:和以上不同,合取查询是将一组挑选标准按照合取方式连接起来的数据库查询
基于实例的推荐方法利用相似度检索物品,相似度可以描述物品属性与某些给定用户需求之间的匹配程度。这这相似度的计算,根据不同的场景,有一些比较通用的计算公式。
(1)用户指定自己的最初偏好
(2)当收集了足够有关用户需求和偏好的信息,会提供给用户一组匹配产品,用户可以选择要求系统解释为什么会推荐某个产品
(3)用户可能会修改自己的需求
这些帮助推荐系统和用户交互的技术,有助于提高应用的可用性,在推荐结果的信任度、满意度及结果之类方面达到更高的用户认可。
(1)默认设置:推荐默认值、选择下一个提问
(2)处理不满意的需求和空结果集
(3)提出对未满足需求的修改建议
(4)对基于物品/效用推荐结果的排序 :根据物品对用户的效用进行排序很重要,由于首位效应,用户会更关注并选择列表开头的物品,这种排序会显著提高推荐应用的信任度和用户的购买意愿。在基于知识的会话式推荐系统中,物品排序根据的是多属性效用理论,依据每个物品对用户的效用来评价。
用户在找不到解决方案时,可以求助于判定结果和修改。
默认值能够给出合理的候选方案,有助于明确需求,其负面作用是滥用默认值操纵用户。
基于效用排序有助于在结果页面上对信息单元排序,修改判定结果和修改成分提供的候选方案,以及对推荐物品解释的排序。
这些概念形成一个工具集,有助于更好地实现基于约束的推荐应用。
与基于约束的推荐类似,早起基于实例的推荐采用的也是纯粹基于查询的方法,用户需要指定(经常是反复指定)他们的需求,知道发现目标物品。对于非专业认识,弄清物品的专业属性很困难,基于此,人民提出了基于浏览的方法来检索物品。假设用户不知道自己在找什么,这这方法为其导航。评价就是一种非常有效的导航方法,也是基于实例推荐系统的关键概念。
(1)评价:其基本思想是,用户以当前待审核物品(录入物品或推荐物品)未满足的目标来指明他们的修改要求
(2)混合评价
(3)动态评价
(4)高级的物品推荐方法
(5)评价多样性
这个推荐过程也是有很多计算公式,计算流程在里面,用到之时可以深入研究。
这个推荐的过程,实际还是非常非常像商品检索过程。
基于知识的推荐,其推荐应用的质量取决于底层知识库的质量,其过程也很依赖于用户的反馈。然后有两种类型:
(1)基于约束的推荐:强调推荐时的约束规则
(2)基于实例的推荐:强调根据用户最初的搜索结果,以及逐步的评价(可以理解为就是选择更多查询条件),推荐出更多结果。其实很像条件检索。