CN110889286A - 基于数据表的依赖关系识别方法、装置和计算机设备 - Google Patents
基于数据表的依赖关系识别方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN110889286A CN110889286A CN201910968542.0A CN201910968542A CN110889286A CN 110889286 A CN110889286 A CN 110889286A CN 201910968542 A CN201910968542 A CN 201910968542A CN 110889286 A CN110889286 A CN 110889286A
- Authority
- CN
- China
- Prior art keywords
- field name
- source
- word
- words
- word segmentation
- 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.)
- Granted
Links
Images
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据分析领域中的一种基于数据表的依赖关系识别方法、装置和计算机设备。方法包括:获取携带有源表标识和目标表标识的依赖关系识别任务,根据依赖关系识别任务读取源表标识对应的源表中的源字段名;调用多线程并行对源字段名进行分词,得到源字段名中的特征词;从预设词库中获取与特征词对应的描述词;利用特征词和描述词生成参考字段名;计算源字段名与参考字段名之间的第一相似度,将符合预设条件的第一相似度对应的参考字段名标记为中间字段名,记录中间字段名;从目标表中查找与中间字段名对应的目标字段名,当目标表中包括目标字段名时,则确定源表与目标表之间的依赖关系。采用本方法能够提高数据表之间依赖关系识别的准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于数据表的依赖关系识别方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,计算机处理的数据表大量增加。在数据表的治理过程中,为了理清大量数据表之间的关系,引入了依赖关系。数据表的依赖关系描述了数据表中的数据在产生、传输、使用、存储、共享和销毁的生命周期中不同数据表中的数据之间的关联关系。因此,识别数据表之间的依赖关系有助于进行数据表治理。
传统的识别依赖关系的方式包括两种。一种是通过人工的方式识别数据表之间的依赖关系。由于数据表的数据量较大,人工识别不仅效率较低,而且容易出现遗漏、混杂等错误。另一种是根据代码逻辑进行数据链路的识别,得到数据表之间的依赖关系。这种方式十分依赖于***代码,当不知道***代码时,则无法通过这种方式识别数据表之间的依赖关系。而且,由于不同数据之间的代码可能不同,不同***代码之间转换容易出现偏差,进而导致依赖关系识别错误,识别的准确性不高。
发明内容
基于此,有必要针对上述数据表的依赖关系识别准确性低的技术问题,提供一种能够提高数据表依赖关系识别准确性的基于数据表的依赖关系识别方法、装置、计算机设备和存储介质。
一种基于数据表的依赖关系识别方法,所述方法包括:
获取携带有源表标识和目标表标识的依赖关系识别任务,根据所述依赖关系识别任务读取所述源表标识对应的源表中的源字段名;
调用多线程并行对所述源字段名进行分词,得到所述源字段名中的特征词;
从预设词库中获取与所述特征词对应的描述词;
利用所述特征词和所述描述词生成参考字段名;
计算所述源字段名与所述参考字段名之间的第一相似度,将符合预设条件的所述第一相似度对应的参考字段名标记为中间字段名,记录所述中间字段名;
从数据表文件中获取与所述目标表标识对应的目标表,从目标表中查找与所述中间字段名对应的目标字段名,当所述目标表中包括所述目标字段名时,则确定所述源表与所述目标表之间的依赖关系。
在其中一个实施例中,在所述调用多线程并行对所述源字段名进行分词之后,所述方法还包括:
获取分词后得到的多个词语中的未标签词语;
从所述数据表文件中获取词语黑名单;
当所述未标签词语不属于所述词语黑名单时,读取所述未标签词语对应的历史分词记录,所述历史分词记录中包括所述未标签词语对应的历史分词次数;
根据所述历史分词次数大于阈值的未标签词语生成提示信息,将所述提示信息发送至对应的终端。
在其中一个实施例中,所述调用多线程并行对所述源字段名进行分词包括:
对所述源字段名进行遍历,利用所述预设词库对所述源字段名进行匹配,得到多种分词结果;
根据所述多种分词结果确定所述源字段名对应的有向无环关系;
调用预设概率模型对所述源字段名对应的有向无环关系进行运算,得到所述分词结果对应的概率;
利用所述概率最大的分词结果对所述源字段名进行分词,得到多个词语。
在其中一个实施例中,所述从目标表中查找与所述中间字段名对应的目标字段名包括:
读取所述目标表中的候选字段名;
计算所述候选字段名与所述中间字段名之间的第二相似度,将大于预设值的所述第二相似度所对应的候选字段名标记为目标字段名。
在其中一个实施例中,所述计算所述源字段名与所述参考字段名之间的第一相似度包括:
根据所述源字段名生成对应的源词向量;
利用所述特征词和所述描述词生成所述参考字段名对应的参考词向量;
计算所述源词向量和所述参考词向量之间的余弦相似度,将所述余弦相似度作为所述第一相似度。
一种基于数据表的依赖关系识别装置,所述装置包括:
字段名读取模块,用于获取携带有源表标识和目标表标识的依赖关系识别任务,根据所述依赖关系识别任务读取所述源表标识对应的源表中的源字段名;
分词模块,用于调用多线程并行对所述源字段名进行分词,得到所述源字段名中的特征词;
描述词获取模块,用于从预设词库中获取与所述特征词对应的描述词;
字段名生成模块,用于利用所述特征词和所述描述词生成参考字段名;
相似度生成模块,用于计算所述源字段名与所述参考字段名之间的第一相似度,将符合预设条件的所述第一相似度对应的参考字段名标记为中间字段名,记录所述中间字段名;
依赖关系确定模块,用于从数据表文件中获取与所述目标表标识对应的目标表,从目标表中查找与所述中间字段名对应的目标字段名,当所述目标表中包括所述目标字段名时,则确定所述源表与所述目标表之间的依赖关系。
在其中一个实施例中,在所述分词模块之后,所述装置还包括提示信息生成模块,用于获取分词后得到的多个词语中的未标签词语;从所述数据表文件中获取词语黑名单;当所述未标签词语不属于所述词语黑名单时,读取所述未标签词语对应的历史分词记录,所述历史分词记录中包括所述未标签词语对应的历史分词次数;根据所述历史分词次数大于阈值的未标签词语生成提示信息,将所述提示信息发送至对应的终端。
在其中一个实施例中,所述分词模块还用于对所述源字段名进行遍历,利用所述预设词库对所述源字段名进行匹配,得到多种分词结果;根据所述多种分词结果确定所述源字段名对应的有向无环关系;调用预设概率模型对所述源字段名对应的有向无环关系进行运算,得到所述分词结果对应的概率;利用所述概率最大的分词结果对所述源字段名进行分词,得到多个词语。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述基于数据表的依赖关系识别方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于数据表的依赖关系识别方法的步骤。
上述基于数据表的依赖关系识别方法、装置、计算机设备和存储介质,根据依赖关系识别任务读取源表中的源字段名,调用多线程并行对源字段名分词后得到特征词,通过特征词确定了源字段名的语义特征。围绕特征词生成参考字段名,标准化了参考字段名的输出结果,提高了对较短的源字段名进行语义分析的准确性。当目标表中存在与中间字段名对应的目标字段名时,利用准确对应的字段名确定源表和目标表之间的依赖关系,从而有效的提高了数据表之间依赖关系识别的准确性。
附图说明
图1为一个实施例中基于数据表的依赖关系识别方法的应用环境图;
图2为一个实施例中基于数据表的依赖关系识别方法的流程示意图;
图3为另一个实施例中基于数据表的依赖关系识别方法的流程示意图;
图4为一个实施例中基于数据表的依赖关系识别装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于数据表的依赖关系识别方法,可以应用于终端上,也可以应用于如图1所示的应用环境中。这里以应用于如图1所示的应用环境中为例。其中,终端102通过网络与服务器104进行通信。终端102可以将携带有源表标识和目标表标识的依赖关系识别任务发送至服务器104。服务器104根据依赖关系识别任务读取源表标识对应的源表中的源字段名,调用多线程并行对源字段名进行分词,得到源字段名中的特征词。服务器104从预设词库中获取与特征词对应的描述词,利用特征词和描述词生成参考字段名。服务器104计算源字段名和参考字段名之间的第一相似度,并将符合预设条件的第一相似度对应的参考字段名标记为中间字段名,记录下中间字段名。服务器104从数据表文件中获取与目标表标识对应的目标表,从目标表中查找与中间字段名对应的目标字段名,当目标表中存在目标字段名时,服务器104则确定源表与目标表之间的依赖关系,得到识别结果。服务器104可以将识别结果返回至终端102。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于数据表的依赖关系识别方法,该方法可以应用与终端,也可以应用于图1中的服务器。这里以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,获取携带有源表标识和目标表标识的依赖关系识别任务,根据依赖关系识别任务读取源表标识对应的源表中的源字段名。
其中,源表是指未知与目标表之间的依赖关系的数据表。源表中可以记载多种领域的数据。例如,源表中可以记载金融、医疗、机械等多种领域中的至少一种领域的数据。源字段名为源表中每列字段对应的字段名,源字段名通常为4-10个字的多词短语。
服务器可以通过多种方式获取依赖关系识别任务。例如,服务器可以从任务列表中获取依赖关系识别任务。服务器也可以通过接收终端上传的依赖关系识别请求,根据依赖关系识别请求建立依赖关系识别任务。依赖关系识别任务中携带有源表标识和目标表标识,服务器可以从数据表文件中根据源表标识以及目标表标识分别提取源表以及目标表。数据表文件用于存储数据表,包括但不限于源表和目标表,数据表文件可以存储在数据库中。服务器在得到源表后,可以读取源表的表结构。具体的,服务器可以读取源表中每列对应的源字段,以及每列源字段对应的源字段名、字段类型和字段注释,字段注释用于对源字段名进行解释。
步骤204,调用多线程并行对源字段名进行分词,得到源字段名中的特征词。
服务器可以调用多个线程并行对源字段名进行分词,从而提高服务器对源字段名的分词效率。服务器对源字段名进行分词后,得到多个词语。服务器从分词后得到的多个词语中获取源字段名中的特征词。具体的,服务器获取多个词语分别对应的标签,根据词语对应的标签确定源字段名中的特征词。
其中,服务器可以通过多种方式获取词语对应的标签。例如,词语和对应标签之间存在预设的映射关系,服务器可以根据预设的映射关系获取词语对应的标签。服务器还可以从预设词库中查找对应的词语,利用预设词库中的预设信息确定词语对应的标签。
标签可以包括多种标记方式。例如,标签可以将词语标记为“特征词”或“描述词”,服务器确定对应标签为“特征词”的词语为源字段名中的特征词。或者,也可以利用“1”和“0”标记词语。对应标签为“1”的词语为源字段名中的特征词,对应标签为“0”的词语则为描述特征词的描述词。由于源字段名为较短小的多词短语,因此在一个源字段名分词得到的多个词语中,通常只有一个特征词,其他词语则是用于描述特征词的描述词。
例如,在记载医疗信息的源表中,包括一个名为“内科患者姓名”的源字段。服务器对该源字段名进行分词,得到多个词语分别为“内科”、“患者”以及“姓名”。服务器可以将分词得到的多个词语在预设词库中进行匹配,得到多个词语分别对应的标签。如词语“内科”对应的标签为“描述词”,词语“患者”对应的标签为“描述词”,词语“姓名”对应的标签为“特征词”,服务器则可以确定源字段名“内科患者姓名”中的特征词为“姓名”。
步骤206,从预设词库中获取与特征词对应的描述词。
特征词存在对应的描述词,特征词对应的描述词可以是预设描述词,与特征词共同存储在预设词库中。每个特征词和对应的描述词之间存在映射关系。一个特征词可以包括一个描述词,也可以包括两个或两个以上的描述词。一个描述词可以用于描述一个特征词,也可以用于描述两个或两个以上的特征词。服务器可以从预设词库中提取与源字段名中的特征词存在映射关系的预设描述词。
步骤208,利用特征词和描述词生成参考字段名。
服务器可以利用源字段名中的特征词和对应的描述词生成参考字段名。其中,描述词是指服务器获取的与特征词存在映射关系的所有预设描述词。特征词对应的预设描述词中包括但不限于源字段名中用于描述特征词的描述词。服务器可以将特征词与预设描述词进行排列组合,生成多个参考字段名。服务器生成的多个参考字段名中包括但不限于源字段名。
以上述例子举例说明,服务器得到源字段名中的特征词为“姓名”,服务器根据特征词与描述词之间的映射关系,获取到与特征词“姓名”对应的多个描述词包括“内科”、“外科”、“患者”以及“医生”。服务器利用特征词与描述词生成包括“内科姓名”、“外科姓名”、“患者姓名”、“医生姓名”、“内科患者姓名”、“内科医生姓名”、“外科患者姓名”以及“外科医生姓名”等多个参考字段名,服务器将特征词和描述词通过排列组合的方式生成参考字段名,在此不再一一列举。
步骤210,计算源字段名与参考字段名之间的第一相似度,将符合预设条件的第一相似度对应的参考字段名标记为中间字段名,记录中间字段名。
服务器分别计算源字段名和多个参考字段名之间对应的多个第一相似度。服务器判断计算得到的第一相似度是否符合预设条件。其中,预设条件可以是根据实际需求预先设置的判断条件。例如,预设条件可以是判断第一相似度是否大于其他参考字段名对应的第一相似度,即是否为最大的第一相似度。若是最大的第一相似度,则符合预设条件。反之,则不符合预设条件。预设条件还可以是判断第一相似度是否为最大值,且不小于阈值。若是,则符合预设条件。反之,则不符合预设条件。服务器根据预设条件对第一相似度进行判断,将符合预设条件的第一相似度对应的参考字段名标记为中间字段名,并将中间字段名记录在缓存列表中。
步骤212,从数据表文件中获取与目标表标识对应的目标表,从目标表中查找与中间字段名对应的目标字段名,当目标表中包括目标字段名时,则确定源表与目标表之间的依赖关系。
服务器根据依赖关系识别任务从数据表文件中获取与目标表标识对应的目标表,服务器从目标表中查找与中间字段名对应的目标字段名。其中,目标表是指需要识别与源表之间的依赖关系的数据表,目标表中可以记载多种领域的数据。例如,目标表中可以记载金融、医疗、机械等多种领域中的至少一种领域的数据。目标字段名为目标表中包括的与中间字段名对应的字段名,目标字段名通常为4-10个字的多词短语。服务器可以从一个或者多个目标表中进行查找。目标字段名可以与中间字段名相同,也可以不同。一个中间字段名可以对应一个或多个目标字段名,一个目标字段名也可以对应一个或多个中间字段名。
当服务器从目标表中查找到与中间字段名对应的目标字段名时,则可以确定源表与目标表之间存在依赖关系,具体为源表中的源字段与目标表中的目标字段之间存在依赖关系。服务器可以将识别结果发送至对应终端,使得对应终端通过显示界面展示识别结果。
在本实施例中,根据依赖关系识别任务读取源表中的源字段名,调用多线程并行对源字段名进行分词,提高了对源字段名进行分词的效率。服务器通过多个词语对应的标签,确定出特征词和描述词,通过特征词确定了源字段名的语义特征。围绕特征词生成参考字段名,标准化了参考字段名的输出结果,缩小了筛选范围,有效的提高了对较短的字段名进行语义分析的准确性。当目标表中存在与中间字段名对应的目标字段名时,利用准确对应的字段名确定源表和目标表之间的依赖关系。整个识别过程不需要人工,提高了依赖关系识别的效率,有效的提高了对数据表进行依赖关系识别的准确性。
在一个实施例中,在调用多线程并行对源字段名进行分词之前,服务器可以识别源表中源字段名对应的字段类型,源字段名对应的字段类型可以包括源字段名对应的语种类型。例如,源字段名可以是中文,也可以是英文。服务器识别源字段名对应的语种类型,当源字段名为中文时,服务器则直接对源字段名进行分词,得到分词后的多个词语。当源字段名为英文时,服务器则利用字段注释代替源字段名进行分词,字段注释的语种一般为中文。
在本实施例中,由于中文分词方式与英文分词方式不同,因此,在对源字段名进行分词之前,服务器先识别源字段名对应的语种类型。当源字段名的语种为英文时,则利用字段注释代替源字段名,完成分词。能够有效的面对包括多种字段类型的数据表,提高了依赖关系识别的通用性。
在一个实施例中,调用多线程并行对源字段名进行分词包括:对源字段名进行遍历,利用预设词库对源字段名进行匹配,得到多种分词结果;根据多种分词结果确定源字段名对应的有向无环关系;调用预设概率模型对源字段名对应的有向无环关系进行运算,得到分词结果对应的概率;利用概率最大的分词结果对源字段名进行分词,得到多个词语。
服务器可以采用多种遍历方式对源字段名进行遍历。例如,服务器可以对源字段名进行二叉树遍历。具体的,服务器可以将源字段名中的每一个字作为二叉树的结点,依次对源字段名中的每一个字进行访问。服务器还可以采用多种次序对源字段名进行遍历。例如,服务器可以按照前序遍历、中序遍历和后序遍历中的一种遍历次序对源字段名进行遍历。服务器利用预设词库中的词语与源字段名进行字符串匹配,得到多种分词结果。其中,字符串匹配的方式可以包括正向字符串匹配和逆向字符串匹配。
服务器可以根据得到的多种分词结果,确定源字段名中所有的字对应的有向无环关系,每个字可以作为单独的节点,节点与节点之间存在有向连接,但没有构成环状连接。服务器可以根据源字段名对应的有向无环关系生成DAG图(Directed Acyclic Graph,有向无环图),源字段名中的字为DAG图中的节点,DAG图中的一条边即为一种分词方式中的一个词语。
服务器可以调用预设概率模型对源字段名对应的有向无环关系进行运算。具体的,预设概率模型可以采用用户预先设置的Unigram概率模型。服务器可以根据多种分词结果中相同词语对应的词频确定有向无环关系中对应边的权重,基于预设概率模型和边对应的权重计算出每一种分词方式对应的概率。服务器将多种分词方式产生的分词结果对应的概率进行比对,利用概率最大的分词结果对源字段名进行分词,得到多个词语。
在本实施例中,服务器通过对源字段名进行遍历,以及利用预设词库对源字段名进行匹配,得到多种分词结果,根据多种分词结果确定源字段名对应的有向无环关系,将最大概率转换成最大路径,利用概率最大的分词结果对源字段名进行分词,有效的提高了对源字段名分词的准确性。
在一个实施例中,如图3所示,在调用多线程并行对源字段名进行分词之后,上述方法还包括:
步骤302,获取分词后得到的多个词语中的未标签词语。
步骤304,从数据表文件中获取词语黑名单。
步骤306,当未标签词语不属于词语黑名单时,读取未标签词语对应的历史分词记录,历史分词记录中包括未标签词语对应的历史分词次数。
步骤308,根据历史分词次数大于阈值的未标签词语生成提示信息,将提示信息发送至对应的终端。
服务器对源字段名进行分词后,得到分出的多个词语。服务器可以通过多种方式获取词语对应的标签。例如,词语和对应标签之间存在预设的映射关系,服务器可以根据预设的映射关系获取词语对应的标签。服务器还可以从预设词库中查找对应的词语,利用预设词库中的预设信息确定词语对应的标签。服务器在获取词语对应标签的过程中,可能出现部分词语不存在对应的标签。服务器将部分与标签不存在映射关系的词语作为未标签词语,服务器从分出的多个词语中提取未标签词语。在其中一个实施例中,当服务器获取到未标签词语时,服务器可以调用隐马尔可夫模型(Hidden Markov Model,HMM)对源字段名进行分词。
服务器可以从数据表文件中获取词语黑名单,数据表文件可以存储在数据库中。词语黑名单中记载了不需要标记对应标签的未标签词语。服务器将获取到的未标签词语与词语黑名单中的词语进行匹配,判断未标签词语是否属于词语黑名单。当未标签词语属于词语黑名单时,表示该未标签词语本身就属于不存在对应标签的词语,服务器则忽略该属于词语黑名单的未标签词语。
当该未标签词语不属于词语黑名单时,表示该未标签词语可能属于新词或遗漏标记标签的词语。服务器则读取未标签词语对应的历史分词记录。历史分词记录为服务器在以往对源字段名进行分词过程中的记录,历史分词记录中包括历史源字段名、历史词语、历史词语出现的次数以及未标签词语对应的历史分词次数等。
服务器获取未标签词语对应的历史分词次数。当历史分词次数大于阈值时,服务器根据历史分词次数对应的未标签词语生成提示信息,服务器将生成的提示信息发送至终端,以提示用户对未标签词语标记对应的标签。用户可以根据终端显示的提示信息通过终端设置未标签词语与标签之间的映射关系,或者将该未标签词语添加至预设词库中。在其中一个实施例中,当历史分词次数小于阈值时,服务器则忽略该未标签词语。其中,阈值可以取自然数,阈值可以根据实际应用需求进行设定。
例如,为了防止错过未标签词语,可以将阈值设置为“0”,即服务器根据所有出现的不属于词语黑名单中的未标签词语生成提示信息。还可以通过阈值对偶尔出现的未标签词语进行筛选,将阈值设置为N,只对历史分词次数大于N的未标签词语生成提示信息。其中,N可以为正整数。
在本实施例中,服务器获取分词后得到的多个词语中的未标签词语,通过判断未标签词语是否属于词语黑名单以及对应的历史分词记录是否大于阈值,确定是否生成提示信息,以提示用户对未标签词语标记对应的标签,更新词语以及词语对应的标签,从而有助于服务器更加准确的识别源字段名中的特征词和描述词,有效的提高了服务器对数据表之间依赖关系识别的准确性。
在一个实施例中,计算源字段名与参考字段名之间的第一相似度包括:根据源字段名生成对应的源词向量;利用特征词和描述词生成参考字段名对应的参考词向量;计算源词向量和参考词向量之间的余弦相似度,将余弦相似度作为第一相似度。
服务器对源字段名进行分词后,得到多个词语。服务器利用分词得到的多个词语生成源字段名对应的源词向量。参考字段名是由特征词和描述词排列组合而成的,服务器也可以利用组合参考字段名的特征词和描述词生成参考字段名对应的参考词向量。每一个参考字段名分别对应一个参考词向量。服务器可以计算源词向量分别与每个参考词向量之间的余弦相似度,将计算得到的余弦相似度作为源字段名与参考字段名之间的第一相似度。在其中一个实施例中,服务器计算源词向量与参考词向量之间的余弦相似度的方式可以表示为:
其中,cos(θ)表示源词向量与参考词向量之间的余弦相似度。xi表示源词向量x从i=1到i=n的各个分量,yi表示参考词向量y从i=1到i=n的各个分量,n为正整数。
服务器根据判断第一相似度是否符合预设条件,确定中间字段名。服务器将符合预设条件的第一相似度对应的参考字段名标记为中间字段名。在其中一个实施例中,当多个参考字段名对应的第一相似度均不符合预设条件时,服务器可以生成报警信息并发送至对应终端,以提示可能发生错误。
例如,在一张记载医疗领域数据的源表中,包括一个源字段名为“入院诊断”。服务器对源字段名进行分词后,得到源字段名中的特征词为“诊断”,描述词为“入院”。服务器根据特征词获取对应的预设描述词,包括“出院”、“入院”以及“门诊”。服务器可以根据特征词和预设描述词生成参考字段名,包括“出院诊断”、“入院诊断”以及“门诊诊断”等。服务器生成参考字段名的方式可以参照上述实施例中生成参考字段名的描述,在此不一一列举。服务器可以根据参考字段名生成对应的参考词向量,参考字段名“出院诊断”对应的参考词向量为(0,1,0,1),参考字段名“入院诊断”对应的参考词向量为(1,0,0,1),参考字段名“门诊诊断”对应的参考词向量为(0,0,1,1)。服务器则可以根据源词向量和参考词向量生成多个第一相似度分别为0.5,1以及0.5。服务器可以根据判断多个第一相似度是否符合预设条件,将参考字段名“入院诊断”标记为中间字段名。
在本实施例中,服务器通过确定源字段名对应的源词向量,以及参考字段名对应的参考词向量,计算源词向量和参考词向量之间的余弦相似度确定源字段名和参考字段名之间的第一相似度,有助于准确的确定出与源字段名对应的中间字段名,有效的提高了数据表之间依赖关系识别的准确性。
在一个实施例中,从目标表中查找与中间字段名对应的目标字段名包括:读取目标表中的候选字段名;计算候选字段名与中间字段名之间的第二相似度,将大于预设值的第二相似度所对应的候选字段名标记为目标字段名。
候选字段名为目标表中的候选字段对应的字段名,候选字段名可以是目标表中的所有字段名,也可以是目标表中的部分字段名。例如,候选字段名可以是目标表中每一列对应的字段名,也可以是包括与源字段名相同特征词的字段名。服务器读取目标表中的候选字段名,计算候选字段名与中间字段名之间的第二相似度。其中,候选字段名与中间字段名之间的第二相似度的计算方式可以与上述实施例中第一相似度的计算方式类似,故在此不再赘述。
服务器根据候选字段名与中间字段名之间的第二相似度,将大于预设值的第二相似度所对应的候选字段名标记为目标字段名。其中,预设值可以根据实际应用需求进行设置,预设值可以设置为0-1之间的数,可以等于0,也可以等于1。服务器从目标表中查找目标字段名,当目标表中存在被标记为目标字段名的候选字段名时,服务器则确定源表与目标表之间的依赖关系。具体的,服务器可以确定源表中的源字段名与目标表中的目标字段名之间的依赖关系。
在本实施例中,服务器通过读取目标表中的候选字段名,利用候选字段名与中间字段名之间的第二相似度标记出目标字段名,有助于服务器从目标表中查找与中间字段名对应的目标字段名,以此确定源表和目标表之间的依赖关系,有效的提高了数据表之间依赖关系识别的准确性。
在一个实施例中,服务器可以在获取到源表和目标表后,读取源表中的源字段名和目标表中的候选字段名。服务器将源字段名与候选字段名进行比对,当源字段名与候选字段名一致时,则确定比对成功。反之,则比对失败。服务器可以根据比对成功的源字段名与候选字段名确定源表与目标表之间的依赖关系。
在本实施例中,服务器通过直接比对源字段名和候选字段名,根据比对结果确定比对成功的源字段名和候选字段名对应的源表与目标表之间的依赖关系,有效的提高了数据表之间依赖关系的识别效率。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种基于数据表的依赖关系识别装置,包括:字段名读取模块402、分词模块404、描述词获取模块406、字段名生成模块408、相似度生成模块410和依赖关系确定模块412,其中:
字段名读取模块402,用于获取携带有源表标识和目标表标识的依赖关系识别任务,根据依赖关系识别任务读取源表标识对应的源表中的源字段名。
分词模块404,用于调用多线程并行对源字段名进行分词,得到源字段名中的特征词。
描述词获取模块406,用于从预设词库中获取与特征词对应的描述词。
字段名生成模块408,用于利用特征词和描述词生成参考字段名。
相似度生成模块410,用于计算源字段名与参考字段名之间的第一相似度,将符合预设条件的第一相似度对应的参考字段名标记为中间字段名,记录中间字段名。
依赖关系确定模块412,用于从数据表文件中获取与目标表标识对应的目标表,从目标表中查找与中间字段名对应的目标字段名,当目标表中包括目标字段名时,则确定源表与目标表之间的依赖关系。
在一个实施例中,在分词模块之后,上述装置还包括提示信息生成模块,用于获取分词后得到的多个词语中的未标签词语;从数据表文件中获取词语黑名单;当未标签词语不属于词语黑名单时,读取未标签词语对应的历史分词记录,历史分词记录中包括未标签词语对应的历史分词次数;根据历史分词次数大于阈值的未标签词语生成提示信息,将提示信息发送至对应的终端。
在一个实施例中,上述分词模块404还用于对源字段名进行遍历,利用预设词库对源字段名进行匹配,得到多种分词结果;根据多种分词结果确定源字段名对应的有向无环关系;调用预设概率模型对源字段名对应的有向无环关系进行运算,得到分词结果对应的概率;利用概率最大的分词结果对源字段名进行分词,得到多个词语。
在一个实施例中,上述依赖关系确定模块412还用于读取目标表中的候选字段名;计算候选字段名与中间字段名之间的第二相似度,将大于预设值的第二相似度所对应的候选字段名标记为目标字段名。
在一个实施例中,上述相似度生成模块410还用于根据源字段名生成对应的源词向量;利用特征词和描述词生成参考字段名对应的参考词向量;计算源词向量和参考词向量之间的余弦相似度,将余弦相似度作为第一相似度。
关于基于数据表的依赖关系识别装置的具体限定可以参见上文中对于基于数据表的依赖关系识别方法的限定,在此不再赘述。上述基于数据表的依赖关系识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,也可以是服务器。这里以服务器为例进行说明,其内部结构图可以如图5所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于数据表的依赖关系识别数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于数据表的依赖关系识别方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于数据表的依赖关系识别方法,所述方法包括:
获取携带有源表标识和目标表标识的依赖关系识别任务,根据所述依赖关系识别任务读取所述源表标识对应的源表中的源字段名;
调用多线程并行对所述源字段名进行分词,得到所述源字段名中的特征词;
从预设词库中获取与所述特征词对应的描述词;
利用所述特征词和所述描述词生成参考字段名;
计算所述源字段名与所述参考字段名之间的第一相似度,将符合预设条件的所述第一相似度对应的参考字段名标记为中间字段名,记录所述中间字段名;
从数据表文件中获取与所述目标表标识对应的目标表,从目标表中查找与所述中间字段名对应的目标字段名,当所述目标表中包括所述目标字段名时,则确定所述源表与所述目标表之间的依赖关系。
2.根据权利要求1所述的方法,其特征在于,在所述调用多线程并行对所述源字段名进行分词之后,所述方法还包括:
获取分词后得到的多个词语中的未标签词语;
从所述数据表文件中获取词语黑名单;
当所述未标签词语不属于所述词语黑名单时,读取所述未标签词语对应的历史分词记录,所述历史分词记录中包括所述未标签词语对应的历史分词次数;
根据所述历史分词次数大于阈值的未标签词语生成提示信息,将所述提示信息发送至对应的终端。
3.根据权利要求1所述的方法,其特征在于,所述调用多线程并行对所述源字段名进行分词包括:
对所述源字段名进行遍历,利用所述预设词库对所述源字段名进行匹配,得到多种分词结果;
根据所述多种分词结果确定所述源字段名对应的有向无环关系;
调用预设概率模型对所述源字段名对应的有向无环关系进行运算,得到所述分词结果对应的概率;
利用所述概率最大的分词结果对所述源字段名进行分词,得到多个词语。
4.根据权利要求1所述的方法,其特征在于,所述从目标表中查找与所述中间字段名对应的目标字段名包括:
读取所述目标表中的候选字段名;
计算所述候选字段名与所述中间字段名之间的第二相似度,将大于预设值的所述第二相似度所对应的候选字段名标记为目标字段名。
5.根据权利要求1所述的方法,其特征在于,所述计算所述源字段名与所述参考字段名之间的第一相似度包括:
根据所述源字段名生成对应的源词向量;
利用所述特征词和所述描述词生成所述参考字段名对应的参考词向量;
计算所述源词向量和所述参考词向量之间的余弦相似度,将所述余弦相似度作为所述第一相似度。
6.一种基于数据表的依赖关系识别装置,其特征在于,所述装置包括:
字段名读取模块,用于获取携带有源表标识和目标表标识的依赖关系识别任务,根据所述依赖关系识别任务读取所述源表标识对应的源表中的源字段名;
分词模块,用于调用多线程并行对所述源字段名进行分词,得到所述源字段名中的特征词;
描述词获取模块,用于从预设词库中获取与所述特征词对应的描述词;
字段名生成模块,用于利用所述特征词和所述描述词生成参考字段名;
相似度生成模块,用于计算所述源字段名与所述参考字段名之间的第一相似度,将符合预设条件的所述第一相似度对应的参考字段名标记为中间字段名,记录所述中间字段名;
依赖关系确定模块,用于从数据表文件中获取与所述目标表标识对应的目标表,从目标表中查找与所述中间字段名对应的目标字段名,当所述目标表中包括所述目标字段名时,则确定所述源表与所述目标表之间的依赖关系。
7.根据权利要求6所述的装置,其特征在于,在所述分词模块之后,所述装置还包括提示信息生成模块,用于获取分词后得到的多个词语中的未标签词语;从所述数据表文件中获取词语黑名单;当所述未标签词语不属于所述词语黑名单时,读取所述未标签词语对应的历史分词记录,所述历史分词记录中包括所述未标签词语对应的历史分词次数;根据所述历史分词次数大于阈值的未标签词语生成提示信息,将所述提示信息发送至对应的终端。
8.根据权利要求6所述的装置,其特征在于,所述分词模块还用于对所述源字段名进行遍历,利用所述预设词库对所述源字段名进行匹配,得到多种分词结果;根据所述多种分词结果确定所述源字段名对应的有向无环关系;调用预设概率模型对所述源字段名对应的有向无环关系进行运算,得到所述分词结果对应的概率;利用所述概率最大的分词结果对所述源字段名进行分词,得到多个词语。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968542.0A CN110889286B (zh) | 2019-10-12 | 2019-10-12 | 基于数据表的依赖关系识别方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968542.0A CN110889286B (zh) | 2019-10-12 | 2019-10-12 | 基于数据表的依赖关系识别方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110889286A true CN110889286A (zh) | 2020-03-17 |
CN110889286B CN110889286B (zh) | 2022-04-12 |
Family
ID=69746085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910968542.0A Active CN110889286B (zh) | 2019-10-12 | 2019-10-12 | 基于数据表的依赖关系识别方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110889286B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723210A (zh) * | 2020-06-29 | 2020-09-29 | 深圳壹账通智能科技有限公司 | 存储数据表的方法、装置、计算机设备及可读存储介质 |
CN112883014A (zh) * | 2021-03-25 | 2021-06-01 | 上海众源网络有限公司 | 数据回溯方法、装置、计算机设备和存储介质 |
CN112948400A (zh) * | 2020-09-17 | 2021-06-11 | 深圳市明源云科技有限公司 | 一种数据库管理方法、数据库管理装置及终端设备 |
CN114385623A (zh) * | 2021-11-30 | 2022-04-22 | 北京达佳互联信息技术有限公司 | 数据表获取方法、设备、装置、存储介质及程序产品 |
CN114896352A (zh) * | 2022-04-06 | 2022-08-12 | 北京月新时代科技股份有限公司 | 无字段名的井文件字段名自动匹配方法、***、介质和计算机设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06334181A (ja) * | 1993-05-26 | 1994-12-02 | Fujitsu Ltd | 電界効果トランジスタ |
WO2014168899A2 (en) * | 2013-04-11 | 2014-10-16 | Microsoft Corporation | Word breaker from cross-lingual phrase table |
CN107291672A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 数据表的处理方法和装置 |
CN107688664A (zh) * | 2017-09-25 | 2018-02-13 | 平安科技(深圳)有限公司 | 图表生成方法、装置、计算机设备和存储介质 |
CN107704625A (zh) * | 2017-10-30 | 2018-02-16 | 锐捷网络股份有限公司 | 字段匹配方法和装置 |
CN108038135A (zh) * | 2017-11-21 | 2018-05-15 | 平安科技(深圳)有限公司 | 电子装置、多表关联查询的方法及存储介质 |
CN108776673A (zh) * | 2018-05-23 | 2018-11-09 | 哈尔滨工业大学 | 关系模式的自动转换方法、装置及存储介质 |
CN109325078A (zh) * | 2018-09-18 | 2019-02-12 | 拉扎斯网络科技(上海)有限公司 | 基于结构数据的数据血缘确定方法及装置 |
CN110019825A (zh) * | 2017-07-25 | 2019-07-16 | 华为技术有限公司 | 一种分析数据语义的方法及装置 |
-
2019
- 2019-10-12 CN CN201910968542.0A patent/CN110889286B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06334181A (ja) * | 1993-05-26 | 1994-12-02 | Fujitsu Ltd | 電界効果トランジスタ |
WO2014168899A2 (en) * | 2013-04-11 | 2014-10-16 | Microsoft Corporation | Word breaker from cross-lingual phrase table |
CN107291672A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 数据表的处理方法和装置 |
CN110019825A (zh) * | 2017-07-25 | 2019-07-16 | 华为技术有限公司 | 一种分析数据语义的方法及装置 |
CN107688664A (zh) * | 2017-09-25 | 2018-02-13 | 平安科技(深圳)有限公司 | 图表生成方法、装置、计算机设备和存储介质 |
CN107704625A (zh) * | 2017-10-30 | 2018-02-16 | 锐捷网络股份有限公司 | 字段匹配方法和装置 |
CN108038135A (zh) * | 2017-11-21 | 2018-05-15 | 平安科技(深圳)有限公司 | 电子装置、多表关联查询的方法及存储介质 |
CN108776673A (zh) * | 2018-05-23 | 2018-11-09 | 哈尔滨工业大学 | 关系模式的自动转换方法、装置及存储介质 |
CN109325078A (zh) * | 2018-09-18 | 2019-02-12 | 拉扎斯网络科技(上海)有限公司 | 基于结构数据的数据血缘确定方法及装置 |
Non-Patent Citations (1)
Title |
---|
模糊查找与模糊分组在批量数据合并中的应用: "模糊查找与模糊分组在批量数据合并中的应用C", 《北京印刷学院学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723210A (zh) * | 2020-06-29 | 2020-09-29 | 深圳壹账通智能科技有限公司 | 存储数据表的方法、装置、计算机设备及可读存储介质 |
CN112948400A (zh) * | 2020-09-17 | 2021-06-11 | 深圳市明源云科技有限公司 | 一种数据库管理方法、数据库管理装置及终端设备 |
CN112883014A (zh) * | 2021-03-25 | 2021-06-01 | 上海众源网络有限公司 | 数据回溯方法、装置、计算机设备和存储介质 |
CN114385623A (zh) * | 2021-11-30 | 2022-04-22 | 北京达佳互联信息技术有限公司 | 数据表获取方法、设备、装置、存储介质及程序产品 |
CN114896352A (zh) * | 2022-04-06 | 2022-08-12 | 北京月新时代科技股份有限公司 | 无字段名的井文件字段名自动匹配方法、***、介质和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110889286B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110889286B (zh) | 基于数据表的依赖关系识别方法、装置和计算机设备 | |
CN110457431B (zh) | 基于知识图谱的问答方法、装置、计算机设备和存储介质 | |
WO2022105122A1 (zh) | 基于人工智能的答案生成方法、装置、计算机设备及介质 | |
CN110909137A (zh) | 基于人机交互的信息推送方法、装置和计算机设备 | |
CN108664595B (zh) | 领域知识库构建方法、装置、计算机设备和存储介质 | |
CN110008250B (zh) | 基于数据挖掘的社保数据处理方法、装置和计算机设备 | |
CN110688853B (zh) | 序列标注方法、装置、计算机设备和存储介质 | |
CN113707300B (zh) | 基于人工智能的搜索意图识别方法、装置、设备及介质 | |
CN110751533B (zh) | 产品画像生成方法、装置、计算机设备和存储介质 | |
CN112181489B (zh) | 代码迁移方法、装置、计算机设备及存储介质 | |
CN112380837B (zh) | 基于翻译模型的相似句子匹配方法、装置、设备及介质 | |
CN113536735B (zh) | 一种基于关键词的文本标记方法、***和存储介质 | |
CN113961768B (zh) | 敏感词检测方法、装置、计算机设备和存储介质 | |
CN112231224A (zh) | 基于人工智能的业务***测试方法、装置、设备和介质 | |
CN112988595A (zh) | 动态同步测试方法、装置、设备及存储介质 | |
CN112766319A (zh) | 对话意图识别模型训练方法、装置、计算机设备及介质 | |
CN111985241A (zh) | 医学信息查询方法、装置、电子设备及介质 | |
CN110781677A (zh) | 药品信息匹配处理方法、装置、计算机设备和存储介质 | |
CN111191446B (zh) | 交互信息处理方法、装置、计算机设备和存储介质 | |
WO2021190653A1 (zh) | 一种语义解析设备、方法、终端及存储介质 | |
CN111191028A (zh) | 样本标注方法、装置、计算机设备和存储介质 | |
US20220075964A1 (en) | Hybrid translation system using a general-purpose neural network machine translator | |
US10866944B2 (en) | Reconciled data storage system | |
Alatawi et al. | The expansion of source code abbreviations using a language model | |
US20230075290A1 (en) | Method for linking a cve with at least one synthetic cpe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |