当前位置: 首页 > 专利查询>之江实验室专利>正文

一种基于字段语义的数据表自动join推荐方法技术

技术编号:30899658 阅读:12 留言:0更新日期:2021-11-22 23:43
本发明专利技术涉及多维数据分析领域,具体为一种基于字段语义的数据表自动join推荐方法,包括:步骤1,将待join的两数据表中的字段两两组合,作为计算相似度值的集合;步骤2,推断出字段的语义类型;步骤3,判断两字段的数据类型和语义类型是否一致,再判断两字段名是否一致,接着判断两字段值是否存在枚举类;步骤4,分别计算字段名相似度和字段值的相似度,后通过加权求和,得到匹配系数,即两字段的相似度;步骤5,将所有字段的相似度的分值从高到低进行排序并输出提取前20条,作为推荐。本发明专利技术通过对数据表字段名和字段值的分析来推荐join的联接子句,更准确更全面地帮助用户发现多维数据隐藏的关联信息,有效地提升大数据分析系统的智能化水平。智能化水平。智能化水平。

【技术实现步骤摘要】
一种基于字段语义的数据表自动join推荐方法


[0001]本专利技术涉及多维数据分析领域,具体涉及一种基于字段语义的数据表自动join推荐方法。

技术介绍

[0002]在多维数据分析系统中,两表join是频繁且常见的操作,通过对数据表字段名和字段值的分析来推荐join的联接子句,帮助用户完成join的操作,提升系统的智能化水平。
[0003]多维数据关联技术已成为大数据分析领域的常见操作和基本手段,如何有效地将不同来源、不同组织,设计规范多样化,甚至缺乏数据字典的多维数据相互融合并建立统一的数据模型,对当今的数据分析任务来说至关重要。依靠人工对各个维度数据进行筛选匹配的方式虽然准确率高,但耗时长效率低,且随着工作量的增大错误率也相应增加。近年来,在多维数据分析系统中,两表join是频繁且常见的操作,通过对数据表字段名和字段值的分析来推荐join的联接子句,帮助用户完成join的操作,提升系统的智能化水平。基于多维数据语义分析构建关联模型具有一定参考性,但多数算法缺乏对数据内容本身的考量,特别是在不同数据类型下数据内容及其分布所隐藏的潜在关联性。

技术实现思路

[0004]本专利技术提出一种基于字段语义的数据表自动join推荐方法,在用户交互触发join操作时,给出join匹配字段的推荐,即要join的字段通常具有相似的字段名和一致的数据类型,基于字段名和字段值的相似度计算出匹配系数,根据匹配系数进行排序并推荐,其具体技术方案如下:一种基于字段语义的数据表自动join推荐方法,包括如下步骤:步骤1,将待join的两数据表中的字段两两组合,作为计算相似度值的集合;步骤2,推断出字段的语义类型;步骤3,判断两字段的数据类型和语义类型是否一致,再判断两字段名是否一致,接着判断两字段值是否存在枚举类;步骤4,分别计算字段名相似度和字段值的相似度,后通过加权求和,得到匹配系数,即两字段的相似度;步骤5,将所有字段的相似度的分值从高到低进行排序并输出提取前20条,作为推荐。
[0005]进一步的,所述语义类型包括经纬度、国家、省份、城市、邮编、IP地址、URL、邮箱、电话、身份证、护照、类别和空,共13种类型;其中经纬度、IP地址、URL、邮箱、电话、身份证和护照采用正则匹配;国家、省份、城市和邮编采用人工建表、查表的方式匹配;类别类型的判断依据:不同数值的数量<=12;若以上语义类型都不满足则为空类型。
[0006]进一步的,所述步骤3,具体为:匹配字段的数据类型,对不同类型的字段不进行推荐,对相同类型的字段先判断字段名是否一样,忽略大小写,若一样则直接返回相似度分值
t=1,即匹配系数,否则判断两字段值是否存在枚举类,即判断是否满足:不同数值的数量/总数据量<0.02,若满足则不进行推荐。
[0007]进一步的,所述步骤4,具体为:若不是枚举类,则分别计算字段名相似度分值t1和字段值的相似度分值t2,再通过加权求和,表达式为:t=0.3
×
t1+0.7
×
t2,得到匹配系数。
[0008]进一步的,所述字段名和字段值的相似度计算均采用单词词向量来计算,单词词向量维度相同,通过计算词向量距离来衡量单词的语义相似度;所述单词词向量通过神经网络语义模型训练文本分类得到。
[0009]进一步的,所述神经网络语义模型包括输入层、隐藏层和输出层,输入层输入是构成文档的所有单词及其n

gram的热编码,n

