基于社会化标注的用户兴趣挖掘
扈维, 张尧学, 周悦芝
清华大学 计算机科学与技术系, 信息科学与技术国家实验室, 北京 100084
张尧学, 教授, E-mail:zhangyx@mail.tsinghua.edu.cn

作者简介: 扈维(1986-), 男(汉), 北京, 博士研究生。

摘要

用户兴趣挖掘是实现个性化推荐与智能化服务的关键问题。Web2.0引入的社会化标注可以反映用户的潜在兴趣。该文提出一种基于用户标注行为的兴趣建模方法,根据用户与标签的交互模式反映用户的兴趣倾向。从用户对不同标签的“认同度”和“依赖度”两方面衡量用户的标签兴趣,并使用“标签基因”对用户的兴趣进行细粒度分解。来自真实用户数据的实验结果表明,该方法可以有效提高用户兴趣的预测准确度和覆盖率,创建的兴趣模型更加符合用户的真实情况。

关键词: 用户模型; 社会标注; 兴趣挖掘
中图分类号:TP391.1 文献标志码:A 文章编号:1000-0054(2014)04-0502-06
User preference mining based on social tagging
Wei HU, Yaoxue ZHANG, Yuezhi ZHOU
National Laboratory of Information Science and Technology, Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China
Abstract

User preference mining is one of the key problems in personalized recommendations and intelligent services. Social tagging in web2.0 reflects the user's potential interests. This paper presents a user preference modeling method based on social tagging that predicts user preferences based on interactions between user and tag. The user's “degree of recognition” and “dependency” on an individual tag are combined to evaluate the user's tag preference. The user's interest is then decomposed into a fine-grained result using a “Tag Genome”. Tests based on real data demonstrate that this method significantly improves prediction accuracies and coverage to more accurately match the user's real interests.

Keyword: user model; social tags; data mining

随着网络信息和服务的日益增加,用户很容易迷失在海量数据中,难以准确找到自己真正需要的内容。推荐系统旨在发现用户的潜在需求,为用户提供可能感兴趣的信息、商品或服务[1]。为了提供个性化的推荐结果,推荐系统需要根据用户信息和历史行为,挖掘用户的特征、偏好和需求,创建用户兴趣模型[2]。许多商业网站都在尝试使用不同的方法和途径获取更多的用户信息,从而更准确地把握用户的关注点。可以说,挖掘更多的用户兴趣信息,创建准确的用户兴趣模型,是一个推荐系统成功的关键。

在推荐系统的相关研究中,用户对物品的评分信息作为用户表达态度的途径,常被用来创建用户兴趣模型[3,4]。除了评分之外,近年来许多网站因为增加了用户创建标签(又称为社会化标注)而受到欢迎,如Delicious、 Flickr、 豆瓣社区等。标签是用户描述、整理、分享网络内容的一种新颖的方式[5], 同时也反映出用户自身的兴趣和态度。标签为创建用户兴趣模型提供了一种全新的途径。使用标签描述用户兴趣具有以下几个优点: 1) 更细的粒度。由于标签是对物品的解释和描述,因此用户对标签的态度,可以被看成用户对物品不同属性的态度。2) 更好的解释性。标签由于具有语义信息从而可以进行更易理解的推荐解释。比如,在电子商务网站进行商品推荐时,“推荐物品 A是因为 A具有属性 m n, 同时您喜爱 m n”, 这种推荐解释比目前Amazon等多数网站使用的“推荐物品 A是因为您购买(或浏览)了物品 B”具有更好的合理性和接受度。3) 话题性。不同的标签组合可以构成不同的兴趣话题[6], 方便用户在网络社区中找到适合自己的交际圈和兴趣组。

目前关于标签和用户兴趣的研究中,文[7]将标签与传统协作过滤相结合,一定程度上解决了经典算法中数据稀疏性的问题。文[8]提出将共现技术引入自然法的用户建模方法,考虑了标签间的关联性。文[9]利用TF-IDF(term frequency-inverse document frequency)算法[10]计算标签的相似性,并提出了用户聚类方法。上述研究均从数量上考虑了用户和标签的关系,认为使用越多的标签用户越喜欢。然而实际情况中,用户打标签的行为并非代表用户喜爱一个标签自身,有时甚至是为了表达不满的情绪。

针对上述问题,本文提出了一种新颖的基于用户标注行为的兴趣挖掘方法,通过分析用户的历史标注行为,从用户对标签的“认同度”和“依赖度”两个方面衡量用户对于不同标签的喜好程度。实验证明该方法能更准确地表达用户兴趣模式,更符合用户的真实喜好。

1 用户的标签认同度

本文定义标签认同度为用户对一个标签的主观喜爱程度。对它预测的关键在于如何理解和计算用户的真实态度。对于标签认同度,可以使用二元关系表示喜欢或不喜欢,或者用连续数值表示喜欢的程度。二元关系的方法简单明了,但不够精确,区分度低。本文选用连续数值的方法表示标签认同度。用户的态度可以通过分析具有态度倾向的行为得出。例如,如果一个用户为多部拥有某一标签的电影打了高分,系统就会推断这个用户对这个标签有着积极的态度倾向。本文使用用户对物品的评分作为用户的态度。这是因为在绝大多数商业网站中,都具有评分模式供用户表达观点。并且相关研究[11]表明,相比二元关系的表达方式,用户更倾向于使用细粒度的评价体系。

1.1 标签评分算法

为了预测用户对标签的认同度,需要把用户对物品的评分传递给这个物品所拥有的标签,传递的分值根据物品与标签的相关度计算而得,如图1所示。然后再计算一个标签的所有评分的加权平均值,即为用户对标签的评分。

为方便说明,采用电影社区作为实例。用户为多部电影打分(1~5分), 同时可以为每一部电影添加任意数量的标签。1分代表最不喜欢, 5分代表最喜欢。把用户对电影的评分分配给与这部电影

相关的每个标签,分配的分值取决于标签和电影的相关度即越相关的标签受到评分的影响越大。比如用户A为《泰囧》这部电影打了5分的高分,标签“喜剧”和“爱情”与《泰囧》的相关度分别是0.9和0.3, 则标签“喜剧”比“爱情”可以从这次高分评价中获得更多的“奖励”。这里要说明的是,有的标签并不是用户喜欢一部电影的理由,却也从高分中“沾光”。独立的看一次评分行为会出现这种不准确的情况,但如果从统计层面来分析较大数量的评分,结果依然是准确的。

下面形式化地表示该方法,如图2所示。令 U={ u1, u2,}为所有用户集合, I={ i1, i2,}为所有物品集合, T={ t1,, t2,}为所有打给物品的标签集合。令 Iu表示用户 u打过评分的所有物品集合, rat( u, i)为用户 u给物品 i的评分, ru¯为用户 u所有评分的算术平均值。用户 u对标签 t的评分rat( u, t)计算如下:

其中: rel( t, i)为 t i的相关度, k为平滑因子。 k的作用在于减小评分数量较少的用户的预测误差。加入 k后,预测值将更接近用户所有评分的平均值而不会因为一两个不准确的评分导致预测准确度的大幅下降。

图2中,假设 ru1¯ =4, 设定 k=1, 则 u1 t1的预测评分计算式为

rat(u1,t1)=(3×0.3+5×0.5++4×1.0++2×0.9)+4×1(0.3+0.5++1.0++0.9)+1.

1.2 标签基因

就像每个生命体都是由一串基因序列组成的一样,在信息空间中每个物体也可以被看作与其相关的标签的集合[12]。rel( i, t)以从0(完全不相关)到1(完全正相关)的连续值衡量一个标签与一个物品的符合程度。例如在电影领域, rel(泰囧,喜剧) = 0 .90, rel(让子弹飞,喜剧) =0 .70, rel(金陵十三钗,喜剧) =0 .02。

标签基因是GroupLens研究组的一个开放项目。文[13]中详细介绍了如何根据用户贡献的内容通过机器学习的方法来创建标签基因数据库,创建了一个分层回归模型,利用标签、评分、评论等用户贡献的信息预测(item, tag)二元对的值。标签基因的基础是由专家用户利用经验提供的50 203对(item, tag)关系值。

采用标签基因为 I中的每个物品 i计算出一个标签向量rel( i), 其元素是 i T中所有标签的相关度。这里, rel( i)相当于用标签作为基因描绘出了不同物品的基因图谱。形式化的表达如下:

rel(i)=[rel(i,t1),rel(i,t2),rel(i,tp)],tkT.(2)

选用标签基因来表示标签与物品的关系有以下三个原因。1) 它提供了从0到1的连续数值。2) 关系矩阵是稠密的。它定义了每个标签 t T与每个物品 i I的相关度。3) 它是基于真实数据构建的。

2 用户的标签依赖度

标签依赖度是指用户与一个标签进行直接交互的次数占该用户总标注次数的比例。次数越多,用户越喜爱使用这个标签进行标注。虽然使用一个标签不代表用户喜爱标签本身,但却一定程度上反映出用户对标签的依赖程度。本文使用文本处理领域常用的TF-IDF算法来反映用户对标签的使用依赖度。

2.1 标签频率

首先使用TF(tag frequency)来表示标签的使用频率。令 n( u, t)表示 u使用 t标注物品的次数, TF( u, t)表示 t的使用次数占 u的所有标签使用次数的比例。

TF( u, t)反映了 u t的关联程度。TF( u, t)越大,说明 u越习惯使用 t, 或者说越依赖 t

2.2 热门惩罚

目前在商业网站中,标签的使用存在着“马太效应”,即热门的标签由于被展示次数较多变得越来越热门,而冷门的标签会越来越冷门。大多数用户标注的标签都集中在一个很小的集合内,而大量长尾标签则较少有用户使用。事实上,较冷门的标签才能更好地体现用户的个性和特点。为了抑制这种现象,更好地体现用户的个性化,本文使用逆向文件频率(IDF)来对那些热门的标签的进行数值惩罚。

IDF( u, t)表示了 t的热门程度,即一个标签被不同用户使用的几率。对于一个标签而言,如果使用过它的用户数量很少,但某一个用户却经常使用它,说明这个用户与这个标签的关系很紧密。

由于热门的标签如“动作”、“爱情”等几乎所有用户都会使用,而冷门标签如“犯罪心理学”往往只有几个用户使用过。因此式(4)中的对热门标签的惩罚效果过于显著,导致冷门标签具有了过大的优势。本文使用神经网络中经典的Sigmoid非线性函数将IDF的惩罚效果降低到一个合理的范围内。Sigmoid函数的曲线图见图3, 其计算公式为

Sigmoid(x)=11+e-cx.(5)

本文取 c=1, 经过Sigmoid处理后的IDF取值范围为(0 .5,1), 将对热门标签的惩罚效果缩小到了合理的范围。

综合考虑,标签依赖度是标签频率经过对热门标签惩罚处理后的结果,表示为

freq(u,t)=TF(u,t)Sigmoid(IDF(u,t)).(6)

3 用户兴趣建模

基于标签的用户兴趣建模流程如图4所示。利用标签对物品评分和标签基因计算用户的标签认同度。根据标签频率通过热门惩罚生成标签依赖度。标签认同度和依赖度共同构成用户的标签兴趣。

3.1 计算用户标签兴趣

标签认同度反映了用户对一个标签的喜爱程度,标签依赖度反映了用户与一个标签的交互频率。定义 u t的兴趣为

tag_pref(u,t)=rat(u,t)freq(u,t)maxfreq(u,t).(7)

通过对freq( u, t)进行标准化,可以把标签兴趣的预测分值控制在用户习惯的区间[0,5]中。

3.2 标签兴趣的呈现

根据上述算法预测每个用户对所有标签的评分,并从高到低排序。每个用户的标签兴趣是一个二元组向量 u, 其向量空间模型为 (t1,pref(u,t1)),(t2,pref(u,t2)),,(tn,pref(u,tn))。在本文的系统中,标签兴趣以可视化的方式呈现给用户,每个兴趣模型由5个评分最高的标签和兴趣程度组成, 5个标签的前后位置随机决定。用户对标签的兴趣程度以显示条的形式呈现,这样比数值更加直观。如果用户不喜欢某个标签,可以点击后边的删除按钮,系统会从其余标签中选择用户最喜欢的一个替换上来。在准备工作中,已经对同义标签和歧义标签进行了预处理。标签兴趣的呈现如图5所示。

