你已经是个成熟的表格,该学会NLP了
作者 | 唐都钰、孙一博
来源 | 微软亚洲研究院AI头条
编者按:在我们的生活中,用语音查询天气,用必应搜索信息,这些常见的场景都离不开一种应用广泛的数据存储方式——表格(table)。如果让表格更智能一些,将是怎么样的呢?在这篇文章中,微软亚洲研究院自然语言计算组将为我们介绍基于表格的自然语言理解与生成方向的一系列工作。
表格(table)是一种应用广泛的数据存储方式,被广泛用于存储和展示结构化数据。由于表格数据结构清晰、易于维护、时效性强,它们通常是搜索引擎和智能对话系统的重要答案来源。例如,现代搜索引擎(如必应搜索引擎)基于互联网表格直接生成问题对应的答案;虚拟语音助手(如微软Cortana、亚马逊Alexa等)结合表格和自然语言理解技术回答人们的语音请求,例如查询天气、预定日程等。
我们将在本文中介绍我们在基于表格的自然语言理解与生成方向的一系列工作,包括检索(retrieval)、语义解析(semantic parsing)、问题生成(question generation)、对话(conversation)和文本生成(text generation)等五个部分。除了检索任务,其余四个任务的目标均是在给定表格的基础上进行自然语言理解和生成:
检索:从表格集合中找到与输入问题最相关的表格;
义解析:将自然语言问题转换成可被机器理解的语义表示(meaning representation,在本文中是SQL语句),在表格中执行该表示即可获得答案;
问题生成:可看作语义解析的逆过程,能减轻语义解析器对大量标注训练数据的依赖;
对话:主要用于多轮对话场景的语义解析任务,需有效解决上下文中的省略和指代现象;
文本生成:使用自然语言描述表格中(如给定的一行)的内容。
让我们用一张图概括本文接下来所要涉及的内容。
对于给定的自然语言q和给定的表格全集T={T1, T2, .., Tn},表格检索任务的目的是从T中找到与q内容最相关的表格,如下图所示。每个表格通常由三部分构成:表头/列名(table header)、表格单元(table cell)和表格标题(table caption)。
表格检索的关键在于衡量自然语言问题和表格之间的语义相关程度。一个基本的做法是把表格看做文档,使用文本检索中常用的字符串相似度计算方法(如BM25)计算自然语言问题和表格之间的相似度。也有学者使用更多样的特征,如表格的行数、列数、问题和表格标题的匹配程度等。
为了更好地融入表格的结构信息,我们提出了一个基于神经网络的表格检索模型,在语义向量空间内分别计算问题和表头、问题和列名、问题和表格单元的匹配程度,如下图所示。由于问题和表格标题都是词序列,我们均使用双向GRU把二者分别表示为向量表示,最终使用线性层计算二者的相关度。由于表头和表格单元不存在序列关系,任意交换表格的两列或两行应保证具有相同的语义表示,所以我们使用Attention计算问题和表头以及问题和表格单元的相关度。
由于目前表格检索的公开数据集有限,因此我们构建了一个包含21,113个自然语言问题和273,816个表格的数据集。在该数据集上,我们对比了基于BM25的系统、基于手工定义特征的系统以及基于神经网络的系统,结果如下表所示。
可以看出基于神经网络的算法与手工设计的特征性能相近,二者相结合可以进一步提高系统的性能。
更多细节请参照论文:
Yibo Sun, Zhao Yan, Duyu Tang, Nan Duan, Bing Qin. Content-Based Table Retrieval for Web Queries. 2018. Neurocomputing.
给定一张网络表格,或一个关系数据库表,或一个关于表的自然语言问句,语义解析的输出是机器可以理解并执行的规范语义表示(formal meaning representation),在本小节我们使用SQL语句作为规范语义表示,执行该SQL语句即可从表中得到问题的答案。
目前,生成任务比较流行的方法是基于序列到序列(sequence to sequence)架构的神经模型,一般由一个编码器(encoder)和一个解码器(decoder)组成。编码器负责建模句子表示,解码器则根据编码器得到的问句表示来逐个从词表中挑选出一个个符号进行生成。
然而, SQL语句遵循一定的语法规则,一条SQL查询语句通常由3种类型的元素组成,即SQL关键词(如SELECT, WHERE, >, < 等)、表格的列名和WHERE语句中的条件值(通常为数字或表格单元)。因此,我们在解码器端融入SQL的语法信息,具体由一个门单元和三个频道组成。门单元负责判断该时刻即将输出符号的类型,三个频道分别为Column、value、SQL频道,在每个频道中分别预测表中列名称、表中单元格名称和SQL语法关键字。该算法在WikiSQL数据集上性能优于多个强对比算法。
更多细节可以参考论文:
Yibo Sun, Duyu Tang, Nan Duan, Jianshu Ji, Guihong Cao, Xiaocheng Feng, Bing Qin, Ting Liu and Ming Zhou. Semantic Parsing with Syntax- and Table-Aware SQL Generation. 2018. ACL.
统计机器学习算法的性能通常受有指导训练数据量的影响。例如,我们使用上一小节提出的语义解析算法,在有不同指导训练数据的条件下观察模型的性能(这里的有指导训练数据指的是人工标注的“问题-SQL”对)。下表中x轴是log scale的训练数据量,可以发现语义解析的准确率与训练数据量之间存在Log的关系。
基于上述观察,我们希望使用少量的有指导训练数据,达到同样的语义分析准确率。为此,我们提出了一个基于问题生成的语义分析训练框架,如下图所示。给定一个表格,我们首先使用一个基于规则的SQL采样器生成SQL语句,随后用一个在小规模有指导数据上训练的问题生成模型生成多个高置信度的问题,将新生成的数据与小规模的有指导数据结合,共同训练语义分析模型。另外,问题生成模型是基于Seq2Seq模型,为了增加生成问题的多样性我们在解码器端加入了隐含变量。
更多细节可以参考论文:
Daya Guo, Yibo Sun, Duyu Tang, Nan Duan, Jian Yin, Hong Chi, James Cao, Peng Chen and Ming Zhou. Question Generation from SQL Queries Improves Neural Semantic Parsing. 2018. EMNLP.
我们在WikiSQL数据集上进行实验,使用上一章中所介绍的算法(STAMP)作为基本模型。从下表可以看出,融合问题生成模型的训练算法可以在30%训练数据的条件下达到传统训练算法100%训练数据的性能。使用该算法,在100%训练数据的条件下会进一步提升模型的性能。
前面我们介绍的语义解析算法针对的都是单轮问答场景,即用户针对一个表格每次问一个独立的问题。而在对话场景下,人们会在前一个问题的基础上继续提问,通常人们会使用指代或省略使对话更加简洁和连贯。例如,在下图的例子中,第2个问句中的”that year”指代第一个问句中提及的年份;第3个问题更是直接省略了问题的意图。
针对多轮对话场景下的语义分析,我们以Sequence-to-Action的形式生成问题的语义表示,在该模式下生成一个语义表示等价于一个动作序列,Sequence-to-Action在单轮和多轮语义分析任务中均被验证是非常有效的方法。
具体地,我们在Mohit Iyyer等人发表在ACL 2017上的研究Search-based Neural Structured Learning for Sequential Question Answering的基础上定义了如下表的动作集合,作为我们Sequence-to-Action模型的语法基础。A1-A4的目的是根据当前语句的内容预测SELECT语句中的列名、WHERE语句中的列名、WHERE语句中的操作符(如=, >, <)和WHERE语句中的条件值;A5-A7的目的是从上一句的历史语义表示中复制部分内容到当前语句的语义表示中。
我们以下图为例介绍模型的工作原理。输入历史问题和当前问题,该模型首先使用Controller模块预测当前问句的动作序列骨架(即未实例化的动作序列),随后使用特定的模型(如基于Attention的column prediction模块)去实例化骨架中的每个单元。当模型预测A5-A7(如下图中所展示的A6),模型实现了复制历史语义表示的功能。
更多细节请参考论文:
Yibo Sun, Duyu Tang, Nan Duan, Jingjing Xu, Xiaocheng Feng, Bing Qin. Knowledge-Aware Conversational Semantic Parsing Over Web Tables. 2018. Arxiv.
很多场景都需要用自然语言形式呈现答案。因此我们基于表格的文本生成工作,目的是用自然语言描述表格中(如给定的一行)的内容。以下图为例,给定表格中的一行,输出一句完整的描述内容。
我们的模型基于Sequence-to-Sequence框架,如下图所示。为了考虑表格的结构性(如打乱表格的各列不改变其表示),我们在编码器模块没有使用序列化的形式去建模各个列的表示;为了有效从表格中复制低频词到输出序列,我们设计了基于表格结构的复制机制。
具体内容请参考论文:
Junwei Bao, Duyu Tang, Nan Duan, Zhao Yan, Yuanhua Lv, Ming Zhou, Tiejun Zhao. Table-to-Text: Describing Table Region with Natural Language. 2018. AAAI.
本文介绍了我们在基于表格的自然语言理解与生成相关的5项工作。目前,与表格相关的自然语言处理研究刚刚起步,方法尚未成熟,对应的标注数据集也相对有限,我们希望与业界研究者们一起共同探索新的方法和模型,推动该领域的进一步发展。
作者简介
唐都钰,微软亚洲研究院自然语言计算组研究员,主要从事包括智能问答、语义理解、常识推理等在内的自然语言处理基础研究。
孙一博,微软亚洲研究院自然语言计算组的实习生,目前就读于哈尔滨工业大学。研究兴趣包括问答系统、语义分析和深度学习等。
(*本文为 AI科技大本营转载文章,转载请联系原作者)
公开课预告
◆
全双工语音对话
◆
本期公开课中,微软小冰全球首席架构师及研发总监周力博士将介绍微软小冰在全双工语音对话方面的最新成果,及其在智能硬件上的应用和未来将面临的更多技术产品挑战。
添加小助手微信csdnai2,回复:全双工语音对话,加入课程交流群,课程回放以及PPT将在群内分享。
推荐阅读:
技术流 | 手把手教你用Python设计一个命令行界面
中小学AI教育靠谱吗?50%教师教学经验不足1年
程序员沉迷 Bug 可以有多疯?
为什么都瞧不起培训班出来的程序员?
华住2.0? 5亿"万豪"用户信息泄漏! 个人隐私如何保护? 离不开区块链
只了解View的事件分发是不够的,来看下输入系统对事件的处理
“我男友是程序员,修BUG比我重要,服了!”
精选26个Python实用技巧,想秀技能先Get这份技术列表!
Python全栈工程师学习笔记 | Django的URL路由
相关文章:

[Design] Flyweight Pattern
结构模式 结构模式描述如何将类或者类的对象结合在一起形成更大的结构。 结构模式描述两种不同的东西:类与类的实例。结构模式可以分为:类的结构模式和对象的结构模式两种。 类的结构模式:类的结构模式使用继承来把类、接口等组合在一…

网友们票选的2018 Best Paper,你pick谁?
整理 | 琥珀出品 | AI科技大本营不久前,Reddit 机器学习论坛上一位网友发布了一个帖子:“What is the best ML paper you read in 2018 and why?(你认为 2018 年读过的最好的论文是哪篇?)”吸引了各路网友前来回答。营…
微信小游戏创业,究竟是红海还是死海?
“跳一跳”、“弹球王者”、“海盗来了”、“斗地主”等等微信小游戏,你是不是很眼熟呢?这些都是前段时间被刷了屏的小游戏,以“海盗来了”为例,据透露,其月流水已经突破了 1000 万,单日流水峰值也达到了 2…

OSPF中的frame-relay(3) 点到多点非广播
hostname R1!interface Loopback0 ip address 1.1.1.1 255.255.255.255interface Serial0 ip address 192.168.1.1 255.255.255.0 encapsulation frame-relay ip ospf network point-to-multipoint non-broadcast //将接口类型指定为点对多点非广播 frame-relay map ip 192.1…

