Re12:读论文 Se3 Semantic Self-segmentation for Abstractive Summarization of Long Legal Documents in Low

简介: Re12:读论文 Se3 Semantic Self-segmentation for Abstractive Summarization of Long Legal Documents in Low

1. 模型Re3


数据切分(先切分原文,然后将摘要与对应的原文chunk匹配,形成原文-摘要对)→摘要生成

02143191cedb4bfe888e0d21c93a5db7.png


数据切分阶段:

  1. 切分原文(以句子为单位进行合并):
  • 句子表征:使用在度量学习(metric learning)任务上微调过的Legal-Bert预训练模型实现句嵌入。
  • 规定每个连续块token的最大长度和最小长度,当chunk加入新句子后的token数仍在二者范围内时,如果 新句子表征与当前chunk中每一句表征的余弦相似度的平均值 大于 新句子与下一chunk(这个chunk是look-ahead生成的,是后文直接组成chunk最小长度)中每一句表征的余弦相似度的平均值,则将新句子加入该chunk。


  1. 匹配摘要:将摘要中的每一句与其ROUGE-1-P值最高的chunk进行匹配。(Precision最高:该chunk中包含该句的内容最多)。


  1. 训练阶段丢弃没有匹配摘要的chunk。

摘要生成阶段:直接用已有的生成模型。论文中比较了BART(quadratic Transformer)和LED(linear Transformer,能输入更长的序列)的base模型的效果。


优化:

  • look-ahead chunk的优势:不需要人工规定新句子能否加入chunk的余弦相似度平均值的阈值。
  • 设置chunk的最小长度是为了充分利用GPU,最大长度是为了chunk能够完整地放进GPU。


2. 实验


2.1 实验设置

image.png


2.2 主实验结果

baseline是PEGASUS(论文里没有写具体配置)和直接使用chunk最大token长度来进行truncation的BART、LED模型,此外比较了不同的chunk最大长度和最小长度的实验结果(显然长度越长效果越好。比较了一个GPU内存占比和结果的tradeoff):

image.png

image.png

image.png


2.3 模型分析

2.3.1 label scarcity问题

仅使用10个或100个标记数据。结果证明了Se3方法在低资源条件下的效果:

image.png


2.3.2 Ablation Study

语义连续chunk的效果,baseline是:1. 不考虑语义连续信息,直接用句子组成chunk。2. 使用BERT。3. 使用没有在度量学习任务上微调过的Legal-Bert。

image.png


2.3.3 其他指标分析

  1. BERTSCORE
  2. eventual redundancy:(1) 只出现过一次的n_gram的占比 (2) Normalized Inverse of Diversity (NID) (考虑到不同chunk摘要合并时可能产生冗余)

image.png


3. 论文阅读时产生的其他问题


  1. 语义连续块只是表征的相似性较高,但并没有真的含有某种语义。而且感觉这种截断方式很简单粗暴。既然最后都要和摘要匹配,为什么不先用摘要匹配然后再切分,感觉这样更有可能保留更合理的语义结构信息。但是确实这样会导致测试阶段难以操作……除非先训练个模型来选,但是这样又感觉无异于先抽取后生成范式了。
  2. 在训练阶段直接丢弃没有匹配摘要的原文连续块感觉不合理,测试时候咋办?
  3. 虽然原文声称文本信息必须要阅读全文后才能得到,但其实各连续块之间也没有信息交互,事实上还是分块做的。
  4. 感觉衡量冗余度的标准有些奇怪,真实摘要的这个值就比较低,所以生成结果的指标即使高也感觉是偏离真实值了,这样能说明它效果好吗?


4. 代码复现


官方没有给出代码,我发邮件问了作者还没有回复。

但是看起来这个代码倒是不难写,等我有需要了复现一下,跟demo展示的结果对比对比。

相关文章
|
存储 缓存 NoSQL
深入理解Django与Redis的集成实践
深入理解Django与Redis的集成实践
517 0
|
8月前
|
存储 安全 Java
常见 JAVA 集合面试题整理 自用版持续更新
这是一份详尽的Java集合面试题总结,涵盖ArrayList与LinkedList、HashMap与HashTable、HashSet与TreeSet的区别,以及ConcurrentHashMap的实现原理。内容从底层数据结构、性能特点到应用场景逐一剖析,并提供代码示例便于理解。此外,还介绍了如何遍历HashMap和HashTable。无论是初学者还是进阶开发者,都能从中受益。代码资源可从[链接](https://pan.quark.cn/s/14fcf913bae6)获取。
369 3
|
7月前
|
人工智能 供应链 搜索推荐
AI+电商API:智能推荐、动态定价与自动化运营的未来
在电商竞争日益激烈的今天,AI与电商API的深度融合正重塑行业格局。通过智能推荐、动态定价与自动化运营,AI+电商API助力企业精准洞察用户需求、优化价格策略、提升运营效率,推动个性化、高效能的智慧电商发展,为企业打开未来增长新空间。
|
10月前
|
机器学习/深度学习 人工智能 JSON
这个AI把arXiv变成代码工厂,快速复现顶会算法!Paper2Code:AI论文自动转代码神器,多智能体框架颠覆科研复现
Paper2Code是由韩国科学技术院与DeepAuto.ai联合开发的多智能体框架,通过规划、分析和代码生成三阶段流程,将机器学习论文自动转化为可执行代码仓库,显著提升科研复现效率。
1365 19
这个AI把arXiv变成代码工厂,快速复现顶会算法!Paper2Code:AI论文自动转代码神器,多智能体框架颠覆科研复现
|
固态存储 测试技术 图形学
电脑升级有哪些建议?
【10月更文挑战第31天】电脑升级有哪些建议?
777 4
|
atlas
Cesium导入geojson数据
这篇文章详细描述了如何在Cesium中导入GeoJSON数据来绘制地理矢量数据,并提供了实现的具体方法和示例代码。
762 2
Cesium导入geojson数据
|
SQL 前端开发 Java
Spring Data JPA之Spring boot整合JPA进行CRUD(上)
Spring Data JPA之Spring boot整合JPA进行CRUD(上)
461 0
Java系列之 For input string: ““
这篇文章讨论了Java中因尝试将空字符串转换为其它数据类型(如int)时出现的`For input string: ""`错误,并提供了通过非空检查来避免此错误的解决方法。
|
数据可视化 前端开发 JavaScript
【Echarts大屏】智慧医疗可视化大屏(新手必用)
【Echarts大屏】智慧医疗可视化大屏(新手必用)