可擴(kuò)展的基于倒排索引的實(shí)體解析算法
【專利摘要】本發(fā)明公開了可擴(kuò)展的基于倒排索引的實(shí)體解析算法,包括數(shù)據(jù)源集,實(shí)體集,記錄集和屬性集,所述數(shù)據(jù)源集,實(shí)體集,記錄集和屬性集包括下列步驟:第一步:先將數(shù)據(jù)載入并進(jìn)行預(yù)處理,其結(jié)果為RDD;第二步:將記錄解析成key/value形式,key是ID,value是包含了Title、Description、Manufacturer信息的字符串;本發(fā)明的可擴(kuò)展的基于倒排索引的實(shí)體解析算法,記錄相似度度量看作是字符串相似性比較,該算法可并行地在Spark集群中運(yùn)行。
【專利說(shuō)明】
可擴(kuò)展的基于倒排索引的實(shí)體解析算法
技術(shù)領(lǐng)域
[0001]本發(fā)明公開了可擴(kuò)展的基于倒排索引的實(shí)體解析算法。
【背景技術(shù)】
[0002]實(shí)體解析,是從結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)中識(shí)別、鏈接/分組同一真實(shí)世界對(duì)象的不同表現(xiàn)形式。實(shí)體解析是數(shù)據(jù)管理、數(shù)據(jù)集成(數(shù)據(jù)融合)、數(shù)據(jù)清洗與數(shù)據(jù)挖掘等領(lǐng)域的重要的研究問題。在兩個(gè)數(shù)據(jù)集中發(fā)現(xiàn)匹配的實(shí)體是實(shí)體解析的典型應(yīng)用之一,其是異構(gòu)數(shù)據(jù)的數(shù)據(jù)挖掘方法的核心步驟。實(shí)體解析方法通常采用記錄之間相似性函數(shù)計(jì)算,并與閥值進(jìn)行比較,從而確定2條記錄是否為匹配的實(shí)體。實(shí)體解析需要對(duì)所有記錄做成對(duì)的兩兩比較,這個(gè)過(guò)程非常耗時(shí)。因此,近年來(lái)研究者們提出了基于分塊技術(shù)的實(shí)體解析技術(shù),即根據(jù)某種特征或規(guī)則對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,將它們分成規(guī)模更小的數(shù)據(jù)塊,并在這些塊中進(jìn)行實(shí)體解析,以提高算法效率。ER問題在大數(shù)據(jù)時(shí)代更具挑戰(zhàn)性。首先,異構(gòu)的、非結(jié)構(gòu)化數(shù)據(jù)集,具有不同的數(shù)據(jù)模式與表示方法,甚至存在數(shù)據(jù)質(zhì)量問題;其次,ER算法應(yīng)該是可擴(kuò)展的,并可在集群中并行計(jì)算。第三,從大規(guī)模數(shù)據(jù)集中找到匹配的實(shí)體,需要設(shè)計(jì)時(shí)空代價(jià)與通信開銷高效的算法。經(jīng)典的ER算法主要關(guān)注實(shí)體識(shí)別的有效性,即如何能夠準(zhǔn)確地識(shí)別出描述同一實(shí)體的對(duì)象,而面向大數(shù)據(jù)的可擴(kuò)展的實(shí)體解析算法研究仍然不多。
【發(fā)明內(nèi)容】
[0003]本發(fā)明為了解決現(xiàn)有技術(shù)的問題,提供了記錄相似度度量看作是字符串相似性比較,該算法可并行地在Spark集群中運(yùn)行的可擴(kuò)展的基于倒排索引的實(shí)體解析算法。
[0004]本發(fā)明的具體技術(shù)方案如下:可擴(kuò)展的基于倒排索引的實(shí)體解析算法,其特征在于:包括數(shù)據(jù)源集,實(shí)體集,記錄集和屬性集,所述數(shù)據(jù)源集,實(shí)體集,記錄集和屬性集包括下列步驟:
[0005]第一步:先將數(shù)據(jù)載入并進(jìn)行預(yù)處理,其結(jié)果為RDD;
[0006]第二步:將記錄解析成key/value形式,key是ID ,value是包含了 Title、Descr ipt 1n'Manufacturer信息的字符串;
[0007]作為本發(fā)明進(jìn)一步限制地,所述算法還包括程序,用戶編寫的Spark應(yīng)用程序,負(fù)責(zé)將一個(gè)spark作業(yè)表示為高層的控制流,在driver程序中用戶可定義RDD的轉(zhuǎn)換或執(zhí)行操作。
[0008]作為本發(fā)明進(jìn)一步限制地,所述driver程序,一個(gè)sparkcontext對(duì)象被創(chuàng)建。SparkContext可以連接各種類型的集群管理器,集群管理器為應(yīng)用分配資源,一旦SparkContext連接了集群管理器,集群?jiǎn)?dòng)各個(gè)worker節(jié)點(diǎn)中的sparkexecutor,Driver程序?qū)⒋a與任務(wù)傳給executor,并對(duì)RDD執(zhí)行各種運(yùn)算,完成task任務(wù),task完成任務(wù)后將數(shù)據(jù)寫入文件系統(tǒng)。
[0009]本發(fā)明的技術(shù)效果:本發(fā)明的可擴(kuò)展的基于倒排索引的實(shí)體解析算法,能夠通過(guò)記錄相似度度量看作是字符串相似性比較,該算法可并行地在Spark集群中運(yùn)行的可擴(kuò)展的基于倒排索引。
【附圖說(shuō)明】
[0010]圖1是本發(fā)明實(shí)施例的可擴(kuò)展的基于倒排索引的實(shí)體解析算法的示意圖。
【具體實(shí)施方式】
[0011 ]下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步說(shuō)明。
[0012]如圖1所示,本實(shí)施例ApacheSpark是大規(guī)模數(shù)據(jù)分析處理的高效的、通用的集群計(jì)算系統(tǒng)。Spark利用循環(huán)數(shù)據(jù)流模型,在這個(gè)模型中每一個(gè)并行操作被緩存在集群的每一個(gè)Worker節(jié)點(diǎn)。利用分區(qū)數(shù)據(jù)被緩存在Worker節(jié)點(diǎn)內(nèi)存中的機(jī)制,使得Spark可以高效、交互式地分析大數(shù)據(jù)。Spark將分布式數(shù)據(jù)抽象為彈性分布式數(shù)據(jù)集(RDD),RDD是只讀的分布式數(shù)據(jù)對(duì)象的集合。Spark跟蹤RDD的血緣信息,保證如果一個(gè)節(jié)點(diǎn)失效或奔潰導(dǎo)致的數(shù)據(jù)丟失可被有效的重建。Spark提供了兩類RDD操作- Transformat1n與Act 1n.Transformat 1ns (如map,jo in與reduceByKey)是延遲評(píng)估,也就是說(shuō),它們不是立即計(jì)算的。Transformed RDD只有在Act1n(比如count,collect和reduce)運(yùn)行在其上時(shí)才執(zhí)行。RDD還可以被緩存在內(nèi)存中用于后續(xù)的高效計(jì)算。用戶編寫的Spark應(yīng)用程序,被稱為driver程序,如圖1所示,其負(fù)責(zé)將一個(gè)spark作業(yè)表示為高層的控制流。在driver程序中用戶可定義RDD的轉(zhuǎn)換或執(zhí)行操作,這些操作在集群的worker節(jié)點(diǎn)上執(zhí)行。在driver程序中,一個(gè)sparkcontext對(duì)象被創(chuàng)建。SparkContext可以連接各種類型的集群管理器,如Sparkstandalone或YARN等,這些集群管理器為應(yīng)用分配資源。一旦SparkContext連接了集群管理器,集群?jiǎn)?dòng)各個(gè)worker節(jié)點(diǎn)中的spark executor Jriver程序?qū)⒋a與任務(wù)傳給executor,并對(duì)RDD執(zhí)行各種運(yùn)算,完成task任務(wù),task完成任務(wù)后將數(shù)據(jù)寫入文件系統(tǒng)。
[0013]ER算法的第一步就是先將數(shù)據(jù)載入并進(jìn)行預(yù)處理,其結(jié)果為RDD。對(duì)數(shù)據(jù)集的每一行,我們需要將記錄解析成key/value形式,key是ID ,value是包含了 Ti tie、Descript 1n、Manufacturer信息的字符串。數(shù)據(jù)加載與預(yù)處理部分的代碼片段如下:
[0014]1adedData = Sc.textFile(filename,4,)
[0015].map(parseDatafiIeLine)
[0016].cache ()
[0017]其中,textFiIe函數(shù)用于將數(shù)據(jù)載入Spark,paserDatafiIeLine函數(shù)用于將每一行記錄解析為key/value格式形式。
[0018]本發(fā)明的可擴(kuò)展的基于倒排索引的實(shí)體解析算法,能夠通過(guò)記錄相似度度量看作是字符串相似性比較,該算法可并行地在Spark集群中運(yùn)行的可擴(kuò)展的基于倒排索引。需要指出的是,上述較佳實(shí)施例僅為說(shuō)明本發(fā)明的技術(shù)構(gòu)思及特點(diǎn),其目的在于讓熟悉此項(xiàng)技術(shù)的人士能夠了解本發(fā)明的內(nèi)容并據(jù)以實(shí)施,并不能以此限制本發(fā)明的保護(hù)范圍。凡根據(jù)本發(fā)明精神實(shí)質(zhì)所作的等效變化或修飾,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.可擴(kuò)展的基于倒排索引的實(shí)體解析算法,其特征在于:包括數(shù)據(jù)源集,實(shí)體集,記錄集和屬性集,所述數(shù)據(jù)源集,實(shí)體集,記錄集和屬性集通過(guò)下列步驟: 第一步:先將數(shù)據(jù)載入并進(jìn)行預(yù)處理,其結(jié)果為RDD; 第二步:將記錄解析成key/value形式,key是ID ,value是包含了 Ti tie、Descript 1n、Manufacturer信息的字符串。2.如權(quán)利要求1所述的可擴(kuò)展的基于倒排索引的實(shí)體解析算法,其特征在于:所述算法還包括程序,用戶編寫的Spark應(yīng)用程序,負(fù)責(zé)將一個(gè)spark作業(yè)表示為高層的控制流,在driver程序中用戶可定義RDD的轉(zhuǎn)換或執(zhí)行操作。3.如權(quán)利要求2所述的可擴(kuò)展的基于倒排索引的實(shí)體解析算法,其特征在于:所述driver程序,一個(gè)sparkcontext對(duì)象被創(chuàng)建。SparkContext可以連接各種類型的集群管理器,集群管理器為應(yīng)用分配資源,一旦SparkContext連接了集群管理器,集群?jiǎn)?dòng)各個(gè)worker節(jié)點(diǎn)中的spark executor ,Driver程序?qū)⒋a與任務(wù)傳給executor,并對(duì)RDD執(zhí)行各種運(yùn)算,完成task任務(wù),task完成任務(wù)后將數(shù)據(jù)寫入文件系統(tǒng)。
【文檔編號(hào)】G06F17/30GK106021401SQ201610316161
【公開日】2016年10月12日
【申請(qǐng)日】2016年5月16日
【發(fā)明人】陳敏剛
【申請(qǐng)人】陳敏剛