Content-Based Recommendation Systems
Michael J. Pazzani1 and Daniel Billsus2
- Rutgers University, ASBIII, 3 Rutgers Plaza
New Brunswick, NJ 08901
pazzani@rutgers.edu
- FX Palo Alto Laboratory, Inc., 3400 Hillview Ave, Bldg. 4
Palo Alto, CA 94304
billsus@fxpal.com
Abstract. This chapter discusses content-based recommendation systems, i.e., systems that recommend an item to a user based upon a description of the item and a profile of the userrsquo;s interests. Content-based recommendation systems may be used in a variety of domains ranging from recommending web pages, news articles, restaurants, television programs, and items for sale. Although the details of various systems differ, content-based recommendation systems share in common a means for describing the items that may be recommended, a means for creating a profile of the user that describes the types of items the user likes, and a means of comparing items to the user profile to determine what to recommend. The profile is often created and updated automatically in response to feedback on the desirability of items that have been presented to the user.
1 Introduction
A common scenario for modern recommendation systems is a Web application with which a user interacts. Typically, a system presents a summary list of items to a user, and the user selects among the items to receive more details on an item or to interact with the item in some way. For example, online news sites present web pages with headlines (and occasionally story summaries) and allow the user to select a headline to read a story. E-commerce sites often present a page with a list of individual prod-ucts and then allow the user to see more details about a selected product and purchase the product. Although the web server transmits HTML and the user sees a web page, the web server typically has a database of items and dynamically constructs web pages with a list of items. Because there are often many more items available in a database than would easily fit on a web page, it is necessary to select a subset of items to display to the user or to determine an order in which to display the items.
Content-based recommendation systems analyze item descriptions to identify items that are of particular interest to the user. Because the details of recommendation sys-tems differ based on the representation of items, this chapter first discusses alternative item representations. Next, recommendation algorithms suited for each representation are discussed. The chapter concludes with a discussion of variants of the approaches,
P. Brusilovsky, A. Kobsa, and W. Nejdl (Eds.): The Adaptive Web, LNCS 4321, pp. 325 – 341, 2007. copy; Springer-Verlag Berlin Heidelberg 2007
326 M.J. Pazzani and D. Billsus
the strengths and weaknesses of content-based recommendation systems, and direc-tions for future research and development.
1.1 Item Representation
Items that can be recommended to the user are often stored in a database table. Table 10.1 shows a simple database with records (i.e., “rows”) that describe three restau-rants. The column names (e.g., Cuisine or Service) are properties of restaurants. These properties are also called “attributes,” “characteristics,” “fields,” or “variables” in different publications. Each record contains a value for each attribute. A unique iden-tifier, ID in Table 10.1, allows items with the same name to be distinguished and serves as a key to retrieve the other attributes of the record.
Table 10.1. A restaurant database
ID |
Name |
Cuisine |
Service |
Cost |
10001 |
Mikersquo;s Pizza |
Italian |
Counter |
Low |
10002 |
Chrisrsquo;s Cafe |
French |
Table |
Medium |
10003 |
Jacques Bistro |
French |
Table |
High |
The database depicted in Table 10.1 could be used to drive a web site that lists and recommends restaurants. This is an example of structured data in which there is a small number of attributes, each item is described by the same set of attributes, and there is a known set of values that the attributes may have. In this case, many machine learning algorithms may be used to learn a user profile, or a menu interface can easily be created to allow a user to create a profile. The next section of this chapter discusses several approaches to creating a user profile from structured data.
Of course, a web page typically has more information than is shown in Table 10.1, such as a text description of the restaurant, a restaurant review, or even a menu. These may easily be stored as additional fields in the database and a web page can be cre-ated with templates to display the text fields (as well as the structured data). However, free text data creates a number of complications when learning a user profile. For exam-ple, a profile might indicate that there is an 80% probability that a particular user would like a French restaurant. This might be added to the profile because a user gave a posi-tive review of four out of five French restaurants. However, unrestricted text fields are typically unique and there would be no opportunity to provide feedback on five restau-rants described as “A charming cafeacute; with attentive staff overlooking the river.”
An extreme example of unstructured data may occur in news articles. Table 10.2 shows an example of a part of a news article. The entire article can be treated as a large unrestricted text field.
Table 10.2. Part of a newsp
剩余内容已隐藏,支付完成后下载完整资料
基于内容的推荐系统
Michael J.Pazzani和Daniel Billsus12
1 罗格斯大学,阿斯比尔,罗格斯广场3号
新泽西州新不伦瑞克08901
帕扎尼@rutgers.edu
2 FX Palo Alto Laboratory,Inc.,3400 Hillview Ave,Bldg.4号楼
加利福尼亚州帕洛阿尔托94304
billsus@fxpal.com公司
摘要。本章讨论基于内容的推荐系统,即基于项目描述和用户兴趣概要向用户推荐项目的系统。基于内容的推荐系统可用于各种领域,从推荐网页、新闻文章、餐馆、电视节目和待售物品等。尽管不同系统的细节不同,基于内容的推荐系统共享一种描述可能被推荐的项目的方法,一种创建描述用户喜欢的项目类型的用户配置文件的方法,以及一种将项目与用户配置文件进行比较以确定推荐内容的方法。配置文件通常是根据对已提交给用户的项目的可取性的反馈自动创建和更新的。
1、引言
现代推荐系统的一个常见场景是用户与之交互的Web应用程序。通常,系统向用户显示项目的摘要列表,用户在项目中选择以接收项目的更多详细信息或以某种方式与项目交互。例如,在线新闻网站提供带有标题的网页(有时还有文章摘要),并允许用户选择标题来阅读文章。电子商务网站通常会提供一个包含单个产品列表的页面,然后允许用户查看有关所选产品的更多详细信息并购买该产品。尽管Web服务器传输HTML并且用户看到一个网页,但是Web服务器通常有一个项目数据库,并用项目列表动态构造网页。由于数据库中可用的项目通常比网页上容易容纳的项目多,因此有必要选择要显示给用户的项目子集,或确定显示项目的顺序。
基于内容的推荐系统分析项目描述,以确定用户特别感兴趣的项目。由于建议系统的细节因项目表示不同而有所不同,本章首先讨论替代项目表示。接下来,讨论适合于每种表示的推荐算法。本章最后讨论了各种方法,基于内容的推荐系统的优点和缺点,以及未来研究和开发的方向。
1.1、项目代表
可以推荐给用户的项通常存储在数据库表中。表10.1显示了一个简单的数据库,其中包含描述三个RESTAU范围的记录(即“行”)。列名称(例如,烹饪或服务)是餐厅的属性。这些属性在不同的出版物中也称为“属性”、“特征”、“字段”或“变量”。每个记录包含每个属性的值。表10.1中的ID是一个唯一的标识符,它允许区分具有相同名称的项,并作为检索记录其他属性的键。
表10.1 餐厅数据库
身份证件 |
名字 |
美食 |
服务 |
成本 |
10001 |
迈克披萨 |
意大利人 |
计数器 |
低 |
10002 |
克里斯咖啡馆 |
法语 |
表 |
培养基 |
10003 |
贾可小酒馆 |
法语 |
表 |
高 |
表10.1中描述的数据库可用于驱动列出并推荐餐馆的网站。这是结构化数据的一个例子,其中有少量的属性,每个项都由同一组属性描述,并且有一组已知的属性值。在这种情况下,可以使用许多机器学习算法来学习用户配置文件,或者可以轻松创建菜单界面来允许用户创建配置文件。本章的下一节将讨论从结构化数据创建用户配置文件的几种方法。
当然,网页通常比表10.1中显示的信息更多,例如餐厅的文本描述、餐厅评论,甚至菜单。这些可以很容易地存储为数据库中的附加字段,并且可以使用模板创建网页来显示文本字段(以及结构化数据)。但是,在学习用户配置文件时,自由文本数据会造成许多复杂情况。例如,一个配置文件可能表明有80%的概率,一个特定的用户想要一家法国餐馆。这可能会被添加到配置文件中,因为一个用户对五分之四的法国餐馆进行了姿势检查。但是,不受限制的文本字段通常是独一无二的,因此没有机会对五个被称为“迷人的咖啡馆,有细心的工作人员可以俯瞰河流”的餐厅提供反馈。
不受限制的文本(如新闻文章)是非结构化数据的示例。与结构化数据不同,没有定义好值的属性名。此外,自然语言的全部复杂性可能存在于文本领域,包括多义词(同一个词可能有多种含义)和同义词(不同的词可能有相同的含义)。例如,在表10.2中的文章中,“灰色”是一个名称而不是颜色,“电源”和“电源”指的是相同的基本概念。
许多域最好用半结构化数据表示,其中有些属性具有一组受限制的值和一些自由文本字段。处理自由文本字段的常见方法是将自由文本转换为结构化的表示。例如,每个单词都可以被视为一个属性,布尔值指示该单词是在文章中还是一个整数值指示该单词在文章中出现的次数。
许多处理无限制文本的个性化系统使用一种技术来创建一种源自文本搜索系统的结构化表示[34]。在这种形式主义中,单词的根形式通常是通过一个称为词干的过程来创建的,而不是使用单词。词干的目标是创建一个反映诸如“计算”、“计算”、“计算机”、“计算”和“计算机”等词背后共同含义的术语。与术语相关联的变量的值是表示重要性或相关性的实数。这个值称为tf*idf权重(术语频率乘以文档反向频率)。文件D中t项的tf*idf权重w(t,d)是文件中t频率的函数
表10.3 TF*IDF表10.2中物品的表示
当然,这种表示并不捕获使用单词的上下文。它会丢失描述中单词之间的关系。例如,对牛排馆的描述可能包含一句话,“菜谱上没有蔬菜塔里安喜欢的东西”,而对素食餐馆的描述可能会提到“素食主义者”而不是素食主义者。在一个手工创建的结构化数据库中,美食属性值为“素食者”将表明餐厅确实是素食者。相反,当将非结构化文本描述转换为结构化数据时,单词veterian并不总是表示餐馆是素食者,而单词veterian的缺失并不总是表示餐厅不是素食餐馆。因此,创建处理结构化数据的用户配置文件的技术需要与处理自动和不精确地转换为结构化数据的非结构化数据或非结构化数据的技术稍有不同。
使用单词作为术语的一个变体是使用一组连续单词作为术语。当然,诸如“all but”这样的术语也将被包括在内,但人们希望这些术语的权重非常低,就像“all”和“but”单独具有较低的权重,并且不是表10.3中最重要的术语。
2、用户配置文件
大多数推荐系统都使用用户兴趣的概要。此配置文件可能包含许多不同类型的信息。这里,我们集中讨论两种类型的信息:
1. 用户首选项的模型,即对用户感兴趣的项目类型的描述。这个描述有许多可能的替代表示,但是一个常见的表示是一个函数,对于任何项目,它预测用户对该项目感兴趣的可能性。为了提高效率,此功能可用于检索用户最感兴趣的n个项目。
2. 用户与推荐系统交互的历史记录。这可能包括存储用户已查看的项目以及有关用户交互的其他信息(例如,用户是否购买了项目或用户提供了项目的变更)。其他类型的历史记录包括保存用户键入的查询(例如,用户在90210邮政编码中搜索意大利餐馆)。
用户交互历史有几种用途。首先,系统可以简单地显示最近访问过的项目,以方便用户返回这些项目。第二,系统可以从推荐系统中过滤出用户已经购买或阅读的项目。在基于内容的推荐系统中,历史的另一个重要用途是作为创建用户模型的机器学习算法的训练数据。下一节将讨论学习用户模型的几种不同方法。这里,我们简要描述了手动提供推荐系统所使用的信息的方法:用户定制和基于规则的推荐系统。2
在用户定制中,推荐系统提供一个界面,允许用户构建自己兴趣的表示。通常,复选框用于允许用户从已知的属性值中进行选择,例如餐厅的CUI sine、最喜爱的运动队的名称、新闻网站的最喜爱的部分或最喜爱的电影类型。在其他情况下,表单允许用户键入项目的自由文本描述中出现的单词,例如,用户感兴趣的mu sician或作者的名称。一旦用户输入了这些信息,就可以使用一个简单的数据库匹配过程来查找满足指定criteria的项目,并将它们显示给用户。
用户自定义系统有几个限制。首先,他们需要来自用户的ef-fort,很难让许多用户做出这样的努力。当用户的兴趣发生变化时,这是非常正确的,例如,用户可能不会在赛季中关注足球,而是对超级碗感兴趣。第二,定制系统不提供确定显示项目顺序的方法,并且可能会发现要显示的匹配项目太少或太多。
图10.1显示了Amazon.com上的图书推荐。尽管亚马逊通常被认为是协作推荐的一个很好的例子(见本书第9章[35]),但是用户的部分档案可以被视为基于内容的档案。例如,Amazon包含一个称为“Favorites”的功能,它表示用户首选的项目类别。这些收藏夹可以通过跟踪用户购买的项目类别来计算,也可以由用户手动设置。图10.2显示了一个用户自定义界面的示例,用户可以在其中选择类别。
在基于规则的推荐系统中,推荐系统具有根据用户历史推荐其他产品的规则。例如,一个系统可能包含一个规则,该规则向购买该系列早期产品的人推荐书籍或电影的续集。另一个规则可能会向购买早期CD的用户推荐由艺术家制作的新CD。基于规则的系统可能会捕获提出建议的几个常见原因,但它们不能提供与其他建议系统相同的详细个性化建议。
2 当然,在某些情况下,推荐用户购买的商品是合适的,而在其他情况下则不是。例如,当推荐用户拥有的CD或DVD时,系统应继续推荐磨损或消耗的项目,如刀片或打印墨盒。
图10.1 亚马逊网站的图书推荐。
图10.2 亚马逊用户定制
3、获取用户模型
从用户历史中建立用户偏好模型是一种分类学习的形式。分类学习者的训练数据被分为两类,例如二进制类别“用户喜欢的项目”和“用户不喜欢的项目”。这可以通过明确的反馈来实现,在这种反馈中,用户通过一些收集反馈的界面来评价项目,也可以通过观察用户的交互情况来实现。第四项。例如,如果用户购买了某个项目,则表示该用户喜欢该项目,而如果用户购买并返回该项目,则表示该用户不喜欢该项目。一般来说,这是一种权衡,因为隐式方法可以收集大量数据,但对于用户是否真的喜欢这个项目存在一些不确定性。相反,当用户明确地对项目进行评分时,培训数据中几乎没有噪音,或者没有噪音,但是用户倾向于只对与之交互的项目的一小部分提供明确的反馈。
图10.3显示了一个带有明确用户反馈的推荐系统示例。Choicestream的推荐人“MyBestBets”是一个基于网络的面对面电视推荐系统。用户可以单击拇指向上或向下按钮,以指示他们是否喜欢建议修改的程序。必要时,该系统需要明确的反馈,因为它不与电视相集成[1],并且不能通过观察用户的行为来推断用户的利益。
图10.3。使用明确反馈的推荐系统
下一节将回顾一些分类学习算法。这种算法是基于内容的推荐系统的关键组成部分,因为它们学习一个为每个用户的兴趣建模的函数。给定一个新项目和用户模型,函数预测用户是否对该项目感兴趣。许多分类学习算法都创建了一个函数,该函数可以估计用户喜欢看不见的项目的概率。这种概率可用于排序建议列表。或者,算法可以创建一个直接预测数值的函数,如兴趣程度。
下面的一些算法是为处理结构化数据而设计的传统机器学习算法。当它们操作自由文本时,自由文本首先通过选择术语的小子集作为属性转换为结构化数据。相比之下,其他算法设计用于高维空间,不需要特征选择的预处理步骤。
4、决策树和规则归纳
ID3[31]等决策树学习者通过递归地将训练数据(在本例中是文本文档)划分为子组来构建决策树,直到这些子组仅包含单个类的实例。分区是通过对某些特性的测试形成的——在文本分类的上下文中,通常是单个词或短语的存在或不存在。预期信息增益
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[19817],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。