论文笔记:Mention Flags (MF): Constraining Transformer-based Text Generators

一、概述

本模型针对于将受控文本生成应用到常识生成任务上,相较先前的T5等生成模型,性能有不错的提升。
常识生成一般有两种:

  • CommonGen:输入是一个包含k个概念的 C= [c1,· · ·, ck], k≤5,要求生成的文本中满足C中的全部词法约束。如:[Tetas, South, Bank]
  • E2ENLG: 输入是包含k个键值对形式概念的C=[k1, v1,· · ·, kn, vn], n≤8,要求生成的文本中满足C中的全部词法约束。如:[name, Tetas, area, South, Bank]

本论文中提出了Mention Flags (MF),用于跟踪S2S解码器生成的输出中是否满足词法约束。

模型总体逻辑结果如下:

在这里插入图片描述
在每一个生成步骤,MF通知解码器在当前decoder输入序列中是否满足了每个词法约束。而且本模型支持变体词汇也可认为满足约束。 好比“上午”可以满足约束“早晨”。

理想情况下,产生约束文本的方法应该:

  • 生成高质量的文本
  • 达到高约束满意度
  • 具有高效的推理程序

二、原理

1、 Mention Flag

现有提及标记矩阵M,元素只能是0,1,2,分别代表不是约束、未提及、和已经提及。
在这里插入图片描述

开始状态下m(x, ε)∈ {0,1},其中ε是空字符串,因为空字符串没有提到任何东西。
生成过程中,m(x, ε)中的值只能是保持不变或者1 -> 2(未提及->已提及)。

举例:
给定encoder一组概念C=[name, Tetas, area, South, Bank],开始时m(x, ε) = [0,1,0,1,1],因为name和area没有词法约束,所以初始化为0,其他初始化为1,代表未提及。
在step4时,m(x,[Tetas, is, located]) = [0,2,0,1,1],因为Tetas的词法约束已经被满足,其他还未提及。

特别的是,若存在多词约束时,只有模型生成了完整的约束时,m才会从1更变为2。正如例子中第七步South已经提及,但由于其为多次约束,这是并不会把South的提及标记改变为2,待Bank生成后才会一并更新。
在这里插入图片描述

给定x,和yt,可以定义出二维提及矩阵Mention Flag Matrix F:
在这里插入图片描述
在训练时,提及标记矩阵可以通过输入与输出的对齐数据直接转换得到F:
在这里插入图片描述

在推理过程中,我们递增的构建提及矩阵,在每个时间步递增式地扩充提及标记矩阵的每一列,表示此时的提及状态。开始的时候只有一列:
在这里插入图片描述
在第t步时,提及矩阵F扩充至:
在这里插入图片描述

2、 model structure

通过下图的示意图可以看到,Mention Flags被注入到Transformer解码器中。
在这里插入图片描述

在之前的transformer中,decoder中包含了两种attention,如公式(3)中的SA,是处理当前decoder的input序列之间的attention,CA处理encoder输出(he)和decoder当前步注意力加权计算之后的输出yt之间的attention。

在这里插入图片描述
Q:那我们怎么把Mention Flags注入到transformer结构中呢?
A:由于在SA中已经使用yt作为query,he作为key,计算得到的相似度矩阵和Mention Flag Matrix具有相同的size,这使得它适合与之合并。

作者提到受Shaw et al.(2018)的《Self-attention with relative position representations》启发,在CA中注入Mention Flags作为编码器输出he和当前解码器输入yt之间的“相对位置”。在decoder的每个layer,我们将F表示为两个可训练的嵌入层mkmv(每层各自独立)
在这里插入图片描述
在这里插入图片描述
维度表示为:
在这里插入图片描述
此时CA中嵌入两个参数mkmv
在这里插入图片描述
其中R是相对位置的Self-Attention函数:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现mention功能,可以借助vue-quill-editor插件。首先,需要在Vue项目中引入vue-quill-editor插件。你可以使用以下代码来引入vue-quill-editor插件: ``` import VueQuillEditor from 'vue-quill-editor' ``` 然后,你可以在Vue组件中使用vue-quill-editor插件来实现富文本编辑器。具体使用方法可以参考插件的文档或示例代码。引入富文本编辑器可以使用以下代码: ``` import { quillEditor } from 'vue-quill-editor' ``` 这样就可以在Vue项目中使用vue-quill-editor插件,并实现mention功能了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [富文本编辑器 vue-quill-editor 实现 mention 提醒功能](https://blog.csdn.net/qq_25687271/article/details/115184228)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [vue3.0 vue-quill-editor.rar](https://download.csdn.net/download/qq_30358945/23619456)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值