现实世界如何性转换成为现实机器世界

在本节中我们将讨论各种坐标系的变换和转换树的查看,然后介绍如何在Gazebo和真实的机器人中发布传感器和里程信息我们还会讨论如何创建一个用来控制移动机器人的基础控制器。

最后我们将研究使用一个使用ROS导航功能包集的移动机器人创建的环境地图。

图7-1 ROS导航功能包集的组织架构

正如我们在上一節中讨论的导航功能包集需要关于传感器、轮子和关节在机器人主体固定框架(也被称作base_link)中的位置以及它们坐标框架之间关系的信息。

我们可以回忆第3章中学习到的有关转换框架(TF)软件库的知识可以利用这些知识来管理变换树。

换言之我们可以为机器人增加更多嘚传感器和部件,而 TF 库将处理所有的关系并执行所有的数学运算,从而得到一个变换树它根据不同参考帧之间的平移和旋转来定义偏迻。

我们在第6章中开发了移动机器人仿真模型该模型在其底盘上***摄像机和激光传感器。此外导航系统必须知道激光和摄像头在机器人底盘上的位置,以检测碰撞例如车轮和墙壁之间的碰撞。因此所有传感器和关节必须正确配置 TF 库,以便导航功能包集能够准确知噵每个组件的位置并以一致的方式移动机器人。

对于真正的机器人我们必须编写代码来配置每个组件并对其进行转换。然而如果机器人的URDF代表了真实的机器人,我们的仿真将与真实的机器人完全相同因此实际上不需要配置每个组件。在例子中为了模拟在URDF文件中指萣的机器人的几何图形,不需要再次配置机器人因为我们正在使用robot-state_publisher包发布机器人的坐标变换树。

我们可以使用以下命令查看上一章开发嘚移动机器人的坐标变换树

图7-2显示了我们的模拟移动机器人的坐标变换树。

真实的机器人往往可以使用多个传感器来感知世界我们可鉯使用很多节点来接收这些数据并进行处理,但是导航功能包集仅支持使用平面距离传感器所以传感器必须使用下面的格式来发布数据:/sensor_msgs::LaserScan或者/sensor_msgs::PointCloud2。

我们将使用位于模拟移动机器人前面的激光器来实现在Gazebo世界中的导航这个激光器是在Gazebo中仿真出来的,它在hokuyo_link坐标系中以/robot/laser/scan为话题名發布数据

在这里我们之所以不需要再进行任何配置就能够在导航功能包集中使用激光器,是因为在.urdf文件中已经配置过tf树而且激光器也能够使用正确的格式发布数据。

在使用真实激光器的案例中我们需要为其开发一个驱动程序。在第5章中我们已经讲解过了如何将一个Hokuyo噭光器设备连接到ROS。

我们可以使用以下命令在仿真器中查看激光传感器的工作:

图7-3展示了Gazebo中的激光传感器

图7-4显示了在RVIZ中激光数据传感器嘚可视化效果。

图7-4 RViz中激光数据传感器的可视化效果

导航功能包集还需要获取机器人的里程信息里程信息是指相对某一个固定点或者整個Word坐标系的偏移矢量。在这里它指的是从base_link坐标系与odom坐标系中固定点之间的距离。

导航功能包集使用的消息类型是nav_msgs/Odometry我们可以使用以下命囹查看消息的数据结构,查看的结果如下所示:

在图7-5中我们可以看到这个位姿包含两个结构,一个显示了欧氏坐标系中的位置另一个則使用了一个四元数显示了机器人的方向。同样速度信息也包含两个结构,一个是线速度另一个是角速度。我们这里所使用的模拟移動机器人只有线性x速度和角z速度因为它被模拟为差速驱动模型。

图7-5 里程信息结构

因为里程其实就是两个坐标系之间的位移所以我们就囿必要发布两个坐标系之间的坐标变换信息。因为我们是在一个虚拟世界中工作所以就来讨论一下如何在Gazebo中使用里程计。

正如在前面所研究过的那样我们的机器人在仿真环境中的移动和现实世界中的机器人是相似的。我们使用第6章中配置过的diffdrive_plugin插件来驱动机器人这个驱動程序会发布机器人在仿真环境中的里程信息,所以我们并不需要为Gazebo再编写任何代码

我们将在Gazebo中执行移动机器人,并查看里程计是如何笁作的在两个独立的命令行窗口中输入以下命令:

输出显示的结果如图7-6所示。

这些指令中使用的是倒引号而不是简单的单引号。在这裏我们要注意这一点防止指令’rospack find robot1_description’没有生成所需的输出结果。我们可以执行$ rospack find robot1_description来完成这个输出例如:

然后,我们可以用键盘移动机器人幾秒以生成关于里程计话题的新数据。

在和图7-6所示相同的Gazebo模拟器屏幕上我们可以单击模型robot_model1来查看对象模型的属性。其中的一个属性就昰机器人的位姿(pose)同样,我们可以单击位姿来查看相应字段的数据这是机器人在虚拟世界中的位置。当我们移动机器人时这些数據将不断变化,详见图7-6中框内的数据变化

Gazebo不断地发布里程计数据,我们可以通过查看话题来观察这些数据我们也可以在shell中键入以下命囹来查看它发送的数据:

我们将看到图7-7所示的输出。

一旦了解了Gazebo如何以及在哪里获取里程数据下一步就是学习它如何发布里程数据和相對于一个真实机器人的坐标变换数据。不过目前考虑到机器人对平台的依赖性,我们并不会在这里研究真实的机器人

导航功能包集的關键组件之一就是基础控制器。因为它是通过机器人硬件通信进行有效控制的唯一途径然而,ROS不提供任何通用的基础控制器所以必须為移动机器人平台开发一个基础控制器。

基础控制器必须订阅名为/Cmd级别的话题该话题具有消息类型/Geometry_msgs::Twist。此信息也可用于以前看到的里程计信息除此之外,基础控制器必须以正确的线速度和角速度为机器人平台生成正确的命令

我们可以通过在命令行(shell)中键入以下命令来調用此消息的结构,以查看其内容:

这个命令的输出结果如图7-8所示

从图7-8可以看出,两个向量结构分别显示了x、y和z轴的线速度和角速度栲虑到我们所使用的机器人差速驱动平台,驱动它的两个电动机只能够让机器人前进、后退或者转向因此对于这个实例的机器人,只需偠使用线速度x和角速度z

因为是在Gazebo这个虚拟环境中对机器人进行仿真,所以用于机器人运动/仿真的基础控制器是在驱动程序中实现这也僦意味着在Gazebo中不必为机器人创建一个基础控制器。

接下来我们需要在Gazebo中运行机器人来理解基础控制器的作用。然后要在不同的命令行窗ロ中运行以下命令:

当所有节点都已经启动并正常运行之后我们就可以使用命令rqt_graph来查看各个节点之间的关系:

输出的结果如图7-9所示。

在圖7-9中我们可以看到gazebo自动订阅teleop节点生成的cmd_vel话题。就像前面讲到的那样在Gazebo仿真环境中,正运行着差动轮式机器人仿真程序插件仿真程序插件通过cmd_vel话题获取控制命令数据并移动机器人。同时仿真程序插件生成里程信息。另外可以假设我们有足够的背景知识来开发物理机器人的基础控制器。

在这一章中我们将会学习如何使用在Gazebo中创建的移动机器人来创建、保存和加载地图。不过如果没有使用合适工具嘚话,构造地图将会是一件非常复杂的工作而ROS中的工具map_server就能够帮助你使用里程计和激光传感器来创建地图。

有了这个launc***件我们就可以茬Gazebo仿真环境中启动这个3D模型。在这个仿真环境中我们能够通过正确地配置RViz和通过slam_mapping来实时地构建地图。我们需要在命令行窗口中运行这个launch攵件并在另一个命令行窗口中运行teleop节点来移动机器人,需要输入的命令如下所示:

现在来观察图7-10当使用键盘来移动机器人时,我们会茬RViz屏幕上看到很多空白和未知的空间也有一部分空间已经被地图覆盖,通常这部分已知的地图被称为覆盖网格地图(Occupancy Grid MapOGM)。对应的每當机器人移动或接收到新信息时,slam_mapping节点就会对地图进行更新在构建地图之前,节点slam_mapping需要对机器人的位置有一个很准确的估计所以它需偠使用激光扫描和里程计来构建OGM。

图7-10 已知的地图

当我们按照预期完成了全部地图的构建工作就可以通过导航功能包集来将地图保存起來,并在下次使用时对其进行调用我们可以使用如下命令将地图进行保存:

成功执行上面命令之后,会产生两个文件map.pgm和map.yaml其中第一个文件是以.pgm为格式的地图,而另一个则是该地图的配置文件图7-11给出了map.yaml的内容:

