掌桥专利:专业的专利平台
掌桥专利
首页

基于时间粒度分类器的非标准格式数据库查询方法及系统

文献发布时间:2023-06-19 19:30:30


基于时间粒度分类器的非标准格式数据库查询方法及系统

技术领域

本申请涉及数据查询技术领域,尤其涉及基于时间粒度分类器的非标准格式数据库查询方法及系统。

背景技术

随着互联网技术的快速发展与信息化、工业化的深度融合,科技已引领煤炭行业迈入新时代。互联网+、人工智能和大数据等颠覆性技术的出现,拉开了第四次工业革命的序幕,加速了传统行业变革的进程。推进煤矿智能化,建设智慧煤矿,实现煤炭安全高效绿色开采和清洁高效利用,成为提高煤矿本质安全水平、促进煤矿安全发展的必由之路和煤炭工业转型发展的根本出路。

在此背景下,煤矿企业不断扩张,信息技术快速发展,企业每天都会有大量的数据产生,产生的动态数据经初步解析后,为了能对这些数据进行统计查询,使得数据可以源源不断的保存在数据中,需要对数据库中的数据按照时间维度,即按照年、月、日进行查询和统计。但一般情况下,数据库的数据增加过快,慢慢会累积为海量数据,导致在进行数据查询与比较时过慢;数据库中数据最多最密的为时间顺序,在按照进行查询时,年、月、日和一些不规整的数据混在一起,传统的方法查询的速度非常的慢,有时甚至需要三十几秒。

现今数据量不断增加,人们按照年、月、日查询与比较都有需求,所以在时间序列的数据存储时,有时会按照年、月、日混合在一起进行存储,如“2022”、“2022-11”、“2022-11-11”以及带着时、分、秒的数据存在,导致数据凌乱、数据不规范、不标准,无法对数据进行统一处理和分析,在查询时也导致查询速度过慢。

真正的场景需求中,企业在进行年产量比较、月产量比较;年收入预测、月收入预测等现实问题时,都是重要且需要数据库即时反应的,以此来总结企业中存在的问题,但由于数据量大、数据不标准,都会存在查找速度过慢,且进行比较的时候麻烦等问题。综上,由于数据量大,且数据非标准,导致针对现实需求的时候,数据库查询的效率较低。

发明内容

本申请提供基于时间粒度分类器的非标准格式数据库查询方法及系统,以至少解决数据库查询的效率较低的技术问题。

本申请第一方面实施例提出一种基于时间粒度分类器的非标准格式数据库查询方法,所述方法包括:

获取待查询表格对应的字段矩阵;

将所述字段矩阵输入预先构建好的深度学习网络分类器中,得到待查询表格的时间粒度分类结果;

根据所述待查询表格的时间粒度分类结果创建临时列,并基于所述临时列进行数据查询。

优选的,所述获取待查询表格对应的字段矩阵,包括:

获取待查询表格的各字段及各字段所属的类型;

将所述各字段及各字段所属的类型转化为各字段对应的词嵌入向量;

基于所述各字段对应的词嵌入向量构成待查询表格对应的字段矩阵。

优选的,所述深度学习网络分类器是由输入层、卷积层、池化层和全连接层构成的。

进一步的,所述深度学习网络分类器的构建过程包括:

获取深度学习网络分类器的训练集数据,其中所述训练集数据包括:历史表格对应的字段矩阵及所述表格的时间粒度分类结果;

利用所述训练集数据,并将ReLU函数作为激活函数,对初始的深度学习网络分类器进行优化训练,得到训练好的深度学习网络分类器。

优选的,所述临时列为date类型的列表,其中所述列表为包含粒度年、粒度月、粒度日的表格。

本申请第二方面实施例提出一种基于时间粒度分类器的非标准格式数据库查询系统,所述系统包括:

获取模块,用于获取待查询表格对应的字段矩阵;

分类模块,用于将所述字段矩阵输入预先构建好的深度学习网络分类器中,得到待查询表格的时间粒度分类结果;

查询模块,用于根据所述待查询表格的时间粒度分类结果创建临时列,并基于所述临时列进行数据查询。

优选的,所获取模块,包括:

获取单元,用于获取待查询表格的各字段及各字段所属的类型;

转化单元,用于将所述各字段及各字段所属的类型转化为各字段对应的词嵌入向量;

构成单元,用于基于所述各字段对应的词嵌入向量构成待查询表格对应的字段矩阵。

优选的,所述深度学习网络分类器是由输入层、卷积层、池化层和全连接层构成的。

进一步的,所述深度学习网络分类器的构建过程包括:

获取深度学习网络分类器的训练集数据,其中所述训练集数据包括:历史表格对应的字段矩阵及所述表格的时间粒度分类结果;

利用所述训练集数据,并将ReLU函数作为激活函数,对初始的深度学习网络分类器进行优化训练,得到训练好的深度学习网络分类器。

优选的,所述临时列为date类型的列表,其中所述列表为包含粒度年、粒度月、粒度日的表格。

本申请的实施例提供的技术方案至少带来以下有益效果:

本申请提出了基于时间粒度分类器的非标准格式数据库查询方法及系统,所述方法包括:获取待查询表格对应的字段矩阵;将所述字段矩阵输入预先构建好的深度学习网络分类器中,得到待查询表格的时间粒度分类结果;根据所述待查询表格的时间粒度分类结果创建临时列,并基于所述临时列进行数据查询。本申请提出的技术方案,提升了非标准格式数据库在数据查询时的效率。

本申请附加的方面以及优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面以及优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本申请一个实施例提供的一种基于时间粒度分类器的非标准格式数据库查询方法的流程图;

图2为根据本申请一个实施例提供的一种基于时间粒度分类器的非标准格式数据库查询方法详细流程图;

图3为根据本申请一个实施例提供的一种基于时间粒度分类器的非标准格式数据库查询系统的结构图;

图4为根据本申请一个实施例提供的获取模块的结构图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

本申请提出的基于时间粒度分类器的非标准格式数据库查询方法及系统,所述方法包括:获取待查询表格对应的字段矩阵;将所述字段矩阵输入预先构建好的深度学习网络分类器中,得到待查询表格的时间粒度分类结果;根据所述待查询表格的时间粒度分类结果创建临时列,并基于所述临时列进行数据查询。本申请提出的技术方案,提升了非标准格式数据库在数据查询时的效率。

下面参考附图描述本申请实施例的基于时间粒度分类器的非标准格式数据库查询方法及系统。

实施例一

图1为根据本申请一个实施例提供的一种基于时间粒度分类器的非标准格式数据库查询方法的流程图,如图1所示,所述方法包括:

步骤1:获取待查询表格对应的字段矩阵;

在本公开实施例中,所述步骤1具体包括:

步骤1-1:获取待查询表格的各字段及各字段所属的类型;

步骤1-2:将所述各字段及各字段所属的类型转化为各字段对应的词嵌入向量;

步骤1-3:基于所述各字段对应的词嵌入向量构成待查询表格对应的字段矩阵。

需要说明的是,词嵌入可将词的特征映射到较低的维度,比如使用200维特征描述词库中所有的词,使用模型参数更少,训练更快。词嵌入可视为给每个组一个n维的编码,能某一维度可能描述词性,另一维度描述其它特征;用特征描述取代符号描述,类似于机器视觉中使用深度网络提取图片的基本特征。也便于对比、泛化、以及知识迁移。比如使用大量自然语言数据训练了足够好的词表征,在具体任务中使用少量实例fine-tune和pretrain训练好的词嵌入数据训练模型。模型对于fine-tune训练集中从未出现,但在词嵌入中出现的词也能有很好效果,从而实现知识迁移。

word2vec最主要的目的就是进行文本向量化,词向量维度通常是50-300维,goole官方提供的一般是用300维,有了词向量就可以用各种方法进行相似度计算;一般维度越高,提供的信息越多,计算结果可靠性也更值得信赖。

普通的向量空间模型没有考虑语义、语法以及上下文联系等信息,忽略了中文文本一词多义的现象,容易造成信息遗漏。而基于词语分布式表达的方法(Word2vec)则能够很好地解决上述问题,将每一个特征词转化为固定维度的向量,再选择适当的方法进行加权,便可得到每一条文本对应的向量。同时很好地解决了文本表示时容易产生的高维矩阵稀疏的问题。

词向量将自然语言转换成了计算机能够理解的向量。相对于词袋模型、TF-I DF等模型,词向量能抓住词的上下文、语义,衡量词与词的相似性,在文本分类、情感分析等许多自然语言处理领域有重要作用。

示例的,本发明中的数据如表1所示:

表1

表1分别表示year年month月day日设备device_id的状态为state,前面四列为联合主键。

将字段名和其类型拼接如表2所示:

表2

其中,每行可以转换成2(-3)个词嵌入向量,转换过程中的词嵌入权重采用预训练权重。(device_id拆分开作为两个词嵌入向量device和id)多行之间采用特殊标记(如EOL(End Of Line))拼接成一行,从而获得一个(sequence_length,word_embedding_dim)的矩阵,作为后续的分类器输入。

步骤2:将所述字段矩阵输入预先构建好的深度学习网络分类器中,得到待查询表格的时间粒度分类结果;

需要说明的是,经分类器处理后输出表的时间粒度为year,month,day,date,notime,分别表示粒度年、月、日,以及已存在标准的date格式或者表格中不含有日期相关信息。

在本公开实施例中,所述深度学习网络分类器是由输入层、卷积层、池化层和全连接层构成的。

所述深度学习网络分类器的构建过程包括:

获取深度学习网络分类器的训练集数据,其中所述训练集数据包括:历史表格对应的字段矩阵及所述表格的时间粒度分类结果;

利用所述训练集数据,并将ReLU函数作为激活函数,对初始的深度学习网络分类器进行优化训练,得到训练好的深度学习网络分类器。

示例的,我们构建了深度学习网络分类器,经分类器处理,输入来自此前的(sequence_length,word_embedding_dim)矩阵,输出为分类器结果的向量,每个位置表示对应类别概率。将部分表格字段由人判断其类别,将这些表格的字段和人类判断结果作为训练集。包含的数据为表格字段的词嵌入向量序列(矩阵)和分类器结果。

分类后输出表的时间粒度为year,month,day,date,no time,分别表示粒度年、月、日,以及已存在标准的date格式或者表格中不含有日期相关信息。我们使用卷积神经网络进行分类。

卷积神经网络主要由这几类层构成:输入层、卷积层(Convolution),激活函数(Activation,CNN中一般使用ReLU函数)、池化(Pooling)层和全连接层(Fully ConnectedLayer,全连接层相当于一个普通神经网络)。通过将这些层叠加起来,就可以构建一个完整的卷积神经网络。其前向运算阶段:输入层-->隐藏层-->输出层,计算神经元H的权值加和:SH=ω

而反向传播阶段,输出层-->隐藏层-->输入层,首先使用MSE均方误差公式计算总误差:

之后使用梯度下降算法不断迭代,值得偏差值最小,便可得到最优化的深度学习网络分类器,实现对数据的最佳拟合,得到好的分类结果。

步骤3:根据所述待查询表格的时间粒度分类结果创建临时列,并基于所述临时列进行数据查询。

在本公开实施例中,所述临时列为date类型的列表,其中所述列表为包含粒度年、粒度月、粒度日的表格。

需要说明的是,对sql做了拼接,并创建临时列,临时列只用来描述日期,用于基于日期的筛选,其他条件、查询结果列在日期筛选后的列表中进行。形成date类型的列表,分别表示按照粒度年、按照粒度月、按照粒度日的表格,以及数据规整已存在标准的date格式的数据,此外,表格中不含有日期相关信息都可以进行输出。这些临时列的存在大大加快了数据查询和对比时的速度。

示例的,如图2所示,首先将表元数据输入预先构建好的深度学习网络分类器中,得到待查询表格的时间粒度分类结果;

然后创建临时列形成date类型的列表,分别表示按照粒度年、按照粒度月、按照粒度日的表格,以及数据规整已存在标准的date格式的数据;

最后基于临时列生成标准的查询格式,进行数据查询。

综上所述,本实施例提出的一种基于时间粒度分类器的非标准格式数据库查询方法,可以提高非标准格式数据库在数据查询时的效率。

实施例二

图3为根据本申请一个实施例提供的一种基于时间粒度分类器的非标准格式数据库查询系统的结构图,如图3所示,所述系统包括:

获取模块100,用于获取待查询表格对应的字段矩阵;

分类模块200,用于将所述字段矩阵输入预先构建好的深度学习网络分类器中,得到待查询表格的时间粒度分类结果;

查询模块300,用于根据所述待查询表格的时间粒度分类结果创建临时列,并基于所述临时列进行数据查询。

在本公开实施例中,如图4所示,所获取模块100,包括:

获取单元101,用于获取待查询表格的各字段及各字段所属的类型;

转化单元102,用于将所述各字段及各字段所属的类型转化为各字段对应的词嵌入向量;

构成单元103,用于基于所述各字段对应的词嵌入向量构成待查询表格对应的字段矩阵。

需要说明的是,所述深度学习网络分类器是由输入层、卷积层、池化层和全连接层构成的。

进一步的,所述深度学习网络分类器的构建过程包括:

获取深度学习网络分类器的训练集数据,其中所述训练集数据包括:历史表格对应的字段矩阵及所述表格的时间粒度分类结果;

利用所述训练集数据,并将ReLU函数作为激活函数,对初始的深度学习网络分类器进行优化训练,得到训练好的深度学习网络分类器。

需要说明的是,所述临时列为date类型的列表,其中所述列表为包含粒度年、粒度月、粒度日的表格。

综上所述,本实施例提出的一种基于时间粒度分类器的非标准格式数据库查询系统,提升了非标准格式数据库在数据查询时的效率。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

技术分类

06120115939004