mapreduce分组统计_基于MapReduce的三元N-gram算法的并行化研究

随着“互联网+”时代的到来和快速发展,新媒体已成为人们生活中不可分割的一部分,很多新闻媒体平台,每天原创新闻发布量巨大,而新闻的时效性使其会在短时间内被各大媒体广泛转载转发,人工审核是不切实际的。因此,必须在稿件发出前采用基于语义分析的自动识别技术手段才能确保“及时、准确”发现问题、定位问题、解决问题[1-2]。利用概率统计方法来识别真词错误的是采用词和词性的三元N-gram语言模型的方法可以以较小的存储空间得到较高约束的N-gram平滑概率,大大降低了统计模型的复杂度,后继训练工作量适宜,对应用域语言的适应能力较强,三元N-gram语言模型在中文文本自动查错应用效果很好,但需要大规模的中文语料库进行训练[3-4]。以单机运行为主的数据处理方式制约了计算效率的提高,训练时间过长、占用内存过大等问题难以解决[5]。面对海量数据的处理,MapReduce模型将大规模数据处理作业拆分成若干个可独立运行的任务,使用广泛,能够降低并行编程难度,极大地缩短了处理时间,已成为当前大规模数据处理的主流技术[6-7]

本文在开源式分布处理平台Hadoop基础上,设计并实现了利用MapReduce框架并行的,解决了单机运行三元N-gram算法时间过长、内存不足等问题,并通过实验验证该算法具有较好的处理速度和准确率。

1 模型的建立

1.1 三元N-gram模型的构造

在文本数据处理中,首先以序列的方式对词料进行切分, 在这之后对其序列展开分组处理。假定预测窗口的实际大小等于w,当存在全新的元数据请求时,通过它对时间较长的元数据请求进行替换,如此就产生全新的组G[8-9]。因为在这个过程中应用了3-gram模型,因此针对所有组G来说,对前面2个文件元数据请求进行固定处理,而对于有序的序列,之后的w-2充当无序序列。在分组结束之后,对得到的组展开标准化的冗余处理,并消除无序序列内完全一致的元数据请求。除此之外,应将通过处理的组按照先后秩序进行数据连接[10]。进而从所有数据内寻求概率最高的,并将其组建为规则,所有规则对预取的组进行标准化的合并。下文将给出其具体的算法描述。邻接三元的概率估计的公式为:

式中,P代表搭配出现的概率;Wi代表随机某一中文字符,Wi-1、Wi+1分别代表随机某一中文字符的前、后中文字符,Count(...)代表一个特定词序列在整个语料库中出现的累计次数。

如图1所示,识别步骤如下:

0fe680857d142f12a213258e9fba0097.gif

(1)预处理:对录入的一篇文章,通常情况下为TXT文件,先对词进行切分。作为语料库,一定要确保其不存在任何误差。

(2)初次扫描:提取所有的特征序列,通过N-gram计算模型统计字词出现次数N,并把这个字词以及统计的次数结果添加至mongo数据库。

(3)第二次扫描:假如P不小于特定的阈值,那么识别结果不存在误差,判定为正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值