CN118069689A - 一种将自然语言转化为结构化查询语言的方法 - Google Patents

一种将自然语言转化为结构化查询语言的方法 Download PDF

Info

Publication number
CN118069689A
CN118069689A CN202410479605.7A CN202410479605A CN118069689A CN 118069689 A CN118069689 A CN 118069689A CN 202410479605 A CN202410479605 A CN 202410479605A CN 118069689 A CN118069689 A CN 118069689A
Authority
CN
China
Prior art keywords
language
structured query
tag
field
defining
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.)
Granted
Application number
CN202410479605.7A
Other languages
English (en)
Other versions
CN118069689B (zh
Inventor
皇甫汉聪
王永才
关兆雄
庞伟林
林浩
李沐栩
王俊丰
郑晓娟
吴丽贤
杜家兵
宋才华
刘胜强
庞维欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Foshan Power Supply Bureau of Guangdong Power Grid Corp
Original Assignee
Foshan Power Supply Bureau of Guangdong Power Grid Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Foshan Power Supply Bureau of Guangdong Power Grid Corp filed Critical Foshan Power Supply Bureau of Guangdong Power Grid Corp
Priority to CN202410479605.7A priority Critical patent/CN118069689B/zh
Publication of CN118069689A publication Critical patent/CN118069689A/zh
Application granted granted Critical
Publication of CN118069689B publication Critical patent/CN118069689B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据处理技术领域,公开了一种将自然语言转化为结构化查询语言的方法,包括使用可拓展标记语言XML定义表结构以及表之间的关联关系,获得表定义模版文件;解析表定义模版文件,生成用于创建数据库和实体表的初始化SQL脚本;解析表定义模版文件,生成用于通用语言模型理解表结构以及表之间关联关系的表定义数据集,并将该表定义数据集输入到通用语言模型,使通用语言模型获得理解表结构以及表之间关联关系的上下文信息,从而使通用语言模型更加精确理解数据库表结构设计,使自然语言转化成结构化查询语言的准确率得到大幅度提高。

Description

一种将自然语言转化为结构化查询语言的方法
技术领域
本发明涉及数据处理技术领域,具体为一种将自然语言转化为结构化查询语言的方法。
背景技术
自然语言处理(Natural Language Processing,NLP)是人工智能和计算机科学领域的一个分支,致力于使计算机能够理解、解释、生成以及与人类使用的自然语言进行交互。NLP的目标是使计算机能够处理和理解人类语言的各种形式,包括书面文本和口头语言。
自然语言是人类最自然的交流方式之一,将自然语言转换为结构化查询语言可以使更多的用户能够轻松地查询数据库,而无需具备专业的SQL编程技能。在将自然语言转化为结构化查询语言的过程中,系统需要精确理解数据模式和数据定义,以便正确地构造和执行查询,目前普遍采用的方式是读取数据库管理系统(DBMS)提供的元数据信息,如MySQL提供的“INFORMATION_SCHEMA”数据库,这种方式能获取到表结构的基本信息,如表名、列名、数据类型、长度、是否允许为空、默认值、主键、外键等信息,但仅依靠这些无法让系统精确的理解数据库表结构设计,会存在转化后的结构化查询语言与实际表结构不一致的问题,像表关联关系、取值约束、表和列的业务含义这些无法获取,对生成SQL会造成了一定的错误率和局限性,降低了用户的使用体验。为此,我们提出一种将自然语言转化为结构化查询语言的方法。
发明内容
本发明的目的在于提供一种将自然语言转化为结构化查询语言的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种将自然语言转化为结构化查询语言的方法,包括:
使用可拓展标记语言XML定义表结构以及表之间的关联关系,获得表定义模版文件;
根据XML语言的语法格式,解析表定义模版文件,生成用于创建数据库和实体表的初始化SQL脚本,并在数据库管理系统中执行该初始化SQL脚本;
根据XML语言的语法格式,解析表定义模版文件,生成用于通用语言模型理解表结构以及表之间关联关系的表定义数据集,并将该表定义数据集输入到通用语言模型,使通用语言模型获得理解表结构以及表之间关联关系的上下文信息;
使用单词字典树构建敏感字段过滤器,所述敏感字段过滤器包含数据库中所有不允许外部访问的表字段;
获取待处理的自然语言文本,将待处理的自然语言文本传入已输入过表定义数据集的通用语言模型,所述通用语言模型将待处理的自然语言文本转化成结构化查询语言,获得第一结构化查询语言;
将所述第一结构化查询语言传入敏感字段过滤器,敏感字段过滤器对第一结构化查询语言访问的表字段进行校验和裁剪,获得第二结构化查询语言;
将第二结构化查询语言输出,作为自然语言文本最终转化的结构化查询语言。
优选的,所述表定义模版文件包含XML标签,所述XML标签包括实体表定义标签EntityDef、表字段定义标签ColumnDef、表索引定义标签IndexDef和表关联关系定义标签EntityRelation;
所述EntityDef标签用于对实体表的定义,所述EntityDef标签包含的属性有表名称、表描述和提示词;
所述ColumnDef标签用于对表字段的定义,所述ColumnDef标签包含的属性有字段名称、字段类型、存储长度、最大值、最小值、数值精度、正则规则、字段描述、引用字段和提示词;
所述IndexDef标签用于对表索引的定义,所述IndexDef标签包含的属性有索引名称、索引类型、索引描述和提示词;
所述EntityRelation标签用于对关系表的定义,所述EntityRelation标签包含的属性有关系表名称、关系表描述和提示词;
每类标签都包含用于辅助生成表定义数据集的提示词属性,所述提示词属性用于描述表、字段和索引的业务含义。
优先的,所述ColumnDef标签的字段类型属性与数据库管理系统支持的表字段类型对应。
优选的,解析表定义模版文件生成初始化SQL脚本的步骤包括:
S1,选择解析XML文件的编程语言,并导入解析XML文件的工具包;
S2,使用工具包加载表定义模版文件;
S3,定义用于缓存SQL片段的数组;
S4,利用工具包提供的标签查询方法获取每类标签,遍历每个EntityDef标签,往缓存数组中插入创建实体表的SQL片段,遍历每个ColumnDef标签,往缓存数组中插入定义表字段的SQL片段,遍历每个IndexDef标签,往缓存数组中插入创建表索引的SQL片段,遍历每个EntityRelation标签,往缓存数组中插入定义表关联关系的SQL片段;
S5,遍历结束后,将缓存数组中所有的SQL片段转换成完整的SQL字符串,并保存生成初始化SQL脚本。
优选的,根据使用的数据库管理系统的类型,生成与之语法规则匹配的初始化SQL脚本。
优选的,解析表定义模版文件生成表定义数据集的步骤包括:
S1,选择解析XML文件的编程语言,并导入解析XML文件的工具包;
S2,使用工具包加载表定义模版文件;
S3,定义用于缓存文本片段的数组;
S4,利用工具包提供的标签查询方法获取每类标签,遍历每个EntityDef标签,往缓存数组中插入创建实体表的文本片段,遍历每个ColumnDef标签,往缓存数组中插入定义表字段的文本片段,遍历每个IndexDef标签,往缓存数组中插入创建表索引的文本片段,遍历每个EntityRelation标签,往缓存数组中插入定义表关联关系的文本片段;
S5,遍历结束后,将缓存数组中所有的文本片段转换成完整的文本字符串,并保存生成表定义数据集。
优选的,在遍历每个标签时,根据标签类型和标签具备的属性生成不同的文本内容。
优选的,表定义数据集包含多种语言形式,根据通用语言模型对每种语言理解能力的差异,选择理解能力最优的语言生成表定义数据集。
优选的,使用单词字典树构建敏感字段过滤器,预先收集敏感的表字段数据,采用表名加字段名作为树查找路径,如果第一结构化查询语言访问的表字段在单词字典树中匹配到对应的路径,则证明该表字段为敏感数据,需对第一结构化查询语言中敏感字段进行裁剪删除。
与现有技术相比,本发明的有益效果是:
1、本发明利用表定义模版文件统一描述数据库表结构的设计,使数据库管理系统的初始化SQL脚本和通用语言模型理解表设计使用的表定义数据集具备一致的数据基础,避免转化后的结构化查询语言与实际表结构不一致的问题。
2、本发明利用依据表定义模版文件生成的表定义数据集作为通用语言模型理解表结构以及表之间关联关系的上下文信息,使通用语言模型更加精确理解数据库表结构设计,从而使自然语言转化成结构化查询语言的准确率得到大幅度提高。
附图说明
图1为本发明提供的将自然语言转化为结构化查询语言的方法的流程图;
图2为生成初始化SQL的示意图;
图3为生成表定义数据集的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-3,本发明提供一种技术方案:一种将自然语言转化为结构化查询语言的方法,包括:
使用可拓展标记语言XML定义表结构以及表之间的关联关系,获得表定义模版文件;
根据XML语言的语法格式,解析表定义模版文件,生成用于创建数据库和实体表的初始化SQL脚本,并在数据库管理系统中执行该初始化SQL脚本;
根据XML语言的语法格式,解析表定义模版文件,生成用于通用语言模型理解表结构以及表之间关联关系的表定义数据集,并将该表定义数据集输入到通用语言模型,使通用语言模型获得理解表结构以及表之间关联关系的上下文信息;
利用表定义模版文件统一描述数据库表结构的设计,使数据库管理系统的初始化SQL脚本和通用语言模型理解表设计使用的表定义数据集具备一致的数据基础,避免转化后的结构化查询语言与实际表结构不一致的问题。
使用单词字典树构建敏感字段过滤器,所述敏感字段过滤器包含数据库中所有不允许外部访问的表字段;
获取待处理的自然语言文本,将待处理的自然语言文本传入已输入过表定义数据集的通用语言模型,所述通用语言模型将待处理的自然语言文本转化成结构化查询语言,获得第一结构化查询语言;
将所述第一结构化查询语言传入敏感字段过滤器,敏感字段过滤器对第一结构化查询语言访问的表字段进行校验和裁剪,获得第二结构化查询语言;
将第二结构化查询语言输出,作为自然语言文本最终转化的结构化查询语言。
使用依据表定义模版文件生成的表定义数据集作为通用语言模型理解表结构以及表之间关联关系的上下文信息,使通用语言模型更加精确理解数据库表结构设计,从而使自然语言转化成结构化查询语言的准确率得到大幅度提高。
附图1为本发明工作原理示意图,下面结合实施例一至四,对本发明做进一步说明。
实施例一:
所述表定义模版文件包含XML标签,所述XML标签包括实体表定义标签EntityDef、表字段定义标签ColumnDef、表索引定义标签IndexDef和表关联关系定义标签EntityRelation;
所述EntityDef标签用于对实体表的定义,所述EntityDef标签包含的属性有表名称table_name、表描述table_comment和提示词prompt;
所述ColumnDef标签用于对表字段的定义,所述ColumnDef标签包含的属性有字段名称name、字段类型type、存储长度length、最大值max、最小值min、数值精度precision、正则规则regex、字段描述comment、引用字段column和提示词prompt;
所述IndexDef标签用于对表索引的定义,所述IndexDef标签包含的属性有索引名称name、索引类型type、索引描述comment和提示词prompt;
所述EntityRelation标签用于对关系表的定义,所述EntityRelation标签包含的属性有关系表名称table_name、关系表描述table_comment和提示词prompt;
每类标签都包含用于辅助生成表定义数据集的提示词prompt属性,所述提示词prompt属性用于描述表、字段和索引的业务含义。
其中max、min、precision和regex属性是对表字段做结构化查询时的取值约束,每类标签的属性的含义如下表所示:
表定义模版文件示例如下:
上述表定义模版文件的示例中,使用EntityDef标签定义了一个系统权限资源表,表名为t_auth_resource,使用ColumnDef标签定义了该表的id和code两个字段,分别代表主键和资源编码,其中id字段为int类型,code为字符串类型,code字段的存储长度为50字节。
上述表定义模版文件的示例中,使用IndexDef标签定义了一个索引,索引名为IDX_AUTH_RESOURCE,索引类型为Unique(唯一索引),IndexDef标签包含一个ColumnDef标签,ColumnDef标签通过column属性引用了code字段,表示创建索引的字段为code字段。
上述表定义模型文件的示例中,使用EntityRelation标签定义了一个用户角色关系表,表名为t_auth_r_user_role,使用ColumnDef标签定义了该表的user_id和role_id两个字段,分别代表用户表ID和角色表ID,两个字段的类型均为int。
所述ColumnDef标签的字段类型type属性与数据库管理系统支持的表字段类型对应。以MySQL数据库为例,type属性的取值包括int(整型)、float(浮点型)、varchar(字符串型)和time(时间类型)等。
实施例二:
如图2所示,解析表定义模版文件生成初始化SQL脚本的步骤包括:
S1,选择解析XML文件的编程语言,并导入解析XML文件的工具包;
S2,使用工具包加载表定义模版文件;
S3,定义用于缓存SQL片段的数组;
S4,利用工具包提供的标签查询方法获取每类标签,遍历每个EntityDef标签,往缓存数组中插入创建实体表的SQL片段,遍历每个ColumnDef标签,往缓存数组中插入定义表字段的SQL片段,遍历每个IndexDef标签,往缓存数组中插入创建表索引的SQL片段,遍历每个EntityRelation标签,往缓存数组中插入定义表关联关系的SQL片段;
S5,遍历结束后,将缓存数组中所有的SQL片段转换成完整的SQL字符串,并保存生成初始化SQL脚本。
选择python作为解析XML文件的编程语言,使用python的“ElementTree”开源库作为解析XML文件的工具包,下面是解析的部分示例:
上述解析XML文件的示例中,“sql_script=[ ]”表示定义一个用于缓存SQL片段的空数组,经过对EntityDef标签和ColumnDef标签的遍历,收集所有用于创建表结构的SQL片段,最终将SQL片段合并输出。根据使用的数据库管理系统的类型,改变SQL片段的形式,生成与之语法规则匹配的初始化SQL脚本。
实施例三:
如图3所示,解析表定义模版文件生成表定义数据集的步骤包括:
S1,选择解析XML文件的编程语言,并导入解析XML文件的工具包;
S2,使用工具包加载表定义模版文件;
S3,定义用于缓存文本片段的数组;
S4,利用工具包提供的标签查询方法获取每类标签,遍历每个EntityDef标签,往缓存数组中插入创建实体表的文本片段,遍历每个ColumnDef标签,往缓存数组中插入定义表字段的文本片段,遍历每个IndexDef标签,往缓存数组中插入创建表索引的文本片段,遍历每个EntityRelation标签,往缓存数组中插入定义表关联关系的文本片段;
S5,遍历结束后,将缓存数组中所有的文本片段转换成完整的文本字符串,并保存生成表定义数据集。
遍历每个标签时,根据标签类型和标签具备的属性生成不同的文本内容。
和实施例二的方法相同,区别在于缓存数据中存的是文本片段,利用prompt属性辅助生成文本片段,针对上述表定义模版文件的示例,可得到的表定义数据集如下:
“定义实体表,存在系统权限资源表,表名t_auth_resource,用于存储系统包含的权限资源;包含字段主键,字段名id,类型为int,作为系统权限资源表的主键;包含字段资源编码,字段名code,类型为varchar,存储长度为50,用于确定唯一资源项的标识;包含code字段索引,索引名为IDX_AUTH_RESOURCE,索引类型为Unique,用于code字段的快速查询。
定义关系表,存在用户角色关系表,表名t_auth_r_user_role,用于存储用户和角色的关联关系;包含字段用户ID,字段名user_id,关联用户表的主键;关联角色表的主键。”
其中“定义{表类型},存在{table_comment},表名{table_name},{prompt},包含字段{comment},字段名{name},类型为{type},{prompt(ColumnDef标签的prompt)}”的语言描述为固定语法,固定语法的模式可根据通用语言模型的特性设计多种,目的是让语言模型更容易理解数据库表结构设计。
表定义数据集包含多种语言形式,根据通用语言模型对每种语言理解能力的差异,选择理解能力最优的语言生成表定义数据集。
实施例四:
使用单词字典树构建敏感字段过滤器,预先收集敏感的表字段数据,采用表名加字段名作为树查找路径,如果第一结构化查询语言访问的表字段在单词字典树中匹配到对应的路径,则证明该表字段为敏感数据,需对第一结构化查询语言中敏感字段进行裁剪删除。如t_auth_resource.code,代表t_auth_resource表中的code字段作为敏感字段。使用单词字典树作为敏感词过滤的数据结构,它可以高效地存储和检索大量的字符串,实现快速的敏感词匹配。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (9)

1.一种将自然语言转化为结构化查询语言的方法,其特征在于,包括:
使用可拓展标记语言XML定义表结构以及表之间的关联关系,获得表定义模版文件;
根据XML语言的语法格式,解析表定义模版文件,生成用于创建数据库和实体表的初始化SQL脚本,并在数据库管理系统中执行该初始化SQL脚本;
根据XML语言的语法格式,解析表定义模版文件,生成用于通用语言模型理解表结构以及表之间关联关系的表定义数据集,并将该表定义数据集输入到通用语言模型,使通用语言模型获得理解表结构以及表之间关联关系的上下文信息;
使用单词字典树构建敏感字段过滤器,所述敏感字段过滤器包含数据库中所有不允许外部访问的表字段;
获取待处理的自然语言文本,将待处理的自然语言文本传入已输入过表定义数据集的通用语言模型,所述通用语言模型将待处理的自然语言文本转化成结构化查询语言,获得第一结构化查询语言;
将所述第一结构化查询语言传入敏感字段过滤器,敏感字段过滤器对第一结构化查询语言访问的表字段进行校验和裁剪,获得第二结构化查询语言;
将第二结构化查询语言输出,作为自然语言文本最终转化的结构化查询语言。
2.根据权利要求1所述的一种将自然语言转化为结构化查询语言的方法,其特征在于:
所述表定义模版文件包含XML标签,所述XML标签包括实体表定义标签EntityDef、表字段定义标签ColumnDef、表索引定义标签IndexDef和表关联关系定义标签EntityRelation;
所述EntityDef标签用于对实体表的定义,所述EntityDef标签包含的属性有表名称、表描述和提示词;
所述ColumnDef标签用于对表字段的定义,所述ColumnDef标签包含的属性有字段名称、字段类型、存储长度、最大值、最小值、数值精度、正则规则、字段描述、引用字段和提示词;
所述IndexDef标签用于对表索引的定义,所述IndexDef标签包含的属性有索引名称、索引类型、索引描述和提示词;
所述EntityRelation标签用于对关系表的定义,所述EntityRelation标签包含的属性有关系表名称、关系表描述和提示词;
每类标签都包含用于辅助生成表定义数据集的提示词属性,所述提示词属性用于描述表、字段和索引的业务含义。
3.根据权利要求2所述的一种将自然语言转化为结构化查询语言的方法,其特征在于:所述ColumnDef标签的字段类型属性与数据库管理系统支持的表字段类型对应。
4.根据权利要求3所述的一种将自然语言转化为结构化查询语言的方法,其特征在于,解析表定义模版文件生成初始化SQL脚本的步骤包括:
S1,选择解析XML文件的编程语言,并导入解析XML文件的工具包;
S2,使用工具包加载表定义模版文件;
S3,定义用于缓存SQL片段的数组;
S4,利用工具包提供的标签查询方法获取每类标签,遍历每个EntityDef标签,往缓存数组中插入创建实体表的SQL片段,遍历每个ColumnDef标签,往缓存数组中插入定义表字段的SQL片段,遍历每个IndexDef标签,往缓存数组中插入创建表索引的SQL片段,遍历每个EntityRelation标签,往缓存数组中插入定义表关联关系的SQL片段;
S5,遍历结束后,将缓存数组中所有的SQL片段转换成完整的SQL字符串,并保存生成初始化SQL脚本。
5.根据权利要求4所述的一种将自然语言转化为结构化查询语言的方法,其特征在于:根据使用的数据库管理系统的类型,生成与之语法规则匹配的初始化SQL脚本。
6.根据权利要求5所述的一种将自然语言转化为结构化查询语言的方法,其特征在于,解析表定义模版文件生成表定义数据集的步骤包括:
S1,选择解析XML文件的编程语言,并导入解析XML文件的工具包;
S2,使用工具包加载表定义模版文件;
S3,定义用于缓存文本片段的数组;
S4,利用工具包提供的标签查询方法获取每类标签,遍历每个EntityDef标签,往缓存数组中插入创建实体表的文本片段,遍历每个ColumnDef标签,往缓存数组中插入定义表字段的文本片段,遍历每个IndexDef标签,往缓存数组中插入创建表索引的文本片段,遍历每个EntityRelation标签,往缓存数组中插入定义表关联关系的文本片段;
S5,遍历结束后,将缓存数组中所有的文本片段转换成完整的文本字符串,并保存生成表定义数据集。
7.根据权利要求6所述的一种将自然语言转化为结构化查询语言的方法,其特征在于:在遍历每个标签时,根据标签类型和标签具备的属性生成不同的文本内容。
8.根据权利要求7所述的一种将自然语言转化为结构化查询语言的方法,其特征在于:表定义数据集包含多种语言形式,根据通用语言模型对每种语言理解能力的差异,选择理解能力最优的语言生成表定义数据集。
9.根据权利要求8所述的一种将自然语言转化为结构化查询语言的方法,其特征在于:使用单词字典树构建敏感字段过滤器,预先收集敏感的表字段数据,采用表名加字段名作为树查找路径,如果第一结构化查询语言访问的表字段在单词字典树中匹配到对应的路径,则证明该表字段为敏感数据,需对第一结构化查询语言中敏感字段进行裁剪删除。
CN202410479605.7A 2024-04-22 2024-04-22 一种将自然语言转化为结构化查询语言的方法 Active CN118069689B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410479605.7A CN118069689B (zh) 2024-04-22 2024-04-22 一种将自然语言转化为结构化查询语言的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410479605.7A CN118069689B (zh) 2024-04-22 2024-04-22 一种将自然语言转化为结构化查询语言的方法

Publications (2)

Publication Number Publication Date
CN118069689A true CN118069689A (zh) 2024-05-24
CN118069689B CN118069689B (zh) 2024-07-12

Family

ID=91111621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410479605.7A Active CN118069689B (zh) 2024-04-22 2024-04-22 一种将自然语言转化为结构化查询语言的方法

Country Status (1)

Country Link
CN (1) CN118069689B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161375A1 (en) * 2009-12-24 2011-06-30 Doug Tedder Systems, methods and articles for template based generation of markup documents to access back office systems
CN114547329A (zh) * 2022-01-25 2022-05-27 阿里巴巴(中国)有限公司 建立预训练语言模型的方法、语义解析方法和装置
US20240062011A1 (en) * 2022-08-22 2024-02-22 Oracle International Corporation Techniques for using named entity recognition to resolve entity expression in transforming natural language to a meaning representation language
EP4339799A1 (en) * 2022-09-16 2024-03-20 Chongqing Changan Automobile Co., Ltd. Intelligent session method and server based on table data retrieval

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161375A1 (en) * 2009-12-24 2011-06-30 Doug Tedder Systems, methods and articles for template based generation of markup documents to access back office systems
CN114547329A (zh) * 2022-01-25 2022-05-27 阿里巴巴(中国)有限公司 建立预训练语言模型的方法、语义解析方法和装置
US20240062011A1 (en) * 2022-08-22 2024-02-22 Oracle International Corporation Techniques for using named entity recognition to resolve entity expression in transforming natural language to a meaning representation language
EP4339799A1 (en) * 2022-09-16 2024-03-20 Chongqing Changan Automobile Co., Ltd. Intelligent session method and server based on table data retrieval

Also Published As

Publication number Publication date
CN118069689B (zh) 2024-07-12

Similar Documents

Publication Publication Date Title
CN108959433B (zh) 一种从软件项目数据中提取知识图谱并问答的方法与系统
US11995073B2 (en) One-shot learning for text-to-SQL
CN104657439B (zh) 用于自然语言精准检索的结构化查询语句生成系统及方法
US20240012810A1 (en) Clause-wise text-to-sql generation
CN104657440B (zh) 结构化查询语句生成系统及方法
US11222013B2 (en) Custom named entities and tags for natural language search query processing
US20140108460A1 (en) Data store organizing data using semantic classification
CN115576984A (zh) 中文自然语言生成sql语句及跨数据库查询方法
US20140108424A1 (en) Data store organizing data using semantic classification
CN102360367A (zh) 一种xbrl数据搜索方法及搜索引擎
JP4247135B2 (ja) 構造化文書記憶方法、構造化文書記憶装置、構造化文書検索方法
CN111857660B (zh) 一种基于查询语句的情境感知api推荐方法及终端
CN108766507B (zh) 一种基于CQL与标准信息模型openEHR的临床质量指标计算方法
CN114528846A (zh) 一种用于人工智能的概念网络及其生成方法
CN110717014B (zh) 一种本体知识库动态构建方法
CN118069689B (zh) 一种将自然语言转化为结构化查询语言的方法
US20070276827A1 (en) Method and device for generating reference structural patterns adapted to represent hierarchized data
CN114880483A (zh) 一种元数据知识图谱构建方法、存储介质及系统
Machado et al. A Text Similarity-based Process for Extracting JSON Conceptual Schemas.
JP2024504556A (ja) データ処理システムによって管理されるデータエンティティにアクセスするためのシステム及び方法
Faiz et al. OD2WD: From Open Data to Wikidata through Patterns.
CN111522934A (zh) 一种基于化学品知识库的知识问答系统和方法
Gleim et al. Representing and maintaining large corpora
CN117971830B (zh) 一种基于向量数据库的双链应用方法
姜逸越 et al. Query by Dataset Based on Instance Similarities Generated by Sentence Embeddings

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
GR01 Patent grant
GR01 Patent grant