KDD CUP2012任务1

 

KDD CUP2012任务1

分类: 算法学习   1755人阅读  评论(0)  收藏  举报

今年的KDD CUP由腾讯公司赞助。在活跃用户数量方面(截至2012年1月,共有7亿用户),腾讯是中国最大的互联网公司。腾讯公司在中国拥有各种流行的产品,包括实时消息、邮件、新闻门户、搜索引擎、在线游戏、博客、微博等,这为建立用户模型以实现高效的用户意图预测和结果推荐提供了丰富的机会。今年的KDD CUP包括两个独立的任务。

任务1. 微博上的社会网络挖掘

腾讯微博(http://t.qq.com/)提供了大量的社会网络信息。2012KDD CUP所发布的数据展示了一个腾讯微博的用户(user)在多个对象(item)上的偏好的样本快照——给用户的推荐(recommendation)以及关注关系(follow-relation)的历史记录。此外,同一层级(hierarchy)的对象被捆绑在一起。也就是说,每个人(person)、机构(orgnization)或者群(group)都属于某些特定的类别(categorie),并且一个类别属于某些更高层次的类别。在竞赛中,不论是用户还是项目(人、组织或者群组)都采用了匿名的、没有实际意义的编号来展现,因此不会有标识性的信息被泄漏。数据中包含了1000万用户和5万个项目,以及3亿条推荐记录和大约300万个社会网络的“关注(following)”行为。对象被联系在已定义的层级中,并且隐私保护的用户信息也很丰富。数据中的用户行为(user activities)具有时间标签。

任务1是要预测在所有可能的用户中,一个给定的用户将会跟随哪些用户。

背景

在线社交网络服务在近些年变得非常的流行,出现了像facebook、twitter、腾讯微博这样拥有数亿活跃用户,并且每天都增加数以千计狂热用户的网络站点。腾讯微博作为中国最大的微博客网站,自2010年4月上线以来,已经成为主要的在线交友和分享兴趣的平台。目前,腾讯微博有2亿注册用户,每天产生4000万条信息。这样的规模有益于腾讯微博的用户但是也可能将用户淹没在巨量的信息中并使之处于信息过载的危机中。减轻信息过载是改善用户体验的首要任务,同时也为新的数据挖掘方案提供了机会。因此,捕获用户的兴趣并据此用潜在的感兴趣的对象来服务他们(例如,新闻、游戏、广告、产品),是像腾讯微博这样的社交网络服务的基本和重要的功能。

 

任务1 描述

这个预测任务包括预测用户是否会接受推荐给他的对象。对象可能是人、机构或者组,下面将给出泛化的定义。

 

数据集

术语定义:

"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的一个关注者。

 

数据集描述:

该数据集是腾讯微博的一个快照——为用户推荐的内容及其关注的历史信息。该数据集较之以往的公开数据集规模更大,并且包含多方面的丰富的信息,比如用户的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表示用户(UserID)接收推荐的对象(ItemId); -1表示用户拒绝推荐对象。(注意:训练数据集包含result值,测试数据集都用“-1”代替)

 

c) 训练和测试数据集中更多的用户信息包含在如下5个文件中:

        i.用户档案数据: user_profile.txt

每一行为一个用户的信息:生日(the year of birth),性别(the gender), 微博数量(the number of tweets)和标签(the tag-Ids).注意:被推荐的用户信息也包含在该文件中。

格式:

(UserId)\t(Year-of-birth)\t(Gender)\t(Number-of-tweet)\t(Tag-Ids)

 

Year-of-birth 在用户注册时选择。

 

Gender 为整数值0, 1, 或者 2, 分别表示“unknown”,“male”, 或者 “female”。

 

Number-of-tweet 是一个整数值,表示用户已经发布的微博的数量。

 

标签(Tags)是用户选择用以表现其兴趣的。如果一个用户喜欢爬山和游泳,他/她可能会选择“爬山”或者“游泳”作为标签。有些用户什么也不选。数据集中标签没有使用自然语言来描述,每个唯一的标签由一个唯一的整数编号。

 

Tag-Ids的表现形式为"tag-id1;tag-id2;...;tag-idN"。如果一个用户没有标签,Tag-Ids将为"0".

 

        ii.对象数据: item.txt

 

每行包含以下信息:对象所属的类和关键字。

格式:

 

(ItemId)\t(Item-Category)\t(Item-Keyword)

 

Item-Category 是一个字符串"a.b.c.d",不同层级的类用"."隔开,以自顶向下的顺序排列(即,类'a'是类'b'的父类,类'b'是类'c'的父类,等等)

 

Item-Keyword 包含了从相应的人、机构、组的档案中提取出的关键字。格式为一个字符串“id1;id2;...;idN”,其中每个唯一的关键字用一个唯一的整数表示,所以不会有真是信息被泄露。

      iii.用户行为数据:user_action.txt

 

这个文件包含了最近一段时间内用户之间'at'(@)的统计数据

 

格式:

(UserId)\t(Action-Destination-UserId)\t(Number-of-at-action)\t(Number-of-retweet)\t(Number-of-comment)

 

如果用户A想提醒其他用户关注他/她的微博、转发、评论,他/她应该使用'at'(@)行为来告知其他用户。例如'@tiger'(这里,用户tiger将被提醒)

 

例如,用户A转发了用户B的5条信息,'at'B三次、评论用户B6次,文件user_action.txt中将有一个列"A B 3 5 6"

       iv.用户社会关系数据:user_sns.txt

 

这个文件包含了每个用户的关注历史(即,关注其他用户的历史)。注意,关注关系是相互的。

格式:

 

(Follower-userid)\t(Followee-userid)

 

         v.用户关键字数据:user_key_word.txt

 

这个文件包含了从每个用户的微博/转发/评论中提取出的关键字。

格式:

 

(UserId)\t(Keywords)

 

关键字的形式为"kw1:weight1;kw2:weight2;…kw3:weight3".

 

关键字是从用户的微博、转发、评论(tweet/retweet/comment)中抽取的, 可以在预测模型中,表示用户特征,权值越高表示该用户对该关键字兴趣越大。

每个唯一的关键字表示为一个唯一的整数,并且该关键字同Item-Keyword使用相同词汇表。

评估

每个队要提交一个关于测试数据集的文本格式的结果文件。在这个文件中,每一行包括3个域,(UserId)\t(ItemId)\t(Result)。每个UserId对应于一个或多个ItemId,Result是用户给对象列表排序的十进制值,一个对象的值越高表示这个对象越值得用户关注。

 

队长面板上的每个队的分数和排名是基于所提交的结果文件计算出来的,并且显示了一个有效数据集上的真值,该数据集的实例是一个确定的集合、在比赛开始时随机从测试数据集中采样出来,直到比赛结束。之后,队长面板上的分数和相应的排名基于预测结果和剩余的测试数据集。这确保比赛结束时,队长面板上排名前三的队是胜出者。生成训练数据集的日志对应于测试数据集更早的时间。

 

评估值是平均精度的。该数值更详细的定义见‘Evaluation’页

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值