多头自注意力token解码器,该解码器能够对过去和未来的信息进行condition处理,适合填充任务;自注意力机制尤其适合填充文本,因为它可以为每个空白处从左到右及从右到左双向建模,为全部语义进行有效编码。

论文提出的模型:在空白处顺序生成token的一个简单的单例自注意网络,每次在空白处生成一个token时,模型都会处理其他已知token(包括模板中已给token和其他已生成的token,如下图所示,其中token”Can
I”是已经生成的token,在为下一个空白处生成token时,会将之前生成的token都填充进去)

上图是算法的训练过程:

输入:带有__m__标志的一句template,其中__m__表示需要填充文本,填充文本的token数量由模型决定

步骤:

1)按照__m__标志将template分成几块,记做segment ID,上图例子是分成了3块,则seg_Id={0,1,2},

2)每一块中会有多个token,此时计算每个token在一块内的偏移量offset,如上图中segment_Id = 0时,have的偏移量为2;

3)定位一个token的位置的表示方法:(seg_id,offset),如上图,have 的位置表示为(0,2)

4)将带有位置信息的groud truth 输入,放入template中,经过两次多头注意力网络,再经过一层前馈层,即可输出生成句子。

Text Infilling解读的更多相关文章

  1. postgresql数据库varchar、char、text的比较

    名字 描述character varying(n), varchar(n) 变长,有长度限制character(n), char(n) 定长,不足补空白text 变长,无长度限制简单来说,varcha ...

  2. Vue.js起手式+Vue小作品实战

    本文是小羊根据Vue.js文档进行解读的第一篇文章,主要内容涵盖Vue.js的基础部分的知识的,文章顺序基本按照官方文档的顺序,每个知识点现附上代码,然后根据代码给予个人的一些理解,最后还放上在线编辑 ...

  3. Selenium实战(三)——滑动解锁+窗口截图

    一.简单滑块的实例 当单机滑块时,改变的只是CSS样式,HTML代码如下: <div class="slide-to-unlock-progress" style=" ...

  4. BERT的优化演进方法汇总(持续更新)

    模型结构演进 本文以演进方向和目的为线索梳理了一些我常见到但不是很熟悉的预训练语言模型,首先来看看"完全版的BERT":RoBERTa: A Robustly Optimized ...

  5. 【QT相关】类头文件解读、QT编辑模式、读取text文本

    Wizard产生的头文件类包含了必须的#include文件.构造函数.析构函数和UI对象: #include <QMainWindow> namespace Ui {class Notep ...

  6. EPANET头文件解读系列1——TEXT.H

    定义在TEXT.H文件中的字符常量都以小写开头,然后紧跟一个下划线,再接着就全是大写字母 /***************************************************** ...

  7. 微信小程序组件解读和分析:五、text文本

    text文本组件说明: text 文本就是微信小程序中显示出来的文本. text文本组件的示例代码运行效果如下: 下面是WXML代码: [XML] 纯文本查看 复制代码 ? 1 2 3 4 <v ...

  8. 论文解读(XR-Transformer)Fast Multi-Resolution Transformer Fine-tuning for Extreme Multi-label Text Classification

    Paper Information Title:Fast Multi-Resolution Transformer Fine-tuning for Extreme Multi-label Text C ...

  9. 解读CSS文本(text)样式

    通过文本属性,您可以改变文本的颜色.字符间距.对齐文本.装饰文本.文本缩进,等等. color: 该属性用于改变文本的颜色,注意区分background-color. Line-height: 该属性 ...

随机推荐

  1. Mapped Statements collection does not contain value for xxx

    这是我第二次遇到的这个问题了,总结下. 第一次的问题是 mybatis的sqlSessionFactory的mapperLocations,配置的是这个路径下的所有映射文件,但是我没写的没有在该路径下 ...

  2. Python的字典、列表合并

    字典合并: 在日常工作中需要对字典进行合并操作,下面提供几个操作方法 1.使用dict(a,**b) 例: >>> a={'a':1,'b':2} >>> b={' ...

  3. c++踩坑大法好 赋值和指针的区别

    1,先说结论: 两个指针指向同一个结构,一个改了结构,另一个也会改掉. 两个指针指向同一个结构,修改了其中一个的指向,并且改了其中的内容,另一个不为所动. 2,看例子 main.cpp #includ ...

  4. python特性

    # for用法 for i in range(0,100,2): print(i) n = 0 # while用法 while n < 100: print(n) n += 2 else: pr ...

  5. 巨杉学习笔记 | SequoiaDB MySQL导入导出工具使用实战

    本文来自社区用户投稿,感谢这位小伙伴的技术分享 巨杉数据库架构简介 巨杉数据库作为分布式数据库是计算和存储分离架构,由数据库实例层和存储引擎层组成的.存储引擎层负责数据库核心功能比如数据读写存储以及分 ...

  6. 安装python3并新建python3的虚拟环境

    安装依赖 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel -y 下载P ...

  7. Jquery 如何设置多个attr()属性

    Jquery 如何设置多个attr()属性?     文章来源:刘俊涛的博客 欢迎关注公众号.留言.评论,一起学习. _________________________________________ ...

  8. centos7添加搜狗输入法

    https://www.cnblogs.com/eeexu123/p/9259430.html https://blog.csdn.net/jpch89/article/details/8190380 ...

  9. html 动态生成

    function func_creatediv(item, index, input) { var ip = document.createElement("div"); ip.n ...

  10. python3练习100题——012

    今天继续,答案都通过py3测试. 原题链接:http://www.runoob.com/python/python-exercise-example12.html 题目:判断101-200之间有多少个 ...