首页 / 专利库 / 资料储存系统 / 数据仓库 / 一种数据推荐模型的训练方法、装置、设备及存储介质

一种数据推荐模型的训练方法、装置、设备及存储介质

阅读:122发布:2020-05-08

专利汇可以提供一种数据推荐模型的训练方法、装置、设备及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 提供一种数据推荐模型的训练方法、装置、设备及存储介质,涉及模型训练技术领域。该方法包括:获取 数据仓库 应用 知识库 中的业务需求的描述和该业务需求用到的数据表的信息;根据该业务需求的描述,和预设的业务术语,确定预设 算法 的输入变量;根据该业务需求用到的数据表的信息,确定该预设算法的输出变量;根据该输入变量,和该输出变量,采用该预设算法进行训练,获取所述数据推荐模型。应用本发明 实施例 ,使该数据推荐模型具有历史经验,能够从语义上理解文本内容,并通过使用该推荐模型,可以减少搜索结果的量以及提高搜索结果的精准度。,下面是一种数据推荐模型的训练方法、装置、设备及存储介质专利的具体信息内容。

1.一种数据推荐模型的训练方法,其特征在于,所述方法包括:
获取数据仓库应用知识库中的业务需求的描述和所述业务需求用到的数据表的信息;
根据所述业务需求的描述,和预设的业务术语,确定预设算法的输入变量;
根据所述业务需求用到的数据表的信息,确定所述预设算法的输出变量;
根据所述输入变量,和所述输出变量,采用所述预设算法进行训练,获取所述数据推荐模型。
2.根据权利要求1所述的方法,其特征在于,所述数据推荐模型包括:第一推荐模型,所述根据所述业务需求的描述,和预设的业务术语,确定预设算法的输入变量,包括:
对所述业务需求的描述进行分词处理,得到多个分词词语,并分别确定各分词词语与所述数据仓库的每个数据表中业务术语的近似度的最大值;
确定所述数据仓库的每个数据表中多个近似度最大的分词词语,和各近似度最大值的分词词语对应的业务术语在所述数据表中的类型,作为预设算法的输入变量;
所述根据所述输入变量,和所述输出变量,采用所述预设算法进行训练,获取所述数据推荐模型,包括:
根据所述输入变量,和所述输出变量,采用所述预设算法进行训练,获取所述第一推荐模型。
3.根据权利要求2所述的方法,其特征在于,所述数据推荐模型还包括:第二推荐模型,所述根据所述业务需求的描述,和预设的业务术语,确定预设算法的输入变量,包括:
对所述业务需求的描述进行分词处理,得到多个分词词语,并分别确定各分词词语与业务术语词典中的每个业务术语的近似度的最大值;
将所述各分词词语与所述每个业务术语的近似度最大值,确定为预设算法的输入变量;
所述根据所述输入变量,和所述输出变量,采用所述预设算法进行训练,获取所述数据推荐模型,包括:
根据所述输入变量,和所述输出变量,采用所述预设算法进行训练,获取所述第二推荐模型。
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述业务需求用到的数据表的信息,确定所述预设算法的输出变量,包括:
根据所述多个业务需求用到的数据表的信息,确定所述数据仓库中所有数据表的使用情况信息,作为所述预设算法的输出变量;每个数据表的使用情况信息用于表示该数据表是否被所述业务需求所使用。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对输入的检索内容进行分词处理,并确定所述检索内容中各分词词语和所述数据仓库中的每个数据表中业务术语的近似度,以及各近似度对应业务术语在数据表中的类型;
根据所述近似度,以及所述各近似度对应业务术语在数据表中的类型,采用所述第一推荐模型,确定所述检索内容使用所述每个数据表的第一概率值。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
对输入的检索内容进行分词处理,并确定所述检索内容中各分词词语和每个业务术语的近似度;
根据所述近似度,采用所述第二推荐模型,确定所述检索内容使用所述每个数据表的第二概率值。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
对所述检索内容使用所述每个数据表的第一概率值,和所述检索内容使用所述每个数据表的第二概率值,进行整合处理,以确定所述检索内容使用各数据表的概率值最大的多个数据表;
确定所述检索内容的各分词词语与所述概率值最大的多个数据表中的业务术语的最大近似度;
输出与所述检索内容的各分词词语的近似度最大的多个业务术语,以及所述多个业务术语所在数据表的信息。
8.一种数据推荐模型的训练装置,其特征在于,所述装置包括:
第一获取模,用于获取数据仓库应用知识库中的业务需求的描述和所述业务需求用到的数据表的信息;
第一确定模块,用于根据所述业务需求的描述,和预设的业务术语,确定预设算法的输入变量;
第二确定模块,用于根据所述业务需求用到的数据表的信息,确定所述预设算法的输出变量;
第二获取模块,用于根据所述输入变量,和所述输出变量,采用所述预设算法进行训练,获取所述数据推荐模型。
9.一种模型训练设备,其特征在于,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项所述的方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的方法的步骤。

说明书全文

一种数据推荐模型的训练方法、装置、设备及存储介质

技术领域

[0001] 本发明涉及模型训练技术领域,具体而言,涉及一种数据推荐模型的训练方法、装置、设备及存储介质。

背景技术

[0002] 随着互联网的发展,数据仓库的数据表数量在不断的扩展。尤其像企业级数据仓库,它的核心职能之一是将企业全范围内的跨系统数据整合,其数据来源包括企业各类型的源系统,故企业级数据仓库的数据表通常数量多,业务繁杂,大型企业尤甚。所以,如何根据使用者的搜索内容,将数据仓库里的数据表推荐给使用者,成为当下的研究热点。
[0003] 目前,通过计算搜索关键字与数据仓库元数据之间的相似度,将搜索结果输出,与搜索关键字相似度最高的数据表排在前面,反之排在后面,其中,相似度算法包括编辑距离相似度、余弦相似度、欧式距离等。
[0004] 然而,通过相似度大小匹配数据表的方式,只能从纯文字相识度上进行数据表的匹配,这样会导致搜索结果多以及不精准。

发明内容

[0005] 本发明的目的在于,针对上述现有技术中的不足,提供一种数据推荐模型的训练方法、装置、设备及存储介质,通过使用该推荐模型,可以减少搜索结果的量以及提高搜索结果的精准度。
[0006] 为实现上述目的,本发明实施例采用的技术方案如下:
[0007] 第一方面,本发明实施例提供了一种数据推荐模型的训练方法,所述方法包括:
[0008] 获取数据仓库应用知识库中的业务需求的描述和所述业务需求用到的数据表的信息;
[0009] 根据所述业务需求的描述,和预设的业务术语,确定预设算法的输入变量;
[0010] 根据所述业务需求用到的数据表的信息,确定所述预设算法的输出变量;
[0011] 根据所述输入变量,和所述输出变量,采用所述预设算法进行训练,获取所述数据推荐模型。
[0012] 进一步地,所述数据推荐模型包括:第一推荐模型,所述根据所述业务需求的描述,和预设的业务术语,确定预设算法的输入变量,包括:
[0013] 对所述业务需求的描述进行分词处理,得到多个分词词语,并分别确定各分词词语与所述数据仓库的每个数据表中业务术语的近似度的最大值;
[0014] 确定所述数据仓库的每个数据表中多个近似度最大的分词词语,和各近似度最大值的分词词语对应的业务术语在所述数据表中的类型,作为预设算法的输入变量;
[0015] 所述根据所述输入变量,和所述输出变量,采用所述预设算法进行训练,获取所述数据推荐模型,包括:
[0016] 根据所述输入变量,和所述输出变量,采用所述预设算法进行训练,获取所述第一推荐模型。
[0017] 进一步地,所述数据推荐模型还包括:第二推荐模型,所述根据所述业务需求的描述,和预设的业务术语,确定预设算法的输入变量,包括:
[0018] 对所述业务需求的描述进行分词处理,得到多个分词词语,并分别确定各分词词语与业务术语词典中的每个业务术语的近似度的最大值;
[0019] 将所述各分词词语与所述每个业务术语的近似度最大值,确定为预设算法的输入变量;
[0020] 所述根据所述输入变量,和所述输出变量,采用所述预设算法进行训练,获取所述数据推荐模型,包括:
[0021] 根据所述输入变量,和所述输出变量,采用所述预设算法进行训练,获取所述第二推荐模型。
[0022] 进一步地,所述根据所述业务需求用到的数据表的信息,确定所述预设算法的输出变量,包括:
[0023] 根据所述多个业务需求用到的数据表的信息,确定所述数据仓库中所有数据表的使用情况信息,作为所述预设算法模型的输出变量;每个数据表的使用情况信息用于表示该数据表是否被所述业务需求所使用。
[0024] 进一步地,所述方法还包括:
[0025] 对输入的检索内容进行分词处理,并确定所述检索内容中各分词词语和所述数据仓库中的每个数据表中业务术语的近似度,以及各近似度对应业务术语在数据表中的类型;
[0026] 根据所述近似度,以及所述各近似度对应业务术语在数据表中的类型,采用所述第一推荐模型,确定所述检索内容使用所述每个数据表的第一概率值。
[0027] 进一步地,所述方法还包括:
[0028] 对输入的检索内容进行分词处理,并确定所述检索内容中各分词词语和每个业务术语的近似度;
[0029] 根据所述相似度,采用所述第二推荐模型,确定所述检索内容使用所述每个数据表的第二概率值。
[0030] 进一步的,所述方法还包括:
[0031] 对所述检索内容使用所述每个数据表的第一概率值,和所述检索内容使用所述每个数据表的第二概率值,进行整合处理,以确定所述检索内容使用各数据表的概率值最大的多个数据表;
[0032] 确定所述检索内容的各分词词语与所述概率值最大的多个数据表中的业务术语的最大近似度;
[0033] 输出与所述检索内容的各分词词语的近似度最大的多个业务术语,以及所述多个业务术语所在数据表的信息。
[0034] 第二方面,本发明实施例还提供了一种数据推荐模型的训练装置,所述装置包括:
[0035] 第一获取模,用于获取数据仓库应用知识库中的业务需求的描述和所述业务需求用到的数据表的信息;
[0036] 第一确定模块,用于根据所述业务需求的描述,和预设的业务术语,确定预设算法的输入变量;
[0037] 第二确定模块,用于根据所述业务需求用到的数据表的信息,确定所述预设算法的输出变量;
[0038] 第二获取模块,用于根据所述输入变量,和所述输出变量,采用所述预设算法进行训练,获取所述数据推荐模型。
[0039] 进一步地,所述数据推荐模型包括:第一推荐模型,所述第一确定模块,具体用于:
[0040] 对所述业务需求的描述进行分词处理,得到多个分词词语,并分别确定各分词词语与所述数据仓库的每个数据表中业务术语的近似度的最大值;
[0041] 确定所述数据仓库的每个数据表中多个近似度最大的分词词语,和各近似度最大值的分词词语对应的业务术语在所述数据表中的类型,作为预设算法的输入变量;
[0042] 所述第二获取模块,具体用于:
[0043] 根据所述输入变量,和所述输出变量,采用所述预设算法进行训练,获取所述第一推荐模型。
[0044] 进一步地,所述数据推荐模型还包括:第二推荐模型,所述第一确定模块,还具体用于:
[0045] 对所述业务需求的描述进行分词处理,得到多个分词词语,并分别确定各分词词语与业务术语词典中的每个业务术语的近似度的最大值;
[0046] 将所述各分词词语与所述每个业务术语的近似度最大值,确定为预设算法的输入变量;
[0047] 所述第二获取模块,还具体用于:
[0048] 根据所述输入变量,和所述输出变量,采用所述预设算法进行训练,获取所述第二推荐模型。
[0049] 进一步地,第二确定模块,具体用于:
[0050] 根据所述多个业务需求用到的数据表的信息,确定所述数据仓库中所有数据表的使用情况信息,作为所述预设算法模型的输出变量;每个数据表的使用情况信息用于表示该数据表是否被所述业务需求所使用。
[0051] 进一步地,所述装置还包括:
[0052] 第一分词模块,用于对输入的检索内容进行分词处理,并确定所述检索内容中各分词词语和所述数据仓库中的每个数据表中业务术语的近似度,以及各近似度对应业务术语在数据表中的类型;
[0053] 第三确定模块,用于根据所述近似度,以及所述各近似度对应业务术语在数据表中的类型,采用所述第一推荐模型,确定所述检索内容使用所述每个数据表的第一概率值。
[0054] 进一步地,所述装置还包括:
[0055] 第二分词模块,用于对输入的检索内容进行分词处理,并确定所述检索内容中各分词词语和每个业务术语的近似度;
[0056] 第四确定模块,用于根据所述近似度,采用所述第二推荐模型,确定所述检索内容使用所述每个数据表的第二概率值。
[0057] 进一步地,所述装置还包括:
[0058] 整合模块,用于对所述检索内容使用所述每个数据表的第一概率值,和所述检索内容使用所述每个数据表的第二概率值,进行整合处理,以确定所述检索内容使用各数据表的概率值最大的多个数据表;
[0059] 第五确定模块,用于确定所述检索内容的各分词词语与所述概率值最大的多个数据表中的业务术语的最大近似度;
[0060] 输出模块,用于输出与所述检索内容的各分词词语的近似度最大的多个业务术语,以及所述多个业务术语所在数据表的信息。
[0061] 本发明实施例还提供了一种模型训练设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一数据推荐模型的训练方法的步骤。
[0062] 本发明实施例还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述任一数据推荐模型的训练方法的步骤。
[0063] 本发明的有益效果是:
[0064] 本发明实施例提供的一种数据推荐模型的训练方法、装置、装置及存储介质,首先通过在数据仓库应用知识库中获取业务需求的描述和该业务需求用到的数据表的信息,然后根据该业务需求的描述以及预设的业务术语,确定训练数据推荐模型预设算法的输入变量,再根据该业务需求用到的数据表的信息,确定该预设算法的输出变量,最后根据该输入变量以及该输出变量,采用该预设算法进行训练,得到该数据推荐模型。采用本发明实施例提供的上述数据推荐模型的训练方法,通过利用业务需求的描述与数据表之间的关系,以及预设的业务术语,可以确定该预设算法的输入变量以及输出变量,最后训练得到数据推荐模型,使该数据推荐模型具有历史经验,能够从语义上理解文本内容,并通过使用该推荐模型,可以减少搜索结果的量以及提高搜索结果的精准度。附图说明
[0065] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0066] 图1为本发明实施例提供的一种数据推荐模型的训练方法的流程示意图;
[0067] 图2为本发明实施例提供的第一推荐模型的测试方法的流程示意图;
[0068] 图3为本发明实施例提供的第二推荐模型的测试方法的流程示意图;
[0069] 图4为本发明实施例提供的推荐模型的应用方法的流程示意图;
[0070] 图5为本发明实施例提供的一种数据推荐模型的训练装置的结构示意图;
[0071] 图6为本发明实施例提供的第一推荐模型的测试装置的结构示意图;
[0072] 图7为本发明实施例提供的第二推荐模型的测试装置的结构示意图;
[0073] 图8为本发明实施例提供的推荐模型的应用装置的结构示意图;
[0074] 图9为本发明实施例提供的一种模型训练设备的结构示意图。

具体实施方式

[0075] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
[0076] 本发明下述各实施例提供的数据推荐模型的训练方法,可用于数据信息搜索的应用程序的开发过程中,该数据推荐模型可采用机器学习中的二元分类算法进行训练,该二元分类算法包括决策树算法以及随机森林算法,其中,本发明下述各实施例提供的数据推荐模型可采用随机森林算法进行训练。图1为本发明实施例提供的一种数据推荐模型的训练方法的流程示意,如图1所示,该方法可以包括:
[0077] S101、获取数据仓库应用知识库中的业务需求的描述和该业务需求用到的数据表的信息。
[0078] 具体的,该数据仓库应用知识库可以反映业务需求和数据表的对应关系,其中,该业务需求可以从线上需求系统或者线下需求文档中获取,数据仓库中的数据可以存储在多个数据表中。该数据仓库应用知识库可以采用下列的方式进行搭建,搭建的过程可基于计算机程序设计语言Python。
[0079] 首先可以收集该数据仓库所采用的结构化查询语言(Structured Query Language,SQL)中的关键字,例如,from、select、insert以及update等,该关键字后面一般跟的都是表名;选取一个SQL脚本,如果该脚本中有回车符,可以将该脚本中的回车符替换为空格,也可以将连在一起的多个空格替换为一个空格;然后可以使用分裂函数(split)根据空格对该脚本进行拆分,并记录拆分后的位置号;找到该关键字第一次出现的位置号,再找到该位置之后第一次出现该关键字时的位置号,之后在这两个位置号之间,解析出数据表的表名;最后将业务需求对应脚本中解析出的表名、该业务需求的描述以及该业务需求对应的知识编码可以形成如表1所示的内容。
[0080] 表1
[0081] 知识编码 业务需求的描述 用到的数据表表名1 xxxxxx 表-1,表-2
2 …… ……
[0082] 在表1中,一种知识编号对应一种业务需求的描述,同时,一种业务需求的描述可以和一种数据表有联系,也可以和多种数据表有联系。该表中的内容就是该数据仓库应用知识库中的内容,在该数据仓库应用知识库搭建完成后,可以从该数据仓库应用知识库中获取到业务需求的描述以及该业务需求用到的数据表表名。
[0083] S102、根据该业务需求的描述,和预设的业务术语,确定预设算法的输入变量。
[0084] 具体的,该业务术语可以预先存放在数据仓库业务术语词典中,该业务术语的来源可以为数据仓库元数据信息中的表中文名及中文描述、字段中文名及中文描述,该数据仓库业务术语词典可以采用下列的方式进行搭建。
[0085] 首先收集该数据仓库元数据信息中的表中文名以及字段中文名,不对其进行分词处理,直接作为初始术语;接受对该初始术语的审核和修订,形成第一批业务术语;再将该第一批业务术语加入具有分词功能的自定义词典中;然后收集该数据仓库元数据信息中的表中文描述,并对该表中文描述进行分词处理,将分词处理后的结果作为第二批初始术语;收集该数据仓库元数据信息中的字段中文描述,并对该字段中文描述进行分词处理,将分词处理后的结果作为第二批初始术语;最后接受对该第一批初始术语以及该第二批初始术语的审核和修订,并将审核和修订后的第一批初始术语以及第二批初始术语加入到该数据仓库业务术语词典中,形成业务术语。
[0086] 进一步地,搭建该数据仓库业务术语词典的过程中,分词处理可以包括如下步骤:(1)分词,可以使用python主流的分词工具结巴(jieba)结合该自定义词典进行分词;(2)去标点/停用词/无效词,可以对分词后的结果进行筛选,首先可以去除该结果中的数字和标点符号信息,然后通过停用词词典可以去除停用词,例如长度为1的词:的、了等,这类词是没有实际含义的,最后通过定义无效词库可以去除无效词,该无效词指的是并非描述表本身,对推荐毫无价值的词,比如同比、同期、表、本月、上月等这类词。
[0087] 进一步地,在搭建该数据仓库业务术语词典的步骤(2)中,该无效词库可以通过“逆文本频率指数(Inverse Document Frequency,IDF)”进行定义,具体步骤如下:首先可以收集表中文名、字段中文名、表中文描述、字段中文描述以及数据仓库应用知识库中的业务需求,然后对收集到的内容进行分词处理,并计算经过分词处理后得到的所有分词词语的IDF值,将IDF值由低到高进行排序,选取预设个数排名的分词词语,比如选取前100个分词词语进行分析,在去除标点以及停用词后的结果中,将该结果中的分词词语与该无效词库中的IDF值最低的前100个分词词语进行对比,如果两者之间有相同的分词词语,就可以将该结果中的与该无效词库中的IDF值最低的前100个分词词语相同的分词词语认为是无效词,并去除该无效词,以下为IDF值的计算公式:
[0088]
[0089] 从该公式中可以看出,如果包含该分词词语的数据表个数越多,则IDF值就越小,也就是说,该分词词语在数据仓库中出现的地方很多,分辨率很差,所以取IDF值最低的前100个分词词语可以去判断,在去除标点以及停用词后的结果中剩余的分词词语哪些是无效词,哪些是无效词,并将是无效词分词词语删除,最后只剩下有效分词词语,将该有效分词词语作为第二批初始术语。
[0090] 后期可以根据业务术语维护流程对该数据仓库业务术语词典进行定期修订,在搭建该数据仓库业务术语词典的过程中,如果一个数据表中所属的业务术语来源于多种类型,则按表中文名、字段中文名、表中文描述、字段中文描述的优先顺序,取其中一个即可,以保证一个数据表中的业务术语唯一,例如,以国家电网的设备检修这个业务术语为例,该设备检修业务术语如果在一个数据表中来源于表中文名、字段中文名以及表中文描述、字段中文描述,那么基于一个数据表中的业务术语唯一以及按表中文名、字段中文名、表中文描述、字段中文描述的优先顺序,取其中一个即可这一原则,该设备检修业务术语的来源为表中文名,该数据仓库业务术语词典中的业务术语存储的形式如表2所示,其中每一个业务术语对应一个术语编号。
[0091] 表2
[0092]
[0093] 从该表中可以看出,一种术语编码对应一种业务术语,同时,一种业务术语的来源类型也只能确定为一种,来源名称可以为表中文名或者字段中文名。该表中的内容就是该数据仓库业务术语词典中的内容,在该数据仓库业务术语词典搭建完成后,可以从该数据仓库业务术语词典中获取业务术语,以及业务术语来源类型。
[0094] 该预设算法可以通过决策树算法或者随机森林算法实现,一般而言,该随机森林算法更优,本发明实施例中的预设算法都可以通过随机森林算法实现,随机森林算法是由一系列的分类器组合在一起进行决策,期望得到一个最“公平”的学习方法,构造每一个分类器需要从原数据集中随机抽取出一部分样本作为样本子空间,然后再从样本子空间中随机的选取一个新的特征子空间,在这个新空间中建立决策树作为分类器,最后通过投票的方法得到最终决。根据该数据仓库应用知识库中的业务需求的描述,和该数据仓库业务术语词典中的业务术语,可以确定该随机森林算法的输入变量。
[0095] 进一步地,在一个实施例中,数据推荐模型可以为第一推荐模型,根据该数据仓库应用知识库中的业务需求的描述,和该数据仓库业务术语词典中的业务术语,可以确定训练该第一推荐模型所采用的随机森林算法的输入变量。具体的,首先对该业务需求的描述进行分词处理,得到多个分词词语,该分词处理的过程和搭建数据仓库业务术语词典中的几乎一样,只是这里的用到分词的自定义词库里的内容是数据仓库业务术语词典中的所有业务术语,其他处理过程一样,这里不再说明,然后可以先计算各分词词语与数据仓库的每个数据表中业务术语的近似度,再确定各分词词语与数据仓库的每个数据表中业务术语的近似度的最大值。例如,一种知识编码对应的业务需求的描述经分词处理后,得到的分词词语数量是10个,数据仓库一共有800张数据表,平均每个数据表拥有10个业务术语,则可以计算每个分词词语和数据库中每一个数据表的每一个业务术语的近似度,最终产生10×800×10=80000条记录。表3中记录了以国家电网的一种业务需求的描述为例的情况,具体记录了一种业务需求的描述中的一个分词词语与一个数据表中的每一个业务术语的近似度,其中“业务术语在该表的来源类型”可从该数据仓库应用知识库中获取。基于每个分词词语和数据库中每一个数据表的每一个业务术语的近似度计算结果,可以确定各分词词语与数据仓库的每个数据表中业务术语的近似度的最大值。表4中记录了以国家电网的一种业务需求的描述为例的情况,具体记录了一种业务需求的描述中的分词词语与一个数据表中的每一个业务术语的近似度的最大值。
[0096] 表3
[0097]
[0098] 表4
[0099]
[0100] 最后确定数据仓库的每个数据表中多个近似度最大的分词词语相关信息,以5个近似度最大的分词词语相关信息为例,该相关信息可以包括:知识编码、表名、最大近似值TOP1、最大近似值TOP1对应的类型(即表4中的近似度最大的业务术语在该表中的类型)、最大近似值TOP2、最大近似值TOP2对应的类型、最大近似值TOP3、最大近似值TOP3对应的类型、最大近似值TOP4、最大近似值TOP4对应的类型、最大近似值TOP5、最大近似值TOP5对应的类型,将最大近似值及最大近似值对应的类型作为随机森林算法的输入变量,如果随机森林算法的输入变量里有空值,也就是说当一种业务需求的分词词语个数少于要取的输入变量的个数时,将仅有的分词词语和业务术语间的近似度最大值加起来求平均,将平均值赋给剩下的输入变量中。
[0101] 进一步地,在另个实施例中,数据推荐模型可以为第二推荐模型,和第一推荐模型一样,根据该数据仓库应用知识库中的业务需求的描述,和该数据仓库业务术语词典中的业务术语,可以确定训练该第二推荐模型所采用的随机森林算法的输入变量。具体的,首先对该业务需求的描述进行分词处理,得到多个分词词语,该分词处理的过程和训练第一推荐模型中的一样,这里不再说明,然后可以先计算各分词词语与数据仓库业务术语词典中业务术语的近似度,再确定各分词词语与每个业务术语的近似度的最大值。例如,一种知识编码对应的业务需求的描述经分词处理后,得到的分词词语数量是10个,该数据仓库业务术语词典中的业务术语为5000个,则可以计算这10个分词词语和这5000个业务术语之间的近似度,最终产生10×5000=50000条记录。表5中记录了以国家电网的一种业务需求的描述为例的情况,具体记录了一种业务需求的描述中的一个分词词语与每一个业务术语的近似度。
[0102] 表5
[0103] 知识编码 分词词语 业务术语 分词词语与业务术语间的近似度1 设备检修 设备修试 0.XXX
1 设备检修 设备巡视 0.XXX
[0104] 基于每个分词词语和每一个业务术语的近似度计算结果,可以确定各分词词语与该数据仓库业务术语词典中业务术语的近似度的最大值,表6中记录了以国家电网的一种业务需求的描述为例的情况,具体记录了一种业务需求的描述中的分词词语与每一个业务术语的近似度的最大值。
[0105] 表6
[0106] 业务术语 分词词语与业务术语间的最大近似度设备修试 0.XXX
设备巡视 0.XXX
[0107] 最后将表6中的内容转换,可以形成如下信息:知识编码、和业务术语1的近似度、和业务术语2的近似度等,有多少个业务术语,就有多少个变量,将各分词词语与每个业务术语的近似度最大值,可以确定为随机森林算法的输入变量,如果一种知识编码对应的所有输入变量的近似度值都小于预设值,比如该预设设置为0.2,则可以说明该知识编码对应的业务需求的描述质量太差,可以删除该条信息。
[0108] S103、根据该业务需求用到的数据表的信息,确定该预设算法的输出变量。
[0109] 具体的,根据多个业务需求用到的数据表的信息,也就是数据仓库应用知识库中的内容,确定该数据仓库中所有数据表的使用情况信息,可以作为预设算法的输出变量,每个数据表的使用情况信息用于表示该数据表是否被该业务需求所使用。
[0110] 进一步地,在一个实施例中,数据推荐模型可以为第一推荐模型,结合表1以及该第一推荐模型的输入变量,如果表1中用到的数据表名和表4中用到的表名一致,则将该条记录记为1,例如,在数据仓库应用知识库中,一种知识编码用到了3个数据表,而数据仓库中一共有1000张数据表,则知识编码和这1000个表会产生1000条记录,其中3条记录标记为1,其余记录标记为0,可以将这种使用情况信息作为随机森林算法的输出变量。
[0111] 进一步地,在另一个实施例中,数据推荐模型可以为第二推荐模型,对数据仓库应用知识库中的内容进行处理,以一种知识编码对应的业务需求用到的数据表的信息为例,将其拆分成:是否使用表1、是否使用表2等,数据库有多少个数据表,就有多少个变量,如果该知识编码用到了该表,该变量取值为1,反之为0,可以将这种使用情况作为随机森林算法的输出变量。
[0112] S104、根据该输入变量,和该输出变量,采用该预设算法进行训练,获取该数据推荐模型。
[0113] 具体的,在一个实施例中,数据推荐模型可以为第一推荐模型,根据该输入变量,和该输出变量,采用随机森林算法进行训练,以及可以通过交叉验证得到最佳参数,最后获取到第一推荐模型并将该模型保存。
[0114] 具体的,在另一个实施例中,数据推荐模型可以为第二推荐模型,根据该输入变量,和该输出变量,采用随机森林算法进行训练,可采用深度学习框架(Tensorflow)实现,输入变量个数等于业务术语个数,输出变量个数等于数据库中数据表个数,采用sigmoid做为激活函数,binary_crossentropy作为损失函数,训练得到最优参数,最后获取到第二推荐模型并将该模型保存。
[0115] 本发明所提供的数据推荐模型的训练方法,通过利用业务需求的描述与数据表之间的关系,以及预设的业务术语,可以确定该预设算法的输入变量以及输出变量,最后训练得到数据推荐模型,使该数据推荐模型具有历史经验,能够从语义上理解文本内容,并通过使用该推荐模型,可以减少搜索结果的量以及提高搜索结果的精准度。
[0116] 图2为本发明实施例提供的第一推荐模型的测试方法的流程示意图,如图2所示,该方法可以包括:
[0117] S201、对输入的检索内容进行分词处理,并确定该检索内容中各分词词语和该数据仓库中的每个数据表中业务术语的近似度,以及各近似度对应业务术语在数据表中的类型。
[0118] 具体的,可以将用户输入的检索内容进行分词处理,该分词处理的过程和对业务需求的描述进行分词处理的过程一样,这里不再说明,然后可以确定该检索内容中各分词词语和该数据仓库中的每个数据表中业务术语的近似度,以及各相似度对应业务术语在数据表中的类型,该过程和计算业务需求的描述所属各分词词语与数据仓库的每个数据表中业务术语的近似度过程一样,这里不再说明。
[0119] S202、根据该近似度,以及各近似度对应业务术语在数据表中的类型,采用第一推荐模型,确定该检索内容使用每个数据表的第一概率值。
[0120] 具体的,该第一推荐模型接收该检索内容中各分词词语和该数据仓库中的每个数据表中业务术语的近似度,该第一推荐模型可以根据接收到的近似值确定该检索内容使用每个数据表的第一概率值,采用如下的格式进行存储:检索内容、表名以及需要使用到该表的概率值。
[0121] 图3为本发明实施例提供的第二推荐模型的测试方法的流程示意图,如图3所示,该方法可以包括:
[0122] S301、对输入的检索内容进行分词处理,并确定该检索内容中各分词词语和每个业务术语的近似度。
[0123] 具体的,可以将用户输入的检索内容进行分词处理,该分词处理的过程和对业务需求的描述进行分词处理的过程一样,这里不再说明,然后可以确定该检索内容中各分词词语和每个业务术语的近似度,该过程和计算业务需求的描述所属各分词词语与数据仓库业务术语词典中业务术语的近似度过程一样,这里不再说明。
[0124] S302、根据该近似度,采用该第二推荐模型,确定该检索内容使用每个数据表的第二概率值。
[0125] 具体的,该第二推荐模型接收该检索内容中各分词词语和该数据仓库业务术语词典中业务术语的近似度,该第二推荐模型可以根据接收到的近似值确定该检索内容使用每个数据表的第二概率值,采用如下的格式进行存储:检索内容、表名以及需要使用到该表的概率值。
[0126] 图4为本发明实施例提供的推荐模型的应用方法的流程示意图,图4所示,该方法可以包括:
[0127] S401、对检索内容使用每个数据表的第一概率值,和该检索内容使用每个数据表的第二概率值,进行整合处理,以确定该检索内容使用各数据表的概率值最大的多个数据表。
[0128] 具体的,该检索内容可以是一句或者一段业务需求描述,将该检索内容使用数据库中每个数据表的第一概率值,和该检索内容使用数据库中每个数据表的第二概率值,按照概率值从高到低进行排序,从前面开始取预设个数个概率值对应的数据表,比如该预设个数为20,那么就可以保存前20张表。
[0129] 本发明实施例中,在确定该检索内容使用各数据表的概率值最大的多个数据表之前,可以根据用户输入的检索内容,如果该检索内容和数据库中的表中文名这类业务术语的近似度可以达到预设值以上,比如该预设值为0.9,也就是说当该检索内容和数据库中的表中文名这类业务术语的近似度可以达到0.9以上,就可以直接将该表推荐给用户,如果能达到近似度0.9以上的数据表有多个,则可以按照近似度由高到低的顺序将表一起推荐给用户。
[0130] S402、确定该检索内容的各分词词语与该概率值最大的多个数据表中的业务术语的最大近似度。
[0131] 具体的,计算检索内容中的各个分词,与上步骤中保存的表中的业务术语的最大近似度,该过程和求业务需求的描述各分词词语与数据仓库的每个数据表中业务术语的近似度的最大值过程一样,这里不再说明,其中,上步骤中保存的表中的业务术语可以为字段业务术语,包括字段中文名、字段中文描述,可以计算检索内容中的各个分词,与上步骤中保存的表中的字段业务术语的最大近似度。
[0132] S403、输出与所述检索内容的各分词词语的近似度最大的多个业务术语,以及所述多个业务术语所在数据表的信息。
[0133] 具体的,可以计算检索内容中的各个分词,与上步骤中保存的表中的字段业务术语的最大近似度,例如可以将近似度最高的前5个字段,以及这前5个字段所属的表名,一起推荐给用户。
[0134] 图5为本发明实施例提供的一种数据推荐模型的训练装置的结构示意图,如图5所示,该装置可以包括:
[0135] 第一获取模块501,用于获取数据仓库应用知识库中的业务需求的描述和该业务需求用到的数据表的信息;
[0136] 第一确定模块502,用于根据该业务需求的描述,和预设的业务术语,确定预设算法的输入变量;
[0137] 第二确定模块503,用于根据该业务需求用到的数据表的信息,确定该预设算法的输出变量;
[0138] 第二获取模块504,用于根据该输入变量,和该输出变量,采用该预设算法进行训练,获取该数据推荐模型。
[0139] 进一步地,该数据推荐模型包括:第一推荐模型,第一确定模块502,具体用于:
[0140] 对该业务需求的描述进行分词处理,得到多个分词词语,并分别确定各分词词语与该数据仓库的每个数据表中业务术语的近似度的最大值;
[0141] 确定该数据仓库的每个数据表中多个近似度最大的分词词语,和各近似度最大值的分词词语对应的业务术语在该数据表中的类型,作为预设算法的输入变量;
[0142] 第二获取模块504,具体用于:
[0143] 根据该输入变量,和该输出变量,采用该预设算法进行训练,获取该第一推荐模型。
[0144] 进一步地,该数据推荐模型包括:第二推荐模型,第一确定模块502,还具体用于:
[0145] 对该业务需求的描述进行分词处理,得到多个分词词语,并分别确定各分词词语与业务术语词典中的每个业务术语的近似度的最大值;
[0146] 将各分词词语与每个业务术语的近似度最大值,确定为预设算法的输入变量;
[0147] 第二获取模块504,还具体用于:
[0148] 根据该输入变量,和该输出变量,采用该预设算法进行训练,获取该第二推荐模型。
[0149] 进一步地,第二确定模块503,具体用于:
[0150] 根据多个业务需求用到的数据表的信息,确定该数据仓库中所有数据表的使用情况信息,作为该预设算法模型的输出变量;每个数据表的使用情况信息用于表示该数据表是否被所述业务需求所使用。
[0151] 图6为本发明实施例提供的第二推荐模型的测试装置的结构示意图,如图6所示,该装置可以包括:
[0152] 第一分词模块601,用于对输入的检索内容进行分词处理,并确定该检索内容中各分词词语和该数据仓库中的每个数据表中业务术语的近似度,以及各相似度对应业务术语在数据表中的类型;
[0153] 第三确定模块602,用于根据该近似度,以及各近似度对应业务术语在数据表中的类型,采用该第一推荐模型,确定该检索内容使用每个数据表的第一概率值。
[0154] 图7为本发明实施例提供的第二推荐模型的测试装置的结构示意图,如图7所示,该装置可以包括:
[0155] 第二分词模块701,用于对输入的检索内容进行分词处理,并确定该检索内容中各分词词语和每个业务术语的近似度;
[0156] 第四确定模块702,用于根据该近似度,采用该第二推荐模型,确定该检索内容使用每个数据表的第二概率值。
[0157] 图8为本发明实施例提供的推荐模型的应用装置的结构示意图,如图8所示,该装置可以包括:
[0158] 整合模块801,用于对该检索内容使用每个数据表的第一概率值,和该检索内容使用每个数据表的第二概率值,进行整合处理,以确定该检索内容使用各数据表的概率值最大的多个数据表;
[0159] 第五确定模块802,用于确定该检索内容的各分词词语与该概率值最大的多个数据表中的业务术语的最大相似度;
[0160] 输出模块803,用于输出与该检索内容的各分词词语的近似度最大的多个业务术语,以及多个业务术语所在数据表的信息。
[0161] 上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
[0162] 以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
[0163] 图9为本发明实施例提供的一种模型训练设备,包括:存储器901、处理器902。
[0164] 存储器901用于存储有可在处理器902上运行的计算机程序,处理器902用于执行该计算机程序时,实现上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
[0165] 可选地,本发明还提供一种存储介质,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
[0166] 在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0167] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0168] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0169] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