CN111625554B - 一种基于深度学习语义理解的数据查询方法及装置 - Google Patents
一种基于深度学习语义理解的数据查询方法及装置 Download PDFInfo
- Publication number
- CN111625554B CN111625554B CN202010749055.8A CN202010749055A CN111625554B CN 111625554 B CN111625554 B CN 111625554B CN 202010749055 A CN202010749055 A CN 202010749055A CN 111625554 B CN111625554 B CN 111625554B
- Authority
- CN
- China
- Prior art keywords
- header
- data set
- data
- query
- text
- 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.)
- Active
Links
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于深度学习语义理解的数据查询方法及装置,所述方法包括:获取第一数据集,从第一数据集中获取所有数据表的表头字段名及表格ID,将表头字段名拼接得到表头拼接文本,生成表头拼接文本及其对应表格ID的字典;根据第一数据集中记录的问题和其对应的表格ID、以及字典,结合相似度计算生成表格ID识别模型的正、负样本,对表格ID识别模型进行训练、验证和测试;利用第一数据集对NL2SQL模型进行训练、验证和测试;输入查询问题,通过表格ID识别模型得到匹配概率较高的表头拼接文本,从而确定表格ID,并将表格ID与查询问题组成NL2SQL模型的输入,利用NL2SQL模型返回查询结果。本发明的有益效果:提高了NL2SQL模型应用的灵活性和泛化性。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于深度学习语义理解的数据查询方法及装置。
背景技术
基于自然语言的数据查询技术有重要的现实意义,能极大地改善人机交互体验,并为缺乏操作知识的群体提供服务。基于自然语言的数据查询概念,早在19世纪80年代就已出现,早期的智能查询主要基于规则来判别完成查询语句的关键部分或通过程序设计让用户完成字段等的选择,因此实现的查询功能存在较多的应用局限性。而随着深度学习技术在自然语言任务中表现的不断提升,基于深度学习的智能查询,成为了目前数据查询服务研究领域的热点问题之一。
语义解析和查询语句的生成是达成智能数据查询的关键技术,例如,NL2SQL、Text2SQL等将自然语言转为SQL语句的技术,目前已经在WikiSQL、Spider、WikiTableQuestions、ATIS等数据集上表现良好。相较于一般语言模型的样本标注,NL2SQL标注样本的生成较为复杂,目前,较大的中文数据集为追一科技发布的NL2SQL中文数据集。在智能数据查询中建立表格定位模型可充分利用现有的NL2SQL模型中文数据集,减少工作的成本和复杂度。
就实际智能查询应用而言,用户查询时,并不会指定具体的查询表格,这也是NL2SQL等模型进行实际应用中的难点之一,通常语义解析通过分词、实体识别以及关键词库的规则匹配等手段来实现具体表格的定位,虽然可以一定限度的满足具体任务的需求,但由于语法解译规则和关键词库的限制,必然存在扩展和泛化方面的不足。而深度学习技术已经被广泛的应用于处理语句关联问题,并较传统方法展现出了一定的优势,因此,采用深度学习方法替代基于规则的语义解析,将有助于提高NL2SQL模型的应用范围和灵活性。
发明内容
有鉴于此,本发明提供了一种基于深度学习语义理解的数据查询方法及装置,用于提高NL2SQL模型应用的灵活性和泛化性,以期为改善人机交互体验提供一种新的可选方案。
本发明提供一种基于深度学习语义理解的数据查询方法,包括以下步骤:
S1、获取当前应用查询的第一数据集,从所述第一数据集中获取所有数据表的表头字段名及表格ID,将所述表头字段名进行拼接得到表头拼接文本,并生成所述表头拼接文本及其对应表格ID的字典;
S2、根据第一数据集中记录的问题和其对应的表格ID、以及步骤S1中生成的字典,结合相似度计算生成表格ID识别模型的正、负样本,进一步构建第二数据集对表格ID识别模型进行训练、验证和测试;其中,所述表格ID识别模型的输入为由问题以及表头拼接文本组成的语句,输出为所述语句中问题与表头拼接文本的匹配概率;
S3、利用第一数据集对NL2SQL模型进行训练、验证和测试;
S4、输入查询问题,通过表格ID识别模型得到匹配概率最高的前N个语句或匹配概率大于预设阈值的语句,根据得到的语句确定表格ID,并将所述表格ID与所述查询问题组成NL2SQL模型的输入,利用NL2SQL模型返回查询结果。
本发明还提供一种基于深度学习语义理解的数据查询装置,包括:
字典生成模块,用于获取当前应用查询的第一数据集,从所述第一数据集中获取所有数据表的表头字段名及表格ID,将所述表头字段名进行拼接得到表头拼接文本,并生成所述表头拼接文本及其对应表格ID的字典;
表格ID识别模型学习模块,用于根据第一数据集中记录的问题和其对应的表格ID、以及所述字典生成模块生成的字典,结合相似度计算生成表格ID识别模型的正、负样本,进一步构建第二数据集对表格ID识别模型进行训练、验证和测试;
NL2SQL模型学习模块,用于利用第一数据集对NL2SQL模型进行训练、验证和测试;
查询模块,用于输入查询问题,通过表格ID识别模型得到匹配概率最高的前N个语句或匹配概率大于预设阈值的语句,根据得到的语句确定表格ID,并将所述表格ID与所述查询问题组成NL2SQL模型的输入,利用NL2SQL模型返回查询结果。
本发明提供的技术方案带来的有益效果是:
(1)利用NL2SQL模型自身训练、测试和验证所需样本,生成表格ID识别模型样本,充分利用了本身标注较为困难的NL2SQL样本集,减小了额外的人工成本;
(2)模型本身结构简单,易于理解和实施,整个过程模拟了人类看到问题后,通过表头字段寻找可能表格,并从中寻找答案的过程;
(3)通过向NL2SQL提供多条可能的ID反馈结果,增加了用户获取到想查询信息的可能性,提高了模型应用的整体精度;
(4)表格ID识别模型仅针对表头和问题本身进行学习,因此,可将多个数据库中数据表进行统一编号,从而可实现多个数据库的问题查询。
附图说明
图1是本发明实施例提供的基于深度学习语义理解的数据查询方法的流程图;
图2是本发明实施例提供的利用样本标注工具对已有样本数据进行标注的示意图;
图3是本发明实施例提供的基于深度学习语义理解的数据查询装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。
请参考图1,本发明的实施例提供了一种基于深度学习语义理解的数据查询方法,包括下述步骤:
S1、获取当前应用查询的第一数据集,从所述第一数据集中获取所有数据表表头的字段名及表格ID,将所述表头字段名进行拼接得到表头拼接文本,并生成所述表头拼接文本及其对应表格ID的字典。
步骤S1的具体过程为:
S101、获取追一科技提供的NL2SQL数据集,所述数据集包括训练(train)数据集、验证(val)数据集以及测试(test)数据集,其中,每种类型的数据集均包括问题标注文件、表格文件、数据库文件等,以train数据集为例,其包括train.db(数据库文件)、train.json(问题标注文件)以及train.tables.json(表格文件)等数据文件,train.json存储所有问题与对应的SQL表达式,train.table.json存储所有表格,train.db为SQLite格式的数据库文件,用于执行NL2SQL模型生成的SQL语句。
S102、若存在已有样本数据,利用样本标注工具对已有样本数据进行标注,并将标注得到的数据添加到train.json、val.json或test.json文件中,将标注时使用到的表格按照对应格式添加到数据库文件(*.db)和表格文件(*.tables.json)中,生成第一数据集;需要说明的是,进行标注时保证每一表格ID对应唯一的样本数据。
在train.json文件中,每一行为一条数据样本,请参考图2,包括tableid(表格名)、question(查询问题)以及sql(SQL表达式),其中,sql包括agg(聚合类型)、cond_conn_op(连接操作类型)、sel(SQL选择的列)、以及conds(包括条件列、条件类型和条件值)。
利用图2中上半部分列出的限制条件,例如各聚合类型对应的聚合标记符号,各运算符类型对应的运算符标记符号等,对已有样本数据进行标注,比如,对于一查询问题“学历为本科的男性有多少”,所属数据表的表格名为“JCK_RK_JCXX”,聚合类型为计数,因此标注得到的“agg”值为4,采用“和(and)”连接操作,等等。
标注完成后添加到train.json文件中的一条训练样本如下:
{"table_id": "4d29d0513aaa11e9b911f40f24344a08", "question": "二零一九年第四周大黄蜂和密室逃生这两部影片的票房总占比是多少呀", "sql": {"agg":[5], "cond_conn_op": 2, "sel": [2], "conds": [[0, 2, "大黄蜂"], [0, 2, "密室逃生"]]}};
实际应用中出于成本等方面的考虑,一般采用混合样本的方式来训练模型,也即同时利用NL2SQL数据集以及用户自行标注的数据。
S103、从表格文件中分别获取表格字段名列表标识(即表头字段名,*.tables.json文件中的“header”)以及表格编号标识(即表格ID,*.tables.json文件中的“id”),将字段名进行拼接构成表头拼接文本,然后与对应的表格ID组成键值对,生成表头拼接文本及其表格ID的字典,其中表头拼接文本为键,表格ID为值。
需要说明的是,数据集中的*.db文件中存在没有实际意义的字段,而表格文件train.tables.json、val.tables.json、test.tables.json中的表格则是具有实际描述意义的字段,且还包括表格ID,因此利用表格文件进行拼接操作。
具体地,对表格文件中的数据表进行遍历,并记录每一样本数据的id以及表头字段名,直接拼接表头字段名或以分隔符的形式进行拼接,生成形如“字段1字段2……字段n”、“字段1,字段2,……,字段n”等的表头拼接文本,并与id进行匹配生成字典。
例如,根据"table_id"为"4d29d0513aaa11e9b911f40f24344a08",可以从train.tables.json中找到部分相关的信息如下:
"name": "Table_4d29d0513aaa11e9b911f40f24344a08", "title": "表3:2019年第4周(2019.01.28 - 2019.02.03)全国电影票房TOP10", "header": ["影片名称", "周票房(万)", "票房占比(%)", "场均人次"], "common": "资料来源:艺恩电影智库,光大证券研究所", "id": "4d29d0513aaa11e9b911f40f24344a08", "types": ["text", "real", "real", "real"];
因此,确定"header"对应的表头为:["影片名称", "周票房(万)", "票房占比(%)", "场均人次"],从而生成表头拼接文本为“影片名称周票房(万)票房占比(%)场均人次”,所述表头拼接文本与对应的表格ID唯一匹配。
S2、根据第一数据集中的问题标注文件记录的问题和其对应的表格ID、以及步骤S1中生成的字典,结合相似度计算等方法生成表格ID识别模型的正、负样本,进一步构建第二数据集,对表格ID识别模型进行训练、验证和测试。
具体地,步骤S2包括以下过程:
S201、根据第一数据集中的问题标注文件*.json记录的“question”以及“table_id”提取问题和表格ID。
S202、对任一问题,通过问题对应的表格ID查找步骤S1中构建的字典,得到第一表头拼接文本,将该问题与所述第一表头拼接文本组成上下句语句,生成形如“问题第一表头拼接文本 1”的正样本,例如,“二零一九年第四周大黄蜂和密室逃生这两部影片的票房总占比是多少呀影片名称周票房(万)票房占比(%)场均人次 1”,标号“1”表示正样本标识符。
S203、将第一表头拼接文本与字典中的其余表头拼接文本进行句相似度计算,获取相似度排名前5的第二表头拼接文本,将该问题与所述第二表头拼接文本组成上下句语句,构建5个形如“问题第二表头拼接文本 0”的负样本,标号“0”表示负样本标识符。
S204、从字典中除所述第一表头拼接文本和所述第二表头拼接文本外的其余表头拼接文本中随机抽取5个,得到第三表头拼接文本,将该问题与所述第三表头拼接文本组成上下句语句,构建5个形如“问题第三表头拼接文本 0”的负样本。
S205、遍历问题标注文件中记录的问题,重复执行步骤S202-S204,生成第二数据集,所述第二数据集由正、负样本组成。
S206、采用bert模型外接线性输出层和sigmoid层构建表格ID识别模型,将第二数据集划分为训练、验证和测试数据,并对表格ID识别模型进行训练、验证和测试。具体地,可将第二数据集中的样本按照问题所属NL2SQL的训练、验证和测试集,划分为训练、验证和测试数据。
S3、利用第一数据集对NL2SQL模型进行训练、验证和测试。
S4、输入查询问题,通过表格ID识别模型得到匹配概率最高的前5个语句或匹配概率大于设定阈值的语句,根据得到的语句确定表格ID,并将所述表格ID与所述查询问题组成NL2SQL模型的输入,利用NL2SQL模型返回非空的查询结果。
所述步骤S4的具体过程为:
S401、将查询问题与字典中的所有表头拼接文本进行组合,构成表格ID识别模型的输入语句,即“问题 表头字段名”的形式。
S402、将查询问题与表头拼接文本构成的输入语句,作为预测样本批量输入表格ID识别模型,得到匹配概率最高的前5条或匹配概率超过某一阈值的语句,并根据得到的语句查询字典得到表格ID。
S403、将得到的表格ID与查询问题进行组合,生成NL2SQL模型的输入,利用NL2SQL模型返回查询结果。
请参考图3,本实施例还提供一种基于深度学习语义理解的数据查询装置,包括字典生成模块1、表格ID识别模型学习模块2、NL2SQL模型学习模块3以及查询模块4。
字典生成模块1用于获取当前应用查询的第一数据集,从所述第一数据集中获取所有数据表的表头字段名及表格ID,将所述表头字段名进行拼接得到表头拼接文本,并生成所述表头拼接文本及其对应表格ID的字典。
所述字典生成模块1包括:
第一生成模块,用于获取开源NL2SQL数据集,所述数据集包括训练数据集、验证数据集以及测试数据集,每种类型的数据集均包括问题标注文件、表格文件以及数据库文件;
第二生成模块,用于若存在已有样本数据,利用样本标注工具对已有样本数据进行标注,并将标注数据添加到问题标注文件中,将标注数据使用到的表格按照对应格式添加到数据库文件和表格文件中,从而生成第一数据集;
第三生成模块,用于从第一数据集的表格文件中分别获取表头字段名以及表格ID,将所述表头字段名进行拼接构成表头拼接文本,然后与对应的表格ID组成键值对,生成表头拼接文本及其表格ID的字典。
表格ID识别模型学习模块2用于根据第一数据集中记录的问题和其对应的表格ID、以及所述字典生成模块生成的字典,结合相似度计算生成表格ID识别模型的正、负样本,进一步构建第二数据集对表格ID识别模型进行训练、验证和测试。
所述表格ID识别模型学习模块2包括:
第一处理子模块,用于根据第一数据集中的问题标注文件提取问题和表格ID;
第二处理子模块,用于对任一问题,通过所述任一问题对应的表格ID查找字典,得到第一表头拼接文本,将所述任一问题与所述第一表头拼接文本组成上下句语句,得到正样本,所述正样本还包括正样本标识符;
第三处理子模块,用于将所述第一表头拼接文本与字典中的其余表头拼接文本进行句相似度计算,获取相似度排名前M的第二表头拼接文本;
第四处理子模块,用于从字典中除所述第一表头拼接文本和所述第二表头拼接文本外的其余表头拼接文本中随机抽取I个,得到第三表头拼接文本,将所述任一问题分别与所述第二表头拼接文本、所述第三表头拼接文本组成上下句语句,得到负样本,所述负样本还包括负样本标识符;
第五处理子模块,用于遍历问题标注文件中记录的问题,重复执行第二处理子模块、第三处理子模块以及第四处理子模块,生成第二数据集,所述第二数据集由正样本和负样本组成;
第六处理子模块,用于采用bert模型外接线性输出层和sigmoid层构建表格ID识别模型,将第二数据集划分为训练、验证和测试数据,并对表格ID识别模型进行训练、验证和测试。
NL2SQL模型学习模块3用于利用第一数据集对NL2SQL模型进行训练、验证和测试。
查询模块4用于输入查询问题,通过表格ID识别模型得到匹配概率最高的前N个语句或匹配概率大于预设阈值的语句,根据得到的语句确定表格ID,并将所述表格ID与所述查询问题组成NL2SQL模型的输入,利用NL2SQL模型返回查询结果。
所述查询模块4包括:
第一查询子模块,用于将查询问题与字典中的所有表头拼接文本进行组合,构成表格ID识别模型的输入语句;
第二查询子模块,用于将查询问题与表头拼接文本构成的输入语句,作为预测样本批量输入表格ID识别模型,得到匹配概率最高的前N条语句或匹配概率超过预设阈值的语句,并根据得到的语句查询字典得到表格ID;
第三查询子模块,用于将第二查询子模块中得到的表格ID与查询问题进行组合,生成NL2SQL模型的输入,利用NL2SQL模型返回查询结果。
作为本发明的另一实施例,一种基于深度学习语义理解的数据查询方法,还可以利用其它数据源与第一数据集共同构建第二数据集,具体地,步骤S1中,遍历其它数据源中的样本数据对应的数据表表格ID,并记录表头字段名,进一步拼接生成表头拼接文本,与所述表格ID组成键值对加入到步骤S1构建的字典中;步骤S2中利用第一数据集以及所述其他数据源中记录的问题构建第二数据集,由于表格ID识别模型仅针对表头和问题本身进行学习,因此,可将多个数据库中数据表进行统一编号,从而实现多个数据库的问题查询。
作为本发明的另一实施例,一种基于深度学习语义理解的数据查询装置,所述字典生成模块1还用于从第一数据集以及其他数据源中获取所有数据表的表头字段名及表格ID,将所述表头字段名进行拼接得到表头拼接文本,并生成所述表头拼接文本及其对应表格ID的字典;
所述表格ID识别模型学习模块2还用于根据第一数据集以及其他数据源中记录的问题和其对应的表格ID、以及所述字典生成模块生成的字典,结合相似度计算生成表格ID识别模型的正、负样本。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (10)
1.一种基于深度学习语义理解的数据查询方法,其特征在于,包括以下步骤:
S1、获取当前应用查询的第一数据集,从所述第一数据集中获取所有数据表的表头字段名及表格ID,将所述表头字段名进行拼接得到表头拼接文本,并生成所述表头拼接文本及其对应表格ID的字典;
S2、根据第一数据集中记录的问题和其对应的表格ID、以及步骤S1中生成的字典,结合相似度计算生成表格ID识别模型的正、负样本,进一步构建第二数据集对表格ID识别模型进行训练、验证和测试;其中,所述表格ID识别模型的输入为由问题以及表头拼接文本组成的语句,输出为所述语句中问题与表头拼接文本的匹配概率;
S3、利用第一数据集对NL2SQL模型进行训练、验证和测试;
S4、输入查询问题,通过表格ID识别模型得到匹配概率最高的前N个语句或匹配概率大于预设阈值的语句,根据得到的语句确定表格ID,并将所述表格ID与所述查询问题组成NL2SQL模型的输入,利用NL2SQL模型返回查询结果。
2.根据权利要求1所述的基于深度学习语义理解的数据查询方法,其特征在于,步骤S1的具体过程为:
S101、获取开源NL2SQL数据集,所述数据集包括训练数据集、验证数据集以及测试数据集,每种类型的数据集均包括问题标注文件、表格文件以及数据库文件;
S102、若存在已有样本数据,利用样本标注工具对已有样本数据进行标注,保证每一表格ID对应唯一的样本数据,并将标注数据添加到问题标注文件中,将标注数据使用到的表格按照对应格式添加到数据库文件和表格文件中,从而生成第一数据集;
S103、从第一数据集的表格文件中分别获取表头字段名以及表格ID,将所述表头字段名进行拼接构成表头拼接文本,然后与对应的表格ID组成键值对,生成表头拼接文本及其表格ID的字典。
3.根据权利要求2所述的基于深度学习语义理解的数据查询方法,其特征在于,步骤S2的具体过程为:
S201、根据第一数据集中的问题标注文件提取问题和表格ID;
S202、对任一问题,通过所述任一问题对应的表格ID查找步骤S1中构建的字典,得到第一表头拼接文本,将所述任一问题与所述第一表头拼接文本组成上下句语句,得到正样本,所述正样本还包括正样本标识符;
S203、将所述第一表头拼接文本与字典中的其余表头拼接文本进行句相似度计算,获取相似度排名前M的作为第二表头拼接文本;
S204、从字典中除所述第一表头拼接文本和所述第二表头拼接文本外的其余表头拼接文本中随机抽取I个,得到第三表头拼接文本,将所述任一问题分别与所述第二表头拼接文本、所述第三表头拼接文本组成上下句语句,得到负样本,所述负样本还包括负样本标识符;
S205、遍历问题标注文件中记录的问题,重复执行步骤S202-S204,生成第二数据集,所述第二数据集由正样本和负样本组成;
S206、采用bert模型外接线性输出层和sigmoid层构建表格ID识别模型,将第二数据集划分为训练、验证和测试数据,并对表格ID识别模型进行训练、验证和测试。
4.根据权利要求3所述的基于深度学习语义理解的数据查询方法,其特征在于,步骤S4的具体过程为:
S401、将查询问题与字典中的所有表头拼接文本进行组合,构成表格ID识别模型的输入语句;
S402、将查询问题与表头拼接文本构成的输入语句,作为预测样本批量输入表格ID识别模型,得到匹配概率最高的前N条语句或匹配概率超过预设阈值的语句,并根据得到的语句查询字典得到表格ID;
S403、将步骤S402中得到的表格ID与查询问题进行组合,生成NL2SQL模型的输入,利用NL2SQL模型返回查询结果。
5.根据权利要求4所述的基于深度学习语义理解的数据查询方法,其特征在于,还包括:
S1、从第一数据集以及其他数据源中获取所有数据表的表头字段名及表格ID,将所述表头字段名进行拼接得到表头拼接文本,并生成所述表头拼接文本及其对应表格ID的字典;
S2、根据第一数据集以及其他数据源中记录的问题和其对应的表格ID、以及步骤S1中生成的字典,结合相似度计算生成表格ID识别模型的正、负样本。
6.一种基于深度学习语义理解的数据查询装置,其特征在于,包括:
字典生成模块,用于获取当前应用查询的第一数据集,从所述第一数据集中获取所有数据表的表头字段名及表格ID,将所述表头字段名进行拼接得到表头拼接文本,并生成所述表头拼接文本及其对应表格ID的字典;
表格ID识别模型学习模块,用于根据第一数据集中记录的问题和其对应的表格ID、以及所述字典生成模块生成的字典,结合相似度计算生成表格ID识别模型的正、负样本,进一步构建第二数据集对表格ID识别模型进行训练、验证和测试;
NL2SQL模型学习模块,用于利用第一数据集对NL2SQL模型进行训练、验证和测试;
查询模块,用于输入查询问题,通过表格ID识别模型得到匹配概率最高的前N个语句或匹配概率大于预设阈值的语句,根据得到的语句确定表格ID,并将所述表格ID与所述查询问题组成NL2SQL模型的输入,利用NL2SQL模型返回查询结果。
7.根据权利要求6所述的基于深度学习语义理解的数据查询装置,其特征在于,所述字典生成模块包括:
第一生成模块,用于获取开源NL2SQL数据集,所述数据集包括训练数据集、验证数据集以及测试数据集,每种类型的数据集均包括问题标注文件、表格文件以及数据库文件;
第二生成模块,用于若存在已有样本数据,利用样本标注工具对已有样本数据进行标注,并将标注数据添加到问题标注文件中,将标注数据使用到的表格按照对应格式添加到数据库文件和表格文件中,从而生成第一数据集;
第三生成模块,用于从第一数据集的表格文件中分别获取表头字段名以及表格ID,将所述表头字段名进行拼接构成表头拼接文本,然后与对应的表格ID组成键值对,生成表头拼接文本及其表格ID的字典。
8.根据权利要求7所述的基于深度学习语义理解的数据查询装置,其特征在于,表格ID识别模型学习模块包括:
第一处理子模块,用于根据第一数据集中的问题标注文件提取问题和表格ID;
第二处理子模块,用于对任一问题,通过所述任一问题对应的表格ID查找字典,得到第一表头拼接文本,将所述任一问题与所述第一表头拼接文本组成上下句语句,得到正样本,所述正样本还包括正样本标识符;
第三处理子模块,用于将所述第一表头拼接文本与字典中的其余表头拼接文本进行句相似度计算,获取相似度排名前M的作为第二表头拼接文本;
第四处理子模块,用于从字典中除所述第一表头拼接文本和所述第二表头拼接文本外的其余表头拼接文本中随机抽取I个,得到第三表头拼接文本,将所述任一问题分别与所述第二表头拼接文本、所述第三表头拼接文本组成上下句语句,得到负样本,所述负样本还包括负样本标识符;
第五处理子模块,用于遍历问题标注文件中记录的问题,重复执行第二处理子模块、第三处理子模块以及第四处理子模块,生成第二数据集,所述第二数据集由正样本和负样本组成;
第六处理子模块,用于采用bert模型外接线性输出层和sigmoid层构建表格ID识别模型,将第二数据集划分为训练、验证和测试数据,并对表格ID识别模型进行训练、验证和测试。
9.根据权利要求8所述的基于深度学习语义理解的数据查询装置,其特征在于,查询模块包括:
第一查询子模块,用于将查询问题与字典中的所有表头拼接文本进行组合,构成表格ID识别模型的输入语句;
第二查询子模块,用于将查询问题与表头拼接文本构成的输入语句,作为预测样本批量输入表格ID识别模型,得到匹配概率最高的前N条语句或匹配概率超过预设阈值的语句,并根据得到的语句查询字典得到表格ID;
第三查询子模块,用于将第二查询子模块中得到的表格ID与查询问题进行组合,生成NL2SQL模型的输入,利用NL2SQL模型返回查询结果。
10.根据权利要求6所述的基于深度学习语义理解的数据查询装置,其特征在于,所述字典生成模块,还用于从第一数据集以及其他数据源中获取所有数据表的表头字段名及表格ID,将所述表头字段名进行拼接得到表头拼接文本,并生成所述表头拼接文本及其对应表格ID的字典;
所述表格ID识别模型学习模块,还用于根据第一数据集以及其他数据源中记录的问题和其对应的表格ID、以及所述字典生成模块生成的字典,结合相似度计算生成表格ID识别模型的正、负样本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010749055.8A CN111625554B (zh) | 2020-07-30 | 2020-07-30 | 一种基于深度学习语义理解的数据查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010749055.8A CN111625554B (zh) | 2020-07-30 | 2020-07-30 | 一种基于深度学习语义理解的数据查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111625554A CN111625554A (zh) | 2020-09-04 |
CN111625554B true CN111625554B (zh) | 2020-11-03 |
Family
ID=72271506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010749055.8A Active CN111625554B (zh) | 2020-07-30 | 2020-07-30 | 一种基于深度学习语义理解的数据查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625554B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112668301B (zh) * | 2020-10-30 | 2024-06-04 | 生态环境部环境工程评估中心 | 一种环评文件重复度检测方法及系统 |
CN113220881B (zh) * | 2021-02-24 | 2024-02-06 | 盐城幼儿师范高等专科学校 | 基于深度学习的教育问答实现方法、装置及服务器 |
CN112559556B (zh) * | 2021-02-25 | 2021-05-25 | 杭州一知智能科技有限公司 | 表格模式解析和序列掩码的语言模型预训练方法及系统 |
CN113010503B (zh) * | 2021-03-01 | 2024-07-19 | 广州智筑信息技术有限公司 | 一种基于深度学习的工程造价数据智能解析方法及系统 |
CN113656540B (zh) * | 2021-08-06 | 2023-09-08 | 北京仁科互动网络技术有限公司 | 基于nl2sql的bi查询方法、装置、设备及介质 |
CN118211579B (zh) * | 2024-05-21 | 2024-08-06 | 浙江惠瀜网络科技有限公司 | 基于表头配置属性的动态渲染表格特殊处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451153A (zh) * | 2016-05-31 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 输出结构化查询语句的方法和装置 |
CN109766355A (zh) * | 2018-12-28 | 2019-05-17 | 上海汇付数据服务有限公司 | 一种支持自然语言的数据查询方法和系统 |
CN109933602A (zh) * | 2019-02-28 | 2019-06-25 | 武汉大学 | 一种自然语言与结构化查询语言的转换方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7449919B2 (ja) * | 2018-07-25 | 2024-03-14 | オラクル・インターナショナル・コーポレイション | 自律型エージェントおよびシソーラスを用いるデータベースのための自然言語インターフェイス |
US10872083B2 (en) * | 2018-10-31 | 2020-12-22 | Microsoft Technology Licensing, Llc | Constructing structured database query language statements from natural language questions |
CN111104423B (zh) * | 2019-12-18 | 2023-01-31 | 北京百度网讯科技有限公司 | Sql语句生成方法、装置、电子设备和存储介质 |
-
2020
- 2020-07-30 CN CN202010749055.8A patent/CN111625554B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451153A (zh) * | 2016-05-31 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 输出结构化查询语句的方法和装置 |
CN109766355A (zh) * | 2018-12-28 | 2019-05-17 | 上海汇付数据服务有限公司 | 一种支持自然语言的数据查询方法和系统 |
CN109933602A (zh) * | 2019-02-28 | 2019-06-25 | 武汉大学 | 一种自然语言与结构化查询语言的转换方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于自然语言处理和深度学习的NL2SQL技术及其在BI增强分析中的应用;刘译璟等;《信息化研究》;20191231;第62-67页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111625554A (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625554B (zh) | 一种基于深度学习语义理解的数据查询方法及装置 | |
CN115238101B (zh) | 一种面向多类型知识库的多引擎智能问答系统 | |
CN110968699B (zh) | 一种基于事理推荐的逻辑图谱构建及预警方法和装置 | |
Min et al. | Question answering through transfer learning from large fine-grained supervision data | |
CN105701253B (zh) | 中文自然语言问句语义化的知识库自动问答方法 | |
JP2022510031A (ja) | 自然言語生成技術に基づく知識グラフ理解支援システム | |
CN110175585B (zh) | 一种简答题自动批改系统及方法 | |
CN110888989B (zh) | 一种智能学习平台及其构建方法 | |
CN112328800A (zh) | 自动生成编程规范问题答案的系统及方法 | |
US11487795B2 (en) | Template-based automatic software bug question and answer method | |
CN115470338B (zh) | 一种基于多路召回的多场景智能问答方法和系统 | |
CN111666374A (zh) | 一种在深度语言模型中融入额外知识信息的方法 | |
CN116561264A (zh) | 一种基于知识图谱的智能问答系统的构建方法 | |
Craig et al. | Scaling address parsing sequence models through active learning | |
CN118467985A (zh) | 一种基于自然语言的训练评分方法 | |
CN112883172B (zh) | 一种基于双重知识选择的生物医学问答方法 | |
Tedjopranoto et al. | Correcting typographical error and understanding user intention in chatbot by combining n-gram and machine learning using schema matching technique | |
Ritze | Web-scale web table to knowledge base matching | |
CN113610626A (zh) | 银行信贷风险识别知识图谱构建方法、装置、计算机设备及计算机可读存储介质 | |
Waltinger et al. | Usi answers: Natural language question answering over (semi-) structured industry data | |
Nguyen et al. | A vietnamese question answering system | |
CN114091464B (zh) | 一种融合五维特征的高普适性多对多关系三元组抽取方法 | |
Çelebi et al. | Automatic question answering for Turkish with pattern parsing | |
CN112668284B (zh) | 一种法律文书分段方法及系统 | |
Singh et al. | Universal Schema for Slot Filling and Cold Start: UMass IESL at TACKBP 2013. |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 430000 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan District, Donghu Development Zone, Wuhan City, Hubei Province Patentee after: Geospace Information Technology Co., Ltd. Address before: 430000 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan District, Donghu Development Zone, Wuhan City, Hubei Province Patentee before: WUDA GEOINFORMATICS Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |