Re27:读论文 LADAN Distinguish Confusing Law Articles for Legal Judgment Prediction

简介: Re27:读论文 LADAN Distinguish Confusing Law Articles for Legal Judgment Prediction

1. Background & Motivation


LJP任务图示:

image.png

LJP任务中,由于相似法条对应的案例很容易被误判,所以易混淆罪名很常见。

易混淆罪名示例:

image.png


以前解决这一问题的方法往往依赖领域知识(如Few-shot1定义discriminative attributes以作区分),这使其对不同法系的泛化能力变弱。

本文希望能提出自动抽取法条文本特征的模型来辅助LJP任务,如FLA2用对法条的注意力机制从事实描述中抽取特征。如下图a所示,其缺点在于独立学习每个法条的注意力向量,这样语义上相似的法条可能就会学到相似的注意力向量,这对易混淆罪名的预测很低效。

如果想要解决相似案例的问题,直觉想法是删除法条之间的重复内容,仅使用剩余的不同内容,来做注意力机制。但这样就会导致不相似法条出现相似的剩余内容,如上图所示。(除此以外还有个问题,就是这个过程不可微分,因此无法直接插入端到端神经网络)

image.png

信息传播GNN会出现过平滑问题,使节点表征靠近,这与我们所期待的区分相似GNN的目标正好相悖,因此本文提出distillation operation,蒸馏而非聚合,来抽取相似法条之间的可区分特征。


2. LADAN模型


image.png

image.png


2.1 law distillation module

  1. graph construction layer (GCL):划分法条到社区中

先构建法条的全连接图,边权是TF-IDF向量的余弦相似度→根据阈值τ 移边

得到一个由disconnected subgraphs组成的图,每个subgraph是一个由易混淆法条构成的社区

image.png


2.2 fact re-encoder module

  1. 预测案例属于哪个社区:

image.png

image.png

image.png


2.3 预测和训练

得到了concat后的事实描述表征:

image.png

损失函数-多任务:

image.png

损失函数-预测法条属于的社区:

image.png


3. 实验


3.1 数据集

CAIL

预处理工作:

  1. 删除多法条和多罪名场景
  2. 仅保留超过100个案例样本的法条和罪名(在训练集和验证集中计算得到)
  3. 删除二审样本(在论文中没提,但在代码中有,后续直接使用LADAN预处理数据的论文会提及)
  4. 将刑期改为分类标签

image.png


3.2 baseline

细节略。

  1. CNN
  2. HARNN
  3. FLA4
  4. Few-Shot1
  5. TOPJUDGE
  6. MPBFN-WCA


3.3 实验设置

细节略。


3.4 主实验结果

细节略。

image.png

image.png


3.5 实验分析

3.5.1 消融实验

image.png


3.5.2 案例分析

LADAN encoder的注意力可视化:

image.png


4. 代码复现


4.1 官方TensorFlow实现

环境配置可以参考官方GitHub项目中的issue:file not found · Issue #4 · prometheusXN/LADAN:

image.png

安装可以参考我之前写的博文:TensorFlow安装教程

首先预处理CAIL数据,然后下载其他数据、Python包……等,然后运行训练代码。我现在跑出来了,细节略,以后补。


4.2 PyTorch复现

我需要写LJP主流方法用PyTorch实现的包,先把坑放在这里,以后写。

相关文章
|
消息中间件 人工智能 搜索推荐
《主动式智能导购AI助手构建》解决方案评测
一文带你了解《主动式智能导购AI助手构建》解决方案的优与劣
339 17
|
自然语言处理 算法 搜索推荐
NLTK模块使用详解
NLTK(Natural Language Toolkit)是基于Python的自然语言处理工具集,提供了丰富的功能和语料库。本文详细介绍了NLTK的安装、基本功能、语料库加载、词频统计、停用词去除、分词分句、词干提取、词形还原、词性标注以及WordNet的使用方法。通过示例代码,帮助读者快速掌握NLTK的核心功能。
2641 1
|
机器学习/深度学习 算法 数据挖掘
【机器学习】Voting集成学习算法:分类任务中的新利器
【机器学习】Voting集成学习算法:分类任务中的新利器
797 0
|
SQL 分布式计算 Ubuntu
【Hive】Hive开启远程连接及访问方法
【Hive】Hive开启远程连接及访问方法
4441 0
|
Windows
显示器设置
显示器设置
323 2
|
边缘计算 物联网 5G
软件定义网络(SDN)的未来趋势:重塑网络架构,引领技术创新
【8月更文挑战第20天】软件定义网络(SDN)作为新兴的网络技术,正在逐步重塑网络架构,引领技术创新。随着5G、人工智能、边缘计算等技术的不断发展,SDN将展现出更加广阔的应用前景和市场潜力。未来,SDN有望成为主流网络技术,并在各行各业推动数字化转型。让我们共同期待SDN技术带来的更加智能、安全和高效的网络体验。
|
测试技术 Linux 开发工具
软件测试之【软件测试初级工程师技能点全解】
软件测试之【软件测试初级工程师技能点全解】
491 0
|
NoSQL 关系型数据库 MySQL
车联网场景下海量车辆状态数据存储实践
随着通信技术、计算机技术的不断发展,移动通信正在从人与人(H2H)向人与物(H2M)以及物与物(M2M)的方向发展,“万物互联”的概念正在逐步覆盖到各行各业中,例如智能家居、智能农业、智能交通、智能物流等领域。目前,车联网技术已经先行一步,在行车安全、交通管理、生活服务等方面得到充分应用。 车联网技术包括了车辆终端、云端、无线通信等方面。车辆终端实时产生大量车辆状态数
2704 121
车联网场景下海量车辆状态数据存储实践
|
存储 安全 算法
【Java|多线程与高并发】阻塞队列以及生产者-消费者模型
阻塞队列(BlockingQueue)常用于多线程编程中,可以实现线程之间的同步和协作。它可以用来解决生产者-消费者问题,其中生产者线程将元素插入队列,消费者线程从队列中获取元素,它们之间通过阻塞队列进行协调。