热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

KDDCUP2012任务1

今年的KDDCUP由腾讯公司赞助。在活跃用户数量方面(截至2012年1月,共有7亿用户),腾讯是中国最大的互联网公司。腾讯公

今年的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’页



推荐阅读
  • 生产环境下JVM调优参数的设置实例
     正文前先来一波福利推荐: 福利一:百万年薪架构师视频,该视频可以学到很多东西,是本人花钱买的VIP课程,学习消化了一年,为了支持一下女朋友公众号也方便大家学习,共享给大家。福利二 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了游标的使用方法,并以一个水果供应商数据库为例进行了说明。首先创建了一个名为fruits的表,包含了水果的id、供应商id、名称和价格等字段。然后使用游标查询了水果的名称和价格,并将结果输出。最后对游标进行了关闭操作。通过本文可以了解到游标在数据库操作中的应用。 ... [详细]
  • Summarize function is doing alignment without timezone ?
    Hi.Imtryingtogetsummarizefrom00:00otfirstdayofthismonthametric, ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 本文介绍了在使用Laravel和sqlsrv连接到SQL Server 2016时,如何在插入查询中使用输出子句,并返回所需的值。同时讨论了使用CreatedOn字段返回最近创建的行的解决方法以及使用Eloquent模型创建后,值正确插入数据库但没有返回uniqueidentifier字段的问题。最后给出了一个示例代码。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • JVM:33 如何查看JVM的Full GC日志
    1.示例代码packagecom.webcode;publicclassDemo4{publicstaticvoidmain(String[]args){byte[]arr ... [详细]
author-avatar
落了个小妞农_602
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有