自动建表方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:24251978 阅读:11 留言:0更新日期:2020-05-22 23:48
本申请涉及数据库建表技术领域,尤其涉及一种自动建表方法、装置、计算机设备和存储介质,包括:获取历次建表数据,从历次建表数据中抽取出出现次数大于预设次数阈值的数据作为词根,将所有词根进行排序后生成词根库;接收用户输入的建表信息,提取建表信息中的关键字,将关键字与词根库中的词根做正方向匹配,得到第一匹配结果;将关键字与词根库中的词根做逆方向匹配后,得到第二匹配结果;将第一匹配结果和第二匹配结果进行比较后进行建表。通过正向匹配和逆向匹配的方式,对匹配结果进行比较,从而能够更大限度地准确得到分词,快速准确的满足用户对于表的需求。

Automatic tabulation method, device, computer equipment and storage medium

【技术实现步骤摘要】
自动建表方法、装置、计算机设备和存储介质
本申请涉及数据库建表
,尤其涉及一种自动建表方法、装置、计算机设备和存储介质。
技术介绍
在数据库中,表(TABLE)是数据库中用来存储数据的对象,是有结构的数据的集合,是整个数据库系统的基础。在操作系统中,创建表是指在存储管理中,系统会为每个进程建立一张映射表。目前在进行建表时,通常采用建表助手作为建表的工具,建表助手是内嵌于元数据平台的子模块,目的是做数据建表的标准化,以词根管理的基础词根为依托,匹配出用户所需sql。但是,目前建表助手在创建表时存在着无法精确进行分词,从而不能快速准确的满足用户对于表的需求。
技术实现思路
基于此,针对目前建表助手在创建表时存在着无法精确进行分词,从而不能快速准确的满足用户对于表的需求的问题,提供一种自动建表方法、装置、计算机设备和存储介质。一种自动建表方法,包括如下步骤:获取历次建表数据,从所述历次建表数据中抽取出出现次数大于预设次数阈值的数据作为词根,将所有所述词根进行排序后生成词根库;接收用户输入的建表信息,提取所述建表信息中的关键字,将所述关键字与所述词根库中的词根做正方向匹配,得到第一匹配结果;将所述关键字与所述词根库中的词根做逆方向匹配后,得到第二匹配结果;赋予所述第一匹配结果中的各元素以不同的权重,提取所述第一匹配结果中的词根,将所述第一匹配结果中的词根与对应的权重进行乘积后,得到第一评分;赋予所述第二匹配结果中的各元素以不同的权重,提取所述第二匹配结果中的词根,将所述第二匹配结果中的词根与对应的权重进行乘积后,得到第二评分;若所述第一评分与所述第二评分相一致,则以所述第一匹配结果或者所述第二匹配结果作为分词方案进行建表,否则,以所述第一评分与所述第二评分中评分分数低的匹配结果作为分词方案进行建表。在其中一个可能的实施例中,所述获取历次建表数据,从所述历次建表数据中抽取出出现次数大于预设次数阈值的数据作为词根,将所有所述词根进行排序后生成词根库,包括:获取数个历次建表数据,对各所述历次建表数据分别进行数据清洗;将数据清洗后的数据按照预设词的出现次数进行排序,以出现次数最多的预设词作为一个词根;汇总所有词根,按照出现次数从多到少进行排序后生成所述词根库。在其中一个可能的实施例中,所述接收用户输入的建表信息,提取所述建表信息中的关键字,将所述关键字与所述词根库中的词根做正方向匹配,得到第一匹配结果,包括:接收用户输入的建表指令,从所述建表指令中获取用户所需的建表信息,所述建表信息包括表字段和表名称;提取所述表字段中的关键字符,拼接所述关键字符和所述表名称,得到所述关键字;获取所述词根库中各词根的字符数,以字符数最大值N作为第一字符数,获取所述关键字字符数,将关键字字符数作为的第二字符数;若所述第二字符数小于所述第一字符数,则以所述关键字作为查询条件,沿着所述词根库的正方向进行匹配,提取第一个字符数等于所述第二字符数的词根作为所述第一匹配结果;若所述第二字符数不小于所述第一字符数,则截取所述关键字中前N个字符作为查询条件,沿着所述词根库的正方向进行匹配,提取第一个字符数等于所述第二字符数的词根作为所述第一匹配结果。在其中一个可能的实施例中,所述将所述关键字与所述词根库中的词根做逆方向匹配后,得到第二匹配结果,包括:若所述第二字符数小于所述第一字符数,则以所述关键字作为查询条件,沿着所述词根库的逆方向进行匹配,提取第一个字符数等于所述第二字符数的词根作为所述第二匹配结果;若所述第二字符数不小于所述第一字符数,则截取所述关键字中后N个字符作为查询条件,沿着所述词根库的逆方向进行匹配,提取所述第一个字符数等于所述第二字符数的词根作为所述第一匹配结果。在其中一个可能的实施例中,所述赋予所述第一匹配结果中的各元素以不同的权重,包括:将所述第一匹配结果中的元素按照词语属性划分为单字、词根词或非词根词;根据所述用户输入的建表信息,得到词根词的分词数量;赋予所述单字、分词数量和所述非词根词以不同的权重。在其中一个可能的实施例中,所述以所述第一匹配结果或者所述第二匹配结果作为分词方案进行建表之后,所述方法还包括:分别获取根据所述第一匹配结果建表的第一表主键和根据所述第二匹配结果建表的第二表主键;比较所述第一表主键和所述第二表主键的长度,若长度一致,则标记为建表成功,否则重新对所述第一匹配结果和所述第二匹配结果进行评分,直到建表成功。一种自动建表装置,包括如下模块:词根库模块,设置为获取历次建表数据,从所述历次建表数据中抽取出出现次数大于预设次数阈值的数据作为词根,将所有所述词根进行排序后生成词根库;第一匹配结果模块,设置为接收用户输入的建表信息,提取所述建表信息中的关键字,将所述关键字与所述词根库中的词根做正方向匹配,得到第一匹配结果;第二匹配结果模块,设置为将所述关键字与所述词根库中的词根做逆方向匹配后,得到第二匹配结果;第一评分模块,设置为赋予所述第一匹配结果中的各元素以不同的权重,提取所述第一匹配结果中的词根,将所述第一匹配结果中的词根与对应的权重进行乘积后,得到第一评分;第二评分模块,设置为赋予所述第二匹配结果中的各元素以不同的权重,提取所述第二匹配结果中的词根,将所述第二匹配结果中的词根与对应的权重进行乘积后,得到第二评分;建表模块,设置为若所述第一评分与所述第二评分相一致,则以所述第一匹配结果或者所述第二匹配结果作为分词方案进行建表,否则,以所述第一评分与所述第二评分中评分分数低的匹配结果作为分词方案进行建表。在其中一个可能的实施例中,所述第一匹配结果生成模块,还用于:若所述第二字符数小于所述第一字符数,则以所述关键字作为查询条件,沿着所述词根库的逆方向进行匹配,提取第一个字符数等于所述第二字符数的词根作为所述第二匹配结果;若所述第二字符数不小于所述第一字符数,则截取所述关键字中后N个字符作为查询条件,沿着所述词根库的逆方向进行匹配,提取所述第一个字符数等于所述第二字符数的词根作为所述第一匹配结果。一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述自动建表方法的步骤。一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述自动建表方法的步骤。与现有机制相比,本申请通过正向匹配和逆向匹配的方式进行精准分词,具体步骤为:获取历次建表数据,从所述历次建表数据中抽取出出现次数大于预设次数阈值的数据作为词根,将所有所述词根进行排序后生成词根库;接收用户输入的建表信息,提取所述建表信息中的关键字,将所述关键字与所述词根库中的词根做正方向匹配,得到第一匹配结果;将所述关键字与所述词根库中的词根做逆本文档来自技高网...

【技术保护点】
1.一种自动建表方法,其特征在于,包括:/n获取历次建表数据,从所述历次建表数据中抽取出出现次数大于预设次数阈值的数据作为词根,将所有所述词根进行排序后生成词根库;/n接收用户输入的建表信息,提取所述建表信息中的关键字,将所述关键字与所述词根库中的词根做正方向匹配,得到第一匹配结果;/n将所述关键字与所述词根库中的词根做逆方向匹配后,得到第二匹配结果;/n赋予所述第一匹配结果中的各元素以不同的权重,提取所述第一匹配结果中的词根,将所述第一匹配结果中的词根与对应的权重进行乘积后,得到第一评分;/n赋予所述第二匹配结果中的各元素以不同的权重,提取所述第二匹配结果中的词根,将所述第二匹配结果中的词根与对应的权重进行乘积后,得到第二评分;/n若所述第一评分与所述第二评分相一致,则以所述第一匹配结果或者所述第二匹配结果作为分词方案进行建表,否则,以所述第一评分与所述第二评分中评分分数低的匹配结果作为分词方案进行建表。/n

【技术特征摘要】
1.一种自动建表方法,其特征在于,包括:
获取历次建表数据,从所述历次建表数据中抽取出出现次数大于预设次数阈值的数据作为词根,将所有所述词根进行排序后生成词根库;
接收用户输入的建表信息,提取所述建表信息中的关键字,将所述关键字与所述词根库中的词根做正方向匹配,得到第一匹配结果;
将所述关键字与所述词根库中的词根做逆方向匹配后,得到第二匹配结果;
赋予所述第一匹配结果中的各元素以不同的权重,提取所述第一匹配结果中的词根,将所述第一匹配结果中的词根与对应的权重进行乘积后,得到第一评分;
赋予所述第二匹配结果中的各元素以不同的权重,提取所述第二匹配结果中的词根,将所述第二匹配结果中的词根与对应的权重进行乘积后,得到第二评分;
若所述第一评分与所述第二评分相一致,则以所述第一匹配结果或者所述第二匹配结果作为分词方案进行建表,否则,以所述第一评分与所述第二评分中评分分数低的匹配结果作为分词方案进行建表。


2.根据权利要求1所述的自动建表方法,其特征在于,所述获取历次建表数据,从所述历次建表数据中抽取出出现次数大于预设次数阈值的数据作为词根,将所有所述词根进行排序后生成词根库,包括:
获取数个历次建表数据,对各所述历次建表数据分别进行数据清洗;
将数据清洗后的数据按照预设词的出现次数进行排序,以出现次数最多的预设词作为一个词根;
汇总所有词根,按照出现次数从多到少进行排序后生成所述词根库。


3.根据权利要求1所述的自动建表方法,其特征在于,所述接收用户输入的建表信息,提取所述建表信息中的关键字,将所述关键字与所述词根库中的词根做正方向匹配,得到第一匹配结果,包括:
接收用户输入的建表指令,从所述建表指令中获取用户所需的建表信息,所述建表信息包括表字段和表名称;
提取所述表字段中的关键字符,拼接所述关键字符和所述表名称,得到所述关键字;
获取所述词根库中各词根的字符数,以字符数最大值N作为第一字符数,获取所述关键字字符数,将关键字字符数作为的第二字符数;
若所述第二字符数小于所述第一字符数,则以所述关键字作为查询条件,沿着所述词根库的正方向进行匹配,提取第一个字符数等于所述第二字符数的词根作为所述第一匹配结果;
若所述第二字符数不小于所述第一字符数,则截取所述关键字中前N个字符作为查询条件,沿着所述词根库的正方向进行匹配,提取第一个字符数等于所述第二字符数的词根作为所述第一匹配结果。


4.根据权利要求3述的自动建表方法,其特征在于,所述将所述关键字与所述词根库中的词根做逆方向匹配后,得到第二匹配结果,包括:
若所述第二字符数小于所述第一字符数,则以所述关键字作为查询条件,沿着所述词根库的逆方向进行匹配,提取第一个字符数等于所述第二字符数的词根作为所述第二匹配结果;
若所述第二字符数不小于所述第一字符数,则截取所述关键字中后N个字符作为查询条件,沿着所述词根库的逆方向进行匹配,提取所述第一个字符数等于所述第二字符数的词根作为所述...

【专利技术属性】
技术研发人员:欧阳智李明轩
申请(专利权)人:中国平安财产保险股份有限公司
类型:发明
国别省市:广东;44

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

1