数据挖掘竞赛主题一:预测围脖的潜在关注者(腾讯赞助)
竞赛主页:http://www.kddcup2012.org/c/kddcup2012-track1
1、背景
近些年,在线社交网络发展的如火如荼,流行的站点有twitter,facebook等。在2010年4月发布以来,腾讯微博每天都有成千上万的人加入。腾讯微博作为中国最大的围脖系统之一,已经成为了人们发掘朋友共享爱好的平台。当前该平台已经拥有2亿用户,每天产生月四千万信息。这些消息为用户带来了福音,但是也难以避免的出现了信息过载的问题。如何帮助用户避免信息过载,发掘有用信息便成了数据挖掘社区探索新的数据挖掘方案的机遇。捕获用户的潜在兴趣,并且根据用户兴趣为其推荐感兴趣的对象(比如,新闻、广告、商品、游戏)将成为围脖系统的基本功能。
2、任务一描述
该预测任务是预测一个用户是否接收推荐给他的对象,这些对象可以是人、组织、商品、群或者更见泛化的事务。
3、数据集
术语约定:
“Item”(对象):推荐给用户的事务,可以是人、机构或者群。通常为从对象集合(Item set)中选择的名人、机构或者流行的群。该对象集合包含约6k个对象。
该数据集以分类的方式组织,类中包含子类,从而形成一个完整的分层结构。注意,一个对象可以属于多个类:
比如:VIP用户 李开复
vip user: http://t.qq.com/kaifulee (wikipedia:http://en.wikipedia.org/wiki/Kai-Fu_Lee)
属于两个类别,表示如下:
X.science-and-technology.internet.mobile(X 表示根目录,通常可以忽略) 和 X.business.Invest.Angel Investment.
目录中不同的级别以“."分割,该目录信息可以帮助您提升预测模型。比如,peter 关注了李开复,则可以估计peter可能对李开复所在的分类或者父类主题感兴趣。
“Tweet”: 微博,一个围脖是一个用户在围脖系统发布的一个消息。如果一个用户发布了一个微博,则其关注者可以看到。
“Retweet”: 转发,一个用户可以转发一个围脖(可以添加自己的评论也可以不添加)来同更多的人共享(他的关注者)。
“Comment”:评论,一个用户可以为一个微博添加一个评论。该评论不会自动推送给他的关注者,但是该评论会出现在被评论论微博的评论历史中。
“Followee/follower”:被关注/关注者,如果B被用户A关注,则B是一个被关注者,A是B的一个关注者。
4、数据集描述
该数据集是腾讯围脖的一个快照——为用户推荐的内容及其关注的历史信息。该数据集较之以往的公开数据集规模更大,并且包含丰富的辅助信息,比如用户的Profile(档案资料),社会关系图,对象目录等,可以有效的启发开发者的思路。
该数据集合包含上百万个用户,包含丰富的信息(用户基本资料,关键字,关注历史等),可以帮助你建立更好的预测模型。为了保护隐私,所有的用户ID采用随机数代替。同时,所有中文内容都用随机字符串和数字进行了编码,以防止理解中文的比赛者占有优势。用户的关注历史具有时间戳以方便回话分析。
两个数据集共7个text文件(可下载):
a) 训练数据集 : some fields are in the file rec_log_train.txt
b) 测试数据集: some fields are in the file rec_log_test.txt
两个文件的格式:
(UserId)\t(ItemId)\t(Result)\t(Unix-timestamp)
Result:值为 1 or -1, 1表示用户接收推荐的对象ItemId ,或者将用户加入自己的社会网络; -1表示拒绝推荐对象。(注意:训练数据集包含result值,测试数据集都用“-1”代替)
c) 用户信息包含在如下5个文件中:
i. 用户档案数据 Userprofile data: user_profile.txt
每一行为一个用户的信息: the year ofbirth, the gender, the number of tweets and the tag-Ids.(注意:被推荐的用户信息也包含在该文件中)
格式——Format:
(UserId)\t(Year-of-birth)\t(Gender)\t(Number-of-tweet)\t(Tag-Ids)
出生年月日是用户自己注册时选择的.
性别用三个值表示 0, 1, or 2, 分别表示 “unknown”, “male”, or “female”。
围脖数量表示用户所发表的围脖数,为一个整数。
Tags 是用户自己选择的描述其兴趣的标签。如果用户喜欢登山,则他会选择"mountainclimbing" 或者"swimming" 标签。 也有一些用户没有选择标签。注意:这里的标签没有用自然语言描述,而是将每一个标签编码成了一个整数。
Tag-Ids格式为“tag-id1;tag-id2;...;tag-idN”.如果其没有标签,则该项为"0"。
ii. 对象数据—— Item data: item.txt
每一行包含一个对象的如下信息:目录和关键字。
格式——Format:
(ItemId)\t(Item-Category)\t(Item-Keyword)
Item-Category是一个字符串 “a.b.c.d”,不同的层次以 “.”分割, 分层自顶向下(i.e., category ‘a’ is a parent category of ‘b’, and category ‘b’ is a parentcategory of ‘c’).
Item-Keyword是从用户tag中抽取出来的,为一个字符串 “id1;id2;…;idN”,每个关键字都编码成了一个整数,从而防止信息泄漏.
iii. 用户动作数据 User action data: user_action.txt
该文件user_action.txt包含 ‘at’ (@) actions在一段时间的统计信息。
Format:
(UserId)\t(Action-Destination-UserId)\t(Number-of-at-action)\t(Number-of-retweet)\t(Number-of-comment)
如果用户需要提醒另外一个用户,可以使用“at”动作:If user A wants to notify anotheruser about his/her tweet/retweet/comment, he/she would use an ‘at’ (@) actionto notify the other user, such as ‘@tiger’ (here the user to be notified is‘tiger’)..
Forexample, user A has retweeted user B 5 times, has “at” B 3 times, and hascommented user B 6 times, then there is one line “A B 3 5 6” in user_action.txt.
iv. 用户社会关系数据User sns data: user_sns.txt
该文件user_sns.txt包含一个用户的关注历史 (i.e., thehistory of following another user). Note that the following relationship can bereciprocal.
Format:
(Follower-userid)\t(Followee-userid)
v. 用户关键字文件——User key worddata: user_key_word.txt
Thefile user_key_word.txt contains the keywords extracted from thetweet/retweet/comment by each user.
Format:
(UserId)\t(Keywords)
Keywordsis in the form “kw1:weight1;kw2:weight2;…kw3:weight3”.
关键字是从用户的微博、转发、评论(tweet/retweet/comment)中抽取的, 可以在预测模型中,表示用户特征,权值越高表示该用户对该关键字兴趣越大。
每个关键字表示为一个整数,并且该关键字同Item-Keyword编码一致。
每个队提交一个结果文件,同测试文件格式相同(UserId)\t(ItemId)\t(Result),加入自己的预测结果到result字段(tab健分割的)。
团队的分数和排名规则见 ‘Evaluation’网页。
http://www.kddcup2012.org/c/kddcup2012-track1/details/Evaluation
规则见另一网页:
http://www.kddcup2012.org/c/kddcup2012-track1/details/Rules
该任务的1,2,3名,分别获得5000,2000,1000美元奖金。