好长时间没写东西了,以前的两篇都是在写论文的过程当中记录的,悲剧的是论文被拒了%>_<%,其中有审稿意见说对比实验有些薄弱,须要在更多的数据集上实验证实论点的有效性,就选择了Reuters-21578进行扩展实验。html
数据集能够在这里下载到:http://kdd.ics.uci.edu/databases/reuters21578/reuters21578.html 测试
这里就简单记录一下数据集的一些信息,整理整理处理的过程。spa
Reuters-21578是一个英文的预料库,不少时候被用来作文本分类或其余相关研究。压缩包中真正的数据被存放在22个SGM文件中,能够用notepad直接打开查看,处理的时候直接按照文本文件处理会比较方便。orm
接下来的一部份内容在readme中都有,能够跳过:htm
一个文件的内容是这样的:blog
<!DOCTYPE lewis SYSTEM "lewis.dtd">ci
<REUTERS TOPICS="" LEWISSPLIT="" CGISPLIT="" OLDID="" NEWID="">文档
...get
</REUTERS>it
<REUTERS TOPICS="" LEWISSPLIT="" CGISPLIT="" OLDID="" NEWID="">
...
</REUTERS>
其中第一行是每一个文件的开头 不用在乎,红色的两行表明一个文档的开始和结束,在开始的标识中有几个属性,它们在数据划分(是否有用,用做训练集仍是测试集)的时候有用。两行中间就是文档部分,由各类tag划分开,tag有时间、标签、标题、正文等种类。其余就再也不细说,readme中讲的很清楚。其中的<topics></topics>是比较重要的,中间是文档的topics类别列表,若是有值存在,每一个值用一对<D></D>隔开。
接下来是对文本的处理。
readme中提到了几种不一样的数据划分方法,较多采用的是ModApte划分方法。要说明的是,数据集中的数据并非所有都能用的,有些数据放进来是供研究人员作其余研究(好比数据分布什么的)的。
按照ModApte方法把有效数据划分为训练集和测试集,其中有的文档虽然在ModApte方法下有效,但<topics></topics>中间没有内容,也要剔掉。
去掉文档中的标点、数字、各类符号、单个字母等没必要要的信息,初步对文档进行清理。这里同时也把全部的tag去掉了,但除了<date></date>以外,其余tag间的内容都保留下来做为正文的一部分。这一步处理以后,数据格式就变成:ID 标签 正文。PS.这里要根据本身要作的东西来肯定保留什么内容
创建单词库,由于最后要把语料库变成数字数据处理,要将其中出现的每一个单词拿出来做为一个feature,因此要先把单词库创建起来。我在单词库创建起来以后发现feature太多了,大概有4w多个,因此对它又进行了一下处理,去掉停用词啦,将单词的变形和原形整合啦什么的,作过文本检索的应该很熟悉了
最后就是对应着单词库把每一个文本转换成数字数据了,这个也是要根据作的内容调整的,就再也不多说。
PS. 过程当中http://blog.163.com/andy_tsg/blog/static/1617002462010521027588/ 给了我很大帮助,很感谢~