一种基于Spark平台的集团新闻数据预处理方法与流程

文档序号:12863953阅读:1241来源:国知局

本发明涉及计算机技术领域,具体地说是一种基于spark平台的集团新闻数据预处理方法。



背景技术:

现有的数据去噪算法的主要应用场景在单机或一上,目前的算法主要针对文本长度不满足阈值的数据、广告内容和自动回复数据等。现有的数据去重算法由模块根据分词后的结果对文本进行词频统计,以将其转换为维向量,并且对所述维向量进行运算,以便获得位的二进制签名,由去重运算模块执行以下操作:根据设定参数将所述位的二进制签名分段,并依据分段结果建立倒序索引,根据所建立的倒序索引来分段检索第一分段下的签名集合,并计算所述第一分段中的对应的海明距离以及确定在所述第一分段中的所计算的海明距离是否在所述设定参数范围内。

上述方法由于并不具备所提供的基于内存的计算和对中间结果的内存存储,导致整体时间过多的浪费在工当中,拖慢了整个应用场景的速度。由语言不同而带来的数据冗余也是去噪中的重点之一,基于此,本专利提供一种可解决上述问题的基于spark平台的集团新闻数据预处理方法。



技术实现要素:

本发明的技术任务是针对以上不足之处,提供一种基于spark平台的集团新闻数据预处理方法。

一种基于spark平台的集团新闻数据预处理方法,其具体实现过程为,

采集算子,即采集集团新闻数据;

去噪算子,即将采集回来的集团新闻数据进行去噪处理,去噪算子基于spark平台完成;

去重算子,对去噪处理后的数据进行去重处理;

最后设定海明距离阈值,在去重处理中将海明距离小于设定的阈值的文本判定为近似文本。

在采集算子步骤中,采集的数据存储在hdfs,即分布式文件系统中。

基于spark平台对采集的数据进行去噪处理的步骤为:

在spark平台中启动spark驱动,并按默认分区数生成弹性分布式数据集rdd,对hdfs文件进行读取;

对数据进行去噪处理,完成数据过滤;

将去噪处理后的数据以rdd的形式缓存在分布式内存中。

对数据进行去噪处理的步骤中,通过以下三种方式完成数据过滤:长度过滤、语义过滤及关键词过滤,其中:

长度过滤是指将低于一定字符数的集团新闻数据认为无效数据;

语义过滤是指对集团新闻数据这种短文本类型的数据进行语义过滤;

关键词过滤是指集团新闻数据中有关键词出现时,将其认为是无效数据。

所述去重算子的实现步骤为:

获取去噪算子生成的rdd;

采用分词器对存储在rdd中的数据进行分词处理,并进行停用词过滤;

计算进行停用词过滤后的每个分词的hash值,并生成simhash指纹。

在去重算子步骤中,计算停用词过滤后的每个分词的hash值后再进行叠加,生成simhash指纹,然后封装对象并生成新的rdd,该封装的对象内容包括文本内容、simhash值属性。

所述计算分词的值并生成simhash指纹的具体步骤为:首先计算每个分词的64位加权hash值,然后按位叠加,每位如果大于1则记1,否则记0。

判定为近似文本的过程为:将去重算子步骤中生成的simhash指纹与数据库里已经记录的集团新闻数据的simhash指纹比较其海明距离,将海明距离小于设定的阈值的文本认定为近似文本。

本发明的一种基于spark平台的集团新闻数据预处理方法和现有技术相比,具有以下有益效果:

本发明的一种基于spark平台的集团新闻数据预处理方法,本发明采用spark平台做为存储及运算的基础,采用内存缓存来提高读写速度,相对于传统的单机计算、并行计算或分布式计算,计算速度提高百倍以上,具有标注内容信息全、错误率低等优点,计算节点由平台调度,完成分布式计算,能够实现更准确、高效的去噪、去重功能;本发明处理速度快,亿级记录去噪可在毫秒级内完成,千万级记录去重可在分钟级完成;准确率高去噪处理准确率可达到96.4%,去重处理准确率期可达到90.3%,实用性强,适用范围广泛,易于推广。

附图说明

附图1为本发明系统的实现示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明的方案,下面结合具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如附图1所示,一种基于spark平台的集团新闻数据预处理方法,能够实现更准确、高效的去噪、去重功能。

其具体实现过程为,

采集算子,即采集集团新闻数据;

去噪算子,即将采集回来的集团新闻数据进行去噪处理,去噪算子基于spark平台完成;

去重算子,对去噪处理后的数据进行去重处理;

最后设定海明距离阈值,在去重处理中将海明距离小于设定的阈值的文本判定为近似文本。

在采集算子步骤中,采集算子用于采集集团新闻数据,可采用现有的采集方法、采集设备实现。采集的数据存储在hdfs即分布式文件系统中。

基于spark平台对采集的数据进行去噪处理的步骤为:

在spark平台中启动spark驱动,并按默认分区数生成弹性分布式数据集rdd,对hdfs文件进行读取;

对数据进行去噪处理,完成数据过滤;

将去噪处理后的数据以rdd的形式缓存在分布式内存中。

对数据进行去噪处理的步骤中,通过以下三种方式完成数据过滤:长度过滤、语义过滤及关键词过滤,其中:

长度过滤是指将低于一定字符数的集团新闻数据认为是无意义的,比如取10个字符,10个字符以下认为是垃圾。

语义过滤:针对集团新闻数据这种类型的数据进行语义过滤,比如将非经常出现的集团新闻数据一般视为垃圾等。而且,对于后面的去重或者分析而言,无意义语义也是不考虑的。

关键词过滤是指集团新闻数据中当有些关键词出现后,就认为这条是垃圾,比如“天气预报”。

所述去重算子的实现步骤为:

获取去噪算子生成的rdd;

采用分词器对存储在rdd中的集团新闻数据进行分词处理,并采用通用停用词表做停用词过滤,通过分词和过滤停用词可有效的减小后续的计算量。所述分词器可以采用ikanalyser分词器,也可以采用其它分词器,如中国科学院计算技术研究所的ictclas分词器等。

计算停用词过滤后的每个分词的hash值,然后叠加,生成simhash指纹然后封装对象并生成新的rdd,其中对象内容包括文本内容、simhash值等属性。

将生成的simhash指纹与数据库里已经记录的集团新闻数据的simhash指纹比较海明距离,如果海明距离小于设定的阈值(例如该阈值为4),则将新采集的数据的文本认定为近似文本(即认定为重复记录)。

根据上面步骤,判断一条记录是否是重复记录,先要得到上一个算子的运算结果,即得到rdd,在从该rdd中进行遍历,也就是一条条的判断是否重复。例如,现在库里有10000条记录,新来了100条记录,判断这条是否和库里的重复(这100条就是1个rdd)。从rdd获取到一条记录后,对其进行分词,之后分词中会有一些无意义的词,例如“不止”、“仅仅”这些是无语义的,可以去掉,也就是停用词过滤然后,把这些过滤后的分词计算hash值,然后叠加,生成simhash指纹,该指纹与库里记录的指纹比较海明距离,如果小于设定的阈值则认为是近似文本。这就是simhash算法的原理。

上面步骤所述的计算分词的值并生成simhash指纹,其具体方法是:首先计算每个分词的64位加权hash值,然后按位叠加,每位如果大于1则记1,否则记0。

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

除说明书所述的技术特征外,均为本专业技术人员的已知技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1