可扩展的基于倒排索引的实体解析算法

文档序号:10655242阅读:453来源:国知局
可扩展的基于倒排索引的实体解析算法
【专利摘要】本发明公开了可扩展的基于倒排索引的实体解析算法,包括数据源集,实体集,记录集和属性集,所述数据源集,实体集,记录集和属性集包括下列步骤:第一步:先将数据载入并进行预处理,其结果为RDD;第二步:将记录解析成key/value形式,key是ID,value是包含了Title、Description、Manufacturer信息的字符串;本发明的可扩展的基于倒排索引的实体解析算法,记录相似度度量看作是字符串相似性比较,该算法可并行地在Spark集群中运行。
【专利说明】
可扩展的基于倒排索引的实体解析算法
技术领域
[0001]本发明公开了可扩展的基于倒排索引的实体解析算法。
【背景技术】
[0002]实体解析,是从结构化或非结构化数据中识别、链接/分组同一真实世界对象的不同表现形式。实体解析是数据管理、数据集成(数据融合)、数据清洗与数据挖掘等领域的重要的研究问题。在两个数据集中发现匹配的实体是实体解析的典型应用之一,其是异构数据的数据挖掘方法的核心步骤。实体解析方法通常采用记录之间相似性函数计算,并与阀值进行比较,从而确定2条记录是否为匹配的实体。实体解析需要对所有记录做成对的两两比较,这个过程非常耗时。因此,近年来研究者们提出了基于分块技术的实体解析技术,即根据某种特征或规则对数据集进行预处理,将它们分成规模更小的数据块,并在这些块中进行实体解析,以提高算法效率。ER问题在大数据时代更具挑战性。首先,异构的、非结构化数据集,具有不同的数据模式与表示方法,甚至存在数据质量问题;其次,ER算法应该是可扩展的,并可在集群中并行计算。第三,从大规模数据集中找到匹配的实体,需要设计时空代价与通信开销高效的算法。经典的ER算法主要关注实体识别的有效性,即如何能够准确地识别出描述同一实体的对象,而面向大数据的可扩展的实体解析算法研究仍然不多。

【发明内容】

[0003]本发明为了解决现有技术的问题,提供了记录相似度度量看作是字符串相似性比较,该算法可并行地在Spark集群中运行的可扩展的基于倒排索引的实体解析算法。
[0004]本发明的具体技术方案如下:可扩展的基于倒排索引的实体解析算法,其特征在于:包括数据源集,实体集,记录集和属性集,所述数据源集,实体集,记录集和属性集包括下列步骤:
[0005]第一步:先将数据载入并进行预处理,其结果为RDD;
[0006]第二步:将记录解析成key/value形式,key是ID ,value是包含了 Title、Descr ipt 1n'Manufacturer信息的字符串;
[0007]作为本发明进一步限制地,所述算法还包括程序,用户编写的Spark应用程序,负责将一个spark作业表示为高层的控制流,在driver程序中用户可定义RDD的转换或执行操作。
[0008]作为本发明进一步限制地,所述driver程序,一个sparkcontext对象被创建。SparkContext可以连接各种类型的集群管理器,集群管理器为应用分配资源,一旦SparkContext连接了集群管理器,集群启动各个worker节点中的sparkexecutor,Driver程序将代码与任务传给executor,并对RDD执行各种运算,完成task任务,task完成任务后将数据写入文件系统。
[0009]本发明的技术效果:本发明的可扩展的基于倒排索引的实体解析算法,能够通过记录相似度度量看作是字符串相似性比较,该算法可并行地在Spark集群中运行的可扩展的基于倒排索引。
【附图说明】
[0010]图1是本发明实施例的可扩展的基于倒排索引的实体解析算法的示意图。
【具体实施方式】
[0011 ]下面结合附图对本发明做进一步说明。
[0012]如图1所示,本实施例ApacheSpark是大规模数据分析处理的高效的、通用的集群计算系统。Spark利用循环数据流模型,在这个模型中每一个并行操作被缓存在集群的每一个Worker节点。利用分区数据被缓存在Worker节点内存中的机制,使得Spark可以高效、交互式地分析大数据。Spark将分布式数据抽象为弹性分布式数据集(RDD),RDD是只读的分布式数据对象的集合。Spark跟踪RDD的血缘信息,保证如果一个节点失效或奔溃导致的数据丢失可被有效的重建。Spark提供了两类RDD操作- Transformat1n与Act 1n.Transformat 1ns (如map,jo in与reduceByKey)是延迟评估,也就是说,它们不是立即计算的。Transformed RDD只有在Act1n(比如count,collect和reduce)运行在其上时才执行。RDD还可以被缓存在内存中用于后续的高效计算。用户编写的Spark应用程序,被称为driver程序,如图1所示,其负责将一个spark作业表示为高层的控制流。在driver程序中用户可定义RDD的转换或执行操作,这些操作在集群的worker节点上执行。在driver程序中,一个sparkcontext对象被创建。SparkContext可以连接各种类型的集群管理器,如Sparkstandalone或YARN等,这些集群管理器为应用分配资源。一旦SparkContext连接了集群管理器,集群启动各个worker节点中的spark executor Jriver程序将代码与任务传给executor,并对RDD执行各种运算,完成task任务,task完成任务后将数据写入文件系统。
[0013]ER算法的第一步就是先将数据载入并进行预处理,其结果为RDD。对数据集的每一行,我们需要将记录解析成key/value形式,key是ID ,value是包含了 Ti tie、Descript 1n、Manufacturer信息的字符串。数据加载与预处理部分的代码片段如下:
[0014]1adedData = Sc.textFile(filename,4,)
[0015].map(parseDatafiIeLine)
[0016].cache ()
[0017]其中,textFiIe函数用于将数据载入Spark,paserDatafiIeLine函数用于将每一行记录解析为key/value格式形式。
[0018]本发明的可扩展的基于倒排索引的实体解析算法,能够通过记录相似度度量看作是字符串相似性比较,该算法可并行地在Spark集群中运行的可扩展的基于倒排索引。需要指出的是,上述较佳实施例仅为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
【主权项】
1.可扩展的基于倒排索引的实体解析算法,其特征在于:包括数据源集,实体集,记录集和属性集,所述数据源集,实体集,记录集和属性集通过下列步骤: 第一步:先将数据载入并进行预处理,其结果为RDD; 第二步:将记录解析成key/value形式,key是ID ,value是包含了 Ti tie、Descript 1n、Manufacturer信息的字符串。2.如权利要求1所述的可扩展的基于倒排索引的实体解析算法,其特征在于:所述算法还包括程序,用户编写的Spark应用程序,负责将一个spark作业表示为高层的控制流,在driver程序中用户可定义RDD的转换或执行操作。3.如权利要求2所述的可扩展的基于倒排索引的实体解析算法,其特征在于:所述driver程序,一个sparkcontext对象被创建。SparkContext可以连接各种类型的集群管理器,集群管理器为应用分配资源,一旦SparkContext连接了集群管理器,集群启动各个worker节点中的spark executor ,Driver程序将代码与任务传给executor,并对RDD执行各种运算,完成task任务,task完成任务后将数据写入文件系统。
【文档编号】G06F17/30GK106021401SQ201610316161
【公开日】2016年10月12日
【申请日】2016年5月16日
【发明人】陈敏刚
【申请人】陈敏刚
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1