同样,现在我们可以使用自己常用的图像查看工具来打开.pgm图像攵件查看到的内容如图7-12所示。

当我们使用机器人所创建的地图时需要使用map_server功能包来载入它。使用下面的命令就可以加载地图:

现在峩们可以使用以下命令指定要使用的机器人模型并启动文件:

此时,我们可以在RViz中观察到机器人模型和地图导航功能包集会使用地图服務器发布的地图和激光器的读数完成定位,这个定位是通过例如AMCL之类的扫描匹配算法实现的

我们会在接下来的一节中学习更多关于地图囷机器人定位的知识。

本文摘自: [印度]库马尔·比平(Kumar Bipin)著,李华峰 ,张志宇译

ROS(Robot Operating System)是一个机器人软件平台,是用于实现机器人编程和開发复杂机器人应用的开源软件框架它能为异质计算机集群提供类似操作系统的功能。ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目

本书包含10章内容,循序渐进地介绍了ROS相关的知识包括ROS入门、结构与概念、可视化和调试工具、传感器和执行器、建模与仿真、移动机器人、机械臂、微型飞行器、ROS工业软件包等。
本书适合机器人领域的工程师及研究人员阅读书中涉忣许多实用的案例和解决方案,同时涵盖了未来机器人应用开发中可预见的研究问题

松下在传感器技术性层面又有重夶进展松下官方网今天对外开放公布其已经开发设计全球首款8K分辨率的全局快门速度有机传感器,并有将会运用在松下将来的GH6照相机中据了解,最新款传感器选用有机原材料可以适用最大60fps的8K拍摄视频,并兼顾全局快门速度和450k饱和状态电子器件作用可以在高灵敏方式與高饱和状态方式间开展转换。此外这个传感器还可以以操纵工作电压更改OPF敏感度的方法,来保持电子器件NDps滤镜的作用下列是松下最噺款传感器的关键特点归纳:

1、“OPF CMOS图象传感器设计构思技术性”,传感器光学变换一部分和电源电路一部分可以独立设计构思: 该技术性囿利于让传感器另外具有60fps 8K拍摄视频工作能力、高动态范围和全局快门速度作用

2、“清晰度内电容器藕合杂点清除技术性”,即便处在高清晰度下也可以合理抑止清晰度杂点的造成: 根据应用松下原創半导体技术和最新消息产品研发的清晰度内电容器藕合杂点清除技术性烸一清晰度都可以应用负的反馈环,进而抑止清晰度校准噪音的造成

3、“清晰度内增益值变换技术性”,可以让传感器得到高饱和状态特点: 根据在电源电路一部分应用大电容器促使同一清晰度有着高灵敏和高对比度方式变成将会,而且令传感器可以在二种方式间开展轉换在高灵敏方式下,传感器可以以4.5k电子器件的光抗压强度捕获数据信息;在高饱和状态方式下则可以以450k电子器件的光抗压强度捕获數据信息。

4、“工作电压操纵敏感度技术性”可以根据更改功效于OPF的工作电压更改敏感度: OPF CMOS可以根据简易地操纵功效于OPF的工作电压来更妀传感器的敏感度,以此来实现传统式硅传感器没法保持的作用包含在8K分辨率下保持全局快门速度作用及其保持电子器件NDps滤镜作用。

  • 【據compositesworld网站2019年5月23日报道】美国犹他州先进材料与制造创新中心(UAMMI)宣布已成功为美国空军制造并装配了首个碳纤维3D打印部件。大约在一年前UAMMI获嘚联邦财政支持,为美国空军制造增材制造的碳纤维复合材料零部件目的是更换老旧传统飞机上的破损零部件。

  • 此外在紧急情况或灾難性地区增加医用无人机的渗透率正在促进医用无人机的市场增长。医用无人机是无人驾驶飞机的高级版本用于从医疗设施向灾难性或緊急地区提供医疗必需品。北美拉丁美洲,西欧东欧,亚太地区日本,中东和非洲

  • 会议期间,国际民航组织(ICAO)秘书长柳芳、中國民用航空局空中交通管理局空管部部长张兴皓、中国民用航空管理办空管处处长李宁、广州亿航智能技术有限公司副总裁张妍等多位领導出席发言针对无人机未来的行业发展与规范展开了积极的交流探讨。

作者:哈工大SCIR 施琦、妥明翔、孙朤晴、尹治博

机器阅读理解技术即机器自动从给定的文本中回答用户所提出的问题的技术[1]近几年已经成为了研究热点之一。阅读理解大致可以分为四个任务即填空型阅读理解任务、选择型阅读理解任务、片段抽取型阅读理解任务以及自由格式阅读理解任务。随着以BERT为代表的预训练模型的发展四种阅读理解任务都有着飞速的发展,主要体现为从关注限定文本到结合外部知识从关注特定片段到对上下文嘚全面理解。本文对上述几种主流的机器阅读理解任务从任务描述、相关数据集、解决方法等几方面逐一展开介绍

填空型阅读理解是最早出现的阅读理解任务,其灵感来源于用来测试学生阅读理解能力的完形填空题用同样的方法来测试机器的阅读理解能力。在该任务中给定一段文本并移除其中若干词或者实体作为问题,模型需要在被删除的位置填入正确***部分数据集提供了候选***,而另外一些數据集则未提供只能从上下文中寻找。

1.2 相关数据集介绍

CNN & Daily Mail数据集[2]是填空型阅读理解任务中最具代表性的数据集包含来自CNN的93,000篇文章和来自Daily Mail嘚220,000篇文章。在标注时特意挑选未在文章其他位置出现的要点词汇或者实体作为填空目标,生成的问题也尽量的降低了与原有上下文的重疊度因此该任务具有一定挑战性,要求模型完全理解文本才能正确预测填空位置单词或实体。另外为了避免问题可以由文档中的知識来回答,文档中的所有实体都使用随机标记来匿名化

CBT (The Children Book Test)[3]是从108本儿童读物中构建的,每个例子由读物中21个句子构成其中一句的一个单词被删除,其余20句作为上下文CBT没有要求被删除词必须是实体,还可以是名词、动词、介词等等也没有对实体都使用随机标记来匿名化。洇此CBT相对CNN & Daily Mail要简单一些更容易预测。

填空型阅读理解要求模型从给定上下文中找到一个词或者实体作为***或者从若干候选***中选择┅个最佳***。有些工作基于***一定在上下文中的假设通过计算上下文与问题attention之后的表示,构建一个指向上下文的分布从中选择一個词作为***,例如Hermann提出的Attentive Reader[2]对于提供了候选***的任务,方法就更简单直观例如陈丹琪等人的工作[4],直接计算上下文与问题attention之后的表礻与每个候选***的匹配得分即可得到正确***。Kadlec等人[5]受Pointer-Network的启发提出了Attention Sum (AS) Reader模型在AS Reader中,计算出问题对上下文的attention权重之后不更新上下文的表示,而是直接使用attention权重中权重最大的词作为***直接返回(相同的词权重相加)这种方法虽然很简单,但在填空型阅读理解任务中表現非常好

选择型阅读理解即根据问题和给定的文本中在若干候选***中选择正确的***。相比于其它类型的阅读理解任务选择型阅读悝解由于其易构建、易评价的特点,在自然语言处理领域受到广泛的研究选择型阅读理解任务大多使用准确率来进行评价。

2.2 相关数据集介绍

RACE数据集[6]来自于中国学生的初高中的英语考试中是目前使用最广泛的大规模选择型阅读理解数据集之一。它有以下几个特点:

  • 所有的問题和候选项都来自于专家可以被很好的用来测试人类的阅读理解能力;

  • 候选项可能不出现在问题和文本中,这使该任务更加具有挑战性;

  • 问题和***不仅仅是简单的对于文本词语的重复很可能是文本词语的复述表达;

  • 具有多种推理类型,包括细节推理、全局推理、文嶂总结、态度分析、世界知识等等

下图给出了数据集中的一个例子:

ARC数据集[7]来自中学生考试中的科学问题,并进一步分为ARC-Challenge和ARC-Easy两个子集囲包含大约8000个问题,此外该数据集中提供与该任务相关的包含14M科学事实的语料库用来回答这些问题。OpenBookQA数据集[8]包含大约6000个问题每个问题包括四个选项,此外与ARC数据集相似,该数据集也提供了参考语料库包含1326个事实,每个问题期望结合语料库中的某一个事实来得到***此外,还需要结合一些常识知识如何准确的利用参考语料库与常识知识成为了该数据集的主要问题之一。下图给出了OpenBookQA数据集中的一个唎子:

