1.3 数据和知识资源
推荐系统是信息处理系统,为了实现推荐,该系统会积极收集各种数据。数据主要是关于推荐的物品和收到这些推荐结果的用户,但是由于推荐系统获得的数据和知识来源可能区别很大,它们最终是否可以被利用取决于推荐技术(见1.4节)。这种推荐技术将在本手册的不同章节中有更加清晰的阐述(详见第11章)。
通常,有的推荐技术用的知识(领域)较少,如只用到用户评分或者对物品的评价等一些简单且基础的数据(第4、5章)。其他的技术则依赖于更多的知识,如利用用户或物品的本体性描述(第3章),或者约束性条件(第6章),或者用户的社交关系和行为活动(第19章)。在任何情况下,推荐系统使用的数据一般指的是三种对象:物品、用户和事务,也就是用户和物品的关系。
物品。物品是被推荐的对象集。物品具有复杂性和有价值或效用的特点。如果物品对于用户是有用的,那么物品的作用就是积极的;否则如果物品对于用户不适合,那物品的作用就是消极的,从而导致用户在选择时做出错误决定。我们注意到,当一个用户需要获得一个物品时,他总会付出代价,其中包括搜索物品的认知代价和最终为物品支付的费用。
例如,一个新闻推荐系统的设计师必须考虑新闻物品的复杂性,即新闻的结构、文本表述和任何新闻物品的时变重要性。但是推荐系统的设计者必须意识到,即使用户没有花钱阅读新闻,他们还是为搜索并阅读这些新闻物品付出了认知上的代价。如果选择的物品和用户相关,这个代价就被用户得到有用信息的收益覆盖了,可一旦不相关,推荐物品对用户的净价值就是负面的
在其他领域,如汽车或者金融投资,当选择最恰当的推荐方法时,物品真正的货币成本成为一个考虑的重要因素。
复杂度低且价值小的物品是:新闻、网页、书籍、光盘、电影。复杂度高且价值大的物品是:数码相机、手机、个人电脑等。我们通常认为最复杂的物品是保险政策、金融投资、旅游、工作[72]。
根据其核心技术,推荐系统可以使用物品集的一系列属性和特征。例如,在电影推荐系统中,我们可以使用电影种类(如喜剧、悲剧等)信息、导演信息和演员信息来描述电影,并用于弄清楚物品的效用是如何依赖其特征的。物品集可以用各种信息和表述方法来表示,如可以简约到单一的ID码,或者丰富到为一组属性,甚至是该领域本体表示中的一个概念(第3章)。
用户。正如前面提到的那样,推荐系统的用户可能有非常不同的目的和特点。为了使推荐结果和人机交互个性化,推荐系统使用用户的一系列信息。这种信息可以用不同的方式组织,而且同样的是,选择哪种信息建模取决于推荐技术。
例如,在协同过滤中,所有用户被建模为一个简单的列表,该列表包含每个用户对若干个物品的评分记录。在基于人口统计学的推荐系统中,会用到如年龄、性别、职业和受教育程度等社会统计学特征。用户数据用来构成用户
模型[21,32]。用户模型简明扼要地描述了用户的特征,即对用户偏好和需求进行编码。不同的建模方法已经在推荐系统中得到应用,在一定意义上,推荐系统可以被看作一个构建并使用用户模型来产生推荐的工具[19,20]。如果没有一个实用的用户模型,个性化推荐是不可能的(除非推荐系统本身就是像top10那样是非个性化的),因此用户模型起到非常重要的作用。例如,再次考虑协同过滤方法,要么用户被直接描述为他对物品的评价记录,要么系统根据该用户的评分记录构建一个因子向量,不同用户之间的
区别是这些因子权重在他们模型中的差别(第4、5章)。
用户也可以通过他们的行为模式数据来描述,如网站浏览模式(在基于Web的推荐系统中)[107]或旅游搜索模式(在旅游推荐系统中)[60]。此外,用户数据包括用户间的关系,如用户间的信任级别(第20章)。推荐系统能利用这些信息给用户推荐物品集,而这些物品集也是相似用户或可信任用户所喜欢的。
事务(transaction)。我们一般将一个事务看作用户和推荐系统进行交互的一条记录。人机交互过程中产生的这种类似日志的数据存储着重要的信息,并且这些数据对系统中推荐生成算法是有用的。比如,事务日志可能会涉及用户选择物品,以及特定推荐所处上下文描述信息(如用户的目的和查询词)。如果可能,事务也会包括用户提供的显式反馈,如对选择物品的评分。
实际上,评分是推荐系统收集交易数据最流行的方式。这些评分可能是用显式或者隐式的方式收集的。收集显式评分时,用户需要在某个评级尺度内给出自己对物品的看法。根据[93],评级可以采用各种方式:
数字评分,就像Amazon.com的书籍推荐系统中的1到5星的评价。
序数评价,例如,“强烈同意,同意,一般,不同意,强烈反对”,用户在
其中选择最能代表自己观点的术语(一般是通过问卷调查)。
二元制评价,用户仅仅被要求确定一个物品的好或者不好。
一元制评价,用来表示用户已经看到或者买了一个物品,或由此对物品进行明确的评价。在这种情况下,评分值的缺失意味着关联用户和物品的信息是未知的(也许用户在其他地方买了这个物品)。
另一种评价的形式就是关联用户和物品的标签。例如,在Movielens推荐系统(http://movielens.umn.edu)中,标签表示Movielens用户对电影的感觉,例如,“太长”或“表演不错”。第19章侧重讲解这类交互行为。
从事务中隐式收集用户评级,系统的目标是根据用户的行为推断用户的意图。例如,如果用户在亚马逊网站输入“瑜伽”进行搜索,那么她将得到关于
书的一个很长的列表。作为回报,用户为了获得额外信息会单击列表中的书。从这点上看,系统可以推断用户对那本书有一定的兴趣了。
在会话(conversational)系统中,即支持交互过程的系统中,交易模型更加精确。在这些系统中,用户请求和系统行为交替出现(见第13章)。更准确地说,用户请求一个推荐,系统就产生一个推荐列表。但是系统仍然需要额外的用户偏好信息,以期产生更好的结果。在这个交易模型中,系统收集各种请求—响应信息,并且最终通过观察推荐过程的结果来修改系统的交互策略[60]。