当前位置:   article > 正文

自然语言处理——结构化数据问答_解析:自然语言生成sql与知识图谱问答实战》

解析:自然语言生成sql与知识图谱问答实战》

NLP问答任务分类

NLP问答任务主要包含三个方面:

  • 基于无结构化文本的问答

    • 文档问答
      在这里插入图片描述

    • 社区问答(FAQ)
      在这里插入图片描述

  • 基于结构化文本的问答

    • 知识图谱问答
      在这里插入图片描述

    • 表格问答
      在这里插入图片描述

  • 视频|图片-文本问答

    • 此类问答信息主要蕴含在图片中
      在这里插入图片描述

结构化数据问答

定义

基于给定的结构化知识库和自然语言问题,给出问题对应的答案
在这里插入图片描述

任务能力(结构化数据问答优势)

  1. 推理能力:基于现有知识推理/计算给出答案,E.g. OPPOA93比魅族18贵多少呀
  2. 输出结果可解释:输出知识库查询语句

Test-to-SQL技术

Test-to-SQL技术的含义为:将表格文本转化为SQL查询语句
  • 1

在这里插入图片描述

任务简介

表格问答核心技术,将自然语言问题转成数据库上可执行的SQL查询语句

评估方法

常用的是精确匹配正确率
在这里插入图片描述
两种评估方法的选取

  1. 要根据数据,是否提供SQL语句,是否提供答案
  2. 实际应用更关注哪个指标(答案准确率还是SQL语句准确率)

数据集

单轮多领域数据集
在这里插入图片描述
多领域(cross-domain):训练/测试集使用的数据库是否相同或交叉
单/多表(multi-table):构成数据库的表的数量,多表涉及到表的检索
简单/复杂:从SQL角度评估,是否包含高级从句、集合操作、嵌套等

主流学习方式

当前主流的学习方式有两种,早期研究中还有规则方式
主流方法
有监督方法,适用更大规模的数据库,但是需要数据中有标注(有SQL语句)
弱监督方法,适合简单的数据集,数据只需给出问题和答案
在这里插入图片描述

Text-to-SQL任务本质

本质:基于encoder-decoder框架的多输入生成任务

  • encoder(编码)即将输入句子映射到表示空间
  • decoder(解码)即从表示空间中解码句子
  • 多输入生成任务:对应下图SQL查询语句,红字为数据输入,黄字为问题输入,黑字为SQL关键词,这就对应了多输入
    在这里插入图片描述

Text-to-SQL任务基本框架

框架基本结构

  1. 首先把问题和数据库进行编码,然后放入Encoder中
  2. 在Decoder阶段会分成两种形式,一种是生成式的(即数据库中没有的),另一种是直接能复制的(即包含在数据库中的)
    在这里插入图片描述

Text-to-SQL任务挑战

挑战一

领域泛化:测试集中数据库未在训练集中出现过

下图例子中处理流程:

  1. 根据问题与表格中的信息进行匹配
  2. 通过Text-to-SQL解析器生成SQL查询语句

所遇到的问题即为:如果进行信息匹配,以及对应到SQL语句
在这里插入图片描述

挑战二

输出结构化:生成的SQL语句在数据库上可执行,即满足数据库结构、SQL语法

下图例子中,涉及到表格查询的嵌套操作,如何写出相应的能够执行的SQL语句也为一大挑战
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/342038
推荐阅读