Enhancing Topic-to-Essay Generation with External Commonsense Knowledge

论文目的

自动 topic-to- essay 生成(TEG)任务是指给定 topic 集合,生成主题相关、段落集的文本。过去的工作仅仅基于给定的主题去执行文本生成,而忽略了大量的常识知识,其实这些常识知识会提供额外的背景知识,这能提高生成文章的新颖性和多样性。为了解决这个问题,本文通过动态记忆机制将外部知识库的知识整合进生成器。除此之外,基于多标签判别器的对抗训练的应用进一步提高了主题一致性。

论文方法

任务描述

给定一个包含m个主题的主题序列x,TEG任务旨在生成一个包含n个单词的主题一致的文章y,其中n远大于m。

Memory-Augmented Generator

大体上为encoder-decoder

Encoder

encoder端为LSTM模型,融合主题信息,得到hidden states

Decoder

利用ConceptNet知识库,查询得到主题对应的邻居信息,并获取预先训练好的词向量构成记忆矩阵M,将记忆矩阵加入decoder中

Dynamic Memory

随着生成的进行,需要表达的主题信息不断变化,这就需要动态更新记忆矩阵。
M t i ∗ = t a n h ( U 1 M t i + V 1 e ( y t ) ) M^i_t* = tanh (U_1M^i_t + V_1e(y_t)) Mti=tanh(U1Mti+V1e(yt))
g t i = s i g m o i d ( U 2 M t i + V 2 e ( y t ) ) g^i_t = sigmoid(U_2M^i_t + V_2e(y_t)) gti=sigmoid(U2Mti+V2e(yt))
M t + 1 i = ( 1 − g t i ) . M t i + g t i . M t i ∗ M^i_{t+1} = (1 − g^i_t) . M^i_t + g^i_t .M^i_t* Mt+1i=(1gti).Mti+gti.Mti

Multi-Label Discriminator

引入鉴别器D来评价输入主题与生成的文章之间的主题一致性,进一步提高了文本质量。鉴别器是X+1分类,区分是属于X个 topic 还是属于生成样本

Adversarial Training

Our generator G can be viewed as an agent, whose state at time step t is the current generated words y 1 : t − 1 = ( y 1 , ⋅ ⋅ ⋅ , y t − 1 ) y_{1:t−1} = (y1, ··· , y_{t−1}) y1:t1=(y1,,yt1)and the action is the prediction of the next word yt。

实验内容

Dataset

使用知乎数据集

Evaluation Metrics

使用两种评估方法——自动评估和人类评估

Automatic Evaluation

  • consistency : 一个好的essay应该与所有主题语义相近。使用SGM预训练好的多标签分类器,使用jaccard相似方程来计算生成文本主题和原始主题的consistency得到矩阵
  • Novelty : 新颖性可以通过看看生成文本与训练文本的区别来判定。使用jaccard相似方程来计算生成文本和原始主题文本的consistency得到矩阵
  • Diversity : 我们还计算了不同的n-gram在生成的文章中的比例,以评估输出的多样性。

Human Evaluation

200个样本(包含输入和输出)分给3个标注者。然后,他们被要求从1到5对生成的文章的的四个标准进行评分:新颖性、多样性、连贯性和主题一致性。 对于新颖性,我们使用TF-IDF特性检索10 最相似的训练样本,为注释者提供参考。

实验过程

  1. 与baseline比较
  2. 消融实验
  3. case study

论文亮点

  1. 评估方式特别——自动与人工两种结合
  2. 对抗学习和深度学习结合
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随着物联网系统的不断发展,机器到机器的通信变得越来越重要。MQTT作为一种轻量级的通信协议,已经被广泛应用于物联网系统中。而Python作为一种灵活且强大的编程语言,可以用来增强MQTT-based的机器到机器通信。 首先,Python提供了丰富的库和工具,可以帮助开发人员更加便捷地使用MQTT协议。通过使用Python的MQTT客户端库,开发人员可以快速地建立起MQTT连接,并且方便地进行消息的发布和订阅操作。同时,Python还提供了各种各样的扩展库,可以用来处理与MQTT相关的数据和事件。 其次,Python具有较为友好的语法和良好的可读性,这使得开发人员可以更加高效地编写和维护MQTT-based的机器到机器通信代码。同时,Python还支持异步编程,这意味着可以编写高效的并发MQTT通信程序,从而提高系统的性能和响应速度。 此外,Python还可以与各种传感器、执行器和其他物联网设备进行良好的集成。开发人员可以利用Python的丰富库和工具,将MQTT通信与物联网设备的控制和监测结合起来,从而实现更加智能和灵活的物联网系统。 综上所述,通过使用Python来增强MQTT-based的机器到机器通信,可以使物联网系统变得更加灵活、高效和功能丰富。Python为开发人员提供了丰富的工具和良好的支持,从而可以更好地应对物联网系统中的各种挑战和需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值