自然语言转换数据库查询语句的方法、设备及介质与流程

文档序号:31624076发布日期:2022-09-24 00:06阅读:125来源:国知局
自然语言转换数据库查询语句的方法、设备及介质与流程

1.本技术涉及智能搜索技术,尤其涉及一种自然语言转换数据库查询语句的方法、设备及介质。


背景技术:

2.随着大数据时代爆发,数据的获取成本大幅降低,并且随着数据存储成本的进一步降低,公司会将在经营过程中不断产出的数据以及认为可能有用数据都尽可能存储起来。为了使不会使用大数据查询工具的非技术人员活用数据,可以通过自然语言转数据库查询语句实现数据分析,降低对数据的使用门槛。
3.目前,通常采用通用解析模型对自然语言文本进行分词处理,分段处理,通用实体识别处理,操作符识别处理,聚合符识别处理等查询解析处理,但是通用解析模型识别实体的准确度较低,会导致转换的数据库查询语句不准确。


技术实现要素:

4.本技术提供一种自然语言转换数据库查询语句的方法、设备及介质,用以解决通用解析模型识别实体的准确度较低,导致转换的数据库查询语句不准确的问题。
5.第一方面,本技术实施例提供一种自然语言转换数据库查询语句的方法,包括:
6.获取待查询的自然语言文本;
7.采用通用解析模型及多种实体识别技术对所述自然语言文本进行查询解析处理,以获得所述自然语言文本的待查询元素;
8.根据所述待查询元素对所述自然语言文本进行查询理解处理,以获得与至少一个数据表的字段相匹配的关联映射结果;
9.根据所述相匹配的关联映射结果对所述自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。
10.第二方面,本技术实施例提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
11.所述存储器存储计算机执行指令;
12.所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的方法。
13.第三方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
14.本技术提供一种自然语言转换数据库查询语句的方法、设备及介质,获取待查询的自然语言文本;采用通用解析模型及多种实体识别技术对所述自然语言文本进行查询解析处理,以获得所述自然语言文本的待查询元素;根据所述待查询元素对所述自然语言文本进行查询理解处理,以获得与至少一个数据表的字段相匹配的关联映射结果;根据所述
相匹配的关联映射结果对所述自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。采用通用解析模型及多种实体识别技术对自然语言文本进行实体识别,可以根据应用场景对通用解析模型识别出的通用实体及标注数据进行调整,可以提高识别实体的准确率,并且采用多种实体识别技术可以避免发生误识别、漏识别的情况,提高识别实体的准确率;通过预先配置的待查询元素与数据表的字段的关联关系,可以确定待查找的表和字段完成查询理解处理;根据待查找的表和字段就可以进行查询转义处理生成匹配的数据库查询语句;因此,识别实体的准确率提高进一步地可以提高转换的数据库查询语句的准确率。
附图说明
15.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
16.图1为本技术实施例提供的应用场景示意图;
17.图2为本技术实施例提供的一种自然语言转换数据库查询语句的方法的流程图;
18.图3为本技术实施例提供的多个查询模板融示意图;
19.图4为本技术实施例提供的自然语言转换数据库查询语句的方法流程示意图;
20.图5为本技术实施例七提供的自然语言转换数据库查询语句的装置的结构示意图;
21.图6为本技术实施例提供的电子设备的结构示意图。
22.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
23.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的元素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与本技术的一些方面相一致的装置和方法的例子。
24.术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
25.为了清楚理解本技术的技术方案,首先对现有技术的方案进行详细介绍。
26.由于通用解析模型识别实体的准确度较低,导致转换的数据库查询语句不准确,因此可以结合实体识别技术进行查询解析处理,提高实体识别的准确率。所以本技术提供一种自然语言转换数据库查询语句的方法,获取待查询的自然语言文本;采用通用解析模型及多种实体识别技术对自然语言文本进行查询解析处理,以获得自然语言文本的待查询元素;根据待查询元素对自然语言文本进行查询理解处理,以获得与至少一个数据表的字段相匹配的关联映射结果;根据相匹配的关联映射结果对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。通过对自然语言文本的查询解析处理、查询理解处理、查询转义处理转换到数据库查询语句,由于结合实体识别技术识别自然语言文本中的实
体,可以对采用通用解析模型的识别结果进行调整,因此可以提高识别实体的准确率,进一步地提高转换的数据库查询语句的准确率。
27.图1为本技术实施例提供的应用场景示意图,如图1所示,在校园智能搜索领域的应用场景中,自然语言文本可能为三年级姓李的学生,通过对三年级姓李的学生的查询解析处理及查询理解处理,可以确定查找的数据表为学生表,字段为年级为三年级为青岛、姓名首字为李的学生信息,并生成匹配的数据库查询语句;根据数据库查询语句在数据表查找数据,并显示查找到的数据,如图1所示,可以显示查找到的学生的头像、姓名、学号等信息。
28.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
29.实施例一
30.图2为本技术实施例提供的一种自然语言转换数据库查询语句的方法的流程图,本技术实施例针对现有技术中在新增或修改表、字段或查询需求时,需要进行重新训练模型,无法灵活适用于不同的应用场景的问题,提供了一种自然语言转换数据库查询语句的方法。本实施例提供的自然语言转换数据库查询语句的方法的执行主体可以为自然语言转换数据库查询语句的装置。在实际应用中,该自然语言转换数据库查询语句的装置可以通过计算机程序实现,例如应用软件等,也可以通过存储有相关计算机程序的介质,例如,u盘、光盘等实现,或者,还可以通过集成或安装有相关计算机程序的实体装置实现,例如,芯片、板卡等。
31.此外,自然语言转换数据库查询语句的装置可以位于电子设备中。其中,电子设备可以为表示各种形式的数字计算机。诸如,蜂窝电话、智能电话、膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。
32.如图2所示,本实施例提供的自然语言转换数据库查询语句的方法包括以下步骤:
33.步骤s101、获取待查询的自然语言文本。
34.其中,自然语言文本为由自然语言组成的以查询为目的的文本。自然语言是指自然地随文化演化的语言,是人类交流和思维的主要工具。
35.本技术实施例不限制获取自然语言文本的方式,示例性地,可以获取用户在自然语言转换数据库查询语句的装置提供的输入框中输入的自然语言文本;也可以获取预先储存在数据库中的自然语言文本;还可以获取用户输入的语音,将语音转换为自然语言文本。
36.步骤s102、采用通用解析模型及多种实体识别技术对自然语言文本进行查询解析处理,以获得自然语言文本的待查询元素。
37.本技术实施例中,查询解析处理用于识别自然语言文本中的待查询元素。待查询元素包括自然语言文本中的实体、操作符、聚合符等。
38.其中,通用解析模型是可以实现分词,分段,通用实体识别,操作符识别,聚合符识别等功能的模型。示例性地,通用解析模型可以为一种基于bert的nl2sql模型。实体识别技术可以用于识别自然语言文本中的实体,并确定实体的实体类型。
39.本技术实施例中,实体为自然语言文本中具体的人、事、物,或者概念。示例性地,在新闻领域中,实体为突发事件的主体,比如人物、地点、时间;在商品领域中,实体也可以
为品牌词、物品词、物品属性词,如颜色、材质等。
40.具体地,可以采用通用解析模型对自然语言文本进行分词处理,分段处理,通用实体识别处理,操作符识别处理,聚合符识别处理等查询解析处理,并采用多种实体识别技术辅助识别自然语言文本中的实体,以及确定实体的实体类型。
41.其中,多种实体识别技术可以基于应用场景知识谱图识别与搜索的应用场景相匹配的实体。多种实体识别技术可以为基于知识图谱的标准实体识别技术、基于正则规则的正则实体识别技术、基于机器学习的实体识别技术(如基于bert识别实体)等实体识别技术中的至少两种。采用多种实体识别技术可以提高识别实体的准确率,避免发生误识别、漏识别的情况。
42.本技术实施例中,可以在采用通用解析模型对自然语言文本进行查询解析处理之后,采用多种实体识别技术识别自然语言文本中的实体,以对采用通用解析模型获取的查询解析处理结果进行调整。例如,若通用解析模型确定自然语言文本的实体为“a”“中学”,则采用多种实体识别技术可以将“a”“中学”合并为一个实体“a中学”,其中,a中学为一个学校的名称。
43.步骤s103、根据待查询元素对自然语言文本进行查询理解处理,以获得与至少一个数据表的字段相匹配的关联映射结果。
44.本技术实施例中,查询理解处理用于根据待查询元素确定需要查询的数据表的字段。示例性地,若待查询元素包括“当季”,“水果”,则根据待查询元素“水果”确定需要查询的数据表为水果表,待查询字段为水果名称;则根据待查询元素“当季”确定聚合符字段为成熟时间,聚合值为当前季节。示例性地,根据待查询元素对自然语言文本进行查询理解处理的方式可以为:可以预先配置实体与字段及字段所在数据表的映射关系,根据实体与数据表和字段的映射关系确定与为实体的待查询元素关联的至少一个数据表的字段;可以确定操作符、聚合符对应的实体及数值,根据对应实体与数据表和字段的映射关系及对应的数值确定与为操作符、聚合符的待查询元素关联的至少一个数据表的字段。
45.此外,还可以确定待查询元素的查询方法,例如模糊查询或者精确查询。
46.步骤s104、根据相匹配的关联映射结果对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。
47.本技术实施例中,查询转义处理用于根据需要查询的数据表的字段生成数据库查询语句。
48.具体地,根据相匹配的关联映射结果将自然语言文本转换为抽象语法树(英文简称ast,英文全称abstract syntax tree),并将自然语言文本对应的抽象语法树组装为匹配的数据库查询语句。
49.本技术实施例不限制将自然语言文本转换为抽象语法树的方法。示例性地,可以确定预先设定的与自然语言文本匹配的查询接口,根据查询接口将自然语言文本转换为抽象语法树;也可以确定消耗的计算资源或时间资源最少的查询策略,根据该查询策略将自然语言文本转换为抽象语法树。
50.本技术实施例不限制将抽象语法树组装为匹配的数据库查询语句的方法,示例性地,可以采用编译器将抽象语法树组装为匹配的数据库查询语句。
51.本技术实施例提供的自然语言转换数据库查询语句的方法,获取待查询的自然语
言文本;采用通用解析模型及多种实体识别技术对自然语言文本进行查询解析处理,以获得自然语言文本的待查询元素;根据待查询元素对自然语言文本进行查询理解处理,以获得与至少一个数据表的字段相匹配的关联映射结果;根据相匹配的关联映射结果对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。采用通用解析模型及多种实体识别技术对自然语言文本进行实体识别,可以根据应用场景对通用解析模型识别出的通用实体及标注数据进行调整,可以提高识别实体的准确率,并且采用多种实体识别技术可以避免发生误识别、漏识别的情况,提高识别实体的准确率;通过预先配置的待查询元素与数据表的字段的关联关系,可以确定待查找的表和字段完成查询理解处理;根据待查找的表和字段就可以进行查询转义处理生成匹配的数据库查询语句;因此,识别实体的准确率提高进一步地可以提高转换的数据库查询语句的准确率。
52.实施例二
53.在上述任一实施例的基础上,本技术实施例涉及的是步骤s102采用通用解析模型及多种实体识别技术对自然语言文本进行查询解析处理,以获得自然语言文本的待查询元素的一种实现方式的细化,具体包括以下步骤:
54.步骤s201、采用前置实体识别技术对自然语言文本进行实体识别。
55.本技术实施例中,前置实体识别技术是在采用通用解析模型进行查询解析处理之前,用于识别自然语言文本中的通用实体的实体识别技术。其中,通用实体为各应用场景中均可能包含的实体。
56.具体地,采用前置实体识别技术进行实体识别,若可以检测出通用实体,则自然语言文本为该通用实体,将该通用实体确定为待查询元素并执行步骤s103及后续步骤;若未检测出自然语言文本中的通用实体,则执行步骤s201及后续步骤以获得自然语言文本的待查询元素。
57.可选地,前置实体识别技术可以包括第一正则实体识别技术及第一标准实体识别技术,则采用前置实体识别技术对自然语言文本进行实体识别可以包括以下步骤:
58.步骤s2011、采用第一正则实体识别技术对自然语言文本中的通用统一格式的实体进行识别。
59.其中,第一正则实体识别技术为前置实体识别技术中的一种正则实体识别技术。第一正则实体识别技术通过通用实体的构词规律识别通用统一格式的实体。
60.本技术实施例中,采用第一正则实体识别技术可以识别自然语言文本中的通用统一格式的实体及类型。例如,可以根据手机号的同一格式识别自然语言文本是否为手机号。
61.步骤s2012、采用第一标准实体识别技术对自然语言文本中与通用知识谱图相匹配的实体进行识别。
62.其中,第一标准实体识别技术为前置实体识别技术中的一种标准实体识别技术。第一标准实体识别技术通过预先配置的通用知识谱图识别自然语言文本中的通用实体。通用知识谱图中可以包括通用实体的名称及对应的标注数据。
63.具体地,可以预先构建通用知识谱图,通用知识谱图可以包括通用实体的名称及对应的类型,通过在通用知识谱图中查找自然语言文本确定自然语言文本是否为与通用知识谱图相匹配的实体;若可以在通用知识谱图中查找到自然语言文本,则检测出与通用知识谱图相匹配的实体并可以确定该实体的类型;若不可以在通用知识谱图中查找到自然语
言文本,则未检测出与通用知识谱图相匹配的实体。
64.本技术实施例提供的方法,通过第一正则实体识别技术可以识别出通用统一格式的实体,通过第一标准实体识别技术可以识别出与通用知识谱图相匹配的实体,从而可以在采用通用解析模型之前识别出自然语言文本为通用实体的情况,在这种情况下可以直接将自然语言文本确定为待查询元素,无需进行后续的查询解析处理,可以提高查询解析处理的效率。
65.步骤s202、若确定前置实体识别技术未检测出自然语言文本中的实体,则采用通用解析模型对自然语言文本进行分词分段处理及待查询元素的识别。
66.其中,待查询元素至少包括:通用实体、操作符、聚合符。
67.具体地,可以采用通用解析模型对自然语言文本进行分词分段处理,并识别自然语言文本中的待查询元素及待查询元素的类型。
68.步骤s203、采用后置实体识别技术对通用实体及标注数据进行调整,以获得与搜索的应用场景相匹配的实体。
69.其中,标注数据为通用实体对应的识别结果。本技术实施例中,在采用多种实体识别技术识别实体时,可以确定实体的类型,并将实体的类型对应的标识确定为实体的标注数据。实体的类型对应的标识可以为类型名称,也可以为由数字及字母组成的唯一字符串。
70.应理解的是,通常自然语言转数据库查询语句的方法依托于训练集,在新增或修改表、字段或查询需求时,需要进行重新训练模型,无法灵活适用于不同的应用场景。
71.本技术实施例中,后置实体识别技术是在采用通用解析模型进行查询解析处理之后,用于识别自然语言文本中与搜索的应用场景相匹配的实体的实体识别技术。其中,与搜索的应用场景相匹配的实体为搜索的应用场景中特有的、或有特定含义的实体。
72.具体地,采用后置实体识别技术识别自然语言文本中与应用场景相匹配的实体,若识别的与应用场景相匹配的实体为通用实体的组合,则将通用实体组合为与应用场景相匹配的实体,并调整对应的标注数据;若识别的与应用场景相匹配的实体的类型区别于该实体对应的通用实体的类型,则根据与应用场景相匹配的实体的类型调整该实体对应的标注数据。
73.本技术实施例提供的方法,采用前置实体识别技术对自然语言文本进行实体识别;若确定前置实体识别技术未检测出自然语言文本中的实体,则采用通用解析模型对自然语言文本进行分词分段处理及待查询元素的识别;待查询元素至少包括:通用实体、操作符、聚合符;采用后置实体识别技术对通用实体及标注数据进行调整,以获得与搜索的应用场景相匹配的实体,标注数据为通用实体对应的识别结果。采用前置实体识别技术对自然语言文本进行实体识别可以识别出自然语言文本为通用实体的情况,在这种情况下可以直接将自然语言文本确定为待查询元素,无需进行后续的查询解析处理,可以提高查询解析处理的效率;采用通用解析模型可以识别出待查询元素;后置实体识别技术可以根据应用场景对通用实体及标注数据进行调整,使实体与搜索的应用场景相匹配,使本方法可以灵活适用于不同的应用场景,进一步的,还可以提高识别实体的准确率。
74.实施例三
75.在上述任一实施例的基础上,本技术实施例涉及的是步骤s203采用后置实体识别技术对通用实体及标注数据进行调整,以获得与搜索的应用场景相匹配的实体的一种实现
方式的细化,后置实体识别技术可以包括:第二正则实体识别技术、第二标准实体识别技术及定位词实体识别技术,则步骤s203具体包括以下步骤:
76.步骤s301、采用第二正则实体识别技术对通用实体进行调整,以获得与应用场景相匹配的统一格式的实体。
77.其中,第二正则实体识别技术为后置实体识别技术中的一种正则实体识别技术。第二正则实体识别技术通过预先配置的与应用场景相匹配的实体的构词规律识别统一格式的实体。例如,在生产场景中,可以预先配置流水号的构词规律识别自然语言文本中为流水号的实体。
78.具体地,采用第二正则实体识别技术按通用解析模型的查询解析处理结果对一个词或相邻的多个词的组合进行第二正则实体识别;若识别出一个词为与应用场景相匹配的统一格式的实体,则可以调整该实体的标注数据;若识别出相邻的多个词的组合为与应用场景相匹配的统一格式的实体,则可以将相邻的多个词组合为一个实体并确定该实体的标注数据。
79.步骤s302、采用第二标准实体识别技术对通用实体进行调整,以获得与应用场景知识谱图相匹配的实体。
80.其中,第二标准实体识别技术为后置实体识别技术中的一种标准实体识别技术。第二标准实体识别技术通过预先配置的应用场景知识谱图识别自然语言文本中的与应用场景相匹配的实体。应用场景知识谱图中可以包括该应用场景下特定实体的名称及对应的标注数据。
81.本技术实施例中,采用第二标准实体识别技术对通用实体进行调整的具体方式与采用第二正则实体识别技术对通用实体进行调整的方式类似,在此不再一一赘述。示例性地,自然语言文本中的通用实体包括苹果、手机,可以在应用场景知识谱图中配置实体为苹果手机,则可以获得与应用场景知识谱图相匹配的实体苹果手机。
82.步骤s303、若确定通用实体的标注数据中有预先配置的定位词,则采用定位词实体识别技术对目标通用实体的标注数据进行调整,以获得与数据库字段相匹配的标注数据。
83.其中,目标通用实体为标注数据为预先配置的定位词的实体。定位词为目标通用实体的通用类型对应的标注数据。
84.具体的,可以预先将在应用场景下具有特殊类型的实体对应的通用类型的标识配置为定位词;在自然语言文本的通用实体的标注数据中查找定位词;若确定通用实体的标注数据中有预先配置的定位词,则确定该通用实体为目标通用实体,调整目标通用实体的标注数据;若未在通用实体的标注数据中查找到定位词,则不存在目标通用实体。
85.本技术实施例中,采用定位词实体识别技术可以将目标通用实体的标注数据调整为与数据库字段相匹配的标注数据。例如,通用实体为苹果,9月的通用类型为时间,在某情况下,9月的类型为出生时间,则可以配置定位词为时间的标识,从而将时间对应的实体9月的标注数据调整为出生时间的标识。
86.本技术实施例提供的方法,采用第二正则实体识别技术对通用实体进行调整,以获得与应用场景相匹配的统一格式的实体;采用第二标准实体识别技术对通用实体进行调整,以获得与应用场景知识谱图相匹配的实体;若确定通用实体的标注数据中有预先配置
的定位词,则采用定位词实体识别技术对目标通用实体的标注数据进行调整,以获得与数据库字段相匹配的标注数据;目标通用实体为标注数据为预先配置的定位词的实体。采用第二正则实体识别技术、第二标准实体识别技术、定位词实体识别技术对通用实体及标注数据进行调整,可以多角度的识别与搜索的应用场景相匹配的实体,还可以提高识别与搜索的应用场景相匹配的实体的准确率,并通过对通用实体进行调整获得与应用场景相匹配的实体,能够使实体与数据库及场景更加适配,使本方法可以灵活适用于不同的应用场景。
87.在一种可选地实施方式中,实体类型的标识为类型名称,也即标注数据为类型名称,则采用定位词实体识别技术对目标通用实体的标注数据进行调整的一种实现方式包括以下步骤:
88.步骤s3031、获取预先配置的与应用场景相匹配的判断词。
89.步骤s3032、判断自然语言文本中目标通用实体与判断词是否在同一分段内。
90.其中,判断词是用于判断目标通用实体的特殊类型的词。示例性地,定位词为时间,则判断词可以根据应用场景配置为出生、死亡或出发、到达等。
91.具体地,若确定通用实体的标注数据中有预先配置的定位词,则在自然语言文本中查找判断词,并根据采用通用解析模型得到的分段结果判断目标通用实体与判断词是否在同一分段内。
92.本技术实施例不限制判断目标通用实体与判断词是否在同一分段内的方式。示例性地,可以在目标通用实体所在分段中查找判断词,若查找到判断词则确定目标通用实体与判断词在同一分段内;也可以在自然语言文本中查找判断词,若查找到判断词再判断查找到的判断词是否与目标通用实体在同一分段内。
93.步骤s3033、若确定目标通用实体与判断词在同一分段内,则将目标通用实体的标注数据调整为定位词与判断词的组合词。
94.本技术实施例中,若确定目标通用实体与判断词不在同一分段内,或自然语言文本中不存在判断词,则不对目标通用实体的标注数据进行调整;若确定目标通用实体与判断词在同一分段内,则通过定位词与判断词的组合词获得目标通用实体的与数据库字段相匹配的标注数据。
95.示例性地,将目标通用实体的标注数据调整为定位词与判断词的组合词可以为:可以在目标通用实体的标注数据的前端增加判断词,从而实现将目标通用实体的标注数据调整为定位词与判断词的组合词。
96.本技术实施例提供的方法,获取预先配置的与应用场景相匹配的判断词;判断自然语言文本中目标通用实体与判断词是否在同一分段内;若确定目标通用实体与判断词在同一分段内,则将目标通用实体的标注数据调整为定位词与判断词的组合词。通过判断词可以确定目标通用实体在应用场景中的类型,进一步的可以将目标通用实体的标注数据调整为与数据库字段相匹配的标注数据,从而使本方法可以灵活适用于不同的应用场景。
97.实施例四
98.在上述任一实施例的基础上,本技术实施例涉及的是步骤s104根据相匹配的关联映射结果对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句的一种实现方式的细化,具体包括以下步骤:
99.步骤s401、获取预先配置的多个查询模板。
100.其中,查询模板为自然语言查询句式的模板,由待查询元素的标识数据或待查询元素的名称及待查询元素间连接词组成。
101.示例性地,查询模板可以为:{开始时间},从,{开始地址},到,{结束地址},的,[人|人员]。其中,花括号{}中为待查询元素的标识数据,方括号[]中为待查询元素的名称,待查询元素间连接词不使用括号。人|人员表示待查询元素的名称可以为人或人员。
[0102]
步骤s402、将自然语言文本的解析结果与各查询模板进行匹配,以获得对应的模板匹配度。
[0103]
应理解的是,对自然语言文本进行查询解析处理,可以确定待查询元素的标识数据。可以将自然语言文本中待查询元素的标识数据及待查询元素间连接词与各查询模板进行匹配,可以获得对应的模板匹配度。其中,模板匹配度为查询模板与自然语言文本的相似程度,查询模板与自然语言文本越相似模板匹配度越高。
[0104]
此外,还可以根据自然语言文本的语义与查询模板的语义获得对应的模板匹配度。
[0105]
可选地,将自然语言文本的解析结果与各查询模板进行匹配,以获得对应的模板匹配度的方式可以为:将自然语言文本的解析结果与查询模板按分词的排布顺序进行匹配和语义匹配,以确定模板匹配度。
[0106]
具体地,将自然语言文本中可确定类型的待查询元素替换为对应的标识数据,将替换后的自然语言文本与查询模板匹配,查询模板中与替换后的自然语言文本一致的标识数据、待查询元素及连接词越多,且一致的标识数据、待查询元素及连接词在查询模板中的排布顺序与在替换后的自然语言文本的排布顺序越相近,确定的模板匹配度越高。
[0107]
本技术实施例提供的自然语言转换数据库查询语句的方法,将自然语言文本的解析结果与查询模板按排布顺序分别进行匹配和语义匹配,以确定模板匹配度,结合了分词的排布顺序确定模板匹配度,相对于仅查询模板中与替换后的自然语言文本匹配的分词的数量确定的模板匹配度的准确度更高。
[0108]
步骤s403、根据各模板匹配度确定与自然语言文本相匹配的查询模板。
[0109]
本技术实施例不限制根据各模板匹配度确定相匹配的查询模板的方式。示例性地,可以将模板匹配度超过预设匹配度阈值的查询模板确定为与自然语言文本相匹配的查询模板,也可以将查询模板按模板匹配度从大到小的顺序排序,将第一位的查询模板确定为与自然语言文本相匹配的查询模板,还可以为上述两种方式的组合。
[0110]
步骤s404、若确定相匹配的查询模板预先配置有查询策略,则将预先配置的查询策略确定为优选查询策略。
[0111]
具体地,若确定相匹配的查询模板预先配置有查询策略,如指定的查询接口或对数据表、字段的筛选规则,则将预先配置的查询策略确定为优选查询策略,在确定优选查询策略后,根据优选查询策略将自然语言文本转换为抽象语法树,并组装为匹配的数据库查询语句。
[0112]
可选地,若确定相匹配的查询模板未预先配置有查询策略或不存在相匹配的查询模板,则从多种预设的通用查询策略中筛选出优选查询策略。通用查询策略至少包括:最小表策略,实体表优先策略,父实体优先策略。其中,从多种预设的通用查询策略中筛选出的优选查询策略可以为消耗的计算资源或时间资源最少的查询策略。
[0113]
示例性地,一种从多种预设的通用查询策略中筛选出优选查询策略的方式为:确定每种预设的查询策略在对自然语言文本进行查询时的查询时间;将查询时间最短的查询策略确定为优选查询策略。
[0114]
本技术实施例提供的自然语言转换数据库查询语句的方法,在未预先配置匹配的查询策略时,可以根据优选查询策略生成匹配的数据库查询语句,可以节约时间资源或计算资源
[0115]
步骤405、根据相匹配的关联映射结果并按照优选查询策略对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。
[0116]
具体地,按照优选查询策略将相匹配的关联映射结果的数据表、字段转换为抽象语法树,并将自然语言文本对应的抽象语法树按对应数据库引擎的查询句法组装为匹配的数据库查询语句。
[0117]
本技术实施例提供的自然语言转换数据库查询语句的方法,获取预先配置的多个查询模板;将自然语言文本的解析结果与各查询模板进行匹配,以获得对应的模板匹配度;根据各模板匹配度确定与自然语言文本相匹配的查询模板;若确定相匹配的查询模板预先配置有查询策略,则将预先配置的查询策略确定为优选查询策略;根据相匹配的关联映射结果并按照优选查询策略对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。可以通过查询模板确定是否预先配置有匹配的查询策略,在预先配置有匹配的查询策略时,按匹配的查询策略生成匹配的数据库查询语句,可以实现基于应用场景对查询策略的个性化定制;在未预先配置匹配的查询策略时,可以根据优选查询策略生成匹配的数据库查询语句,可以节约时间资源或计算资源。
[0118]
实施例五
[0119]
在上述任一实施例的基础上,本技术实施例涉及的是步骤s403根据各模板匹配度确定与自然语言文本相匹配的查询模板的一种实现方式的细化,具体包括以下步骤:
[0120]
步骤s501、若确定至少一个模板匹配度大于或等于预设匹配度阈值,则将最大的模板匹配度对应的查询模板确定为与自然语言文本相匹配的查询模板。
[0121]
步骤s502、若确定各模板匹配度均小于预设匹配度阈值,则将满足融合条件的多个查询模板进行融合,获得融合后的至少一个查询模板,并根据融合后的查询模板确定与自然语言文本相匹配的查询模板。
[0122]
其中,满足融合条件的查询模板为至少包括一个自然语言文本的待查询元素的标识数据、或待查询元素、或待查询元素间连接词的查询模板。
[0123]
本技术实施例不限制进行多个查询模板融合的方式和根据融合后的查询模板确定相匹配的查询模板的方式。示例性地,可以计算各融合后的查询模板与自然语言文本的模板匹配度,将模板匹配度最高的融合后的查询模板,确定为相匹配的查询模板。
[0124]
可选地,根据融合后的查询模板确定与自然语言文本相匹配的查询模板的一种实现方式为:将自然语言文本与融合后的查询模板进行匹配,以获得对应的模板匹配度;根据各模板匹配度确定与自然语言文本相匹配的融合后的查询模板。
[0125]
应理解的是,获得自然语言文本与融合后的查询模板对应的模板匹配度的方式与步骤s402类似,根据模板匹配度确定相匹配的融合后的查询模板的方式与步骤s403类似,本技术实施例在此不在一一赘述。示例性地,可以将模板匹配度大于匹配度阈值,且模板匹
配度最大的融合后的查询模板确定为相匹配的融合后的查询模板。
[0126]
本技术实施例中,确定相匹配的融合后的查询模板后,可以根据被融合的查询模板对应的查询策略生成匹配的数据库查询语句。
[0127]
本技术实施例提供的自然语言转换数据库查询语句的方法,若确定至少一个模板匹配度大于或等于预设匹配度阈值,则将最大的模板匹配度对应的查询模板确定为与自然语言文本相匹配的查询模板;若确定各模板匹配度均小于预设匹配度阈值,则将满足融合条件的多个查询模板进行融合,获得融合后的至少一个查询模板,并根据融合后的查询模板确定与自然语言文本相匹配的查询模板。可以在任意一个查询模板均无法与自然语言文本匹配时,将多个查询模板进行融合,从融合的查询模板冲确定与自然语言文本匹配的查询模板,在配置的查询模板数量较少时,可以自动融合出匹配度更稿的查询模板,可以减少需要配置的查询模板的数量,提高本方法适配不同应用场景时的配置效率。
[0128]
可选地,将满足融合条件的多个查询模板进行融合,获得融合后的至少一个查询模板的一种实现方式包括以下步骤:
[0129]
步骤s5021、建立满足融合条件的各查询模板的有序链表,在有序链表中按照分词出现顺序进行编号,相同分词的编号相同。
[0130]
图3为本技术实施例提供的多个查询模板融示意图,如图3所示,自然语言文本为:近三天乘火车到青岛戴口罩的长发人员,可以将自然语言文本中可确定类型的待查询元素(近三天、青岛、戴口罩、长发)替换为对应的标识数据(开始时间、结束地址、面部特征、属性),获得图3中第二个表第一行的替换后的自然语言文本,根据替换后的自然语言文本可以确定满足融合条件的查询模板为查询模板1和查询模板2;将查询模板1和查询模板2中不包含在替换后的自然语言文本中的待查询元素及标识数据去除,以将替换后的自然语言文本、查询模板1和查询模板2建立成如图3第三个表中的有序链表;对替换后的自然语言文本分词出现顺序进行编号;按替换后的自然语言文本分词的编号对查询模板1和查询模板2中的分词编号,相同分词的编号相同,若查询模板1和查询模板2中的分词未在替换后的自然语言文本中,则根据其之前及之后分词的编号对该分词进行编号,例如,“从”未在替换后的自然语言文本中,则对其之前分词的编号为3,之前分词的编号为4,则取之前及之后分词的编号的中间数字3.5确定为“从”的编号。
[0131]
步骤s5022、将各查询模板的有序链表按照分词的编号进行合并,以获得融合后的查询模板。
[0132]
示例性地,将图3第三个表中查询模板1和查询模板2的有序链表按照分词的编号进行合并,获得图3第四个表中的融合后的查询模板。具体地,可以将查询模板2中与查询模板1编号不同的分词“面部特征”按编号顺序插入查询模板1的有序链表中,从而实现对查询模板1和查询模板2的合并。
[0133]
本技术实施例提供的自然语言转换数据库查询语句的方法,建立满足融合条件的各查询模板的有序链表,在有序链表中按照分词出现顺序进行编号,相同分词的编号相同;将各查询模板的有序链表按照分词的编号进行合并,以获得融合后的查询模板。通过各查询模板的有序链表,对有序链表进行融合,可以实现对多个查询模板的融合,进一步地,可以确定相匹配的融合后的查询模板。
[0134]
实施例六
[0135]
在上述任一实施例的基础上,本技术实施例涉及的是步骤s102采用通用解析模型及多种实体识别技术对自然语言文本进行查询解析处理,以获得自然语言文本的待查询元素之前,可以采取的对自然语言文本进行预处理的方法,具体包括:对自然语言文本进行预处理,预处理包括:格式归一化处理和/或文本改写处理。
[0136]
其中,格式归一化处理可以包括全半角转换、大小写转换、标点符号处理等。例如,可以通过全半角转换将自然语言文本中的半角符号转换为全角符号,通过大小写转换将自然语言文本中的大写字母转换为小写字母,通过标点符号处理将自然语言文本中的顿号改为或/和。
[0137]
此外,还可以通过文本改写处理将自然语言文本中的含义模糊文本进行改写。
[0138]
本技术实施例提供的自然语言转换数据库查询语句的方法,对自然语言文本进行预处理,可以降低后续进行查询解析处理的难度,提高确定自然语言文本的待查询元素的准确率。
[0139]
可选地,一种对自然语言文本进行文本改写处理的实现方式具体包括以下步骤:
[0140]
步骤s601、若确定自然语言文本中包括预先配置的含义模糊文本,则获取含义模糊文本的改写策略。
[0141]
步骤s602、根据改写策略对含义模糊文本进行改写,以完成对自然语言文本进行改写。
[0142]
其中,改写策略可以包括:根据含义模糊文本与改写文本的映射关系对述含义模糊文本进行改写、根据上下文或其他可获取的信息改写含义模糊文本。
[0143]
示例性地,可以预先配置“寡妇”与“已婚女性,老公已死”的关系,对“寡妇”进行改写。可以预先配置“异性”的改写策略,识别自然语言文本中个体为男性还是女性,若个体为男性则将“异性”改写成女性,若个体为女性将“异性”改写成男性。可以预先配置“来青人员”的改写策略,获取输入自然语言文本的地址,若地址为“青岛”,则将“来青人员”改写为“来青岛人员”,若为“青海”,则将“来青人员”改写为“来青海人员”。
[0144]
本技术实施例提供的自然语言转换数据库查询语句的方法,若确定自然语言文本中包括预先配置的含义模糊文本,则获取含义模糊文本的改写策略;根据改写策略对含义模糊文本进行改写,以完成对自然语言文本进行改写。可以将含义模糊文本改写为易识别的、含义确定的文本,可以降低后续进行查询解析处理的难度,提高确定自然语言文本的待查询元素的准确率。
[0145]
图4为本技术实施例提供的自然语言转换数据库查询语句的方法流程示意图,如图4所示,自然语言转换数据库查询语句的方法流程为:对自然语言文本进行预处理,预处理包括:全半角转换、大小写转换、标点符号处理和文本改写处理;预处理完成后,依次采用前置实体识别技术、通用解析模型、后置实体识别技术对自然语言文本进行查询解析处理;查询解析处理完成后,对自然语言文本进行查询理解处理;查询理解处理完成后进行查询解析处理,计算各查询模板对应的模板匹配度,根据匹配度确定相匹配的查询模板,将相匹配的查询模板预先配置的查询策略确定为优选查询策略,若查询模板均不匹配,则将查询模板融合,根据融合后的查询模板或最小表查询策略确定优选查询策略,根据优选查询策略生成抽象语法树,将抽象语法树组装为匹配的数据库查询语句。
[0146]
由于多种实体识别技术可以基于应用场景知识谱图进行实体识别,通过通用解析
模型及多种实体识别技术可以识别与搜索的应用场景相匹配的实体;通过预先配置的待查询元素与数据表的字段的关联关系,可以确定待查找的表和字段完成查询理解处理;根据待查找的表和字段就可以进行查询转义处理生成匹配的数据库查询语句;因此,通过配置应用场景知识谱图及待查询元素与数据表的字段的关联关系就可以实现自然语言转换数据库查询语句的方法在不同场景下的应用。
[0147]
实施例七
[0148]
图5为本技术实施例七提供的自然语言转换数据库查询语句的装置的结构示意图,如图5所示,本实施例提供的自然语言转换数据库查询语句的装置70包括:获取模块701,解析模块702、理解模块703以及转义模块704。
[0149]
其中,获取模块701,用于获取待查询的自然语言文本。
[0150]
解析模块702,用于采用通用解析模型及多种实体识别技术对自然语言文本进行查询解析处理,以获得自然语言文本的待查询元素。
[0151]
理解模块703,用于根据待查询元素对自然语言文本进行查询理解处理,以获得与至少一个数据表的字段相匹配的关联映射结果。
[0152]
转义模块704,用于根据相匹配的关联映射结果对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。
[0153]
可选实施方式中,解析模块702,具体用于:采用前置实体识别技术对自然语言文本进行实体识别;若确定前置实体识别技术未检测出自然语言文本中的实体,则采用通用解析模型对自然语言文本进行分词分段处理及待查询元素的识别;待查询元素至少包括:通用实体、操作符、聚合符;采用后置实体识别技术对通用实体及标注数据进行调整,以获得与搜索的应用场景相匹配的实体,标注数据为通用实体对应的识别结果。
[0154]
可选实施方式中,前置实体识别技术包括:第一正则实体识别技术和第一标准实体识别技术;解析模块702包括前置实体识别单元,前置实体识别单元具体用于:采用第一正则实体识别技术对自然语言文本中的通用统一格式的实体进行识别;采用第一标准实体识别技术对自然语言文本中与通用知识谱图相匹配的实体进行识别。
[0155]
可选实施方式中,后置实体识别技术包括:第二正则实体识别技术、第二标准实体识别技术及定位词实体识别技术;解析模块702包括后置实体识别单元,后置实体识别单元具体用于:采用后置实体识别技术对通用实体及标注数据进行调整,以获得与搜索的应用场景相匹配的实体,包括:采用第二正则实体识别技术对通用实体进行调整,以获得与应用场景相匹配的统一格式的实体;采用第二标准实体识别技术对通用实体进行调整,以获得与应用场景知识谱图相匹配的实体;若确定通用实体的标注数据中有预先配置的定位词,则采用定位词实体识别技术对目标通用实体的标注数据进行调整,以获得与数据库字段相匹配的标注数据;目标通用实体为标注数据为预先配置的定位词的实体。
[0156]
可选实施方式中,后置实体识别单元具体用于:获取预先配置的与应用场景相匹配的判断词;判断自然语言文本中目标通用实体与判断词是否在同一分段内;若确定目标通用实体与判断词在同一分段内,则将目标通用实体的标注数据调整为定位词与判断词的组合词。
[0157]
可选实施方式中,转义模块704,具体用于:获取预先配置的多个查询模板;将自然语言文本的解析结果与各查询模板进行匹配,以获得对应的模板匹配度;根据各模板匹配
度确定与自然语言文本相匹配的查询模板;若确定相匹配的查询模板预先配置有查询策略,则将预先配置的查询策略确定为优选查询策略;根据相匹配的关联映射结果并按照优选查询策略对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。
[0158]
可选实施方式中,转义模块704包括:匹配度确定单元;匹配度确定单元用于:将自然语言文本的解析结果与查询模板按排布顺序分别进行匹配和语义匹配,以确定模板匹配度。
[0159]
可选实施方式中,转义模块704包括:匹配模板确定单元;匹配模板确定单元用于:若确定至少一个模板匹配度大于或等于预设匹配度阈值,则将最大的模板匹配度对应的查询模板确定为与自然语言文本相匹配的查询模板;若确定各模板匹配度均小于预设匹配度阈值,则将满足融合条件的多个查询模板进行融合,获得融合后的至少一个查询模板,并根据融合后的查询模板确定与自然语言文本相匹配的查询模板。
[0160]
可选实施方式中,匹配模板确定单元具体用于:建立满足融合条件的各查询模板的有序链表,在有序链表中按照分词出现顺序进行编号,相同分词的编号相同;将各查询模板的有序链表按照分词的编号进行合并,以获得融合后的查询模板。
[0161]
可选实施方式中,匹配模板确定单元还用于:将自然语言文本与融合后的查询模板进行匹配,以获得对应的模板匹配度;根据各模板匹配度确定与自然语言文本相匹配的融合后的查询模板。
[0162]
可选实施方式中,自然语言转换数据库查询语句的装置70还包括预处理模块;预处理模块用于:对自然语言文本进行预处理,预处理包括:格式归一化处理和/或文本改写处理。
[0163]
可选实施方式中,预处理模块具体用于:若确定自然语言文本中包括预先配置的含义模糊文本,则获取含义模糊文本的改写策略;根据改写策略对含义模糊文本进行改写,以完成对自然语言文本进行改写。
[0164]
需要说明的是,本实施例提供的自然语言转换数据库查询语句的装置执行的技术方案和效果可以参见前述方法实施例的相关内容,在此不再赘述。
[0165]
实施例八
[0166]
图6为本技术实施例提供的电子设备的结构示意图,如图6所示,本技术还提供了一种电子设备80,包括:存储器801和处理器802。
[0167]
存储器801,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机执行指令。存储器801可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0168]
处理器802,用于执行存储器801存放的程序。
[0169]
其中,计算机程序存储在存储器801中,并被配置为由处理器802执行以实现本技术任意一个实施例提供的自然语言转换数据库查询语句的方法。相关说明可以对应参见附图中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
[0170]
其中,本实施例中,存储器801和处理器802通过总线连接。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component interconnect,简称为pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总
线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0171]
本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本技术任意一个实施例提供的自然语言转换数据库查询语句的方法。
[0172]
本技术实施例还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本技术任意一个实施例提供自然语言转换数据库查询语句的方法。
[0173]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0174]
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0175]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0176]
用于实施本技术的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程自然语言转换数据库查询语句的装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0177]
在本技术的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0178]
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本技术的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
[0179]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其
它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
[0180]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1