一步一步SharePoint 2007之十六:注册并配置一个网站用户
在前面的文章中,我已经介绍了如何创建管理帐户。创建其它帐户的方法是一样的。大家可以把这个注册系统放到自己的网站中,就可以成为网站的一部分了。本文将只讲解如何在管理工具中将用户手动加入到网站用户组中,至于如何将注册完后的用户自动…
Facebook再曝数据丑闻删除应用数据仍会被泄漏
据外媒报道,道德黑客、漏洞赏金猎人Inti De Ceukelaire于昨日披露,名为“NameTests”的第三方测验应用令1.2亿Facebook用户面临数据泄露风险,这进一步时使Facebook的数据丑闻升温。道德黑客Inti De Ceukelaire发现,只要用户注册Na…

榨菜肉丝汤的做法
<!-- /* Font Definitions */ font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} font-face {font-famil…

“不设边界”的云知声:从多场景AI芯片到视觉AI,誓要2019营收近3倍
记者| 杨丽 出品| AI科技大本营 若非要总结 2018、展望 2019 的话,可以借用云知声创始人兼 CEO 黄伟的一句点评:“所有伟大的公司都诞生于真实的生产需求。” 2019 年 1 月 2 日,云知声在京召开战略发布会,正式公布其正在研发的…

微软公布Win10正式版功能对比表,哪个版本适合你?
微软今天公布了Win10各个版本功能特性对照表,详细列出了Windows10系统的大多数功能以及哪些版本具备这些功能。通过这张表格可为消费者购买或升级Win10提供参考。 微软公布的原版表格为英文版(可点此下载),IT之家将其翻译为中文&a…

linux tpm 测试完整记录,亲测有效。
没有tpm芯片,采用模拟器的方式来测试。 实验环境:内核版本 3.10.0-327 软件包准备: 内网,没有仓库,自己网上下载: 1. cmake-3.9.6-Linux-x86_64.tar.gz 解压后就已经有bin文件,可以直接使用bin下…

互联网流量太贵!新零售成创业新风口
什么是新零售?无人便利店、每个创业者都有自己的电商平台?运用人工智能、大数据等技术手段,对商品生产、流通、销售进行再升级,进而提高线上服务与线下体验?其实,说白了就是效率更高的零售新模式。联网早期的流量福利开始变弱,…

拼多多黄峥给陆奇“兼职”,欲挖掘这类AI人才
整理 | 一一出品 | AI科技大本营在上任 Y Combinator 中国创始人兼 CEO 四个月后,陆奇今日宣布三位兼职合伙人加盟 YC 中国,同时宣布新一期创业训练营正式完成招生工作,即将开始为期三个月的冬季训练营培训工作。三位兼职合伙人分别是拼多多创…

Crystal Reports中的字段
字段,是Crystal Reports呈现数据的基本单元,也是报表的数据中心。 在Crystal Reports中,字段的类型有数据库字段,公式字段,参数字段,组名字段,运行总计字段,特殊字段,未绑…

深度学习的发展可能已达极限!
【编者按】回首 2018 年,身处技术圈的你是否曾反思过些什么——科技与非科技企业界限的日益模糊、技术的发展现状和前景、科技发展的正向助推到负面效应,乃至个人心态上的变化。人文、生态、社会……玩技术的人看到的从来不仅仅是技术本身而已࿰…
大学生创业难?现在已不是问题!
现在越来越多的大学生离开学校加入了自主创业的队伍,那么你一定要知道政府为扶持大学生创业,出台的那些鼓励政策!如果你符合以下条件:1、公司法人是普通高等院校(高自考的不行)毕业前2年的在校生和毕业后5年…

Oracle:彻底结束会话 ,彻底解锁
oracle会话被锁是经常的。但有时alter system kill session sid,serial#;并不能彻底的杀死会话。只能通过杀死Linux上对应的进程才行。以前都是通过v$session里的logon_time,和ps -ef|grep oracle所列出的时间大约的定位进程。然后结束。本来想把这个写成日志。但有…

使用vim打造自己的python编辑器
基础配置 vim的配置是在用户主目录下的 ~/.vimrc 文件中完成的,如果没有的话,需要自己新建一下: cd ~ touch .vimrc首先做些简单的配置: set nocompatible "关闭与vi的兼容模式 set number "显示行号 set nowrap &qu…

两亿多用户,六大业务场景,知乎AI用户模型服务性能如何优化?
作者 | 王政英来源 | 知乎技术专栏用户模型简介知乎 AI 用户模型服务于知乎两亿多用户,主要为首页、推荐、广告、知识服务、想法、关注页等业务场景提供数据和服务,例如首页个性化 Feed 的召回和排序、相关回答等用到的用户长期兴趣特征,问题…

加班到凌晨三点,就能月薪五万了吗?
早起上班的地铁上,看到朋友圈有不少人刷视觉志推出的一篇《凌晨3点不回家:成年人的世界是你想不到的心酸》,出于好奇,就点击看了一些。文章用一堆煽情的图片和煽情的文字推导出一个结论:成年人的世界很不容易ÿ…

山西之行的感想
出差学习、外出培训(既“训”别人,也被别人“训”,呵呵)……充实啊。关于这次出差学习,很想说点什么的。不过说实话,他们的全员人口系统目前只是完成信息编辑、查询功能,进一步的汇总、数据挖掘…

GIS开发随笔(2)——关于建立GIS数据库的几个问题
真正的实战开始了,根据用户的需求首先就是编写了一大堆的这样那样的文档说明,并根据用户需求分析建立了数据库的库表及其内容。在建库的过程中我们使用的是微软的Sql Server2000数据库,在分析数据库前也在网上游荡了些时日,发现很…

刘铁岩谈机器学习:随波逐流的太多,我们需要反思
嘉宾 | 刘铁岩 整理 | 阿司匹林 来源 | AI科技大本营在线公开课 人工智能正受到越来越多的关注,而这波人工智能浪潮背后的最大推手就是“机器学习”。机器学习从业者在当下需要掌握哪些前沿技术?展望未来,又会有哪些技术趋势值得期待&#…

SQL2K数据库开发二之查看和修改Sample数据库
1.在SQL Server 企业管理器中,选择“数据库”节点,右击sample 数据库图标,在弹出的菜单中选择“属性”。 2."常规"页面显示了数据库的概要信息。 3.“文件组”页面显示了数据库中现有的文件组,此时数据库中只有一个主文…
谈点正经的:Papi酱能火,如果你现在学她却未必能火起来
集才华美貌于一身的女子Papi酱刷屏了。先是融资1200万,估值3亿。其次,又即将在四月和罗辑思维一起联手推出“中国第一场新媒体广告拍卖会”。 这些数据和事件串在一起,网红经济又被推至新的高点,内容在资本圈也越发繁荣。是的&…

全国各地DNS地址
全国各地电信DNS服务器地址北京:202.96.199.133 202.96.0.133 202.106.0.20 202.106.148.1 202.97.16.195上海:202.96.199.132 202.96.199.133 202.96.209.5 202.96.209.133天津:202.99.96.68 10.10.64.68广东:202.96.128.143 202…

iteye和微博
如果iteye能同步新浪微博,我以后就用iteye来写技术博客

BIND日志相关(二)
在Linux环境下,提供了广泛流行的BIND服务器,它是构建DNS服务器最常用的服务器软件。介绍BIND的安装的文章现在很多,现在我们就一起来谈一下维护的话题。我们如何才能够了解DNS服务器的运行情况下呢,它忙不忙、负载大不大?这一切&…

riot.js教程【四】Mixins、HTML内嵌表达式
前文回顾riot.js教程【三】访问DOM元素、使用jquery、mount输入参数、riotjs标签的生命周期;riot.js教程【二】组件撰写准则、预处理器、标签样式和装配方法;riot.js教程【一】简介; 共享Mixins 混合开发可以使你很好的复用代码,如…

思必驰发布AI芯片,透视智能语音企业的商业化历程
2019 年 1 月 4 日,言由芯生——2019 年思必驰 AI 芯片暨战略发布会在京举行。 现场,AI 芯片作为重头戏展示了其低功耗、高性能的核心优势,同时,思必驰多视角解读了 2018 年所取成果,并公布了 2019 年战略路线&#x…

【转载from冰河】来杭十周年
2001年9月12日,我高中毕业考入浙江大学,开始了杭州的生活;今天算是来杭十周年纪念日。中午我在杭州四眼井国际青年旅舍准备了一只烤全羊,邀请浙大毽球协会成员和包括 Mazha、andyfires 和萝卜等当年在校期间一起搞计算机的朋友们一…