一种NER实体识别算法在报表查询中的应用方法及系统与流程

文档序号:29424204发布日期:2022-03-26 14:48阅读:183来源:国知局
一种NER实体识别算法在报表查询中的应用方法及系统与流程
一种ner实体识别算法在报表查询中的应用方法及系统
技术领域
1.本发明涉及数据库技术相关技术领域,具体涉及一种ner实体识别算法在报表查询中的应用方法及系统。


背景技术:

2.数据库存储了大量的个人或者企业的生产运营数据,我们每天都会和数据库产生交互。通常,查询数据库中的数据需要通过像sql(structured query language)这样的程序式查询语言来进行交互,这就需要懂sql语言的专业技术人员来执行这一操作。
3.现有技术中为了便于在数据库中进行数据查询,技术人员会通过编写sql语句查询数据库中的数据字段,并做报表指标对比,排序,指标加工等操作。因为业务发展,自主报表查询和探索bi(business intelligence)工具已经被企业越来越多的采纳和使用。
4.但本技术发明人在实现本技术实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
5.现有技术中查询报表的sql查询语句编写门槛较高,很多业务人员没有适合的专业技能,大数据的应用因此受到业务人员技能瓶颈发展的限制。现有的智能数据建模技术,大多查询的门槛较高,不利于非专业用户使用,存在着不能对自然语言进行智能处理并查询的技术问题。


技术实现要素:

6.本技术实施例通过提供了一种ner(name entity recognition)实体识别算法在报表查询中的应用方法及系统,用于针对解决现有技术中的sql查询语句编写门槛较高,现有的智能数据建模技术,大多查询的门槛较高,不利于非专业用户使用,存在着不能对自然语言进行智能处理并查询的技术问题。
7.鉴于上述问题,本技术实施例提供了一种ner实体识别算法在报表查询中的应用方法及系统。
8.本技术实施例的第一个方面,提供了一种ner实体识别算法在报表查询中的应用方法,所述方法包括:获得输入语言信息;将所述输入语言信息输入ner实体识别模型,获得关键字段;根据所述关键字段,获得数据查询语句;执行所述数据查询语句在数据库系统查询指标,获得数据查询结果,并将所述数据查询结果发送至前端进行展示。
9.本技术实施例的第二个方面,提供了一种ner实体识别算法在报表查询中的应用系统,其中,所述系统包括:第一获得单元,所述第一获得单元用于获得输入语言信息;第一处理单元,所述第一处理单元用于将所述输入语言信息输入ner实体识别模型,获得关键字段;第二处理单元,所述第二处理单元用于根据所述关键字段,获得数据查询语句;第三处理单元,所述第三处理单元用于执行所述数据查询语句在数据库系统查询指标,获得数据查询结果,并将所述数据查询结果发送至前端进行展示。
10.本技术实施例的第三个方面,提供了一种ner实体识别算法在报表查询中的应用
系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使系统以执行如第一方面所述方法的步骤。
11.本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
12.本技术实施例基于ner实体识别算法,并通过识别的关键词在数据库表通过搜索算法进行指标搜索进而完成“找指标”的过程;对比现有技术中仅仅使用nl2sql(natural language to sql)模型,可以利用“自然语言问题”与表字段进行相似度计算,进而完成“找表”的过程,以ner实体识别为优先搜索方案优化了算法执行的速度,补充了基于“相似度计算”产生的一定概率不准确结果的情况,无需技术人员进行sql查询语句编写,降低了数据查询的门槛,能够达到更为准确地自然语言进行智能处理及查询的技术效果。
13.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
14.图1为本技术实施例提供的一种ner实体识别算法在报表查询中的应用方法流程示意图;
15.图2为本技术实施例提供的一种ner实体识别算法在报表查询中的应用方法流程框图;
16.图3为本技术实施例提供的一种ner实体识别算法在报表查询中的应用方法中获得关键字段的框图;
17.图4为本技术实施例提供的一种ner实体识别算法在报表查询中的应用方法中关键字段标准化的框图;
18.图5为本技术实施例提供了一种ner实体识别算法在报表查询中的应用系统结构示意图;
19.图6为本技术实施例示例性电子设备的结构示意图。
20.附图标记说明:第一获得单元11,第一处理单元12,第二处理单元13,第三处理单元14,电子设备300,存储器301,处理器302,通信接口303,总线架构304。
具体实施方式
21.本技术实施例通过提供了一种ner实体识别算法在报表查询中的应用方法及系统,用于针对解决现有技术中的查询报表的sql查询语句编写门槛较高,很多业务人员没有适合的专业技能,大数据的应用因此受到业务人员技能瓶颈发展的限制。现有的智能数据建模技术,大多查询的门槛较高,不利于非专业用户使用,存在着不能对自然语言进行智能处理并查询的技术问题。
22.本技术实施例通过对自然语句的输入信息进行纠错和标准化,然后对处理后的输入信息基于ner实体识别算法进行调优和识别,定义其中的实体文本,并获得关键字段,根据关键字段生成数据查询语句,对于无法识别的实体文本,通过规则模型生成sql算法获得sql规则模型,进入sql规则模型进行计算,生成sql查询语句并进行查询,sql模型中无法获得计算结果的,则进入nl2sql模型进行预测,生成sql查询语句进行查询,若nl2sql模型预
测出的结果概率低于一定阈值,返回无查询结果。本技术实施例通过上述方法,抛弃了传统的问答系统使用意图识别进行语言意图的分类识别,融合了多种自然语言处理技术,包括文本纠错模型,实体识别模型,生成sql的规则模型,以及自然语言转sql模型。这些技术的融合提高了系统健壮性,带来更精准的对语言描述的理解,从而达到精确生成数据库查询语言获取准确的数据查询和分析结果的目的。对比现有技术中仅仅使用nl2sql模型,可以利用“自然语言问题”与表字段进行相似度计算,进而完成“找表”的过程,以ner实体识别为优先搜索方案优化了算法执行的速度,补充了基于“相似度计算”产生的一定概率不准确结果的情况,无需技术人员进行sql查询语句编写,降低了数据查询的门槛,能够达到更为准确地自然语言进行智能处理及查询的技术效果。
23.申请概述
24.数据库存储了大量的个人或者企业的生产运营数据,我们每天都会和数据库产生交互。通常,查询数据库中的数据需要通过像sql这样的程序式查询语言来进行交互,这就需要懂sql语言的专业技术人员来执行这一操作。为了让非专业用户也可以按需查询数据库,当前流行的技术方案设计了基于条件筛选的专门界面,用户可以通过点选不同的条件来查询数据库。除此之外,其他常规查询数据的方式是通过业务人员编写sql语句查询数据库中的数据字段,并做报表指标对比,排序,指标加工等操作。现有技术中为了便于在数据库中进行数据查询以及相关业务的发展,自主报表查询和探索bi工具已经被企业越来越多的采纳和使用。
25.但是,现有技术中查询报表的sql查询语句编写门槛较高,很多业务人员没有适合的专业技能,大数据的应用因此受到业务人员技能瓶颈发展的限制。现有的智能数据建模技术,大多查询的门槛较高,不利于非专业用户使用,存在着不能对自然语言进行智能处理并查询的技术问题。
26.针对上述技术问题,本技术提供的技术方案总体思路如下:
27.本技术实施例提供了一种ner实体识别算法在报表查询中的应用方法,所述方法包括:获得输入语言信息;将所述输入语言信息输入ner实体识别模型,获得关键字段;根据所述关键字段,获得数据查询语句;执行所述数据查询语句在数据库系统查询指标,获得数据查询结果,并将所述数据查询结果发送至前端进行展示。
28.在介绍了本技术基本原理后,下面,将参考附图对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是本技术的全部实施例,应理解,本技术不受这里描述的示例实施例的限制。基于本技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部。
29.实施例一
30.如图1所示,本技术实施例提供了一种ner实体识别算法在报表查询中的应用方法,其中,所述方法包括:
31.s100:获得输入语言信息;
32.具体而言,输入语言信息为在任意数据库中进行查询时输入的语言信息,该输入语言信息可为通过任意输入设备输入的带有查询指标或关键词的语言信息,上述的输入设
备包括但不限于:语音识别技术接口(automatic speech recognition,asr)、键盘等。示例性地,在进行查询的过程中,可通过说话语音输入并通过asr接口转为文本输入,进而得到带有查询指标或关键词的输入语言信息。
33.举不设限制的一例,当业务人员需要进行查询时,可通过麦克风输入“给我查询一下上月初深圳分中心的新增发卡量对比去年同期的增幅”,并通过asr接口转为相应的文本输入,即可获得输入的输入语言信息。
34.s200:将所述输入语言信息输入ner实体识别模型,获得关键字段;
35.具体而言,如图2所示,关键字段即为上述输入语言信息中带有查询指标或关键词的字段,可根据该关键字段在数据库中查询获得与该关键字段相关的数据。
36.命名实体识别(named entity recognition,ner)是信息提取、问答系统、句法分析、机器翻译等应用领域的重要基础工具,在自然语言处理技术走向实用化的过程中占有重要地位。ner的应用极为广泛,其可从一段文本中识别出关键的字段,一般而言,按照不同的分类方法,ner的任务就是识别出待处理文本中的三大类和七小类,三大类包括:实体类、时间类和数字类,七小类包括:人名、机构名、地名、时间、日期、货币和百分比等命名实体。
37.示例性地,在本技术实施例中,关键字段的类别包括:查询指标的名称(index_name),地点机构名(department_name),查询时间(index_date),对比时间(compare_date)以及指标对比方式(compare_statistics),这五种实体。若输入语言信息为:“给我查询一下上月初深圳分中心的新增发卡量对比去年同期的增幅”,则通过ner实体识别模型获得的关键字段包括:
[0038]“index_name”:“新增发卡量”;
[0039]“department_name”:“深圳分中心”;
[0040]“index_date”:“上月初”;
[0041]“compare_date”:“去年同期”;
[0042]“compare_statistics”:“增幅”。
[0043]
上述的五个关键字段即可表明该输入语言信息中的查询指标,基于此即可在相应的数据库中获得查询结果。在实际的应用中,若相应的关键字段缺失,则该关键字段为空。
[0044]
s300:根据所述关键字段,获得数据查询语句;
[0045]
具体而言,数据查询语句为基于上述ner实体识别模型获得的关键字段组成的查询语句,该数据查询语句为计算机可识别、并可在相应的数据库中查询调用相关数据的数据查询语句。
[0046]
在实际应用中,需要对上述的关键字段进行处理,使其转换为计算机可识别的实体字段,示例性地,上述的“上月初”关键字段无法识别,需要将其转换为准确的年份、月份和日期或时间区间,重新组成计算机可识别的数据查询语句,以使可在相应的数据库中进行查询。
[0047]
s400:执行所述数据查询语句在数据库系统查询指标,获得数据查询结果,并将所述数据查询结果发送至前端进行展示。
[0048]
具体而言,数据查询结果即为基于上述数据查询语句在相应的数据库中查询获得的查询结果,前端即为业务人员输入上述输入语言信息和进行查询的终端。若通过输入语言信息获得的数据查询语句清楚可识别,且在相应的数据库中存在对应数据,则可将查询
获得的对应数据返回至前端提供给进行查询的业务人员。若通过输入语言信息获得的数据查询语句不可识别,或者在相应的数据库中不存在对应的数据,则会返回无查询结果至前端。
[0049]
本技术实施例通过ner实体识别算法,实现报表查询语言的语义理解,并通过识别的关键字段在数据库表通过搜索算法进行指标搜索进而完成“找指标”的过程,利用“自然语言问题”与表字段进行相似度计算,进而完成“找表”的过程,以ner实体识别为优先搜索方案优化了算法执行的速度,无需技术人员进行sql查询语句编写,降低了数据查询的门槛,能够达到更为准确地自然语言进行智能处理及查询的技术效果。
[0050]
本技术实施例提供的方法中的步骤s200包括:
[0051]
s210:根据所述输入语言信息,获得文本信息;
[0052]
s220:对所述文本信息进行错误识别,获得错误词汇;
[0053]
s230:对所述错误词汇进行补充纠错,获得预处理语言信息,将所述预处理语言信息作为输入信息输入所述ner实体识别模型。
[0054]
具体而言,示例性地,本技术实施例中,输入语言信息为通过麦克风输入的语音输入,然后通过asr接口转化为文本输入,进而获得上述的文本信息。
[0055]
在通过语音输入并通过asr接口转换为文本的过程中,口语化的查询语句可能并不标准,本技术实施例可对接受输入的数据,包括文本及语音数据都可作为用来作为用户和系统交互的输入信息。通过语音输入的数据,通过asr语音识别引擎转为文本,并将其传给文本纠错模型进行数据预处理,数据预处理包含:错字改写,同音字替换,无效字符替换;本技术实施例提供的方法中包括在线的文本纠错服务,可根据在线产生的错字问题进行模型热更新及热部署,达到无需重启系统服务就可完成错误词的在线增删。
[0056]
本技术实施例通过语音输入使非专业的技术人员在不需要学习和掌握数据库编程语言的前提下,可自由地按需查询数据,并且通过错误识别和补充纠错的过程可获得与对应数据库对应的、正确的预处理语言信息,进而进行查询,达到了降低数据查询的门槛,能够准确地对自然语言进行智能处理及查询的技术效果。
[0057]
本技术实施例提供的方法中的步骤s200还包括:
[0058]
s240:将所述预处理语言信息输入bert预训练模型进行编码,获得bert训练调优输出层;
[0059]
s250:将所述bert训练调优输出层输入bi-lstm层进行编码,获得bi-lstm层输出;
[0060]
s260:将所述bi-lstm层输出输入crf分类标注层进行实体词槽抽取,获得所述关键字段。
[0061]
具体而言,如图2和图3所示,本技术实施例通过多种算法的融合,预处理语言信息通过bert(bidirectional encoder representations from transformers)预训练模型(pre-trained model)进行调优(fine-tuning),定义需要识别的实体,然后进行embedding编码,将bert训练调优后的输出层输入一个bilstm层,获得bi-lstm层输出,最后得到的embedding输入一个crf(conditional random field algorithm)进行词的分类从而实现实体词槽的抽取。
[0062]
在上述调优的过程中,将调优后的预训练模型进行分别存入分布式文件系统(hadoop distributed file system,hdfs),以供后续调用。
[0063]
本技术实施例通过bert算法进行实体识别,并在bert最上层输出向量的处理上加入了bilstm,及条件随机场算法crf,进行了实体词槽概率分布的限定,从而提升bert训练的准确度和训练loss收敛的速度,达到准确、高效率地获得预处理语言信息中实体的技术效果。
[0064]
本技术实施例提供的方法中的步骤s240包括:
[0065]
s241:标注所述预处理语言信息的数据实体类型,所述数据实体类型包括表字段、时间字段、机构字段;
[0066]
s242:基于所述表字段、时间字段、机构字段对所述bert预训练模型进行调优,获得所述bert训练调优输出层。
[0067]
具体而言,在本技术实施例中,预处理语言信息中具体的数据实体类型包括表字段、时间字段和机构字段,并根据上述的表字段、时间字段和机构字段对bert预训练模型进行调优。上述的预处理语言信息中包括上述的表字段、时间字段和机构字段,且这三种实体可表征出预处理语言信息中的查询指标,通过bert算法进行实体识别和调优后即可获得准确的实体。
[0068]
本技术实施例中,根据“自然语言问题”进行与数据库表进行交互,利用“自然语言问题”抽取出查表需要的关键实体,上述的实体类型可辅助建立准确地从预处理语言信息中获取关键实体的方法,进而提升bert训练的准确度和训练loss收敛的速度,达到准确、高效率地获得预处理语言信息中实体的技术效果。
[0069]
本技术实施例提供的方法中的步骤s300包括:
[0070]
s310:对所述关键字段进行标准化处理,获得标准指标;
[0071]
s320:根据所述标准指标在数据库系统查询指标,获得指标查询结果;
[0072]
s330:当所述指标查询结果为第一结果时,将所述指标查询结果作为所述数据查询结果,并将所述数据查询结果发送至前端进行展示。
[0073]
具体而言,上述的关键字段在本技术实施例中,包括:查询指标的名称(index_name),地点机构名(department_name),查询时间(index_date),对比时间(compare_date)以及指标对比方式(compare_statistics)这五种实体。
[0074]
如图2和图4所示,本技术实施例对上述五种实体需要进行标准化,具体包括对时间的改写以及对指标名称,机构名称,以及对比方式的标准化改写。这是由于通过语音输入并通过asr接口转换为文本的过程中,口语化的查询语句可能并不标准,需要对上述的关键字段进行标准化,上述的标准化包括但不限于:将口语化的指标名称,通过指标名称改写模块,改写成统一可识别的指标名;将非标准化的口语时间,则需要转化为“yyyy-mm-dd”标准时间格式等。
[0075]
示例性地,若上述的文本输入中包括“新增卡数量”或“发卡”,其对应的实体“index_name”需要扩展或标准化成数据库里已有的标准化名称“新增发卡量”,抽取后的实体通过搜索引擎从数据库中检索出结果。若上述的关键字段中包括“上月初”、“昨天”、“去年年初”、“上个周末”这种非标准化的口语时间,则需要转化为例如“2021-10-dd”的对应数据库里的标准时间格式。上述的标准指标名称和标准格式为相应数据库中预先设置的查询标准,本领域技术人员可进行设置。
[0076]
标准化后的标准指标在数据库系统查询指标,若存在相应的标准指标,则获得的
指标查询结果为第一结果,其代表该标准指标为对应数据库中可直接查询的指标,可在数据库中直接进行查询,将该指标对应的实体直接输入数据库的表中进行指标查询,即可获得数据查询结果,并将该数据查询结果发送至前端进行展示。
[0077]
本技术实施例通过对关键字段进行标准化,可将口语化的查询输入进行标准化,能够获得与数据库中标准指标名称对应的查询指标,进而带来更精准的对口语化语言输入的理解,从而达到精确生成数据库查询语言获取准确的数据查询和分析结果。
[0078]
本技术实施例提供的方法中,若所述指标查询结果为第二结果时,步骤s300还包括:
[0079]
s340:根据规则模型生成sql算法,获得sql规则模型;
[0080]
s350:将所述标准指标输入所述sql规则模型,获得第一输出结果;
[0081]
s360:当所述第一输出结果为第一结果时,根据所述第一输出结果,获得所述数据查询语句。
[0082]
具体而言,若标准指标对应实体不可在数据库中直接进行查询,则需要生成sql查询语句。进一步的,标准指标对应实体不可在数据库中直接进行查询的情况一般为复杂的自然语言查询问题,其对应的输入语言信息较为复杂,其中的关键字段在数据库中的搜索算法无法得到查询结果,即为第二结果。
[0083]
在指标查询结果为第二结果的情况下,由规则模型生成sql算法,获得sql规则模型,并将实体抽取的关键字段结果输入到该模型生成sql查询语句,并到数据库中查询。
[0084]
示例性地,查询“新增发卡较去年初同期增幅超过10%的分中心城市”时,显然,通过搜索“新增发卡量”的指标无法直接得出结果,需要生成sql语句进行计算排序,将口语化的输入语言信息生成为符合sql规则模型的sql语句,然后将sql语句在对应的数据库中进行查询才能获得查询结果。
[0085]
当将标准指标输入sql规则模型后,得到第一输出结果,需判断第一输出结果是否符合查询需求。若第一输出结果对应的sql语句符合查询需求,能够得到查询结果,则该第一输出结果为第一结果,可将该sql语句作为数据查询语句在数据库中进行查询。
[0086]
本技术实施例通过采用sql算法构建sql规则模型,可在处理复杂的自然语言查询问题时,通过sql规则模型对查询语句进行计算和排序,结合前述的文本纠错模型和实体识别模型,带来更精准的对语言描述的理解,对于较为复杂的语言查询输入也能获得查询结果,从而达到精确生成数据库查询语言获取准确的数据查询和分析结果。
[0087]
本技术实施例提供的方法中,若所述第一输出结果为第二结果时,步骤s360还包括:
[0088]
s361:将所述标准指标输入nl2sql模型,所述nl2sql模型为基于所述规则模型生成sql算法补充nl2sql算法构建的预测模型,其中,所述nl2sql模型包括第一子任务、第二子任务;
[0089]
s362:基于所述第一子任务,获得第一预测结果;
[0090]
s363:基于所述第二子任务,获得第二预测结果;
[0091]
s364:将所述第一预测结果、所述第二预测结果进行拼接,获得第二输出结果,所述第二输出结果包括所述数据查询语句。
[0092]
具体而言,若通过上述sql规则模型进行计算排序得到的sql语句在对应数据库中
无法获得查询结果,则第一输出结果为第二结果,此时,基于sql规则模型生成sql语句的算法,进而补充nl2sql算法返回结果,再进行查询。
[0093]
nl2sql模型为基于所述规则模型生成sql算法补充nl2sql算法构建的预测模型。将标准指标输入nl2sql模型,nl2sql模型通过在库表里基于表名相似度计算召回出最相似的结果表,将结果表进行组合拼接为一个完整的基于nl2sql模型的sql语句。
[0094]
进一步的,本技术实施例中,nl2sql模型预测sql的划分为第一子任务和第二子任务共2个子任务,第一子任务对应的第一预测结果负责预测字段、where连接条件、聚合函数,第二子任务对应的第二预测结果负责预测where后条件值,将两个模型的第一预测结果和第二预测结果进行拼接,最后拼接成一个完整的sql语句,获得第二输出结果。
[0095]
本技术实施例通过采用nl2sql模型,基于sql规则模型生成sql语句的算法进行再预测计算,并且将nl2sql模型的预测任务分为两个子任务,利于提高模型的准确率,将nl2sql与大数据技术融合,训练数据集、以及模型保存至hdfs,便于集群资源文件的统一管理以及模型的调用。本技术实施例基于ner实体识别,结合nl2sql模型,优化了算法执行的速度,达到更高效地生成数据查询语句的技术效果。
[0096]
本技术实施例提供的方法中,当所述数据查询语句为所述第二输出结果时,步骤s400包括:
[0097]
s410:根据所述数据查询结果,获得预测结果概率;
[0098]
s420:判断所述预测结果概率是否满足第一预定阈值;
[0099]
s430:当满足时,将所述数据查询结果发送至前端进行展示;
[0100]
s440:当不满足时,返回预设结果。
[0101]
具体而言,如图2所示,当所述数据查询语句为所述第二输出结果时,则根据第二输出结果对应的nl2sql模型输出拼接的sql语句在数据库中进行查询,并获得数据查询结果。
[0102]
其中,第二输出结果对应的sql语句中包括nl2sql模型从数据库的库表中基于表名相似度计算召回出最相似的结果表,若相似度较高,则nl2sql模型的预测结果概率的准确率较高,若相似度较低,则nl2sql模型的预测结果概率的准确率较低。根据判断上述数据查询结果与第二输出结果对应的sql语句是否对应以及对应的相似度,即可判断所述预测结果概率是否满足第一预定阈值,若满足,则说明上述数据查询结果是符合查询标准的,可将所述数据查询结果发送至前端进行展示;若不满足,则说明上述数据查询结果是不符合查询标准的,返回预设结果。
[0103]
其中,预设结果具体可为无查询结果或查询失败,用户需要重新输入更为准确的输入语言信息进行查询。
[0104]
第一预定阈值为预设在nl2sql模型中的概率,本领域技术人员可根据需求进行设置,示例性地,第一预定阈值可为60%。nl2sql模型进行预测,生成sql查询语句并到hive系统进行查询,若预测结果概率大于第一预定阈值,则将所述数据查询结果发送至前端进行展示,若预测结果概率小于第一预定阈值,则返回预设结果。本技术实施例通过在nl2sql模型预测结果概率低于一定阈值情况下,返回预设结果,提供了模型热部署热更新的补充,无需通过增加训练数据,经过调优模型,使得模型可以预测出更准确的结果。
[0105]
综上所述,本技术实施例通过本技术实施例基于ner实体识别算法,并通过识别的
关键词在数据库表通过搜索算法进行指标搜索进而完成“找指标”的过程;对比现有技术中仅仅使用nl2sql模型,可以利用“自然语言问题”与表字段进行相似度计算,进而完成“找表”的过程,以ner实体识别为优先搜索方案优化了算法执行的速度,补充了基于“相似度计算”产生的一定概率不准确结果的情况,达到了如下技术效果:
[0106]
1、本技术实施例抛弃了传统的问答系统使用意图识别进行语言意图的分类识别,融合了多种自然语言处理技术,包括文本纠错模型,实体识别模型,生成sql的规则模型,以及自然语言转sql模型。这些技术的融合提高了系统健壮性,带来更精准的对语言描述的理解,从而达到精确生成数据库查询语言获取准确的数据查询和分析结果。
[0107]
2、本发明用bert算法进行实体识别,并在bert最上层输出向量的处理上加入了bilstm及条件随机场算法crf,进行了实体词槽概率分布的限定,从而提升bert训练的准确度和训练loss收敛的速度。
[0108]
3、本发明通过ner实体识别算法,实现报表查询语言的语义理解,并通过识别的关键词在数据库表通过搜索算法进行指标搜索进而完成“找指标”的过程;对比仅仅使用nl2sql模型,利用“自然语言问题”与表字段进行相似度计算,进而完成“找表”的过程,以ner实体识别为优先搜索方案优化了算法执行的速度,补充了基于“相似度计算”产生的一定概率不准确结果的情况。
[0109]
实施例二
[0110]
基于与前述实施例中一种ner实体识别算法在报表查询中的应用方法相同的发明构思,如图5所示,本技术实施例提供了一种ner实体识别算法在报表查询中的应用系统,其中,所述系统包括:
[0111]
第一获得单元11,所述第一获得单元11用于获得输入语言信息;
[0112]
第一处理单元12,所述第一处理单元12用于将所述输入语言信息输入ner实体识别模型,获得关键字段;
[0113]
第二处理单元13,所述第二处理单元13用于根据所述关键字段,获得数据查询语句;
[0114]
第三处理单元14,所述第三处理单元14用于执行所述数据查询语句在数据库系统查询指标,获得数据查询结果,并将所述数据查询结果发送至前端进行展示。
[0115]
进一步的,所述系统还包括:
[0116]
第二获得单元,所述第二获得单元用于根据所述输入语言信息,获得文本信息;
[0117]
第四处理单元,所述第四处理单元用于对所述文本信息进行错误识别,获得错误词汇;
[0118]
第五处理单元,所述第五处理单元用于对所述错误词汇进行补充纠错,获得预处理语言信息,将所述预处理语言信息作为输入信息输入所述ner实体识别模型。
[0119]
进一步的,所述系统还包括:
[0120]
第六处理单元,所述第六处理单元用于将所述预处理语言信息输入bert预训练模型进行编码,获得bert训练调优输出层;
[0121]
第七处理单元,所述第七处理单元用于将所述bert训练调优输出层输入bi-lstm层进行编码,获得bi-lstm层输出;
[0122]
第八处理单元,所述第八处理单元用于将所述bi-lstm层输出输入crf分类标注层
进行实体词槽抽取,获得所述关键字段。
[0123]
进一步的,所述系统还包括:
[0124]
第九处理单元,所述第九处理单元用于标注所述预处理语言信息的数据实体类型,所述数据实体类型包括表字段、时间字段、机构字段;
[0125]
第十处理单元,所述第十处理单元用于基于所述表字段、时间字段、机构字段对所述bert预训练模型进行调优,获得所述bert训练调优输出层。
[0126]
进一步的,所述系统还包括:
[0127]
第十一处理单元,所述第十一处理单元用于对所述关键字段进行标准化处理,获得标准指标;
[0128]
第十二处理单元,所述第十二处理单元用于根据所述标准指标在数据库系统查询指标,获得指标查询结果;
[0129]
第十三处理单元,所述第十三处理单元用于当所述指标查询结果为第一结果时,将所述指标查询结果作为所述数据查询结果,并将所述数据查询结果发送至前端进行展示。
[0130]
进一步的,所述系统还包括:
[0131]
第十四处理单元,所述第十四处理单元用于根据规则模型生成sql算法,获得sql规则模型;
[0132]
第十五处理单元,所述第十五处理单元用于将所述标准指标输入所述sql规则模型,获得第一输出结果;
[0133]
第一判断单元,所述第一判断单元用于当所述第一输出结果为第一结果时,根据所述第一输出结果,获得所述数据查询语句。
[0134]
进一步的,所述系统还包括:
[0135]
第十六处理单元,所述第十六处理单元用于将所述标准指标输入nl2sql模型,所述nl2sql模型为基于所述规则模型生成sql算法补充nl2sql算法构建的预测模型,其中,所述nl2sql模型包括第一子任务、第二子任务;
[0136]
第十七处理单元,所述第十七处理单元用于基于所述第一子任务,获得第一预测结果;
[0137]
第十八处理单元,所述第十八处理单元用于基于所述第二子任务,获得第二预测结果;
[0138]
第十九处理单元,所述第十九处理单元用于将所述第一预测结果、所述第二预测结果进行拼接,获得第二输出结果,所述第二输出结果包括所述数据查询语句。
[0139]
进一步的,所述系统还包括:
[0140]
第二十处理单元,所述第二十处理单元用于根据所述数据查询结果,获得预测结果概率;
[0141]
第二判断单元,所述第二判断单元用于判断所述预测结果概率是否满足第一预定阈值;
[0142]
第二十一处理单元,所述第二十一处理单元用于当满足时,将所述数据查询结果发送至前端进行展示;
[0143]
第二十二处理单元,所述第二十二处理单元用于当不满足时,返回预设结果。
[0144]
示例性电子设备
[0145]
下面参考图6来描述本技术实施例的电子设备,
[0146]
基于与前述实施例中一种ner实体识别算法在报表查询中的应用方法相同的发明构思,本技术实施例还提供了一种ner实体识别算法在报表查询中的应用系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使得系统以执行实施例一所述方法的步骤。
[0147]
该电子设备300包括:处理器302、通信接口303、存储器301。可选的,电子设备300还可以包括总线架构304。其中,通信接口303、处理器302以及存储器301可以通过总线架构304相互连接;总线架构304可以是外设部件互连标(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。所述总线架构304可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0148]
处理器302可以是一个cpu,微处理器,asic,或一个或多个用于控制本技术方案程序执行的集成电路。
[0149]
通信接口303,使用任何收发器一类的系统,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan),有线接入网等。
[0150]
存储器301可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线架构304与处理器相连接。存储器也可以和处理器集成在一起。
[0151]
其中,存储器301用于存储执行本技术方案的计算机执行指令,并由处理器302来控制执行。处理器302用于执行存储器301中存储的计算机执行指令,从而实现本技术上述实施例提供的一种ner实体识别算法在报表查询中的应用方法。
[0152]
可选的,本技术实施例中的计算机执行指令也可以称之为应用程序代码,本技术实施例对此不作具体限定。
[0153]
本技术实施例通过本技术实施例基于ner实体识别算法,并通过识别的关键词在数据库表通过搜索算法进行指标搜索进而完成“找指标”的过程;对比现有技术中仅仅使用nl2sql模型,可以利用“自然语言问题”与表字段进行相似度计算,进而完成“找表”的过程,以ner实体识别为优先搜索方案优化了算法执行的速度,补充了基于“相似度计算”产生的一定概率不准确结果的情况,达到了如下技术效果:
[0154]
1、本技术实施例抛弃了传统的问答系统使用意图识别进行语言意图的分类识别,融合了多种自然语言处理技术,包括文本纠错模型,实体识别模型,生成sql的规则模型,以及自然语言转sql模型。这些技术的融合提高了系统健壮性,带来更精准的对语言描述的理解,从而达到精确生成数据库查询语言获取准确的数据查询和分析结果。
[0155]
2、本发明用bert算法进行实体识别,并在bert最上层输出向量的处理上加入了bilstm及条件随机场算法crf,进行了实体词槽概率分布的限定,从而提升bert训练的准确度和训练loss收敛的速度。
[0156]
3、本发明通过ner实体识别算法,实现报表查询语言的语义理解,并通过识别的关键词在数据库表通过搜索算法进行指标搜索进而完成“找指标”的过程;对比仅仅使用nl2sql模型,利用“自然语言问题”与表字段进行相似度计算,进而完成“找表”的过程,以ner实体识别为优先搜索方案优化了算法执行的速度,补充了基于“相似度计算”产生的一定概率不准确结果的情况。
[0157]
本领域普通技术人员可以理解:本技术中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本技术实施例的范围,也不表示先后顺序。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“至少一个”是指一个或者多个。至少两个是指两个或者多个。“至少一个”、“任意一个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个、种),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
[0158]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程系统。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0159]
本技术实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列(fpga)或其它可编程逻辑系统,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算系统的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
[0160]
本技术实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并
可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于终端中。可选地,处理器和存储媒介也可以设置于终端中的不同的部件中。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0161]
尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术意图包括这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1