- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MapReduce文本语句向量算法实现
基于MapReduce文本语句向量算法实现
摘 要
文本语句向量算法是针对文本语句元素提炼成为向量进行计算的一种文本比对算法,但是在处理海量数据和高维度矩阵时由于内存和I/O等资源的局限,该算法受到极大的影响。针对文本语句向量的相关特点,提出了基于MapReduce模型的实现文本语句向量算法的方法,Map函数完成对向量的划分和文本的解析,Reduce函数完成文本语句属性的比对和结果的新构建。实验结果表明:在大数据的环境下使用MapReduce并行算法模型的文本语句向量计算效率性和可拓展性有进一步的提升。
【关键词】文本比对 海量数据 高维度矩阵 MapReduce模型
1 引言
互联网中文本数据的存储方式最为常见,每日互联网中的文本数据增量达到百万T级别,数据增长速率呈现爆炸性的速率,海量数据的分析与处理是目前需要面对的一个现实。对于文本信息的处理如果还停留于传统的方法将很可能不足以应对海量的大数据集合,因此对于新的情形利用并行结构的优势同时高效地处理文本信息成为时代和发展的要求。因此近年来利用MapReduce的模型处理大数据集合以及将其利用到分布式的环境下计算成为应用研究的热点。
文献[1]中提出文本语句向量算法是基于向量空间模型的基础,将文本的语句元素抽象成为向量的坐标数值形成矩阵组进行余弦夹角等计算,其串行计算方法处理海量数据时能力存在局限性,时间复杂度比较高。巨大的计算量、内存占据以及频繁的I/O操作使得传统的单机系统在功能和性能上都难以达到预期效果。将程序并行执行可以有效地结合MapReduce模型的特征,利用模型优势提高高维矩阵的计算进度,使得计算一般文本的步骤更加趋于程序化。其中在MapReduce模型中运用成熟架构和分布式的理念实现了内存、I/O和数据交换同步和互斥操作等问题,在方法上更有利于分布式的资源强大发挥作用。
2 MapReduce编程模型
MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算,是目前云计算平台之上的一个主流模型,而大多数MapReduce模型都会借助一个良好的分布式平台实现海量数据的底层运算和通讯互操作,Hadoop的框架中实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS,提供高吞吐量计算和集群的规范化管理标准。MapReduce采用“分而治之”的思想,过程包含两个函数map和reduce,map负责把大量的任务分解成多个子任务,reduce负责把分解后将上述多个子任务处理并把结果记录和汇总起来。
MapReduce的编程模型原理是定义一个值对分解和得出的结果进行映射的迭代计算过程,即利用一个输入集合来产生一个输出的集合的计算过程。具体在Map阶段,由用户根据需要定义划分的大小、处理结束条件等基本准则后,将输入的数据分割为固定大小的片段(splits),然后将分割的新splits赋予新的值进行中间计算,结合计算得到的值根据key值进行排序,相同的key值的value列表,形成新的值,并进行赋值。如此循环便形成MapReduce的迭代。最后再根据key值的范围将这些元组进行分组,对应不同的Reduce任务。其中根据计算模型决定迭代的结束条件,而考虑复杂条件等因素,一般value的值取0或1。在Reduce阶段,Reduce任务处理器把Map阶段接收的数据整合在一起进行key比对,然后根据具体编程设计对上个阶段的值进行处理,一般是整合列表value值得出一对新的值并赋予输出。将多对输出数据从多个集群集合输出到HDFS上。
3 文本语句向量算法的MapReduce模型实现
3.1 文本语句向量算法的基本思路
文本语句向量算法是根据著名的向量空间算法运用于文本互信息量计算的方面的一种算法,具体内容是运用切词工具将文本的各个分词划分为向量的一个数值,进行语句向量的构建,相同的词汇构建的数值乘积定义为1,不同的定义为0,有联系的词汇数值乘积定义为0-1之间的数值(部分联系),从而计算文本语句中每个句子的关联程度达到文本对比的效果。例如:简单的句子A与B,假设只是主谓宾的句子,可以由公式(1)表示(表示主谓宾元素):
=
=
(1)
其中Wij的意义是文本中句子i的第j个主语,Vij与Rij也是一样的含义,n个元素为可以加入形容词等其他成分的语义元素。
计算相似度即进行信息量对比则可以使用空间向量的余弦夹角公式。形式如公式(2):
(2)
因此概括文本语句向量算法的串行步骤如下:
(1)选择初始文本及其语句数据集;
(2)在第n次迭代中,对任意一个语句向量,求其到所有文本数据集
原创力文档


文档评论(0)