12.4 应用 213
1
2
3
4
5
12
6
7
8
9
10
11
12.4.1 获取数据
我们使用2004年8月份从http://blogger.com网站采集的60多万篇博客文章作为数据集,这些文
章共有1.4亿多个单词,每篇文章都标注了博主的年龄、性别、行业(工作),有趣的是还有星座。
研究人员曾进行过部分验证,确保同一篇博客从头到尾均由一名博主所写(虽然也不是很确定)。
每篇博客还给出了发表时间,这个数据集的内容真是挺丰富的。
访问http://u.cs.biu.ac.il/~koppel/BlogCorpus.htm网站,点击Download Corpus。下载完成后,
把数据集文件解压到你的本地计算机数据文件夹Data里。
数据集中,一个博主的所有博客放到同一个文件里,文件名包含博主的相关信息。例如,其
中一个文件名如下:
1005545.male.25.Engineering.Sagittarius.xml
文件名用点号分隔,主要包括以下信息。
博客编号:标识博客唯一性的数值。
性别:该部分不是male(男性)就是female(女性)。数据集只包含这两种情况。
年龄:给出确切的年龄,但有时会特意使用年龄段。年龄段(包含起止年龄)有13~17、
23~27和33~48。这样做是便于把难以确定博主年龄的博客粗略归到某一年龄段中,因为
很难把18岁写的博客和19岁所写的区分开来,此外,当你使用这些数据时,博主实际年
龄可能比早先填写的又长了几岁,因此需要做相应调整。
①
行业:包括科学、工程、艺术、房地产在内的40种行业的其中一种,若博主没有填写该
项,使用indUnk
②
来表示。
星座:12星座之一。
所有的这些数据都是用户自己提供的,这就表明其中有错误或不一致现象,但是绝大多数是
可靠的——如果用户为了保护个人隐私起见,不想透露某方面的信息,他们可以选择不填,这一
点网站是允许的。
每个文件的格式类似于XML,包含
<Blog>标签和一系列<post>标签。每个<post>标签前
都有一个
<date>标签。虽然我们可以把它当作XML来处理,但是按行处理更容易,因为它不是
真正规范的XML文件,并且还有些错误(大部分是编码错误)。我们可以使用循环结构遍历文件
中的每一行,以读取博客内容。
指定一个文件名,我们来实际看下。
——————————
① 作者给我举了个例子,“去年用户发表博客时为18岁,今年就19岁了,我需要在模型中做相应调整。”——译者注
② industry unknown的简写。——译者注