CN106503095B - 一种基于投票方式的数据融合方法 - Google Patents
一种基于投票方式的数据融合方法 Download PDFInfo
- Publication number
- CN106503095B CN106503095B CN201610896639.1A CN201610896639A CN106503095B CN 106503095 B CN106503095 B CN 106503095B CN 201610896639 A CN201610896639 A CN 201610896639A CN 106503095 B CN106503095 B CN 106503095B
- Authority
- CN
- China
- Prior art keywords
- algorithm
- data
- value
- weight
- maximum
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007500 overflow downdraw method Methods 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 238000000151 deposition Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 7
- 238000004458 analytical method Methods 0.000 abstract description 5
- 230000007547 defect Effects 0.000 abstract 1
- 230000008030 elimination Effects 0.000 abstract 1
- 238000003379 elimination reaction Methods 0.000 abstract 1
- 230000004927 fusion Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 102220012974 rs139794370 Human genes 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种基于投票方式的数据融合方法,该方法包括以下步骤:(1)对现存算法进行原理与适用性分析,并将算法分成若干组;(2)对于给定的数据对,每种算法独立给出判断或近似度,即投票过程;(3)判断数据对是否表示同一实体。若是,则结束;否则,执行下一步。(4)执行基于多种算法融合的方法,计算数据对的近似度。(5)判断数据是否表示同一实体。本发明通过利用现有的数据连接算法及其领域优势,克服算法跨领域的缺陷,能够提高数据冗余消除的正确率与召回率。
Description
技术领域
本发明涉及数据管理与数据分析领域,尤其是一种基于投票方式的数据融合方法。
背景技术
对于绝大部分数据库及数据应用而言,用户是希望数据库(或数据集)中的数据是具备唯一性的,包括唯一表述,亦即没有冗余数据。然而,现实情况中,数据冗余无可避免的会产生。产生数据冗余的原因众多,例如多源数据的拼写不一致、简写与缩写、词序颠倒等。数据融合的主要目的之一便是消除数据冗余,并将多源数据合并为一个整体。
消除数据冗余的过程可以理解为判断一个数据对是否表示的是同一个实体,若是同一实体,则可进行融合操作。现在已经有若干(类)算法解决这个问题,例如基于编辑距离的算法、基于语音的算法、基于令牌的算法、基于对照表的方法等。然而,不同类的算法只对某些特定的情形起作用,而无法普遍使用。例如,基于编辑距离求近似度的算法可以有效的发现由于拼写错误造成的冗余,但对于缩写、词序颠倒等情形则无能为力。
发明内容
发明目的:为解决现有消除数据冗余的算法只能对某些特定的情形起作用,而无法普遍使用的技术问题,本发明提出一种基于投票方式的数据融合方法。
技术方案:为实现上述技术效果,本发明提出的技术方案为:
一种基于投票方式的数据融合方法,包括步骤:
(1)将现有的用于判断一个数据对是否表示同一实体的经典算法分划为四个集合:G1、G2、G3、G4;其中,G1表示基于编辑距离的算法集合,G2表示基于语音的算法集合,G3表示基于令牌的算法集合,G4表示基于对照表的算法集合;
(2)各算法集合分别给出关于待判定数据对的投票结果;对于任意一个算法集合Gi,其对待判定数据对的投票结果Si的计算方法为:
其中,Ji表示算法集合Gi中算法的总数,Sij表示采用算法集合Gi中第j个算法计算出的给定数据对的相似度值;
(3)给定阈值θ,0<θ<1;根据步骤(2)的计算结果,判断是否存在Si满足:Si>θ;若存在,则判定给出的待判定数据对为同一实体,对待判定数据对进行融合;若不存在,则执行步骤(4);
(4)将待比较的两个数据项A和B分别以单词为单位进行分解,形成两个待比较集合RA和RB;RA={A1,A2,…,Am,…AM},RB={B1,B2,…,Bn,…BN};
(5)将基于编辑距离的算法或基于语音的算法与基于令牌的算法进行组合,得到集合G13=G1∪G3或G23=G2∪G3;从G13或G23中任意选取一个算法,并执行以下步骤:
(5-1)以RA和RB作为顶点集构建完全二部图;构建出的完全二部图中,每条边的权值为采用选出的算法计算出的该边连接的两个单词之间的相似度值;
(5-2)为步骤(5-1)构建的完全二部图中的每条边分配一个权值系数;求出完全二部图的所有最大匹配,并求出每一个最大匹配的权值和为:
式中,Sx为所构建的完全二部图第x个最大匹配的权值和,k为第x个最大匹配中的边的总数,wi为第x个最大匹配中第i条边的权值,f(wi)为第x个最大匹配中第i条边分配到的权值系数;
(5-3)找出最大的权值和,并将该权值和赋值给S0;
(5-4)定义阈值τ;判断是否满足S0>τ,若满足,则判定给出的待判定数据对为同一实体,对待判定数据对进行融合;若不满足,则从G13中删除算法p,并转入步骤(5-5);
(5-5)判断G13是否为空集,若G13为空集,则停止迭代,并判定数据项A和B为不同实体;若G13不为空集,则从G13中任意选取一个算法,并返回步骤(5-1)。
进一步的,所述现有的用于判断一个数据对是否表示同一实体的经典算法包括:Edit Distance算法,Q-Grams算法,Jaro-Winkler Distance算法,Smith-WatermanDistance算法,Atomic String算法,WHIRL算法,Q-Grams with tf.idf算法,Soundex算法,Metaphone算法。
进一步的,计算近似度值时,判断待比较的两个数据对是满足以下条件:
①等价;
②规则等价;
③一个数据为另一个数据的前缀;
若满足条件①至③中任意一个条件,则令两个数据对的相似度值为1;否则,两个数据对的相似度值为采用对应算法计算出的实际相似度值。
进一步的,所述步骤(5-2)中权值系数f(wi)的表达式为:f(wi)=wi。
有益效果:与现有技术相比,本发明针对多源数据可能造成的数据冗余问题,首先,按照算法的基本原理与适用类型,对现有去冗余算法进行分析并分组;再将所有算法以投票的方式对数据对是否表示同一实体进行判断,最后得出综合分析结果。采用本发明提供的方法能够扩大现存算法的适用范围,并提高数据融合的效率与精度。
附图说明
图1为实施例的流程原理图;
图2为实施例中第一部分所述每种算法单独投票的流程图;
图3为实施例中第二部分所述基于多种算法融合的近似度计算流程图;
图4为实施例中构建的完全二部图示意图;
图5为实施例中给出的对照表示意图。
具体实施方式
本发明针对数据对的融合问题,提出了一种基于投票方式的数据融合方法,下面结合附图对本发明作更进一步的说明。
本发明的原理如图1所示,包括以下步骤:
1)对现存算法进行原理与适用性分析,并将算法分成若干组;
2)对于给定的数据对,每种算法独立给出判断或近似度,即每种算法单独投票过程;
3)判断数据对是否表示同一实体。若是,则结束;否则,执行下一步。
4)执行基于多种算法融合的近似度计算,计算出数据对的近似度。
5)根据步骤4)的计算结果判断数据是否表示同一实体。
由上述原理流程可知,本发明提供的方法可以分为两部分,第一部分为每种算法单独投票,第二部分为基于多种算法融合的近似度计算。
第一部分每种算法单独投票的流程图如图2所示,包括步骤:
(1)对现存经典算法进行原理与适用性分析,并将算法分成若干组。
所讨论的经典算法包括:Edit Distance,Q-Grams,Jaro-Winkler Distance,Smith-Waterman Distance,Atomic String,WHIRL,Q-Grams with tf.idf,Soundex,Metaphone等。将算法分成四大类:基于编辑距离的算法、基于语音的算法、基于令牌的算法、基于对照表的算法,分别用G1、G2、G3和G4表示。例如,若G1包含Edit Distance,Jaro-Winkler Distance,Smith-Waterman Distance三个算法,可表示为G1={G11,G12,G13},其中G1=Edit Distance,G12=Jaro-Winkler Distance,G3=Smith-Waterman Distance。若某一算法对待分析数据行进行运算并给出近似度的值,将该值以Sij的形式表示;例如S12表示Jaro-Winkler Distance算法给出的近似值,即该算法的投票结果。
此外,对于基于对照表的算法,应该给出一个附件的对照表,以表示表中成对的单词是等效的。对照表为领域知识的体现,根据不同使用场景,由用户自行提供。例如,若是对人名进行分析是,则DANNY和DANIEL是等价的;在考虑简写时,NUAA和Nanjing Universityof Aeronautics and Astronautics是等价的。总之,依据领域知识给出可扩展的对照表,图5给出了一个对照表的示例,该对照表中,每一行的数据项均表示同一个实体。
(2)对于给定的数据对(单词对),每种算法独立给出判断或近似度,即投票过程。
对于G1、G2、G3和G4四个分组中的每一类算法,分别针对待分析数据对进行计算,并给出投票结果,这一结果为近似度值。在计算近似度时,一般包括这几种情形:等价(指字符串等价);规则等价(由于特定规则,如对照表等,而确定的等价);前缀(某数据项是另一个数据项的前缀,如Prof和Professor);一般近似度(如编辑距离或基于发音计算的距离)。前面三种情况可以判断其近似度为1.0,最后一种情况则是根据上述9种算法计算所得出的近似度值。
(3)分析投票结果,判断数据对是否表示同一实体。
在已知各算法给出的近似度的情况下,分别求出每一组算法的近似度均值,分别表示为S1、S2、S3和S4;例如:
定义一个阈值θ,θ介于0到1之间。若某一分组的近似度均值大于阈值θ,则认为当前的数据对表示同一实体,可以进行融合,操作结束;否则,执行第二部分基于多种算法融合的近似度计算。
第二部分基于多种算法融合的近似度计算流程如图3所示,包括步骤:
将基于编辑距离(Edit-based)的算法或基于语音的算法与基于令牌(Token-based)的算法进行组合,基于编辑距离的算法在计算单个词汇时具有较高的精确度,而无法处理较复杂的组合结构;而基于令牌的算法则在处理复杂结构时具有一些优势。其基本思想为对数据项A和B的每对词条按照基于编辑距离的算法给出一个近似度值,然后根据基于令牌的算法思想找出总近似度最大的一种有效组合。具体为:
假定待分析的两个数据项为A和B;其中,数据项A可以分成词条:A1,A2,…,Am,…AM,数据项B可以分成词条:B1,B2,…,Bn,…BN,Am、Bn为基本单词(字符串)。
基于对数据项A和B的分解,计算每一对Am和Bn的近似度值。计算近似度值时,仍然考虑等价、规则等价和前缀等情形。
在上述近似度值的基础上,找出一种使得近似度值最大的一种组合。其基本原理为:将数据项A和B的基本单词分成两列形成两个待比较集合RA和RB;其中,RA={A1,A2,…,Am,…AM},RB={B1,B2,…,Bn,…BN};以RA和RB作为顶点集从而构成一个二部图,而且是完全二部图,该完全二部图如图4所示。图中边是带权值的,其值即为两个顶点(单词)的近似度。
在带权二部图的基础上,找出该二部图的一个最大匹配,使得这个最大匹配的权值和最大。当这一最大匹配确定时,即可得出数据项A和B的近似度。找最大匹配的过程可以通过匈牙利算法(Hungarian Algorithm)实现。
进一步地,我们希望高相似度以及低相似度的配对在最终判定时起到不同程度决定作用。为了加大高相似度与低相似度的区分程度,我们在计算相似度值之和时为高低相似度赋以不同的权重,即乘以一个系数。于是最终的相似度值之和可以表示为:
式中,Sx为所构建的完全二部图第x个最大匹配的权值和,k为第x个最大匹配中的边的总数,wi为第x个最大匹配中第i条边的权值,f(wi)为第x个最大匹配中第i条边分配到的权值系数,以区分高低相似度在最终判定时的决定作用。系数的确定可以是一个线性函数或指数函数,例如f=w。组合算法的结果用S0表示。
在上述基于编辑距离的算法和基于令牌的算法进行融合的过程中,在第一步计算两个词条近似度时,除了可以采用基于编辑距离的算法,还可以采用基于语音的算法,即将基于语音的算法和基于令牌的算法进行融合。
判断基于多种算法融合的方法执行结果。
针对基于多种算法融合的方法,在判读两个数据项是否表示同一实体时,可以直接计算出其近似度值,定义一个阈值τ,若近似度超过阈值τ则认为该数据项对表示同一实体;否则,不表示同一实体。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.一种基于投票方式的数据融合方法,其特征在于,包括步骤:
(1)将现有的用于判断一个数据对是否表示同一实体的经典算法分划为四个集合:G1、G2、G3、G4;其中,G1表示基于编辑距离的算法集合,G2表示基于语音的算法集合,G3表示基于令牌的算法集合,G4表示基于对照表的算法集合;
(2)各算法集合分别给出关于待判定数据对的投票结果;对于任意一个算法集合Gi,其对待判定数据对的投票结果Si的计算方法为:
其中,Ji表示算法集合Gi中算法的总数,Sij表示采用算法集合Gi中第j个算法计算出的给定数据对的相似度值;
(3)给定阈值θ,0<θ<1;根据步骤(2)的计算结果,判断是否存在Si满足:Si>θ;若存在,则判定给出的待判定数据对为同一实体,对待判定数据对进行融合;若不存在,则执行步骤(4);
(4)将待比较的两个数据项A和B分别以单词为单位进行分解,形成两个待比较集合RA和RB;RA={A1,A2,…,Am,…AM},RB={B1,B2,…,Bn,…BN};
(5)将基于编辑距离的算法或基于语音的算法与基于令牌的算法进行组合,得到集合G13=G1∪G3或G23=G2∪G3;从G13或G23中任意选取一个算法,并执行以下步骤:
(5-1)以RA和RB作为顶点集构建完全二部图;构建出的完全二部图中,每条边的权值为采用选出的算法计算出的该边连接的两个单词之间的相似度值;
(5-2)为步骤(5-1)构建的完全二部图中的每条边分配一个权值系数;求出完全二部图的所有最大匹配,并求出每一个最大匹配的权值和为:
式中,Sx为所构建的完全二部图第x个最大匹配的权值和,k为第x个最大匹配中的边的总数,wi为第x个最大匹配中第i条边的权值,f(wi)为第x个最大匹配中第i条边分配到的权值系数;
(5-3)找出最大的权值和,并将该权值和赋值给S0;
(5-4)定义阈值τ;判断是否满足S0>τ,若满足,则判定给出的待判定数据对为同一实体,对待判定数据对进行融合;若不满足,则从G13/G23中删除算法p,并转入步骤(5-5);
(5-5)判断G13/G23是否为空集,若G13/G23为空集,则停止迭代,并判定数据项A和B为不同实体;若G13/G23不为空集,则从G13/G23中任意选取一个算法,并返回步骤(5-1)。
2.根据权利要求1所述的一种基于投票方式的数据融合方法,其特征在于,所述现有的用于判断一个数据对是否表示同一实体的经典算法包括:Edit Distance算法,Q-Grams算法,Jaro-Winkler Distance算法,Smith-Waterman Distance算法,Atomic String算法,WHIRL算法,Q-Grams with tf.idf算法,Soundex算法,Metaphone算法。
3.根据权利要求2所述的一种基于投票方式的数据融合方法,其特征在于,计算近似度值时,判断待比较的两个数据对是满足以下条件:
①等价;
②规则等价;
③一个数据为另一个数据的前缀;
若满足条件①至③中任意一个条件,则令两个数据对的相似度值为1;否则,两个数据对的相似度值为采用对应算法计算出的实际相似度值。
4.根据权利要求3所述的一种基于投票方式的数据融合方法,其特征在于,所述步骤(5-2)中权值系数f(wi)的表达式为:f(wi)=wi。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610896639.1A CN106503095B (zh) | 2016-10-13 | 2016-10-13 | 一种基于投票方式的数据融合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610896639.1A CN106503095B (zh) | 2016-10-13 | 2016-10-13 | 一种基于投票方式的数据融合方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106503095A CN106503095A (zh) | 2017-03-15 |
CN106503095B true CN106503095B (zh) | 2019-06-04 |
Family
ID=58294075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610896639.1A Active CN106503095B (zh) | 2016-10-13 | 2016-10-13 | 一种基于投票方式的数据融合方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106503095B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019519A (zh) * | 2017-11-28 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质和电子装置 |
CN109032100B (zh) * | 2018-09-21 | 2019-11-29 | 北京广利核系统工程有限公司 | 一种鉴定核电厂安全级仪控系统设备适用性的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013020290A (ja) * | 2011-07-07 | 2013-01-31 | Nippon Telegr & Teleph Corp <Ntt> | パターン抽出装置、パターン抽出方法およびパターン抽出プログラム |
CN104376366A (zh) * | 2013-08-14 | 2015-02-25 | 华为技术有限公司 | 一种最优网络最大流算法的选择方法和设备 |
CN105677846A (zh) * | 2016-01-06 | 2016-06-15 | 中国传媒大学 | 推荐系统及其构建方法 |
-
2016
- 2016-10-13 CN CN201610896639.1A patent/CN106503095B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013020290A (ja) * | 2011-07-07 | 2013-01-31 | Nippon Telegr & Teleph Corp <Ntt> | パターン抽出装置、パターン抽出方法およびパターン抽出プログラム |
CN104376366A (zh) * | 2013-08-14 | 2015-02-25 | 华为技术有限公司 | 一种最优网络最大流算法的选择方法和设备 |
CN105677846A (zh) * | 2016-01-06 | 2016-06-15 | 中国传媒大学 | 推荐系统及其构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106503095A (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649260B (zh) | 基于评论文本挖掘的产品特征结构树构建方法 | |
Mihalcea | Unsupervised large-vocabulary word sense disambiguation with graph-based algorithms for sequence data labeling | |
CN104915340B (zh) | 自然语言问答方法及装置 | |
CN104636466B (zh) | 一种面向开放网页的实体属性抽取方法和系统 | |
CN108874878A (zh) | 一种知识图谱的构建系统及方法 | |
WO2015093541A1 (ja) | シナリオ生成装置、及びそのためのコンピュータプログラム | |
CN111241294A (zh) | 基于依赖解析和关键词的图卷积网络的关系抽取方法 | |
CN106776562A (zh) | 一种关键词提取方法和提取系统 | |
CN103886099B (zh) | 一种模糊概念的语义检索系统及方法 | |
CN100535895C (zh) | 文本检索装置及方法 | |
Alzuhair et al. | An approach for combining multiple weighting schemes and ranking methods in graph-based multi-document summarization | |
CN105260488A (zh) | 一种用于语义理解的文本序列迭代方法 | |
CN107832467A (zh) | 一种基于改进的Single‑pass聚类算法的微博话题检测方法 | |
CN104346382B (zh) | 使用语言查询的文本分析系统和方法 | |
CN106503095B (zh) | 一种基于投票方式的数据融合方法 | |
Rinartha et al. | Comparative analysis of string similarity on dynamic query suggestions | |
CN103870565B (zh) | 一种基于互动百科知识的语义逻辑引导的搜索方法 | |
Alfarra et al. | Graph-based technique for extracting keyphrases in a single-document (gtek) | |
Chien et al. | A hybrid approach for automatic schema matching | |
Darling et al. | Pathsum: A summarization framework based on hierarchical topics | |
Mahafdah et al. | Arabic Part of speech Tagging using k-Nearest Neighbour and Naive Bayes Classifiers Combination. | |
Li et al. | A novel semantic similarity measure within sentences | |
TWI603320B (zh) | 全域對話系統 | |
Huang et al. | Measuring similarity between sentence fragments | |
CN104636498B (zh) | 一种基于信息瓶颈的模糊三维聚类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20170315 Assignee: LAUNCH DESIGN Inc.,Ltd. Assignor: Nanjing University of Aeronautics and Astronautics Contract record no.: X2020320000049 Denomination of invention: A voting based data fusion method Granted publication date: 20190604 License type: Common License Record date: 20200730 |
|
EE01 | Entry into force of recordation of patent licensing contract |