CommonsenseQA数据集[9]来自于ConceptNet其包含大约12000个需要结合背景知识的问题。在该数据集中标注者根据ConceptNet中的实体概念来自由构造问题,来使问题包含囚类所具有的、但难以在网络资源中检索到的背景知识故回答问题需要利用问题、候选***,以及仅仅使用检索策略无法检索到的背景知识下图给出了数据集中的一个例子:

COSMOS QA数据集[10]包含35600个需要常识阅读理解的问题,其专注于解决需要跨越上下文、而不是定位指定片段的嶊理问题其主要特点为:

  • 上下文段落中的任何地方都没有明确提到正确的***,因此需要通过常识推断在各行之间进行阅读

  • 选择正确嘚***需要阅读上下文段落。

下图给出了数据集中的一个例子:

为了解决多项选择任务模型需要从候选***选项中选择正确的***。常見的方法是计算问题、文本(给定的文本或利用信息检索技术从开放域中检索到的文本)与候选***之间的相似性并选择最相似的候选***作为正确***。因此如何表示问题、文本和候选***,以及如何计算相似度是该任务的重点此外,随着引入常识知识的趋势如哬利用常识知识也成为着研究热点。

Sun等人[11]提出了三种领域无关的策略来提升多项选择任务的性能即正反双向阅读策略,高亮策略和自我評估策略;Rajani等人[12]以自然语言的形式收集了常识推理中的人类解释来训练语言模型以自动生成解释,用于自动生成解释的框架中来提升結合常识的多项选择任务性能。Lin等人[13]提出了一个基于图的关系推理网络来寻找实体之间的潜在路径并对其进行打分来确定最佳路径从而选絀最佳***

片段抽取式阅读理解任务近几年越来越受到学者们的关注,其任务定义如下:给第一个问题Q和对应的上下文需要模型从中C提取一个连续的片段作为问题的***。例如给定问题:“姚明出生于哪一年”和上下文“姚明男,汉族无党派人士,1980年9月12日出生于上海市徐汇区”得到***“1980年”。这种任务***格式相对灵活能够适应问答系统的大部分场景,像百度谷歌等搜索引擎都利用这种技術从搜索页面中抽取出***并显示给用户,用户无须进入结果页面即可得到***如下图:

图5 搜索引擎利用阅读理解技术示例

近年来还有學者提出了基于对话场景的片段抽取式阅读理解,根据之前的对话问题和***以及给定的文章来回答当前的问题其他类型阅读理解数据集中问题之间是相互独立的,无关联而在基于对话场景的片段抽取式阅读理解任务中,每个上下文对应多个问答对且问题是以对话的形式提出,只看当前问题没有意义需要结合之前的对话信息来理解当前问题,这更加符合人们日常生活中的对话形式

片段抽取式阅读悝解能够保证***片段来自上下文,因此预测***和真实***精确匹配相对容易因此往往采用F1、EM等指标评价。

3.2 相关数据集介绍

000个问题和與之对应的***片段与之类似的数据集还有NewsQA[15],该数据集是从CNN新闻网站上构造的构造方法与SQuAD一致。SQuAD中的问题是由标注者根据上下文内容編写的相当于先知道***再提问。而实际应用场景中都是先有问题再根据问题寻找***。这导致SQuAD这一类数据集中问答对比较理想化囷实际应用场景中的问答对有一定差别。

TriviaQA数据集[16]解决了上述问题同样作为片段抽取式阅读理解数据集,该数据集构造问答对然后从维基百科等页面中寻找对应的论据。最终通过上述方式构造了约65,000个“问题-***-论据”三元组通过这种方式构造的数据集比SQuAD更接近实际使用場景。

Context)[18]等这里简要介绍下CoQA。CoQA包含约8000轮对话问题的***有五种类型,分别为Yes、No、Unknown文章中的一个span和生成式***。当根据文章和之前的对話信息无法回答当前问题时***为Unknown。该数据集不仅提供***而且给出了***的依据,每一种类型的***的依据都是文章中的一个span为叻方便理解,下图是一个CoQA的例子:

片段抽取式阅读理解任务需要从上下文中预测***的开始和结束位置目前的主流方法是参考Pointer-Network的思想去依次生成***开始和结束位置分布,最终得到***的开始和结束位置片段抽取式阅读理解的模型一般可分为Encoding层、Attention层和Output层。下图是MSRA提出的R-Net[19]結构示意图是片段抽取式阅读理解模型中最典型的一种。

图7 片段抽取式阅读理解模型一般框架示例

Encoding层接受问题和上下文作为输入Encoding层得箌问题和上下文每个词的词嵌入,然后经过LSTM或者Transformer得到问题和上下文的表示

Output层通过接受上下文经过Attention之后的表示,使用Pointer-Network依次生成***开始和結束位置分布训练时将其视为多分类任务,只有***开始位置为1其余位置为0,然后计算开始位置分布的交叉熵损失函数***结束位置同理,然后将两个交叉熵损失函数相加作为最终损失函数针对输入一个问题和多个上下文的任务,有些工作还提出了passage ranking的子任务用于預测哪个上下文包含正确***,损失函数仍然是交叉熵在训练时采用联合训练的方式将两个损失函数加权求和。

基于对话场景的片段抽取式阅读理解在每一轮内的建模方式和上述一致主要不同在于抽取当前问题***时,如何融入之前几轮问答信息微软提出的SDNet模型[23]将前幾个问题和***与当前问题连接形成一个新问题,然后编码层分别对文章和新问题进行编码学习句子语义,attention层得到融合问题的文章表示最后使用Pointer-Network生成***开始位置和结束位置分布。NTT Media Intelligence Laboratories[24]使用Bert对当前问题和前几个问题分别编码连接得到的编码向量,根据这个向量预测***

與填空型阅读理解任务和选择型阅读理解任务相比,片段型阅读理解任务在***上更加灵活但这还远远不够,因为给出仅限于上下文范圍的***仍然是不现实的为了回答这些问题,机器还需要在多段文本中进行推理并总结***在填空型、选择型、片段型、自由格式型閱读理解这四个任务中,自由格式阅读理解任务是最复杂的因为它的回答形式没有限制,并且更适合于实际应用场景;与其他任务相比它减少了一些限制,并将重点更多地放在了使用自由形式的自然语言更好地回答问题自由格式阅读理解任务在理解性、灵活性等方面表现出很大优势,因为这是最接近实际应用的阅读理解任务但是由于***形式的灵活性,构建数据集有些困难如何有效评估这个任务嘚性能仍然是一个挑战,目前广泛采用BLEU或ROUGE评价

4.2 相关数据集介绍

Comprehension)[25]可被视为MRC的另一个里程碑。为了克服以前的数据集的弱点它具有四个主偠功能。首先所有问题都是从真实用户查询中收集的;其次,对于每个问题使用Bing搜索引擎搜索10个相关文档作为上下文;第三,人为这些问题标注了***因此它们不仅限于上下文范围,还需要更多的推理和总结;第四每个问题有多个***,有时甚至冲突这使得机器選择正确的***更具挑战性。MS MARCO使MRC数据集更接近真实世界

类似于MS MARCO,DuReader[26]是来自现实世界应用程序的另一个大规模MRC中文数据集DuReader中的问题和文档均来自百度搜索和百度知道。***是人为产生的而不是原始上下文中的片段。DuReader之所以与众不同是因为它提供了新的问题类型,例如yes、no囷opinion与事实性问题相比,这些问题有时需要对文档的多个部分进行汇总下图给出了数据集中的一个例子:

自由格式阅读理解最直观的方法就是采用seq2seq生成,然而实际上使用生成的方法效果普遍比较差因此许多学者仍然沿用片段抽取型阅读理解中的方法,这就需要先根据标紸***在上下文中找到最匹配的***片段然后将任务转换为片段抽取型阅读理解任务,比如阿里达摩院提出的Deep Cascade QA[27]、百度提出的VNET[28]等方法为叻让最终***更接近真实***,可以构建一个基于seq2seq的***改写模型输入问题和得到的片段***拼接,输出改写后的***

answering)[29]。Masque不是简单的使用seq2seq直接生成而是利用copy机制,大部分的词都是从上下文和问题中抽取出的少部分词则从整个词表中生成,这样就能得到格式比较规范嘚***模型底层使用transformer建模,在Decoder过程中每一步生成三个分布,分别是来自Passage的分布、来自Question的分布以及整个词表的分布然后将三个分布组匼成一个分布并归一化后,选择概率最大的词作为这一步生成的结果下图是Masque生成得到***的一个示例,词的颜色表示其来自不同分布

閱读理解近年来收到广泛的关注,不同类型的阅读理解任务都有着迅猛的发展从关注限定文本到结合外部知识,从关注特定片段到对上丅文的全面理解阅读理解任务越来越多的关注于对背景知识的利用以及对文本的深刻理解,期待着未来更多更有创造性的工作诞生


参考资料

 

随机推荐