4 实验与分析
4.1 数据集

本文采用美国明尼苏达大学MovieLens电影社区中的真实用户数据进行试验。MovieLens是著名的电影推荐网站,其中的每个用户至少对20部电影进行过1 ~5星的评分。目前已经有超过21万的用户进行评价。在2006年, MovieLens加入了标签功能,截止目前已经有7 164个用户为14 316部电影打了29 799个不同的标签。本文从中筛选出评分大于50次,同时打标签超过30个的1 123名用户的信息。为了控制计算量,选取了标签基因数据库中和每部电影最相关的10个标签。

4.2 评价方法

为了准确评价本文的兴趣模型是否符合用户的真实兴趣,没有采用传统的评价方法。本文利用MovieLens的平台对筛选出的用户发送邀请进行关于标签兴趣的用户调查。有11 .9%的用户共134人参与了调查。

在用户调查中,向每个用户展示一系列标签,并询问用户对具有这些标签元素的电影的喜爱程度,按由低到高用1 ~5分表示, 1分为最不喜爱, 5分为最喜爱。每个用户需要评价至少60个标签。调查结果中,每个用户平均评价117个标签; 1和2分各占13%, 3分占22%, 4分占17%, 5分占6%, 其余为不确定。在评价标准中,规定4和5分为喜欢,其余为不喜欢。通过Top -N准确率和覆盖率来评判算法的好坏。Top -N准确率是指预测的用户喜欢的标签中有多少比例的标签是用户真实喜欢的,比例越高算法越准确。Top -N准确率公式为

Precision@N={TopN_tags}{Like_tags}{TopN_tags}.(8)

其中: TopN_tags是算法预测用户最喜欢的前 N个标签, Like_tags是用户实际喜欢的标签。

覆盖率反映了算法发掘长尾的能力:

Coverage@N={TopN_tags}{All_tags}.(9)

其中All_tags是所有用户打过的全部标签。

4.3 实验结果与分析

本文设计了3组实验来验证本文提出的标签兴趣算法。第一组将本文的算法与目前常用的两种算法进行比较。第二组测试使用标签基因作为权重对结果的影响。第三组测试加入热门惩罚的影响。

图6中rating_avg是将一个用户对具有某个标签的所有物品的评分取算数平均值,作为用户对标签的评分。tag_tf是以用户使用标签的频率作为对标签的评分,频率越高评分越高。tag_pref是本文提出的算法。通过3种算法的Top -N准确率曲线可以看出,随着 N值的增加(从1到10), 准确率明显下降,说明了3种算法都能有效地根据用户的喜爱程度对标签排序,最喜爱的标签会获得高分排在前边。另外,tag_pref和tag_tf曲线在 N>5时下降趋势放缓,是因为用户最喜爱的标签集中在 N<5的区间内,这个区间内用户对每个标签的喜爱程度差别明显。而在5 <N<10这个“比较喜欢”的区间,对每个标签的喜爱程度差别不大。对比这3种算法, tag_pref的预测准确度高于另外2种对比算法的约12%, 而且这2种对比算法的准确率很相近。

图7所是上述3种预测算法的覆盖率情况。其中, tag_pref算法覆盖率比其他两种对比算法的高出15%以上,说明tag_pref算法具有更好的发掘长尾标签的能力,能为用户提供具有惊喜度的结果。

图8中, tag_genome是在rating_avg的基础上增加了标签基因作为标签与物品的相关度。通过对比可以看出,使用标签基因可以提高预测的准确度,且 N越小效果越明显。但总体提高的幅度只有约3%, 这是因为本文只选取了每部电影最相关的10个标签,这些标签与电影相关度的差别并不大。如果增加每部电影的相关标签数量,结果会有所提高,但同时计算量也会大幅增加。

图9中, tf是以使用标签的频率作为评分的方法, tf_idf为tf方法中加入热门惩罚的结果。通过对比可以看出,加入热门惩罚可以有效提高预测准确度约8%, 说明用户对于个性化结果的需求超过对于流行趋势的需求。

5 结 论

挖掘用户潜在兴趣是提供个性化推荐的关键。随着Web2 .0的发展,社会化标注已经成为许多网站中用户体现兴趣与偏好的途径。本文提出了一种基于社会标注的用户兴趣建模方法,从标签“认同度”和标签“依赖度”两方面衡量用户对于标签的兴趣程度。实验证明该方法可以更准确地预测用户的标签兴趣,创建的兴趣模型更加符合用户的真实情况。

下一步的主要工作是利用本文创建的用户兴趣模型进行内容推荐与推荐解释。

The authors have declared that no competing interests exist.

参考文献
[1] Adomavicius G, Tuzhilin A. Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions [J]. IEEE Transactions on Knowledge and Data Engineering, 2005, 17(6): 734-749. [本文引用:1] [JCR: 1.815]
[2] Godoy D, Amandi A. User profiling in personal information agents: a survey[J]. The Knowledge Engineering Review, 2005, 20(04): 329-361. [本文引用:1]
[3] Resnick P, Iacovou N, Suchak M, et al. GroupLens: an open architecture for collaborative filtering of netnews [C]// Proceedings of the 1994 ACM conference on Computer supported cooperative work. North Carolina: ACM, 1994: 175-186. [本文引用:1]
[4] Herlocker J L, Konstan J A, Terveen L G, et al. Evaluating collaborative filtering recommender systems[J]. ACM Transactions on Information Systems (TOIS), 2004, 22(1): 5-53. [本文引用:1]
[5] Vig J, Soukup M, Sen S, et al. Tag expression: tagging with feeling [C]// Proceedings of the 23nd annual ACM symposium on User interface software and technology. New York, NY: ACM, 2010: 323-332. [本文引用:1]
[6] Li X, Guo L, Zhao Y E. Tag-based social interest discovery [C]// Proceedings of the 17th international conference on World Wide Web. Beijing: ACM, 2008: 675-684. [本文引用:1]
[7] 王卫平, 王金辉. 基于Tag和协同过滤的混合推荐方法[J]. 计算机工程, 2011, 37(14): 34-35.
WANG Weiping, WANG Jinhui. Hybrid recommendation method based on tag and collaborative filtering[J]. Computer Engineering. 2011, 37(14): 34-35. (in Chinese) [本文引用:1]
[8] 夏宁霞, 苏一丹, 覃华, . 社会化标签系统中个性化的用户建模方法[J]. 计算机应用, 2011, 31(6): 1667-1670.
XIA Ningxia, SU Yidan, QIN Hua, et al. Method for personalized user profiling in social tagging systems[J]. Journal of Computer Applications, 2011, 31(6): 1667-1670. (in Chinese) [本文引用:1] [CJCR: 0.886]
[9] 韩敏, 唐常杰, 段磊, . 基于 TF# IDF 相似度的标签聚类方法 &[J]. 计算机科学与探索, 2010, 4(3): 240-245.
HAN Min, TANG Changjie, DUAN Lei, et al. TF-IDF similarity based method for tag clustering[J]. Journal of Frontiers of Computer Science & Technology, 2010, 4(3): 240-245. (in Chinese) [本文引用:1] [CJCR: 0.384]
[10] Ramos J. Using tf-idf to determine word relevance in document queries [C]// Proceedings of the FirstInstructional Conference on Machine Learning. Piscataway, NJ: CS536, 2003: 235-239. [本文引用:1]
[11] Cosley D, Lam S K, Albert I, et al. Is seeing believing?: how recommender system interfaces affect users' opinions [C]// Proceedings of the SIGCHI conference on Human factors in computing systems. Ft. Lauderdale, FL: ACM, 2003: 585-592. [本文引用:1]
[12] Vig J, Sen S, Riedl J. Computing theTag Genome, MC2010319 [R]. Minneapolis, MN: University of Minnesota, 2010. [本文引用:1]
[13] Vig J, Sen S, Riedl J. Thetag genome: Encoding community knowledge to support novel interaction[J]. ACM Transactions on Interactive Intelligent Systems (TiiS), 2012, 2(3): 13. [本文引用:1]