美文网首页
DisSent: Learning Sentence Repre

DisSent: Learning Sentence Repre

作者: ltochange | 来源:发表于2021-06-24 23:40 被阅读0次
来源:acl2019
链接:https://arxiv.org/pdf/1710.04334.pdf
代码:https://github.com/windweller/DisExtract

只有将两个句子的语义结合起来,才能确定的句间关系,因此可以利用显性语篇关系(包括句间关系)来学习句子语义表征。

通过引入显性语篇关系,在两个下游任务上取得了较好的结果,一个是GLUE数据集上的各类语义任务,一个是PDTB数据集上的相邻句子对的隐式关系分类(达到了STOA)

Discourse Prediction Task

语篇关系总是存在的,它们属于一组小范畴并构成可解析的结构

相比修辞结构理论将文本分成多个EDU,然后解析并建立复杂的语篇关系。文章做了一些改变。

  1. 限制EDU为语法上完整的句子,包括从句和不定式短语
  2. 关注相邻两个EDU的显性关系,不考虑隐性关系,简化修辞结构理论的流程

之所以能够进行这种简化,是因为我们的目标不是标注自然文本,而是为一组特定的语篇关系管理一组句子对

简化的任务称为discourse marker prediction

即给定两个句子(从句),模型需要预测出那个discourse marker(自己理解应该就是连接词)可以用来连接两个句子的意思。 例子:

  1. She’s late to class——she missed the bus,应该填入because
  2. She’s sick at home ——she missed theclass,应该填入so
  3. She’s good at soccer—— she missed the goal,应该填入but

这些句子对有相似的句法结构和许多共同的单词,但组成句的语义可以指导哪个discourse marker 最合适。假如不弄清楚句子的语义,就无法知道该使用哪个discourse marker。 因此,选择正确的discourse marker需要一个反映句子完整意义的表征

论文表明人类不可能完美地完成这项任务,因为:
(1)有一些discourse marker其实是同义词
(2)不同的discourse marker也有可能连接同一对句子,表达不同的意思。

例如:

Bob saw Alice was at the party, (then | so | but) he went home

因为以上的一些问题,discourse marker prediction效果存在上限,但discourse marker经常可以从它所连接的句子的语义中推断出来,使其成为一项有用的训练任务

Model 模型

一种是从头开始训练双向LSTM模型,一种是微调bert

Sentence Encoder Model 句子编码器

使用双向lstm获得两个句子的表征(应用到下游任务时固定)

在这里插入图片描述
构建相邻两个句子的特征,然后输入到全连接的网络,进行discourse marker分类。 在这里插入图片描述

具体分为多少类,构建数据集的时候会说明。

Fine-tuning Model 微调模型

在句子关系数据集上微调bert之后,再在下游任务上进行微调。

判断句子关系数据集是否有助于提高下游任务的效果。

例如,在PDTB数据集的隐式关系预测任务上评价效果

Data Collection 数据的收集

句子关系数据集如何收集得到呢?

利用一组显性语篇标记(即连接词表)和依存句法分析从自然文本语料库(BookCorpus)中自动收集大量句子对及其关系

  1. 定义常见的discourse marker,通过PDTB的数据集统计获得,最终的连接词词表,如下图,总共收集到4706292个句子对,共有15种discourse marker (连接词)。按照0.9,0.05,0.05 划分训练集,验证集和测试集。数据集是不平衡的,但是模型仍然能够很好地学习样本较少的类。

    在这里插入图片描述
  2. 依存句法解析

大部分的连接词都是出现在两个句子之间,但是有些连接词和它连接的两个句子的相对位置不一样,因此需要使用依存句法树来提取合适的句子对及其顺序

在这里插入图片描述
和PDTB数据集一样,也是先找到和连接词绑定的句子,记为S2,然后再去找S1。
(1)找不到S1,样本去掉,例如 that’s so cool! 中的so
(2)S1和S2在同一句,如上图所示
(3)一个句子只包含S2和连接词,则S1是上一句

整理好的训练集如下图所示:


在这里插入图片描述

Experiments 实验

设置了四个任务,第一个任务是为了训练得到句子向量

  1. 双向LSTM在句子关系数据集上训练后,得到固定句向量,用于下游任务
  2. bert在句子关系数据集上微调之后,再在下游任务微调

后面三个任务是为了验证得到的句子向量的有效性。

任务一:句子关系预测(句间的连接词预测),数据集来源于上一步。类别设置有三种:

在这里插入图片描述

本来用的 Books ALL这一种,但是效果并不好。所以又采用了其他两种设置Books 5和Books 8,里面的连接词含义不混淆并且比较常见


在这里插入图片描述

对于使用Books ALL设置:

如果训练集不做平衡处理(使用全部的训练集),测试集上BILSTM模型的准确率只有67.5%。不常见的连接词容易被误认为常见的连接词。相似的连接词容易混淆(例如 although和but,before,then和after)等。混淆矩阵如下:


在这里插入图片描述

如果训练集做了类别间的平衡处理,模型的准确率只有47%。混淆矩阵如下:

在这里插入图片描述

任务二:

相邻句之间总是有关系的,但有些句子间用了连接词,有些则没有。因此可分为两类。使用PDTB中的数据, 16224个句子对有标记,18459个句子无标记

研究显示,人类在猜测句间是否有连接标记的时候,表现得比碰运气好得多。

在这里插入图片描述
上图种的MVU代表任务二的结果,BiLSTM的效果比微调bert好。

任务三: 隐式关系分类,包含11种关系,使用PDTB的数据集,对相邻的句子对进行训练和预测,13445个训练句子对和1188个测试数据对

上图种的IMP代表任务三的结果, BERT + DisSent Books 5 达到最佳效果

任务四:

语义任务,评估训练得到的句子向量,使用GLUE数据集

在这里插入图片描述

DIsSent种不同的类别设置对下游任务(其他数据集上的泛化性)影响不大。

Extraction Validation

验证构造句子关系数据集的效果

在这里插入图片描述
对于大多数discourse markers,都能达到较高的提取精度

相关文章

网友评论

      本文标题:DisSent: Learning Sentence Repre

      本文链接:https://www.haomeiwen.com/subject/dqhnyltx.html