关于对Reuters-21578数据集的处理

好长时间没写东西了,之前的两篇都是在写论文的过程中记录的,悲剧的是论文被拒了%>_<%,其中有审稿意见说对比实验有些薄弱,需要在更多的数据集上实验证明论点的有效性,就选择了Reuters-21578进行扩展实验。

数据集可以在这里下载到:http://kdd.ics.uci.edu/databases/reuters21578/reuters21578.html

这里就简单记录一下数据集的一些信息,整理整理处理的过程。

Reuters-21578是一个英文的预料库,很多时候被用来做文本分类或其他相关研究。压缩包中真正的数据被存放在22个SGM文件中,可以用notepad直接打开查看,处理的时候直接按照文本文件处理会比较方便。

接下来的一部分内容在readme中都有,可以跳过:

一个文件的内容是这样的:

<!DOCTYPE lewis SYSTEM "lewis.dtd">

<REUTERS TOPICS="" LEWISSPLIT="" CGISPLIT="" OLDID="" NEWID="">

...

</REUTERS>

<REUTERS TOPICS="" LEWISSPLIT="" CGISPLIT="" OLDID="" NEWID="">

...

</REUTERS>

其中第一行是每个文件的开头 不用在意,红色的两行代表一个文档的开始和结束,在开始的标识中有几个属性,它们在数据划分(是否有用,用作训练集还是测试集)的时候有用。两行中间就是文档部分,由各种tag划分开,tag有时间、标签、标题、正文等种类。其他就不再细说,readme中讲的很清楚。其中的<topics></topics>是比较重要的,中间是文档的topics类别列表,如果有值存在,每个值用一对<D></D>隔开。

接下来是对文本的处理。

readme中提到了几种不同的数据划分方法,较多采用的是ModApte划分方法要说明的是,数据集中的数据并不是全部都能用的,有些数据放进来是供研究人员做其他研究(比如数据分布什么的)的。

  1. 按照ModApte方法把有效数据划分为训练集和测试集,其中有的文档虽然在ModApte方法下有效,但<topics></topics>中间没有内容,也要剔掉。

  2. 去掉文档中的标点、数字、各种符号、单个字母等不必要的信息,初步对文档进行清理。这里同时也把所有的tag去掉了,但除了<date></date>之外,其他tag间的内容都保留下来作为正文的一部分。这一步处理之后,数据格式就变成:ID 标签 正文。PS.这里要根据自己要做的东西来确定保留什么内容

  3. 建立单词库,因为最后要把语料库变成数字数据处理,要将其中出现的每个单词拿出来作为一个feature,所以要先把单词库建立起来。我在单词库建立起来之后发现feature太多了,大概有4w多个,所以对它又进行了一下处理,去掉停用词啦,将单词的变形和原形整合啦什么的,做过文本检索的应该很熟悉了

  4. 最后就是对应着单词库把每个文本转换成数字数据了,这个也是要根据做的内容调整的,就不再多说。

PS. 过程中http://blog.163.com/andy_tsg/blog/static/1617002462010521027588/ 给了我很大帮助,很感谢~

你可能感兴趣的:(关于对Reuters-21578数据集的处理)