摘要:表格问答是一种针对天然语言问题,根据表格内容给出答案的任务。
表1是一张综艺节目收视率报表,假如你须要了解市场份额在3%以上的综艺节目,你会选择采用什么样的方法?数据库
首先,用肉眼去筛选知足条件的数据,是最方便直观的方法,但显然也是效率最低的一种方式。咱们能够采用一些工具,如Excel等,或者你能够选择将表格导入数据库,而后使用数据库语言来进行高效的检索。可是,并非全部人都懂SQL语法,甚至不少用户都没有接触过Excel。segmentfault
这些专业工具的使用难度限制了非技术用户,给数据分析和使用带来了较高的门槛,因此咱们但愿设计一种经过天然语言来对表格数据进行检索、计算等操做的系统,因而就有了表格问答。ide
表1:综艺节目收视率报表工具
表格问答是一种针对天然语言问题,根据表格内容给出答案的任务,它的任务能够描述为:输入一个表格集合T(包含一个或多个表格)和一个天然语言形式的问题Q,输出正确的答案A。优化
有了表格问答,用户在查询这些表格的内容时,能够直接经过天然语言与表格进行交互,如打字或者语音输入,而且能够获得直接结果,甚至是报表,大大下降数据分析门槛,为普通用户带来高效又天然的数据查询、分析和计算体验。搜索引擎
表格问答主要经历了三个阶段:数据库天然语言接口、NL2SQL以及复杂表格问答系统。spa
表格问答的研究最先能够追溯到数据库天然语言接口NLIDB(Natural Language Interfaces to Databases )。翻译
NLIDB是一种容许用户经过输入某种天然语言表示的请求来访问存储在数据库中的信息的系统。国外NLIDB的研究起始于20世纪60年代,80年代最为活跃,受制于有限的天然语言理解能力,90年代热度开始衰减。设计
这段时间内出现了不少NLIDB系统:如微软的English Query,IBM的Language Access,以及BIM的LOQUI等等。中文NLIDB的研究始于20世纪70年代末期,后续也出现了一些中文实验模型与系统如NChiql,NLCQI,RChiQL,以及WTCDIS等等。这些系统主要是基于规则的方法,关键步骤主要是词法分析、语法分析、语义分析和生成SQL语句。blog
NLIDB是TableQA的前身,但它不是真正意义上的QA,而是一种把天然语言翻译成数据库语言的接口。它们彻底依赖于规则与模板,对天然语言的约束较多,语言理解能力差,不具有较强的泛化能力。
表格问答的主流技术之一就是让天然语言更加准确地转换成SQL语言,这种方法被称为(Natural Language to SQL)NL2SQL。NL2SQL的主要任务就是将用户的天然语言语句转化为计算机能够理解并执行的规范语义表示,与KBQA相似只不过KBQA的目标逻辑形式是SPARQL。NL2SQL有许多开源数据集,如表2所示,其中最为普遍使用的数据集,有WikiSQL、Spider等。
表2:NL2SQL数据集汇总
WikiSQL是最经常使用的公开评测数据集之一,它所包含的NL2SQL任务比较简单,主要是单表单列查询,能够进行最大、最小、计数、求和以及平均聚合操做,支持大于、小于和等于的条件比较,仅支持“AND”的条件连接方式。
Spider数据集是目前领域内最困难的数据集之一,训练集有7000条数据,对应140个数据库,验证集有1034条数据,对应20个数据库,数据库名不重合。它支持多表多列查询,包含复杂的子查询,以及更多的聚合操做、条件操做和排序操做等。
近年来,NL2SQL在中文领域也出现了一些优质的数据集,例如TableQA、DuSQL等。
随着对话领域的不断完善和发展,一些表格问答系统逐渐具有了上下文理解能力,表格问答与通常对话机器人的融合不断深刻,造成了较为复杂的表格问答系统。这些系统不只可以简单的单轮问询,还能实现多轮对话,返回结果也从简单的结果集合变成了丰富的天然语言形式回答。
图1:复杂表格问答系统
据Google2015年对互联网数据的统计,仅英文网页中包含的表格数目就有数百亿,说明表格的数据量十分巨大。不只如此,表格数据高度结构化,不一样表格之间没必要遵循统一的本体结构和命名规范,表格的编辑和修改能够高效进行,具备较强的可编辑性和时效性。这些特色使得表格问答可以在诸多应用场景发挥重要的做用。
表格问答具备两个重要的研究方向:结合智能交互,支持对结构化数据查询与问答;优化搜索引擎,智能并高效地检索结构化文本。结合这两个研究方向,在如下应用场景中可以发挥重要做用:保费查询、客户信息查询等内部业务数据查询;覆盖行情信息、行业研报报表、财务报表等结构化数据;支持酒店信息、火车票与飞机票查询等出行场景问答;商品销量、商品详情、商品筛选与推荐等电商场景;产品信息、活动细则等新零售场景问答;话费查询、缴费查询、业务查询等平常生活问答。
表格问答具备普遍的应用场景,可是在工程实现上也存在不少问题:
表格的识别及规范化表示:表格默认以第一行为表头,但在实际挖掘表格中,有三种状况:以第一行为表头,以第一列为表头,或者第一行和第一列共同表示表格;挖掘的表格存在信息缺失问题,如表名缺失、表格值不全等;同时,面对多个表格时缺失表间连接关系。
外界知识的利用:有一些常识信息不包含在表格中,如排序操做的方向判断(列为“出生日期”,问题为“年龄最大的员工”)、表格值进制转换(列为“人口(亿)”,问题为“人口超5千万的城市”)等,这些信息须要引入外界知识来协助SQL生成。
融进渐进式对话:对于用户的歧义表达和模糊表达,须要有“提问-反馈-再提问”的过程,这类问题每每须要经过多轮对话解决,而用户的问题一般是上下文相关的,所以须要模型具有基于上下文的理解和分析能力。
表格问答具有很高的研究价值和商业价值,不少友商和研究机构都正在致力于表格问答的商业化和研究。与此同时,表格问答也存在不少技术难题和工程难题,在表格问答的研究道路上还有很长的路要走。