gram为由相邻n个单词或字符组成的词组,输出层输出是文档中特定一个词的概率,隐藏层是对多个词向量的叠加平均。
[0010]进一步的,所述计算字段名相似度,具体包括如下步骤:S1,对字段名预处理,将大写字母变成小写字,把除字母、数字和中文以外的字符变成空格;S2,将预处理后的字段按空格划分成词组;S3,使用FastText计算词组内各单词的词向量;S4,各单词的词向量求平均后得到字段的词向量;S5,计算两字段词向量的余弦夹角,作为字段名的相似度。
[0011]进一步的,所述计算字段值的相似度,按字段类型分类,包括:数值类型、日期类型、字符串类型三种情况;对于数值类型,先计算所有记录的归一化直方图,再计算直方图的余弦相似度;对于日期类型,直接设相似度分值为1,即表示匹配;对于字符串类型,各取X条随机记录作为词组来计算字段值相似度,后将X条字段值相似度按空格组合成一个新的字符串,该相似度计算参考字段名相似度计算过程。
[0012]进一步的,对于所述的数值类型,具体的,随机取字段值m条,利用m条字段值相似度中最大和最小值划分M个均等大小的空间,统计m中所有相似度值落在所述M个均等大小的空间中的个数,并做归一化处理,得到一个M维向量,计算两字段的M维向量的余弦夹角作为字段值的相似度。
[0013]进一步的,所述步骤5,具体为:对匹配系数按从高到低排序并输出前20条,若最高匹配系数大于0.8,则自动应用该推荐的字段名。
[0014]本专利技术结合数据元信息及其内容的自动化join推荐,更准确更全面地帮助用户发现多维数据隐藏的关联信息,有效地提升大数据分析系统的智能化水平。
附图说明
[0015]图1是本专利技术的表自动join推荐模型整体流程示意图;图2是本专利技术的字段名相似度计算流程示意图;图3是本专利技术的字段值相似度计算流程示意图;图4是本专利技术的神经网络语义模型架构示意图。
具体实施方式
[0016]为了使本专利技术的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图,
对本专利技术作进一步详细说明。
[0017]如图1所示,本专利技术的一种基于字段语义的数据表自动join推荐方法,包括如下步骤:步骤1,当两表连接到join节点时触发auto join推荐,分别从两表的数据库中各选5000条非空记录,将待join的两张数据表中的字段两两组合,作为计算相似度值的集合;步骤2,首先推断出字段的语义类型,包括经纬度、国家、省份、城市、邮编、IP地址、URL、邮箱、电话、身份证、护照、类别和空共13种类型;其中经纬度、IP地址、URL、邮箱、电话、身份证和护照采用正则匹配;国家、省份、城市和邮编采用人工建表、查表的方式匹配;类别类型的判断依据:不同数值的数量<=12;若以上语义类型都不满足则为空类型。
[0018]所述人工建表的过程为:从维基百科获取全球国家和城市的中英文列表,包括缩写,写进数据库得到国家和城市两张表。从百度百科得到中国省份的中英文列表,包括缩写,以及中国主要城市的邮编列表,写进数据库得到省份和邮编两张表。通过查询数据库的方式得到匹配结果。
[0019]步骤3,然后判断两字段的数据类型和语义类型是否一致,再判断两字段名是否一致,接着判断两字段值是否存在枚举类;具体为:匹配字段的数据类型,包括:数值、日期和字符串,对相同类型的字段先判断字段名是否一样,忽略大小写,若一样则直接返回相似度分值t=1,即匹配系数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于字段语义的数据表自动join推荐方法,其特征在于,包括如下步骤:步骤1,将待join的两数据表中的字段两两组合,作为计算相似度值的集合;步骤2,推断出字段的语义类型;步骤3,判断两字段的数据类型和语义类型是否一致,再判断两字段名是否一致,接着判断两字段值是否存在枚举类;步骤4,分别计算字段名相似度和字段值的相似度,后通过加权求和,得到匹配系数,即两字段的相似度;步骤5,将所有字段的相似度的分值从高到低进行排序并输出提取前20条,作为推荐。2.如权利要求1所述的一种基于字段语义的数据表自动join推荐方法,其特征在于,所述语义类型包括经纬度、国家、省份、城市、邮编、IP地址、URL、邮箱、电话、身份证、护照、类别和空,共13种类型;其中经纬度、IP地址、URL、邮箱、电话、身份证和护照采用正则匹配;国家、省份、城市和邮编采用人工建表、查表的方式匹配;类别类型的判断依据:不同数值的数量<=12;若以上语义类型都不满足则为空类型。3.如权利要求1所述的一种基于字段语义的数据表自动join推荐方法,其特征在于,所述步骤3,具体为:匹配字段的数据类型,对不同类型的字段不进行推荐,对相同类型的字段先判断字段名是否一样,忽略大小写,若一样则直接返回相似度分值t=1,即匹配系数,否则判断两字段值是否存在枚举类,即判断是否满足:不同数值的数量/总数据量<0.02,若满足则不进行推荐。4.如权利要求3所述的一种基于字段语义的数据表自动join推荐方法,其特征在于,所述步骤4,具体为:若不是枚举类,则分别计算字段名相似度分值t1和字段值的相似度分值t2,再通过加权求和,表达式为:t=0.3
×
t1+0.7
×
t2,得到匹配系数。5.如权利要求4所述的一种基于字段语义的数据表自动join推荐方法,其特征在于,所述字段名和字段值的相似度计算均采用单词词向量来计算,单词词向量维度相同,通过计算词向量距离来衡量单词的语义相似度;所述单词词向量通过神经网络语...

【专利技术属性】
技术研发人员:罗实李炜铭王永恒
申请(专利权)人:之江实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1