美文网首页
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