CN115563248A - 一种基于Text-to-SQL的表格开放域问答方法 - Google Patents
一种基于Text-to-SQL的表格开放域问答方法 Download PDFInfo
- Publication number
- CN115563248A CN115563248A CN202211226678.2A CN202211226678A CN115563248A CN 115563248 A CN115563248 A CN 115563248A CN 202211226678 A CN202211226678 A CN 202211226678A CN 115563248 A CN115563248 A CN 115563248A
- Authority
- CN
- China
- Prior art keywords
- stage
- sql
- question
- tables
- answer
- 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
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
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual databases
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于自然语言处理和问答任务领域,涉及一种基于Text‑to‑SQL的表格开放域问答方法。首先使用检索器从表格语料库中初步筛选相关的表格得到表格池,然后按相似性分数排序得到前top‑k表格作为后续的输入;在提取回答时使用深度学习的Text‑to‑SQL模型,结合问句和表格模式信息将问句转换为SQL等的标准化的逻辑形式,在表格上执行SQL并判断执行结果是否发生错误;并以此结果作为相关性依据之一回溯至表格重排序,融入新一轮相似性计算中。本发明利用了Text‑to‑SQL模型的执行结果作为表格检索的相似性排序依据,使得所检索的表格更为准确,进而提升了整个开放域问答的结果准确性。
Description
技术领域
本发明属于自然语言处理和问答任务领域,涉及一种基于Text-to-SQL的表格开放域问答方法。
背景技术
开放域问答相对于闭域问答,答案不局限在某一给定的阅读材料中,而是存在于一个大型的语料库中。表格作为一种存储信息的重要途径,大量存在网络服务和关系型数据库中。相对于自由文本形式,表格存储的信息量大,内容更具体,是开放域问答的重要信息来源。表格开放域问答任务将检索的对象从文本变为表格,研究从大量表格中获取用户关注的信息,在搜索引擎和人工客服中都能发挥重要作用。
目前,开放域问答的主流方法是两阶段框架:检索-阅读模型,它将开放域问答分为两个阶段:检索阶段的目的是从成千上万的文本中寻找和问题相关的文本段,阅读阶段将从这些相关的内容中提取回答。对于表格开放域问答来说,阅读阶段可以看作是一个闭域的表格问答。
在检索方面,传统的BM25方法和基于深度学习的DPR方法都是针对于自由文本,没有对表格做特别优化。有学者提出DTR,相较于DPR,使用了Tapas取代Bert作为编码器,针对表格结构做了编码,但检索任务与表格内容是强相关的,仅编码表格的结构导致了表格检索效果不理想。
闭域表格问答取得了极大的研究进展,有两种主要的方法,一种是编码表格的结构和内容,选取目标的单元格作为回答,如Tapas;一种是基于语义解析,将自然语言描述的问题转换为在表格上可执行的逻辑形式,如SQL,再执行该语句而得到问题相应的回答。目前的开放域的表格问答的研究中,主要是上述的第一种方法,即用弱监督的方法直接提取答案,这错失了需要结构化语言才能访问的关系型数据库中存储的大量数据。而同时,闭域的Text-to-SQL任务的模型,已经在WikiSQL等大型数据集上达到90%以上的准确率,表格检索成为整个开放域问答准确率提升的瓶颈。
发明内容
针对上述问题,本发明提供一种基于Text-to-SQL和执行引导的表格开放域问答的方法。在提取回答时使用深度学习的Text-to-SQL模型,结合问句和表格模式信息将问句转换为SQL等的标准化逻辑形式,在表格上执行SQL并判断执行结果是否发生错误;并以此结果作为相关性依据之一回溯至表格检索阶段,融入新一轮相似性计算中,以提升表格检索的准确性。
本发明的技术方案为:
将开放域问答的过程分为:表格检索阶段和提取回答阶段;
表格检索阶段基于输入的问句和给定的表格语料库,包括三个子阶段:
a1、表格预处理。将表格语料库利用SQLite等工具转换成为db形式,使得SQL语句可以在任一表格上执行。如果表格本身就存在于关系型数据库,则跳过预处理阶段;将表格按行平铺展开,形成文本形式的表格内容。
a2、实施初步检索。编码表格内容并加载入索引库中;利用检索器计算出问句与表格语料库中各表格原始相似度;按照原始相似度由大到小的损失进行排序,选择前N个表格构成表格池。
a3、表格重排序。从表格池中按照相似性得分选择前top-k个表格进入后续阶段。
提取回答阶段有如下步骤:
b1、语义解析。对各表格,将问句和表格模式信息输入Text-to-SQL深度学习模型,得到对应的SQL语句。
b2、在表格上执行得到的SQL语义,得到候选答案;答案有可能是表格的单个单元格的内容、一组单元格的内容或者一组单元格的聚合结果。
其中表格重排序,即从表格池中选择出前top-k个表格的方法,依赖于后续提取回答阶段的执行情况,称之为执行引导回溯。具体方法为:
在得到表格池后,进行执行引导回溯的初始化。设置执行引导回溯的最大限制次数为X,当前回溯次数为x=0;K为预先设置的值,K<=N,初始时令k=K。
在初始情况下的表格检索结束时,直接使用表格池中原始相似度最高的前top-k个表格进入答案提取阶段。再此之后,每当提取回答阶段的执行阶段结束后,即执行步骤b2后,再进行以下条件判断:
如果回溯次数x<X,则对各表判断是否发生执行错误,如果没有发生执行错误,则令resEG=1,如果发生执行错误,则令resEG=0;回溯到表格检索的重排序阶段,按下式计算新的相似性得分:
simwithEG=(1-α)·simorigin/maxsimorigin+α·resEG
其中simorigin是检索阶段的原始相似性得分,maxsimorigin是检索阶段所有表格的最大的原始相似性得分,simwithEG是新的相似性得分;
将表格池中的N个表格按新的相似性得分simwithEG从大到小重新排序得到新的相似性得分最高的top-k个表格;
按一定规则更新k值,比如递减或折半;回溯次数x增加1;选择新的相似性得分最高的top-k个表格再次进入提取回答阶段。
如果回溯次数x>=X,则停止回溯,以没有发生执行错误且相似度排名最高的表格所对应的候选答案作为最终答案。
本发明的有益效果为:利用了提取回答阶段的Text-to-SQL模型,执行SQL后,将执行结果回溯,作为检索阶段相似性排名的依据之一,使得所检索的表格更为准确,进而提升了整个开放域问答的结果准确性。
附图说明
图1是开放域问答两阶段模型示意图。
图2是基于Text-to-SQL和执行引导的表格开放域问答的模型流程图。
图3是使用执行引导回溯策略与不使用的实验结果对比。
具体实施方式
下面结合附图来对本发明进行详细描述。
本发明中,表格开放域问答的两阶段模型如图1。基于Text-to-SQL和执行引导的表格开放域问答的模型流程如图2,其中,涉及到两个深度学习模型:检索器和Text-to-SQL模型。在实际问答任务前需要结合标注的表格语料库数据完成相应模型训练。
表格的预处理。将表格语料库利用SQLite等工具转换成为db形式,使得SQL语句可以在任一表格上执行。如果表格本身就存在于关系型数据库,则跳过预处理阶段。
表格的平铺展开。在索引库建立之前,将语料库中的所有表格处理成连续文本的形式。将表格的标题、列名、行内容按以下形式拼接。如果没有表格标题则用空格填充。
表格标题|表格列名|第一行内容|第二行内容|…|第n行内容
在拼接的过程中,将分隔符加入表格转换后的拼接的文本。用“,”代表行中每个单元格的分割,用“.”代表行与行之间的分割。分隔符使得检索器能在一定程度上学习到表格的结构。
实施初步检索。检索器的目标是从数以万计的大型表格语料库中,根据与问题q的相关度检索出分数由大到小的N个表格T1,T2,...,TN,作为与问句相关的表格池。由于这是一个初步检索的阶段,因此N一般为一个较大的数量。考虑到后续的筛选的效率,设置N=200。
检索器可以采用传统的方法比如bm25,将预处理后的表格加载入ElasticSearch索引库中,设置ElasticSearch内置相似性算法为bm25,并设置算法参数为k=1.2,b=0.75,指定查询返回的结果数为N,即可使用其实现表格的初步检索。bm25方法不需要进行模型训练。
检索器也可以使用深度学习的密集检索器DPR。DPR是一个基于Bert的双编码器,两个编码器分别将问题qnl和表格Ti编码为向量vq和向量长度和BERT的编码长度一致,为d=728。经过微调后,DPR会转换问题和表格为向量形式并确保语义上相关的问题-表格对的内积相较其他不相关的更大,并能更好捕捉到语义的相似性,而bm25等传统方法对关键词更为敏感。
在实施的过程中,基于平铺展开的表格语料库训练一个DPR检索器,训练的过程选取了1个bm25分数最高的非gold表格作为难例,设置batch_size=32并使用了In-Batchnegative的训练方法。完成训练后,使用DPR的双编码器之一:表格编码器,将语料库中的所有表格做类似的处理后得到编码后的表格向量,加载入密集向量检索库FASSI中。在初步检索时,使用DPR的双编码器之一:问句编码器将问句编码成向量,并在FASSI库中做搜索。
检索器对于目标问句,返回原始相似度较高的前N的表格,以其作为表格池。
执行引导回溯的初始化。设置执行引导回溯的最大限制次数为X,当前回溯次数为x=0;K为预先设置的值,K<=N,初始令k=K。在简便实现中,可令X=1,K=N=200。
表格重排序。选择相似性分数最高的前top-k个表格,进入提取回答阶段。如果还未执行回溯,则直接使用表格池中原始相似度最高的前top-k个表格进入答案提取阶段。如果已经执行回溯,则将表格池中的N个表格按新的相似性得分simwithEG从大到小重新排序并以此作为选取top-k个表格的依据。
语义解析。引入了以HydraNet为例的Text-to-SQL深度学习模型作为问句的语义解析器。基于WikiSQL数据集训练一个HydraNet模型,使用batch_size=64,learn_rate=6*10-6,基础模型使用Roberta。在表格重排序过程中,对表格池中的每个表格,先将问句和表格模式信息输入HydraNet模型,解析出与问句对应的SQL语句。
在表格上执行该SQL语句,统计执行时是否发生错误。
判断当前的回溯次数x是否大于等于引导回溯的最大限制次数为X。如果否,则实施执行引导回溯。否则停止回溯,以没有发生执行错误且相似度排名最高的表格所对应的候选答案作为最终答案。
实施执行引导回溯的具体方法为:将候选表格上执行的结果按照不同类型转换为额外的参数:resEG,当没有发生执行错误的时候,resEG=1,当发生执行错误的时候,resEG=0。在现实情况中,往往在提问时期望结果时不为空的,因此可将结果为空视作特殊的执行错误。
基于以下函数计算新的相似性得分,
simwithEG=(1-α)·simorigin/maxsimorigin+α·resEG
其中simorigin是检索阶段的原始相似性得分,maxsimorigin是检索阶段所有表格的最大的原始相似性得分,simwithEG是新的相似性得分;用系数α度量执行结果的重要程度,将原始检索的相关性得分与执行结果做线性求和,得到新的相似性估计分数。根据表格语料库的实际情况取不同的系数α值;在本实施过程中,取α=0.9。
更新k值,使用递减或折半的策略;在本实施中,直接令k=1。递增x值,然后回溯至表格重排序阶段。
Claims (1)
1.一种基于Text-to-SQL的表格开放域问答方法,其特征在于,包括:
表格检索阶段和提取回答阶段;
所述表格检索阶段基于输入的问句和给定的表格语料库,包括三个子阶段:
a1、表格预处理:将表格语料库进行格式转换,使得SQL语句可以在任一表格上执行;将表格按行平铺展开,形成文本形式的表格内容;
a2、初检索阶段:利用检索器计算出表格语料库中各表格原始相似度;按照原始相似度由大到小的损失进行排序,选择前N个表格构成表格池;
a3、重排序阶段:从表格池中选择出前top-k个表格;
所述提取回答阶段输入为表格检索阶段所得前top-k个表格,过程分为两个子阶段:
b1、语义解析阶段:对各表格,将问句和表格模式信息输入Text-to-SQL深度学习模型,得到对应的SQL语句;
b2、执行阶段:在表格上执行得到的SQL语义,得到候选答案;答案是表格的单个单元格的内容、一组单元格的内容或者一组单元格的聚合结果中的一种;
其中的重排序阶段,即从表格池中选择出前top-k个表格的方法,依赖于后续提取回答阶段的执行情况,具体方法为:
设置执行引导回溯的最大限制次数为X,初始回溯次数为x=0;K为预先设置的值,K<=N,初始令k=K;
在初始情况下,直接使用表格池中原始相似度最高的前top-k个表格进入答案提取阶段,之后,每当执行步骤b2后,进行以下条件判断:
如果回溯次数x>=X,则停止回溯,以没有发生执行错误且相似度排名最高的表格所对应的候选答案作为最终答案;
如果回溯次数x<X,则对各表判断是否发生执行错误,如果没有发生执行错误,则令resEG=1,如果发生执行错误,则令resEG=0;回溯到表格检索的重排序阶段,计算新的相似性得分:
simwithEG=(1-α)·simorigin/maxsimorigin+α·resEG
其中simorigin是检索阶段的原始相似性得分,maxsimorigin是检索阶段所有表格的最大的原始相似性得分,simwithEG是新的相似性得分;
将表格池中的N个表格按新的相似性得分simwithEG从大到小重新排序得到新的相似性得分最高的top-k个表格;
采用递减或折半方式更新k值,回溯次数x增加1,选择新的相似性得分最高的top-k个表格再次进入提取回答阶段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211226678.2A CN115563248A (zh) | 2022-10-09 | 2022-10-09 | 一种基于Text-to-SQL的表格开放域问答方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211226678.2A CN115563248A (zh) | 2022-10-09 | 2022-10-09 | 一种基于Text-to-SQL的表格开放域问答方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115563248A true CN115563248A (zh) | 2023-01-03 |
Family
ID=84744067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211226678.2A Pending CN115563248A (zh) | 2022-10-09 | 2022-10-09 | 一种基于Text-to-SQL的表格开放域问答方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115563248A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117033469A (zh) * | 2023-10-07 | 2023-11-10 | 之江实验室 | 一种基于表格语义注释的数据库检索方法、装置以及设备 |
-
2022
- 2022-10-09 CN CN202211226678.2A patent/CN115563248A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117033469A (zh) * | 2023-10-07 | 2023-11-10 | 之江实验室 | 一种基于表格语义注释的数据库检索方法、装置以及设备 |
CN117033469B (zh) * | 2023-10-07 | 2024-01-16 | 之江实验室 | 一种基于表格语义注释的数据库检索方法、装置以及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271505B (zh) | 一种基于问题答案对的问答系统实现方法 | |
CN112035730B (zh) | 一种语义检索方法、装置及电子设备 | |
Tablan et al. | A natural language query interface to structured information | |
CN103970729B (zh) | 一种基于语义类的多主题提取方法 | |
CN115563249A (zh) | 一种开放领域问答的表格检索增强方法 | |
CN112307182B (zh) | 一种基于问答系统的伪相关反馈的扩展查询方法 | |
CN110175585B (zh) | 一种简答题自动批改系统及方法 | |
CN107895000B (zh) | 一种基于卷积神经网络的跨领域语义信息检索方法 | |
CN114860868B (zh) | 一种语义相似度向量再稀疏编码索引与检索方法 | |
CN103970730A (zh) | 一种从单个中文文本中提取多主题词的方法 | |
CN111666764B (zh) | 一种基于XLNet的自动摘要方法与装置 | |
CN117609444B (zh) | 一种基于大模型的搜索问答方法 | |
US11487795B2 (en) | Template-based automatic software bug question and answer method | |
CN103927330A (zh) | 一种在搜索引擎中确定形近字的方法和装置 | |
CN115795018B (zh) | 一种面向电网领域的多策略智能搜索问答方法及系统 | |
CN113761890A (zh) | 一种基于bert上下文感知的多层级语义信息检索方法 | |
CN115563248A (zh) | 一种基于Text-to-SQL的表格开放域问答方法 | |
CN118069815A (zh) | 大语言模型反馈信息生成方法、装置、电子设备及介质 | |
CN118277522A (zh) | 一种提升大语言模型准确性的rag混合检索方法及装置 | |
CN116757188A (zh) | 一种基于对齐查询实体对的跨语言信息检索训练方法 | |
CN116501835A (zh) | 用于非知识密集型任务的检索增强方法和装置 | |
CN110826341A (zh) | 一种基于seq2seq模型的语义相似度计算方法 | |
CN113468311B (zh) | 一种基于知识图谱的复杂问句问答方法、装置及存储介质 | |
US20230055769A1 (en) | Specificity ranking of text elements and applications thereof | |
CN114238595A (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 |