CN114936271A - 自然语言转换数据库查询语句的方法、设备及介质 - Google Patents
自然语言转换数据库查询语句的方法、设备及介质 Download PDFInfo
- Publication number
- CN114936271A CN114936271A CN202210743832.7A CN202210743832A CN114936271A CN 114936271 A CN114936271 A CN 114936271A CN 202210743832 A CN202210743832 A CN 202210743832A CN 114936271 A CN114936271 A CN 114936271A
- Authority
- CN
- China
- Prior art keywords
- role
- natural language
- language text
- roles
- query
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000013519 translation Methods 0.000 title claims description 4
- 238000012545 processing Methods 0.000 claims abstract description 60
- 238000013507 mapping Methods 0.000 claims abstract description 59
- 238000004458 analytical method Methods 0.000 claims abstract description 7
- 238000002372 labelling Methods 0.000 claims description 80
- 238000012549 training Methods 0.000 description 33
- 230000002776 aggregation Effects 0.000 description 11
- 238000004220 aggregation Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 238000013136 deep learning model Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请提供自然语言转换数据库查询语句的方法、设备及介质,该方法包括:获取待查询的自然语言文本;对自然语言文本进行查询解析处理,以获得自然语言文本的待查询元素;根据待查询元素对自然语言文本进行查询理解处理,以获得自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果;根据自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。可以提高生成的数据库查询语的准确度,进一步的提高了根据数据库查询语句查找的数据的准确度。
Description
技术领域
本申请涉及智能搜索技术,尤其涉及一种自然语言转换数据库查询语句的方法、设备及介质。
背景技术
随着大数据时代爆发,数据的获取成本大幅降低,并且随着数据存储成本的进一步降低,公司企业机构会将在经营中不断产出的数据以及认为可能有用数据都尽可能存储起来。为了使不会使用大数据工具的非技术人员活用数据,可以通过自然语言转数据库查询语句实现数据分析,降低对数据的使用门槛。
目前,在对自然语言文本进行处理时,仅确定出了自然语言文本中的关键元素与至少一个数据表的字段相匹配的关联映射结果,进而通过与至少一个数据表的字段相匹配的关联映射结果将自然语言文本转换为数据库查询语句。这种方式只适用于在自然语言文本中只有一个角色的处理,那么在默认自然语言文本只有一个角色后,对于比较复杂的自然语言文本,如在自然语言文本中具有多角色及多角色之间具有关系的情况下,确定出的与至少一个数据表的字段相匹配的关联映射结果不准确,进而导致根据相匹配的关联映射结果将自然语言文本转换成的数据库查询语句不准确。
发明内容
本申请提供一种自然语言转换数据库查询语句的方法、设备及介质,用以解决现有技术中确定出的与至少一个数据表的字段相匹配的关联映射结果不准确,进而导致根据相匹配的关联映射结果将自然语言文本转换成的数据库查询语句不准确的问题。
第一方面,本申请实施例提供一种自然语言转换数据库查询语句的方法,包括:
获取待查询的自然语言文本;
对自然语言文本进行查询解析处理,以获得自然语言文本的待查询元素;
根据待查询元素对自然语言文本进行查询理解处理,以获得自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果;
根据自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。
第二方面,本申请实施例提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,以实现如第一方面的方法。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如第一方面的方法。
本申请提供一种自然语言转换数据库查询语句的方法、设备及介质,获取待查询的自然语言文本;对自然语言文本进行查询解析处理,以获得自然语言文本的待查询元素;根据待查询元素对自然语言文本进行查询理解处理,以获得自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果;根据自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。由于在对自然语言文本进行查询理解处理时,不仅确定出了在自然语言文本与至少一个数据表的字段相匹配的关联映射结果,并且还识别出了自然语言文本的意图及对语义角色进行了识别。在对自然语言文本进行查询转义处理时,将至少一个数据表的字段相匹配的关联映射结果结合自然语言文本的意图以及角色之间的关系对自然语言文本进行查询转义处理,可以更准确的确定查询的数据表和字段,因此提高了生成的数据库查询语句的准确度,进一步提高了根据数据库查询语句查找数据的准确度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的应用场景示意图;
图2为本申请实施例一提供的一种自然语言转换数据库查询语句的方法的流程图;
图3为本申请实施例三提供的一种自然语言转换数据库查询语句的方法的流程图;
图4为本申请实施例提供的构建角色关系树示意图;
图5为本申请实施例四提供的一种自然语言转换数据库查询语句的方法的流程图;
图6为本申请实施例六提供的自然语言转换数据库查询语句的装置的结构示意图;
图7为本申请实施例七提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的元素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与本申请的一些方面相一致的装置和方法的例子。
术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
为了清楚理解本申请的技术方案,首先对现有技术的方案进行详细介绍。
现有技术中,在自然语言文本中只有一个角色的情况下,例如“湖北人张三”,容易确定湖北人为张三的属性,确定出的与至少一个数据表的字段相匹配的关联映射结果较为准确,但是在多角色及多角色之间具有关系的情况下,例如“湖北人张三的同学李四”,难以确定湖北人为张三的属性还是李四的属性,可能将湖北人确定为李四的属性,在湖北人的表或字段中查找李四,因此难以确定准确的与至少一个数据表的字段相匹配的关联映射结果,导致根据相匹配的关联映射结果对自然语言文本进行查询转义处理生成的数据库查询语句不准确,进一步的导致根据数据库查询语句查找的数据不准确。
由于在多角色及多角色之间具有关系的情况下难以确定准确的地确定与至少一个数据表的字段相匹配的关联映射结果,导致生成的数据库查询语句不准确,因此在对自然语言文本进行查询理解处理时,可以不单单确定与至少一个数据表的字段相匹配的关联映射结果,还识别出了自然语言文本的意图及对语义角色进行了识别。至少一个数据表的字段相匹配的关联映射结果、自然语言文本的意图及识别出的至少一个角色相结合后能够为自然语言文本的查询转义处理提供准确的参考依据,进而在对自然语言文本进行查询转义处理时,将至少一个数据表的字段相匹配的关联映射结果结合自然语言文本的意图以及角色之间的关系对自然语言文本进行查询转义处理可以更准确的确定查询的数据表和字段,因此提高了生成的数据库查询语句的准确度,进一步提高了根据数据库查询语句查找数据的准确度。
图1为本申请实施例提供的应用场景示意图,如图1所示,本申请实施例可应用在校园智能搜索领域,自然语言文本为与校园智能搜索的应用场景相关的查询文本。示例性的,如自然语言文本可以为“与张三同班的湖北人”,通过对“与张三同班的湖北人”的查询解析处理及查询理解处理,可以确定查找的数据表为班级表,查找的字段为张三同班的湖北户籍学生的信息,并生成匹配的数据库查询语句;根据数据库查询语句在数据表查找数据,并显示查找到的数据,如图1所示,可以显示查找到的与张三同班的户籍为湖北的学生的头像、姓名、学号等信息。如图1所示,对图中的学号做隐藏处理。
可以确定下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
图2为本申请实施例一提供的一种自然语言转换数据库查询语句的方法的流程图,本申请实施例针对现有技术确定出的与至少一个数据表的字段相匹配的关联映射结果不准确,进而导致根据相匹配的关联映射结果将自然语言文本转换成的数据库查询语句不准确的问题,提供了一种自然语言转换数据库查询语句的方法。本实施例提供的自然语言转换数据库查询语句的方法的执行主体可以为自然语言转换数据库查询语句的装置。在实际应用中,该自然语言转换数据库查询语句的装置可以通过计算机程序实现,例如应用软件等,也可以通过存储有相关计算机程序的介质,例如,U盘、光盘等实现,或者,还可以通过集成或安装有相关计算机程序的实体装置实现,例如,芯片、板卡等。
此外,自然语言转换数据库查询语句的装置可以位于电子设备中。其中,电子设备可以为表示各种形式的数字计算机。诸如,蜂窝电话、智能电话、膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。
本实施例提供的自然语言转换数据库查询语句的方法包括以下步骤:
步骤S101、获取待查询的自然语言文本。
本申请实施例中,自然语言文本为由自然语言组成的以查询为目的的文本。自然语言是指自然地随文化演化的语言,是人类交流和思维的主要工具。
示例性地,可以获取用户在自然语言转换数据库查询语句的装置提供的输入框中输入的自然语言文本,也可以获取预先储存在数据库中的自然语言文本,还可以获取用户输入的语音,将语音转换为自然语言文本,本申请实施例对此不做具体限定。
步骤S102、对自然语言文本进行查询解析处理,以获得自然语言文本的待查询元素。
本申请实施例中,查询解析处理用于识别自然语言文本中的待查询元素。其中,待查询元素包括自然语言文本中的实体、操作符、聚合符。
本申请实施例中,实体为自然语言文本中具体的人、事、物,或者概念。示例性地,在新闻领域中,实体为突发事件的主体,比如人物、地点、时间;在商品领域中,实体也可以为品牌词、物品词、物品属性词,如颜色、材质等。
具体地,可以对自然语言文本进行分词处理,分段处理,实体识别处理,操作符识别处理,聚合符识别处理等查询解析处理,获得通过查询解析处理确定的实体、操作符、聚合符等待查询元素。
本申请实施例不限制对自然语言文本进行查询解析处理的方式,示例性地,可以采用通用解析模型对自然语言文本进行查询解析处理,并可以在通用解析模型对自然语言文本进行查询解析处理之前或之后采用至少一种实体识别技术对自然语言文本进行更准确的实体识别处理。其中,通用解析模型是可以实现分词,分段,通用实体识别,操作符识别,聚合符识别等功能的模型。
步骤S103、根据待查询元素对自然语言文本进行查询理解处理,以获得自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果。
本申请实施例中,查询理解处理用于根据待查询元素确定需要查询的数据表的字段。
本申请实施例中,可以分别对自然语言文本进行意图识别、语义角色识别、获得自然语言文本的意图、语义角色识别结果。并确定与至少一个数据表的字段相匹配的关联映射结果。
本申请实施例中通过意图识别可以获得自然语言文本的意图,确定自然语言文本的至少一个被查询实体。通过语义角色识别可以获得语义角色识别结果,确定待查询元素的实体中被确定为角色的至少一个实体,以及若为多个角色,确定多个角色之间的关系。通过数据库关联识别技术根据语义角色识别结果确定与至少一个数据表的字段相匹配的关联映射结果。
示例性地,数据库关联识别技术获得与至少一个数据表的字段相匹配的关联映射结果的方式可以为:预先配置实体与字段及字段所在数据表的映射关系,根据实体与数据表和字段的映射关系确定与为实体的待查询元素关联的至少一个数据表的字段;确定待查询元素中操作符、聚合符对应的实体及数值,根据对应实体与数据表和字段的映射关系及对应的数值确定与为操作符、聚合符的待查询元素关联的至少一个数据表的字段。
步骤S104、根据自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。
本申请实施例中,查询转义处理用于根据需要查询的数据表的字段生成数据库查询语句。
具体地,根据自然语言文本的意图、语义角色识别结果及相匹配的关联映射结果确定查询的数据表和字段,根据被查询的数据表的字段将自然语言文本转换为抽象语法树(英文简称AST,英文全称AbstractSyntaxTree),并将自然语言文本对应的抽象语法树组装为匹配的数据库查询语句。
本申请实施例不限制确定被查询的数据表的字段的方法,示例性地,可以根据自然语言文本的意图确定查询的主数据表,或通过语义角色识别确定实体之间的关联,结合根据实体之间的关联确定被查询实体:将与被查询实体相匹配的至少一个数据表的字段确定为查询的数据表和字段。
本申请实施例不限制将自然语言文本转换为抽象语法树的方法。示例性地,可以确定预先设定的与自然语言文本匹配的查询接口,根据查询接口将自然语言文本转换为抽象语法树;也可以确定消耗的计算资源或时间资源最少的查询策略,根据该查询策略将自然语言文本转换为抽象语法树。
本申请实施例不限制将抽象语法树组装为匹配的数据库查询语句的方法,示例性地,可以采用编译器将抽象语法树组装为匹配的数据库查询语句。
本申请实施例提供的自然语言转换数据库查询语句的方法,获取待查询的自然语言文本;对自然语言文本进行查询解析处理,以获得自然语言文本的待查询元素;根据待查询元素对自然语言文本进行查询理解处理,以获得自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果;根据自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。由于在对自然语言文本进行查询理解处理时,不仅确定出了在自然语言文本与至少一个数据表的字段相匹配的关联映射结果,并且还识别出了自然语言文本的意图及对语义角色进行了识别。在对自然语言文本进行查询转义处理时,将至少一个数据表的字段相匹配的关联映射结果结合自然语言文本的意图以及角色之间的关系对自然语言文本进行查询转义处理,可以更准确的确定查询的数据表和字段,因此提高了生成的数据库查询语句的准确度,进一步的提高了根据数据库查询语句查找的数据的准确度。
实施例二
在上述任一实施例的基础上,本申请实施例涉及的是步骤S103根据待查询元素对自然语言文本进行查询理解处理,以获得自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果的一种实现方式的细化,具体包括以下步骤:
步骤S201、对自然语言文本进行意图识别,以获得意图识别结果。
本申请实施例中,可以通过标注第一训练样本的意图预先训练用于意图识别的深度学习模型,采用训练完成的用于意图识别的深度学习模型对自然语言文本进行意图识别,获得意图识别结果。其中,第一训练样本为训练用于意图识别的深度学习模型的多条自然语言文本。
步骤S202、根据待查询元素对自然语言文本进行语义角色识别,以获得语义角色识别结果。
本申请实施例中,角色为自然语言文本中包括的个体,可以为人或物等。
本申请实施例不限制对自然语言文本进行语义角色识别的方式,示例性地,可以通过标注第二训练样本的角色,若角色为多个,还标注角色之间的关系预先训练用于语义角色识别的深度学习模型,采用训练完成的用于语义角色识别的深度学习模型对自然语言文本进行语义角色识别,获得语义角色识别结果。其中,第二训练样本为训练用于语义角色识别的深度学习模型的多条自然语言文本。
本申请实施例中,通过语义角色识别结果可以确定待查询元素中的角色,若为多个角色,还确定多个角色之间的关系。还可以确定每个角色下的属性文本。
步骤S203、对自然语言文本中符合语义标准化要求的文本进行对应的语义标准化处理,以获得语义标准化结果。
本申请实施例中,符合语义标准化要求的文本可以为时间、地址、单位量词等文本。
具体地,可以确定自然语言文本中是否有符合语义标准化要求的文本,若有符合语义标准化要求的文本,则将符合语义标准化要求的文本转换为标准格式或标准单位的文本。
示例性地,可以设置时间的标准格式为年月日,若自然语言文本中有类型为时间的实体,如近三天,则可以确定当前日期并确定三天前的日期,将近三天转换为某年某月某日到某年某月某日的标准格式。可以设置单位量词的标准单位,如设置长度的标准单位为米,标准格式为数值+单位,若自然语言文本中有类型为单位量词的实体,如1米8,则可以将1米8转换为由标准格式表示的文本1.8米。可以设置地址的标准格式,如设置地址的标准格式为某市+某区+某街道。
本申请实施例不限制将符合语义标准化要求的文本转换为标准格式或标准单位的文本以进行对应的语义标准化处理的方式,示例性地,可以根据预先配置的规则将符合语义标准化要求的文本转换为标准格式或标准单位的文本,也可以根据预先训练的标准化模型将符合语义标准化要求的文本转换为标准格式或标准单位的文本。
步骤S204、根据待查询元素、语义角色识别结果及语义标准化结果确定与至少一个数据表的字段相匹配的关联映射结果。
具体地,可以根据语义角色识别结果确定待查询元素中被确定为角色的实体与另外的被确定为角色的实体的关系、以及被确定为角色的实体与自然语言文本中的属性的关系;可以将语义标准化结果与待查询元素映射到与数据库对齐的格式上,以确定实体与操作符关系、实体与聚合符关系,根据实体与实体的关系、实体与操作符关系、实体与聚合符关系,进一步地确定查询字段、聚合字段、聚合方法、查询操作符等,从而确定与至少一个数据表的字段相匹配的关联映射结果。
其中,聚合字段为进行聚合运算对应的字段,聚合方法为聚合字段的聚合操作方法,查询操作符为筛选条件。示例性地,以待查询的自然语言文本为“平均成绩大于60分的同学的姓名”为例,则查询字段为姓名对应的字段,聚合字段为成绩对应的字段,聚合方法为计算成绩的平均值,查询操作符为大于,查询操作符对应的操作值为60分。
示例性地,以待查询的自然语言文本为“近三天”为例,通过语义标准化将近三天转换为某年某月某日到某年某月某日的标准格式,如2021年3月1日到2021年3月3日;将语义标准化结果与待查询元素映射到与数据库对齐的格式,如21/3/1到21/3/3,确定查询操作符为大于,对应的操作值为21/3/1,查询操作符为小于,对应的操作值为21/3/3。
本申请实施例提供的自然语言转换数据库查询语句的方法,对自然语言文本进行意图识别,以获得意图识别结果;根据待查询元素对自然语言文本进行语义角色识别,以获得语义角色识别结果;对自然语言文本中符合语义标准化要求的文本进行对应的语义标准化处理,以获得语义标准化结果;根据待查询元素、语义角色识别结果及语义标准化结果确定与至少一个数据表的字段相匹配的关联映射结果。通过语义标准化结果可以将自然语言文本中对查询起作用实体映射到统一的格式,从统一的格式转化为与数据库的字段匹配的格式,进一步的便于数据库查询语句的生成。并且在确定对应的数据库的字段时,不会造成角色关系出现错误而导致关联映射结果出现错误,提高了确定与至少一个数据表的字段相匹配的关联映射结果的准确性。
实施例三
图3为本申请实施例三提供的一种自然语言转换数据库查询语句的方法的流程图,在上述任一实施例的基础上,本申请实施例涉及的是步骤S202根据待查询元素对自然语言文本进行语义角色识别,以获得语义角色识别结果的一种实现方式的细化,如图3所示,具体包括以下步骤:
步骤S301、采用角色序列标注模型预测自然语言文本中的角色个数,并根据待查询元素确定对应的角色。
其中,角色序列标注模型为通过标注自然语言文本中每个字对应的角色确定角色个数的深度学习模型。
本申请实施例中,角色序列标注模型可以标注自然语言文本中每个字对应的角色,若对应的角色相同,则采用相同的字符或字符串标注,通过用于标注的不同字符或字符串的数量可以确定自然语言文本中的角色个数。
本申请实施例不限制标注每个字对应角色的方式,示例性地,可以通过对自然语言文本中每个字标注序号的方式标注每个字对应角色,也可以通过对自然语言文本中每个字标注字母的方式标注每个字对应角色。
在一种可选地实施方式中,通过对自然语言文本中每个字标注序号的方式标注每个字对应角色,则根据待查询元素确定对应的角色的方法可以包括以下步骤:
步骤S3011、根据各角色的标注序号的位置确定在自然查询文本中对应的实体。
步骤S3012、将对应的实体确定为对应的角色。
示例性地,若某角色的标注序号的位置为第一位、第二位、第五位,则从自然查询文本中第一位、第二位、第五位对应的字中获取实体,将该实体确定为对应的角色。
本申请实施例提供的自然语言转换数据库查询语句的方法,根据各角色的标注序号的位置确定在自然查询文本中对应的实体,将对应的实体确定为对应的角色,可以快速确定各标注序号对应的角色。
步骤S302、若角色个数为多个,则采用属性序列标注模型按照角色个数对自然语言文本中的属性文本进行角色归属预测,以确定每个角色下的属性文本。
本申请实施例中,角色序列标注模型可以标注自然语言文本中属性文本对应角色,标注的角色个数与步骤S301确定的角色个数一致,从而根据对属性文本的标注确定每个角色下的属性文本。
在一种可选地实施方式中,采用属性序列标注模型按照角色个数对自然语言文本中的属性文本进行角色归属预测,以确定每个角色下的属性文本的具体实现方法包括以下步骤:
步骤S3021、将自然语言文本及角色个数输入到属性序列标注模型中。
步骤S3022、采用属性序列标注模型对自然语言文本中每个字所属的角色进行序号标注。
步骤S3023、获取相同的标注序号下的文本作为同一角色下的属性文本。
本申请实施例中,获取相同的标注序号下的文本的方式可以为根据相同的标注序号的位置从自然查询文本中获取同位置的文本,并将获取的文本作为同一角色下的属性文本。
示例性地,自然语言文本为“与张三父亲同火车的杭州人”,角色个数为3,则对每个字所属的角色进行序号标注的结果为“1,2,2,3,3,1,1,1,1,1,1,1”,其中,序号1对应角色1,序号2对应角色2,序号3对应角色3。确定与、同火车、的、杭州人为角色1的属性文本,张三为角色2的属性文本,父亲为角色3的属性文本。
本申请实施例提供的自然语言转换数据库查询语句的方法,将自然语言文本及角色个数输入到属性序列标注模型中,采用属性序列标注模型对自然语言文本中每个字所属的角色进行序号标注,获取相同的标注序号下的文本作为同一角色下的属性文本。可以准确确定同一角色下的属性文本,从而可以准确确定角色与属性文本的关系。
步骤S303、采用角色关系识别模型识别多个角色之间的关系。
本申请实施例中,可以预先设置多种角色间的关系,如亲属关系、同行关系等,角色关系识别模型可以根据预先设置多种角色间的关系确定多个角色之间的关系。
在一种可选地实施方式中,采用角色关系识别模型识别多个角色之间的关系一种具体实现方式包括以下步骤:
步骤S3031、将自然语言文本输入到角色关系识别模型中。
步骤S3032、采用角色关系识别模型识别出每相邻两个角色之间的关系。
其中,每相邻两个角色之间的关系可以为标注序号相邻的对应角色之间的关系,例如,序号1对应角色1,序号2对应角色2,序号3对应角色3,则确定角色1与角色2的关系,角色2与角色3的关系。
本申请实施例中,可以分别以同一个自然语言文本为行向量和列向量输入到角色关系识别模型中,角色关系识别模型按照行向量和列向量形成的矩阵对自然语言文本中的每个字进行遍历,确定出行向量中的每个元素与列向量中的每个元素的关系,即自然语言文本中每个字与其他字之间及相同的两个字之间的关系,若两个字之间有关系,则可以确定两个字分别对应的角色,这两个角色之间的关系即为两个字之间的关系。可以确定每两个角色之间的关系,因此可以确定每相邻两个角色之间的关系。
本申请实施例中,可以预先标注第三训练样本中的角色以及角色之间的关系,根据第三训练样本、标注的第三训练样本中的角色以及角色之间的关系完成对角色关系识别模型的训练。其中,第三训练样本为用于训练角色关系识别模型的多条自然语言文本。
本申请实施例提供的自然语言转换数据库查询语句的方法,将自然语言文本输入到角色关系识别模型中,采用角色关系识别模型识别出每相邻两个角色之间的关系。可以准确地确定两个角色之间的关系,进一步地,可以确定实体间的关系。
步骤S304、根据多个角色之间的关系、每个角色下的属性文本构建角色关系树,以获得语义角色识别结果。
本申请实施例中,可以将角色之间的关系作为根节点或子节点,将多个角色作为叶子节点构建初步角色关系树,将步骤S302中确定的每个角色下的属性文本挂载到初步角色关系树对应的叶子节点上,获取完整的角色关系树。其中,初步角色关系树的叶子节点为角色,完整的角色关系树的叶子节点为属性文本。
在一种可选地实施方式中,根据多个角色之间的关系、每个角色下的属性文本构建角色关系树,以获得语义角色识别结果的具体实现方法包括以下步骤:
步骤S3041、以当前两个角色之间的关系作为当前层左节点,后一个角色之间的关系中的后面的角色为当前层右节点,后一个角色之间的关系作为上一层左节点为基准迭代构建角色关系树。
步骤S3042、将每个角色下的属性文本确定为角色关系树的叶子节点。
具体地,通过步骤S303的结果确定当前两个角色之间是否有关系,若有关系,则将这两个角色作为子节点,将这两个角色之间的关系作为这两个角色对应子节点的父节点;通过步骤S303的结果确定后一个角色与当前两个角色中的任一个角色之间是否有关系,若有关系,则将上一步的父节点与后一个角色作为子节点,将后一个角色之间的关系作为上一步的父节点与后一个角色对应子节点的父节点,以此类推完成初步角色关系树的构建;在初步角色关系树的叶子节点下增加对应的属性文本,形成新的叶子节点,完成完整的角色关系树的构建。
本申请实施例提供的自然语言转换数据库查询语句的方法,以当前两个角色之间的关系作为当前层左节点,后一个角色之间的关系中的后面的角色为当前层右节点,后一个角色之间的关系作为上一层左节点为基准迭代构建角色关系树,将每个角色下的属性文本确定为角色关系树的叶子节点。可以使构建出的角色关系树清晰的表达出各个角色之间的关系。并能够凸显出语义角色识别结果,并且将每个角色下的属性文本确定为角色关系树的叶子节点,也能够清晰地表达出各个角色下的属性文本。
示例性的,图4为本申请实施例提供的构建角色关系树示意图,图4对应的自然语言文本为“与张三父亲同火车的杭州人”,包括三个角色,分别为角色1、角色2、角色3,角色1对应张三、角色2对应张三父亲、角色3对应杭州人,角色1与角色2的关系为父子关系,角色2、角色3的关系为同火车关系,则如图4所示,当前两个角色为角色1、角色2,将父子关系作为当前层左节点,角色3作为当前层右节点,同火车关系作为上一层左节点构建初步角色关系树。
本申请实施例提供的自然语言转换数据库查询语句的方法,采用角色序列标注模型预测自然语言文本中的角色个数,并根据待查询元素确定对应的角色;若角色个数为多个,则采用属性序列标注模型按照角色个数对自然语言文本中的属性文本进行角色归属预测,以确定每个角色下的属性文本;采用角色关系识别模型识别多个角色之间的关系;根据多个角色之间的关系、每个角色下的属性文本构建角色关系树,以获得语义角色识别结果,通过多个角色之间的关系、每个角色下的属性文本可以确定实体与实体的关系,可以准确的确定查询的数据表和字段,从而可以提高根据语义角色识别结果生成的数据库查询语的准确度。
实施例四
图5为本申请实施例四提供的一种自然语言转换数据库查询语句的方法的流程图在上述任一实施例的基础上,本申请实施例涉及的是步骤S301采用角色序列标注模型预测自然语言文本中的角色个数的一种实现方式的细化,其中,角色序列标注模型可以包括:显性角色序列标注模型及隐性角色序列标注模型,则如图5所示,步骤S301具体包括以下步骤:
步骤S401、采用显性角色序列标注模型预测自然语言文本中的显性角色个数。
其中,显性角色为直接体现在自然语言文本中的角色。
本申请实施例中,显性角色序列标注模型可以标注自然语言文本中每个字对应的角色,通过用于标注的不同字符或字符串的数量可以确定自然语言文本中的显性角色个数。
可选地,一种采用显性角色序列标注模型预测自然语言文本中的显性角色个数的实现方式包括以下步骤:
步骤S4011、将自然语言文本输入到显性角色序列标注模型中。
步骤S4012、通过显性角色序列标注模型对自然语言文本中每个字所属的角色进行序号标注。
步骤S4013、根据标注序号的类别确定显性角色个数。
具体地,采用显性角色序列标注模型标注自然语言文本中每个字对应的序号,将相同的序号确定为一个显性角色,将序号类别的数量确定为显性角色个数。
其中,显性角色序列标注模型可以为基于BERT的显性角色序列标注模型。
本申请实施例中,可以通过标注第四训练样本中每个字对应的角色的方式完成对显性角色序列标注模型的训练。其中,第四训练样本为用于训练显性角色序列标注模型的多条自然语言文本。
具体地,对显性角色序列标注模型进行训练的方式可以为:获取第四训练样本并预先标注第四训练样本中每个字对应的角色;将第四训练样本输入显性角色序列标注模型,根据输出的第四训练样本中每个字对应的角色与预先标注的第四训练样本中每个字对应的角色调整显性角色序列标注模型中的参数,直到达到模型收敛条件,如误差小于一定值时完成对显性角色序列标注模型的训练。
本申请实施例提供的自然语言转换数据库查询语句的方法,将自然语言文本输入到显性角色序列标注模型中;通过显性角色序列标注模型对自然语言文本中每个字所属的角色进行序号标注;根据标注序号的类别确定显性角色个数。通过显性角色序列标注模型对每个字所属的角色进行序号标注确定显性角色个数,相对于将自然语言文本及确定的待查询元素输入显性角色序列标注模型中对自然语言文本中待查询元素所属的角色进行序号标注,可以降低显性角色序列标注模型的复杂度,进一步地,可以缩短确定显性角色个数的时间。并且由于显性角色序列标注模型为深度学习模型,可以保证对自然语言文本中每个字所属的角色进行序号标注的准确率,从而保证确定的显性角色个数的准确率。
步骤S402、采用隐性角色序列标注模型预测自然语言文本中的隐性角色个数。
其中,隐性角色为未在自然语言文本中显性体现的角色。
本申请实施例中,隐性角色序列标注模型可以标注自然语言文本中相邻两个字之间或自然语言文本之前或之后隐含的角色。
可选地,一种采用隐性角色序列标注模型预测自然语言文本中的隐性角色个数的实现方式包括以下步骤:
步骤S4021、将自然语言文本输入到隐性角色序列标注模型中。
步骤S4022、通过隐性角色序列标注模型对自然语言文本中每个字所属的角色进行序号标注,并对预测出隐性角色所在位置进行标注。
步骤S4023、根据每个字所属的角色标注序号及隐性角色所在位置确定隐性角色个数。
具体地,对预测出隐性角色所在位置进行标注的方式为:采用隐性角色序列标注模型标注自然语言文本中每个字之前或之后是否存在隐性角色,若存在隐性角色,则对隐性角色及出隐性角色所在位置进行标注。
示例性地,若一个字属于显性角色1,显性角色1的标注为1,且该字之前存在隐性角色,则在对该字的标注可以为1|before,表示在该字之前存在隐性角色;若该字之后存在隐性角色,则在对该字的标注可以为1|after,表示在该字之后存在隐性角色。
本申请实施例中,根据每个字所属的角色标注序号及隐性角色所在位置确定隐性角色个数时,确定隐性角色在自然语言文本中的所在位置,将不同隐性角色所在位置的标注的数量确定为隐性角色个数。其中,自然语言文本中相同位置的隐性角色为同一隐性角色,示例性地,自然语言文本中第三个字之后存在隐性角色,自然语言文本中第四个字之前存在隐性角色,则这两个隐性角色在自然语言文本中相同位置,为同一隐性角色。
本申请实施例中,可以通过标注第五训练样本中每个字对应的角色的方式完成对隐性角色序列标注模型的训练。其中,第五训练样本为用于训练隐性角色序列标注模型的多条自然语言文本。
具体地,对隐性角色序列标注模型进行训练的方式可以为:获取第五训练样本并预先标注第五训练样本中隐性角色所在位置;将第五训练样本输入隐性角色序列标注模型,根据输出的第五训练样本中隐性角色所在位置隐性角色序列标注模型中的参数,直到达到模型收敛条件,如误差小于一定值时完成对隐性角色序列标注模型的训练。
本申请实施例提供的自然语言转换数据库查询语句的方法,将自然语言文本输入到隐性角色序列标注模型中,通过隐性角色序列标注模型对自然语言文本中每个字所属的角色进行序号标注,并对预测出隐性角色所在位置进行标注,根据每个字所属的角色标注序号及隐性角色所在位置确定隐性角色个数。相对于将自然语言文本及确定的待查询元素输入隐性角色序列标注模型中对隐性角色相对待查询元素的所在位置进行标注,可以降低隐性角色序列标注模型的复杂度,进一步地,可以缩短确定隐性角色个数的时间。并且由于隐性角色序列标注模型为深度学习模型,可以保证对自然语言文本中隐性角色所在位置进行标注的准确率,从而保证确定的隐性角色个数的准确率。
可选地,在步骤S402采用隐性角色序列标注模型预测自然语言文本中的隐性角色个数之后,还包括:采用校验算法对隐性角色个数进行校验。
具体地,若确定一个字的之前存在隐性角色,且该字不为自然语言文本中第一个字,则确定这个字的前一个字之后是否存在隐性角色,若存在,则确定自然语言文本中存在该隐性角色,若不存在,则确定自然语言文本中不存在该隐性角色;若确定一个字的之后存在隐性角色,且该字不为自然语言文本中最后一个字,则确定这个字的后一个字之前是否存在隐性角色,若存在,则确定自然语言文本中存在该隐性角色,若不存在,则确定自然语言文本中不存在该隐性角色。
本申请实施例提供的自然语言转换数据库查询语句的方法,采用校验算法对隐性角色个数进行校验,可以提高确定自然语言文本中存在的隐性角色个数的准确度,进一步地,可以提高确定角色个数的准确度。
步骤S403、将显性角色个数与隐性角色个数之和确定为角色个数。
具体地,在确定显性角色个数与隐性角色个数之后,将显性角色个数与隐性角色个数相加,将相加结果确定为自然语言文本的角色个数。
本申请实施例提供的自然语言转换数据库查询语句的方法,采用显性角色序列标注模型预测自然语言文本中的显性角色个数;采用隐性角色序列标注模型预测自然语言文本中的隐性角色个数;将显性角色个数与隐性角色个数之和确定为角色个数。可以充分识别自然语言文本中的隐性角色,从而可以提高确定角色个数的准确度。
实施例五
在上述任一实施例的基础上,本申请实施例涉及的是步骤S104、根据自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句的一种实现方式的细化,具体包括以下步骤:
步骤S501、根据自然语言文本的意图确定查询的主数据表。
步骤S502、根据语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果确定优选查询策略。
步骤S503、按照优选查询策略及主数据表对自然语言文本进行查询转义处理,以生成匹配的抽象语法树。
步骤S504、对抽象语法树进行查询语句组装,以生成相匹配的数据库查询语句。
其中,优选查询策略为查找数据表和字段的消耗的时间资源或计算资源最少的查询策略。
具体地,根据自然语言文本的意图确定查询的主数据表,并根据语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果确定查询的数据表和字段,确定对查询的主数据表及查询的数据表和字段的优选查询策略,根据优选查询策略生成匹配的抽象语法树,并将抽象语法树组装为相匹配的数据库查询语句。
本申请实施例中,通过语义角色识别结果可以确定角色与角色之间的关系和角色与属性文本的关系,通过确定角色对应的实体和属性文本对应的实体,可以确定实体之间的关系,从而可以根据实体之间的关系确定查询的数据表和字段。示例性地,自然语言文本为“与杭州人张三同火车去北京的湖北人李四”,则湖北人为李四的属性,可以确定从湖北人对应的数据表中查找李四,去北京也为李四的属性,也可以从目的地为北京的出行表中查找李四。
本申请实施例提供的自然语言转换数据库查询语句的方法,根据自然语言文本的意图确定查询的主数据表;根据语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果确定优选查询策略;按照优选查询策略及主数据表对自然语言文本进行查询转义处理,以生成匹配的抽象语法树;对抽象语法树进行查询语句组装,以生成相匹配的数据库查询语句。结合自然语言文本的意图及语义角色识别结果确定优选查询策略,按照优选查询策略进行查询转义处理,可以节约查询所消耗的时间资源或计算资源,并且可以提高生成的数据库查询语的准确度,进一步的提高根据数据库查询语句查找的数据的准确度。
实施例六
图6为本申请实施例六提供的自然语言转换数据库查询语句的装置的结构示意图,如图6所示,本实施例提供的自然语言转换数据库查询语句的装置60包括:获取模块601,解析模块602、理解模块603以及转义模块604。
其中,获取模块601,用于获取待查询的自然语言文本。
解析模块602,用于对自然语言文本进行查询解析处理,以获得自然语言文本的待查询元素。
理解模块603,用于根据待查询元素对自然语言文本进行查询理解处理,以获得自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果。
转义模块604,用于根据自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果对自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。
可选实施方式中,理解模块603包括:意图识别单元,角色识别单元,标准化处理单元,关联映射单元;意图识别单元用于:对自然语言文本进行意图识别,以获得意图识别结果;角色识别单元用于:根据待查询元素对自然语言文本进行语义角色识别,以获得语义角色识别结果;标准化处理单元用于:对自然语言文本中符合语义标准化要求的文本进行对应的语义标准化处理,以获得语义标准化结果;关联映射单元用于:根据待查询元素、语义角色识别结果及语义标准化结果确定与至少一个数据表的字段相匹配的关联映射结果。
可选实施方式中,角色识别单元具体用于:采用角色序列标注模型预测自然语言文本中的角色个数,并根据待查询元素确定对应的角色;若角色个数为多个,则采用属性序列标注模型按照角色个数对自然语言文本中的属性文本进行角色归属预测,以确定每个角色下的属性文本;采用角色关系识别模型识别多个角色之间的关系;根据多个角色之间的关系、每个角色下的属性文本构建角色关系树,以获得语义角色识别结果。
可选实施方式中,角色识别单元包括:角色确定子单元;角色确定子单元用于:采用显性角色序列标注模型预测自然语言文本中的显性角色个数;采用隐性角色序列标注模型预测自然语言文本中的隐性角色个数;将显性角色个数与隐性角色个数之和确定为角色个数。
可选实施方式中,角色确定子单元具体用于:将自然语言文本输入到显性角色序列标注模型中;通过显性角色序列标注模型对自然语言文本中每个字所属的角色进行序号标注;根据标注序号的类别确定显性角色个数。
可选实施方式中,角色确定子单元具体还用于:将自然语言文本输入到隐性角色序列标注模型中;通过隐性角色序列标注模型对自然语言文本中每个字所属的角色进行序号标注,并对预测出隐性角色所在位置进行标注;根据每个字所属的角色标注序号及隐性角色所在位置确定隐性角色个数。
可选实施方式中,角色确定子单元还用于:采用校验算法对隐性角色个数进行校验。
可选实施方式中,角色确定子单元还用于:根据各角色的标注序号的位置确定在自然查询文本中对应的实体;将对应的实体确定为对应的角色。
可选实施方式中,角色识别单元包括:属性确定子单元;属性确定子单元用于:将自然语言文本及角色个数输入到属性序列标注模型中;采用属性序列标注模型对自然语言文本中每个字所属的角色进行序号标注;获取相同的标注序号下的文本作为同一角色下的属性文本。
可选实施方式中,角色识别单元包括:关系识别子单元;关系识别子单元用于:将自然语言文本输入到角色关系识别模型中;采用角色关系识别模型识别出每相邻两个角色之间的关系。
可选实施方式中,角色识别单元包括:关系树构建子单元;关系树构建子单元用于:以当前两个角色之间的关系作为当前层左节点,后一个角色之间的关系中的后面的角色为当前层右节点,后一个角色之间的关系作为上一层左节点为基准迭代构建角色关系树;将每个角色下的属性文本确定为角色关系树的叶子节点。
可选实施方式中,转义模块604,具体用于:根据自然语言文本的意图确定查询的主数据表;根据语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果确定优选查询策略;按照优选查询策略及主数据表对自然语言文本进行查询转义处理,以生成匹配的抽象语法树;对抽象语法树进行查询语句组装,以生成相匹配的数据库查询语句。
需要说明的是,本实施例提供的自然语言转换数据库查询语句的装置执行的技术方案和效果可以参见前述方法实施例的相关内容,在此不再赘述。
实施例七
图7为本申请实施例七提供的电子设备的结构示意图,如图7所示,本申请还提供了一种电子设备70,包括:存储器701和处理器702。
存储器701,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机执行指令。存储器701可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器702,用于执行存储器701存放的程序。
其中,计算机程序存储在存储器701中,并被配置为由处理器702执行以实现本申请任意一个实施例提供的自然语言转换数据库查询语句的方法。相关说明可以对应参见附图中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
其中,本实施例中,存储器701和处理器702通过总线连接。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent Interconnect,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本申请任意一个实施例提供的自然语言转换数据库查询语句的方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请任意一个实施例提供自然语言转换数据库查询语句的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程自然语言转换数据库查询语句的装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本申请的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (14)
1.一种自然语言转换数据库查询语句的方法,其特征在于,包括:
获取待查询的自然语言文本;
对所述自然语言文本进行查询解析处理,以获得所述自然语言文本的待查询元素;
根据所述待查询元素对所述自然语言文本进行查询理解处理,以获得自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果;
根据所述自然语言文本的意图、所述语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果对所述自然语言文本进行查询转义处理,以生成匹配的数据库查询语句。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待查询元素对所述自然语言文本进行查询理解处理,以获得自然语言文本的意图、语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果,包括:
对所述自然语言文本进行意图识别,以获得意图识别结果;
根据所述待查询元素对自然语言文本进行语义角色识别,以获得语义角色识别结果;
对所述自然语言文本中符合语义标准化要求的文本进行对应的语义标准化处理,以获得语义标准化结果;
根据所述待查询元素、所述语义角色识别结果及语义标准化结果确定与至少一个数据表的字段相匹配的关联映射结果。
3.根据权利要求2所述的方法,其特征在于,所述根据所述待查询元素对自然语言文本进行语义角色识别,以获得语义角色识别结果,包括:
采用角色序列标注模型预测所述自然语言文本中的角色个数,并根据所述待查询元素确定对应的角色;
若所述角色个数为多个,则采用属性序列标注模型按照角色个数对所述自然语言文本中的属性文本进行角色归属预测,以确定每个角色下的属性文本;
采用角色关系识别模型识别多个角色之间的关系;
根据多个角色之间的关系、每个角色下的属性文本构建角色关系树,以获得语义角色识别结果。
4.根据权利要求3所述的方法,其特征在于,所述角色序列标注模型包括:显性角色序列标注模型及隐性角色序列标注模型;
所述采用角色序列标注模型预测所述自然语言文本中角色个数,包括:
采用显性角色序列标注模型预测所述自然语言文本中的显性角色个数;
采用隐性角色序列标注模型预测所述自然语言文本中的隐性角色个数;
将所述显性角色个数与隐性角色个数之和确定为所述角色个数。
5.根据权利要求4所述的方法,其特征在于,所述采用显性角色序列标注模型预测所述自然语言文本中的显性角色个数,包括:
将所述自然语言文本输入到显性角色序列标注模型中;
通过所述显性角色序列标注模型对所述自然语言文本中每个字所属的角色进行序号标注;
根据标注序号的类别确定显性角色个数。
6.根据权利要求5所述的方法,其特征在于,所述采用隐性角色序列标注模型预测所述自然语言文本中的隐性角色个数,包括:
将所述自然语言文本输入到隐性角色序列标注模型中;
通过所述隐性角色序列标注模型对所述自然语言文本中每个字所属的角色进行序号标注,并对预测出隐性角色所在位置进行标注;
根据每个字所属的角色标注序号及所述隐性角色所在位置确定所述隐性角色个数。
7.根据权利要求4所述的方法,其特征在于,所述采用隐性角色序列标注模型预测所述自然语言文本中的隐性角色个数之后,还包括:
采用校验算法对所述隐性角色个数进行校验。
8.根据权利要求6所述的方法,其特征在于,所述根据所述待查询元素确定对应的角色,包括:
根据各角色的标注序号的位置确定在自然查询文本中对应的实体;
将所述对应的实体确定为对应的角色。
9.根据权利要求3所述的方法,其特征在于,所述采用属性序列标注模型按照角色个数对所述自然语言文本中的属性文本进行角色归属预测,以确定每个角色下的属性文本,包括:
将所述自然语言文本及角色个数输入到所述属性序列标注模型中;
采用所述属性序列标注模型对自然语言文本中每个字所属的角色进行序号标注;
获取相同的标注序号下的文本作为同一角色下的属性文本。
10.根据权利要求3所述的方法,其特征在于,所述采用角色关系识别模型识别多个角色之间的关系,包括:
将所述自然语言文本输入到角色关系识别模型中;
采用角色关系识别模型识别出每相邻两个角色之间的关系。
11.根据权利要求10所述的方法,其特征在于,所述根据多个角色之间的关系、每个角色下的属性文本构建角色关系树,以获得语义角色识别结果,包括:
以当前两个角色之间的关系作为当前层左节点,后一个角色之间的关系中的后面的角色为当前层右节点,后一个角色之间的关系作为上一层左节点为基准迭代构建角色关系树;
将每个角色下的属性文本确定为角色关系树的叶子节点。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述根据所述自然语言文本的意图、所述语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果对所述自然语言文本进行查询转义处理,以生成匹配的数据库查询语句,包括:
根据所述自然语言文本的意图确定查询的主数据表;
根据所述语义角色识别结果及与至少一个数据表的字段相匹配的关联映射结果确定优选查询策略;
按照优选查询策略及主数据表对所述自然语言文本进行查询转义处理,以生成匹配的抽象语法树;
对所述抽象语法树进行查询语句组装,以生成相匹配的数据库查询语句。
13.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-12中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210743832.7A CN114936271A (zh) | 2022-06-27 | 2022-06-27 | 自然语言转换数据库查询语句的方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210743832.7A CN114936271A (zh) | 2022-06-27 | 2022-06-27 | 自然语言转换数据库查询语句的方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114936271A true CN114936271A (zh) | 2022-08-23 |
Family
ID=82869031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210743832.7A Pending CN114936271A (zh) | 2022-06-27 | 2022-06-27 | 自然语言转换数据库查询语句的方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114936271A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117909389A (zh) * | 2024-03-19 | 2024-04-19 | 成都虚谷伟业科技有限公司 | 一种sql模糊查询方法、设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760462A (zh) * | 2016-02-05 | 2016-07-13 | 首都师范大学 | 基于关联数据查询的人机交互方法及装置 |
US20180095962A1 (en) * | 2016-10-05 | 2018-04-05 | International Business Machines Corporation | Translation of natural language questions and requests to a structured query format |
CN110119404A (zh) * | 2019-04-12 | 2019-08-13 | 杭州量之智能科技有限公司 | 一种基于自然语言理解的智能取数系统及其方法 |
CN111159330A (zh) * | 2018-11-06 | 2020-05-15 | 阿里巴巴集团控股有限公司 | 一种数据库查询语句的生成方法及装置 |
CN112559690A (zh) * | 2020-12-21 | 2021-03-26 | 广东珠江智联信息科技股份有限公司 | 一种自然语言智能数据建模技术 |
CN112800201A (zh) * | 2021-01-28 | 2021-05-14 | 杭州汇数智通科技有限公司 | 自然语言的处理方法、装置及电子设备 |
US11068477B1 (en) * | 2018-06-06 | 2021-07-20 | Gbt Travel Servces Uk Limited | Natural language processing with pre-specified SQL queries |
CN113779062A (zh) * | 2021-02-23 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | Sql语句生成方法、装置、存储介质及电子设备 |
CN114138817A (zh) * | 2021-12-03 | 2022-03-04 | 中国建设银行股份有限公司 | 基于关系型数据库的数据查询方法、设备、介质及产品 |
CN114168615A (zh) * | 2021-12-08 | 2022-03-11 | 中国电建集团贵州电力设计研究院有限公司 | 自然语言查询智能变电站scd文件的方法及系统 |
CN114253990A (zh) * | 2021-11-08 | 2022-03-29 | 广州广电运通信息科技有限公司 | 数据库查询方法、装置、计算机设备和存储介质 |
CN114265858A (zh) * | 2021-12-09 | 2022-04-01 | 阿里巴巴(中国)有限公司 | 一种自然语言到sql的转义方法、设备及存储介质 |
CN114281957A (zh) * | 2021-09-30 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 自然语言数据查询方法、装置、电子设备及存储介质 |
CN114625748A (zh) * | 2021-04-23 | 2022-06-14 | 亚信科技(南京)有限公司 | Sql查询语句的生成方法、装置、电子设备及可读存储介质 |
-
2022
- 2022-06-27 CN CN202210743832.7A patent/CN114936271A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760462A (zh) * | 2016-02-05 | 2016-07-13 | 首都师范大学 | 基于关联数据查询的人机交互方法及装置 |
US20180095962A1 (en) * | 2016-10-05 | 2018-04-05 | International Business Machines Corporation | Translation of natural language questions and requests to a structured query format |
US11068477B1 (en) * | 2018-06-06 | 2021-07-20 | Gbt Travel Servces Uk Limited | Natural language processing with pre-specified SQL queries |
CN111159330A (zh) * | 2018-11-06 | 2020-05-15 | 阿里巴巴集团控股有限公司 | 一种数据库查询语句的生成方法及装置 |
CN110119404A (zh) * | 2019-04-12 | 2019-08-13 | 杭州量之智能科技有限公司 | 一种基于自然语言理解的智能取数系统及其方法 |
CN112559690A (zh) * | 2020-12-21 | 2021-03-26 | 广东珠江智联信息科技股份有限公司 | 一种自然语言智能数据建模技术 |
CN112800201A (zh) * | 2021-01-28 | 2021-05-14 | 杭州汇数智通科技有限公司 | 自然语言的处理方法、装置及电子设备 |
CN113779062A (zh) * | 2021-02-23 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | Sql语句生成方法、装置、存储介质及电子设备 |
CN114625748A (zh) * | 2021-04-23 | 2022-06-14 | 亚信科技(南京)有限公司 | Sql查询语句的生成方法、装置、电子设备及可读存储介质 |
CN114281957A (zh) * | 2021-09-30 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 自然语言数据查询方法、装置、电子设备及存储介质 |
CN114253990A (zh) * | 2021-11-08 | 2022-03-29 | 广州广电运通信息科技有限公司 | 数据库查询方法、装置、计算机设备和存储介质 |
CN114138817A (zh) * | 2021-12-03 | 2022-03-04 | 中国建设银行股份有限公司 | 基于关系型数据库的数据查询方法、设备、介质及产品 |
CN114168615A (zh) * | 2021-12-08 | 2022-03-11 | 中国电建集团贵州电力设计研究院有限公司 | 自然语言查询智能变电站scd文件的方法及系统 |
CN114265858A (zh) * | 2021-12-09 | 2022-04-01 | 阿里巴巴(中国)有限公司 | 一种自然语言到sql的转义方法、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117909389A (zh) * | 2024-03-19 | 2024-04-19 | 成都虚谷伟业科技有限公司 | 一种sql模糊查询方法、设备及存储介质 |
CN117909389B (zh) * | 2024-03-19 | 2024-06-11 | 成都虚谷伟业科技有限公司 | 一种sql模糊查询方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908635B (zh) | 建立文本分类模型以及文本分类的方法、装置 | |
CN107330011B (zh) | 多策略融合的命名实体的识别方法及装置 | |
CN109472033B (zh) | 文本中的实体关系抽取方法及系统、存储介质、电子设备 | |
CN104899304B (zh) | 命名实体识别方法及装置 | |
CN110727779A (zh) | 基于多模型融合的问答方法及系统 | |
CN109800307B (zh) | 产品评价的分析方法、装置、计算机设备及存储介质 | |
CN113220836B (zh) | 序列标注模型的训练方法、装置、电子设备和存储介质 | |
Lind et al. | Building the bridge: Topic modeling for comparative research | |
Zhou et al. | Chinese named entity recognition via joint identification and categorization | |
CN109582772B (zh) | 合同信息提取方法、装置、计算机设备和存储介质 | |
WO2021174864A1 (zh) | 基于少量训练样本的信息抽取方法及装置 | |
CN109685056A (zh) | 获取文档信息的方法及装置 | |
CN112035675A (zh) | 医疗文本标注方法、装置、设备及存储介质 | |
CN110377560A (zh) | 一种简历信息的结构化方法及装置 | |
CN110929520A (zh) | 非命名实体对象抽取方法、装置、电子设备及存储介质 | |
CN115098657A (zh) | 自然语言转换数据库查询语句的方法、设备及介质 | |
CN113220835A (zh) | 文本信息处理方法、装置、电子设备以及存储介质 | |
CN117112595A (zh) | 一种信息查询方法、装置、电子设备及存储介质 | |
CN114936271A (zh) | 自然语言转换数据库查询语句的方法、设备及介质 | |
CN118364916A (zh) | 一种基于大语言模型和知识图谱的新闻检索方法及系统 | |
CN113901224A (zh) | 基于知识蒸馏的涉密文本识别模型训练方法、系统及装置 | |
Mohnot et al. | Hybrid approach for Part of Speech Tagger for Hindi language | |
CN117473054A (zh) | 基于知识图谱的通用智能问答方法及装置 | |
CN112559711A (zh) | 一种同义文本提示方法、装置及电子设备 | |
CN114842982B (zh) | 一种面向医疗信息系统的知识表达方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |