- 1 -
中国科技论文在线
一种适用于礼品推荐领域的基于内容推荐
算法
曹小娜*
作者简介:曹小娜(1984-10),女,硕士,通信软件与网络应用
(北京邮电大学计算机学院,北京 100876)
摘要:将个性化推荐服务应用于礼品网站是较为新颖的问题。本文立足于礼品推荐问题的特
点,实现并分析了一种适用于该领域的基于内容的推荐算法。该算法使用向量空间模型作为
用户兴趣的表示方式,使用礼品分类作为礼品领域的内容标示,利用采集到的用户浏览行为,
计算每个内容标示下的用户兴趣值,兴趣值越大代表此类内容标示与用户兴趣的相似度越
大,算法依据相似度的大小顺序作为推荐内容的优先级投送给用户。
关键词:基于内容;个性化推荐;兴趣模型
中图分类号:TP311
A Content-Based Recommendation Algorithm Suitable for
Gift Recommendation Field
Cao Xiaona
(School of Computer, Beijing University of Posts and Telecommunications, Beijing 100876)
Abstract: Personalized recommendation service applied in gift websites is a novel problem. This paper
based on characteristics of gift recommendation problem, analysis and implement a recommendation
algorithm suitable for the gift recommendation field. This algorithm uses VSM(vector space model) as
a representation of user interest, uses gifts classification as a content mark of gifts field, uses collected
user browsing behavior to calculate user interest value in each content mark. The greater the interest
value is, the content mark and user interest is more similar, the algorithm recommended contents to
users based on the similarity.
Key words: Content Based; Personalized Recommendation; Interest Model
0 引言
随着互联网的快速发展,很多用户在选择礼品时放弃了去礼品店直接选择的传统购物方
式,而是开始倾向于通过礼品网站来挑选合适的礼品馈赠亲友。由于礼品网站的信息庞杂,
用户面临着越来越严重的信息超载问题,因此将个性化推荐功能嵌入礼品网站以便帮助用户
快速做出决策成为了需要迫切解决的问题。
近年来, 各种个性化推荐系统的推荐算法主要分为基于内容推荐和协同过滤[1]两类。协
同过滤算法的基本思想是以用户兴趣的相似性为基础,把与当前用户兴趣相似的其他用户所
普遍感兴趣的内容推荐给当前用户。由于协同过滤需要大量用户对大量资源的评分数据,然
而相比于其它推荐应用,礼品推荐有着自身的特点:礼品推荐需要为新用户快速推荐礼品,
并且很多新增礼品无法获得大量的用户评分数据,因此协同过滤算法对于新用户和新增资源
的推荐方面存在局限性[2],难以应对此类冷启动问题。基于内容推荐适用于内容类别便于标
注的情况,由于礼品问题中每个礼品均属于某些分类,且礼品赠送由于存在社交性质,其礼
品赠予对象的特征、赠予场所、赠予时间均可以作为标注礼品的绝佳选择,这就使得在充分
分析礼品推荐问题特点的基础上,设计一种基于内容推荐的礼品推荐方法成为解决当前礼品
网站应对用户信息过载的可行性较高的选择。
- 2 -
中国科技论文在线
本文首先分析了基于内容推荐算法的主要思想与机制;然后分析了礼品推荐领域的特
点,并将特点在用户兴趣模型中形式化的表示出来;最后在考虑礼品推荐特点的基础上实现
了整个基于内容推荐的礼品推荐流程。
1 基于内容的推荐算法概述
基于内容过滤的推荐算法利用信息内容(如文本文档)和用户兴趣的相似性来过滤信息。
基于内容的推荐,又被称为基于信息过滤的推荐,最初源于信息检索 IR (Information Retrieve)
领域,因而其主要思想和流程均使用了许多 IR 领域的技术。基于内容的推荐的基本思想是:
对每个用户都用一个称作用户的兴趣模型(User Profile)的数据结构来描述用户喜好;对每个
项目的内容进行特征提取(Feature Extraction),提取后的特征均表示为特征向量(Feature
Vector)的形式;当需要对某个用户进行内容推荐时,把该用户的用户兴趣模型同所有项目的
特征向量进行比较得到二者的相似度,系统依据相似度的大小顺序作为推荐内容的优先级投
送给用户[3]。部分实现机制还在系统应用中不断收集用户的反馈信息以便于维护用户兴趣模
型。基于内容过滤的系统的关键在于待过滤文档或内容的特征提取(即文档或内容的形式化
表示),用户兴趣模型的表示和相似度的计算[4]。
2 推荐算法的典型工作流程
虽然推荐算法多种多样,但各种推荐算法的工作流程大致相同,主要包括如下几个部分:
数据采集、数据预处理、形成推荐结果等环节[2],如图 1 所示。
图 1推荐算法的一般工作流程
Fig. 1 Working Process of Recommendation Algorithm
数据采集
数据采集方式主要包括显式采集和隐式采集两种。其中,显式采集方式是指用户预先显
式地输入推荐算法所需要的信息,如用户爱好、用户对礼品的评分等;隐式采集方式是指根
据从用户在系统使用过程中对信息内容进行的操作信息以捕获用户兴趣,比如用户浏览或收
藏了哪些礼品,以此来分析用户的行为特性,不需要用户显示地输入任何信息。
数据预处理
数据采集阶段所获得的数据需要进行数据与处理,使之成为推荐算法可以理解和处理格
式的格式。
比较常用的存储格式包括向量空间模型(VSM) [5] ,在信息检索领域,其基本思想是假定
文本中的字和词在文本中出现的概率在内容和位置上是相互独立的,在确定文本内容的类别
时可不考虑文本结构和字词的出现顺序。向量空间模型可以将给定的文本转换成一个维数很
高的向量,其最突出的特点是可以方便地计算出两个向量的相似度,即向量所对应的文本的相
似性。在其它推荐领域也采用上述机制,只是内容的特征不再是字和词及其权重,而是与该
推荐领域特点所决定的内容特征。
- 3 -
中国科技论文在线
形成推荐结果
推荐算法是个性化推荐的核心,形成推荐是推荐算法工作流程中的核心步骤。在完成了
数据采集工作,并对数据进行预处理之后,基于用户兴趣模型表示的用户兴趣,计算所有信
息内容与用户兴趣的相似性,根据相似度计算结果就可以利用各种推荐方法进行推荐了。
3 基于内容推荐算法的实现
整体流程
如上所述,推荐算法的一般工作流程主要包括数据采集、数据预处理、形成推荐结果等
环节,每个环节的实现方式多种多样,对应的本算法的整体流程如图 2,其中“生成用户兴
趣值信息”和“分别获取 4 个情景的推荐结果”为关键步骤,该两步骤中均涉及礼品推荐领
域所拥有的特点,下文中会分别介绍。
图 2基于内容推荐算法整体流程图
Fig. 2 Flow Chart of Content-based Recommendation Algorithm
用户操作信息的采集
本算法采用的是隐式采集方式。所采集的目标信息充分考虑了礼品推荐问题的特点,因
为所有推荐的礼品均存在目标客户,即客户的属性将影响到礼品的选择,因此礼品推荐为用
户提供了 4 个情景类型(Scenario):目录、场合、性别、年龄,这四个情景类型作为系统索
引层次的第一级,从一个情景类型会进入 Content(系统二级索引),一个二级索引下面是一
个礼品的集合。图 3 是系统索引层级组织结构图。系统会采集用户通过不同情景类型进入系
统后的点击操作信息,作为数据与处理阶段的输入数据。
- 4 -
中国科技论文在线
图 3个性化礼品推荐索引层级组织结构图
Index Hierarchical Graph of Personalized Recommendation
用户的点击行为,经过系统与处理后存入数据库的 Behavior 表中。表 1 描述了 Behavior
表的数据模型。
表 1 Behavior 表结构图
Tab. 1 Structure Diagram of Behavior Table
名称 属性 描述 备注
ID Number(20) 自增 ID 主键,自增
UserId Number(20) 用户 ID
Type Varchar(100) 情景类型 共 occasion, category,
age, gender 四种
ContentId Number(20) 二级索引 ID “情景 收礼对象 类
别”下的某具体链接的 id
ContentCountNum Number(20) 点击次数 “情景 收礼对象 类
别”点击次数
GiftCountNum Number(20) 点击次数 礼品点击次数
LastModify Date 最后修改时间
用户兴趣模型的实现
本算法采用了 VSM 模型作为用户兴趣模型的形式化表示方法,根据采集到的用户操作
信息对模型复制,形成用户兴趣数据,进而基于用户兴趣数据来形成最终推荐结果。
用户模型将礼品推荐问题领域的特点融入自身表示形式,即包括:情景的浏览次数, 二
级索引的浏览次数, 礼品列表的浏览次数 3 个方面的特征组成,因此用户模型可以表示为[5]
type content gifts( , , )U m m m= (1)
式子中, typem , contentm , giftsm 分别代表情景(分为 occasion, category, age, gender 四
种)、二级索引(Content)、礼品列表(Gifts)的特征。 3 个方面分别对应各自的模型,
最后把三方面的信息进行统一,计算出每个情景-Content 索引对应用户兴趣值,按照兴趣值
进行推荐。
情景模型
情景模型[6]可以表示为
type 1 2 3 4( , , , )m D D D D= (2)
- 5 -
中国科技论文在线
1D - 4D 分别代表 occasion, category, age, gender4 个情景和各自的浏览次数, iD 可表示
为:
( , )iD k w= (3)
k 和 w 分别代表情景 ID 和对应的浏览次数。
Content 和 Gifts 模型
Content 模型可表示为
content ( , )m k w= (4)
k 和 w 分别代表 Content ID 和对应的浏览次数。
类似的,Gifts 模型可表示为
gifts ( , )m k w= (5)
k 和 w 分别代表 gift ID 和对应的浏览次数。
生成用户兴趣值信息
本文介绍的个性化推荐算法的实现,是利用上述用户兴趣模型,把情景的浏览次数, 二
级索引的浏览次数, 礼品列表的浏览次数这 3 个方面的得分加权,计算出用户对每个 Content
的兴趣值,然后根据每个 Content 权值大小的不同,按照一定比例取出该 Content 下若干条
礼品推荐给用户。其整体流程图如图 4。
图 4 用户兴趣值生成流程图
Flow Chart of Creating User’s Interest Value
兴趣值计算公式为:
*
* *
type type
content content gifts gifts
InterestValue Weight ClickNum
Weight ClickNum Weight ClickNum
= +
+ (6)
其中, typeWeight 代表情景浏览次数的权值, contentWeight 代表二级索引的浏览次数的权
值, giftsWeight 代表礼品列表的浏览次数的权值。 typeClickNum 代表情景的浏览次数,
contentClickNum 代表二级索引的浏览次数, giftsClickNum 代表礼品列表的浏览次数。经验证,
typeWeight 取值为 1, contentWeight 取值为 2, giftsWeight 取值为 5 时可以取得最好的推荐
效果,故最终兴趣值计算公式为:
- 6 -
中国科技论文在线
2* 5*type content giftsInterestValue ClickNum ClickNum ClickNum= + + (7)
形成推荐结果
上一步已获得用户对于每个情景-Content 索引下礼品的兴趣值。下一步,算法根据这些
兴趣值,计算每个情景-Content 索引下礼品应当推荐的数量,然后从数据库中取出相应个数
的礼品,推荐给用户。其整体流程图如图 5。
图 5 推荐结果生成流程图
Fig. 5 Flow Chart of Creating Recommended Results
推荐礼品个数的计算公式为:
,
1, 1
Re / *
i n j n
ij
i j
commendNum InterestValue InterestValue TotalNum
= =
= =
= ∑ (8)
其中,RecommendNum 代表该情景-Content 索引下的礼品的推荐数量,RecommendNum
代表该情景-Content 索引对应的用户兴趣值,TotalNum 代表推荐礼品的总数量。
在取得每个情景-Content 索引下礼品推荐数量之后,系统从数据库中取出相应数量的礼
品来形成推荐结果,最终系统把用户可能感兴趣的礼品通过礼品列表的形式投递给用户。
4 结论
随着互联网的飞速发展,到网上挑选合适的礼品馈赠亲友已经成为时尚。相比蓬勃发展
的电子商务,由于礼品推荐领域有自身的特点,因此具备个性化推荐功能的礼品网站还有着
非常广阔的发展空间。本文介绍了基于内容的推荐算法的概念,并在充分分析礼品推荐问题
的基础上,将礼品推荐问题的若干特点融入用户兴趣模型的表示和推荐机制,提出了适用于
礼品推荐的一种基于内容的推荐算法。该算法利用礼品推荐系统采集到的用户操作信息对用
户的兴趣信息建模,根据用户兴趣信息生成推荐结果,将用户可能感兴趣的礼品推荐给用户。
本文采用礼品分类作为礼品领域的内容标示,如何将礼品领域更多的特有属性抽取出来作为
内容标示,使产生的推荐效果更加个性化是下一步要做的研究。
- 7 -
中国科技论文在线
[参考文献]
[1] 胡慧蓉. 电子商务推荐系统中推荐技术研究[J]. 科技信息,2009,(4):329-333.
[2] 吴恒亮, 张巍巍. 电子商务推荐系统中推荐技术的比较研究[J]. 物流科技,2009,(11):57-59.
[3] 李冠宇. 基于混合算法的推荐系统的研究与实现[D]. 上海:同济大学,2008.
[4] 闵敏. 基于聚类协作过滤的商品个性化推荐系统的实现[J]. 制造业制动化,2010,32(2):157-160.
[5] 邵秀丽,乜聚科,田振雷,等(et al). 用户个性化推荐系统的设计与实现[J]. 计算机工程与设计,2009,
30(20):4681-4685.
[6] 曹毅,贺卫红. 基于内容过滤的电子商务推荐系统研究[J]. 计算机技术与发展,2009,19(6):182-185.