码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Re27:读论文 LADAN Distinguish Confusing Law Articles for Legal Judgment Prediction


    诸神缄默不语-个人CSDN博文目录

    论文名称:Distinguish Confusing Law Articles for Legal Judgment Prediction
    论文ACL官方下载地址:https://aclanthology.org/2020.acl-main.280/(这个网站上的视频不知道为啥打不开,我在papertalk上找到了讲解视频:https://papertalk.org/papertalks/6897)
    ArXiv下载地址:https://arxiv.org/abs/2004.02557
    官方GitHub项目:prometheusXN/LADAN: The source code of article “Distinguish Confusing Law Articles for Legal Judgment Prediction”, ACL 2020

    这篇论文是2020年ACL论文,做的是CAIL数据集上的LJP任务,主要关注区分易混淆法条的问题。
    本文提出的端到端模型LADAN (Law Article Distillation based Attention Network) 用相似法条的区别来attentively提取案例事实描述文本中的特征,解决了这一问题。
    用法条及其之间的TFIDF相似性构建图,将易混淆法条聚类到社区中,用GNN模型(不是直接聚合,而是搞了个GDO (graph distillation operator) 算子)来学习整个社区的特征和社区法条之间的细微差异。每个案例学习宏观和微观两个特征,宏观特征用于预测社区(事实描述和法条间的相似性),微观特征是通过被选中社区的注意力向量attentively抽取出来的,用于区分社区内的法条。

    文章目录

    • 1. Background & Motivation
    • 2. LADAN模型
      • 2.1 law distillation module
      • 2.2 fact re-encoder module
      • 2.3 预测和训练
    • 3. 实验
      • 3.1 数据集
      • 3.2 baseline
      • 3.3 实验设置
      • 3.4 主实验结果
      • 3.5 实验分析
        • 3.5.1 消融实验
        • 3.5.2 案例分析
    • 4. 代码复现
      • 4.1 官方TensorFlow实现
      • 4.2 PyTorch复现
    • 5. 其他在本文撰写过程中使用到的参考资料

    1. Background & Motivation

    LJP任务图示:
    在这里插入图片描述

    LJP任务中,由于相似法条对应的案例很容易被误判,所以易混淆罪名很常见。
    易混淆罪名示例:
    在这里插入图片描述

    以前解决这一问题的方法往往依赖领域知识(如Few-shot1定义discriminative attributes以作区分),这使其对不同法系的泛化能力变弱。
    本文希望能提出自动抽取法条文本特征的模型来辅助LJP任务,如FLA2用对法条的注意力机制从事实描述中抽取特征。如下图a所示,其缺点在于独立学习每个法条的注意力向量,这样语义上相似的法条可能就会学到相似的注意力向量,这对易混淆罪名的预测很低效。
    如果想要解决相似案例的问题,直觉想法是删除法条之间的重复内容,仅使用剩余的不同内容,来做注意力机制。但这样就会导致不相似法条出现相似的剩余内容,如上图所示。(除此以外还有个问题,就是这个过程不可微分,因此无法直接插入端到端神经网络)

    在这里插入图片描述

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

    2. LADAN模型

    在这里插入图片描述
    案例事实描述文本表示为两部分:基础表征 v f b \mathbf{v}^b_f vfb​(匹配法条社区,直接表征得到),可区分表征 v f d \mathbf{v}^d_f vfd​(区分同社区法条,通过fact re-encoder module得到)。
    两个表征concat起来后传入下游LJP任务(这一步可以用MTL,或者别的LJP模型,如TOPJUDFE/MPBFN等)。

    获得基础表征:使用一种流行文本表征模型(如CNN或Bi-RNN)
    获得可区分表征:用law distillation module将法条划分到社区中,然后抽取每个社区的distinction vector/distinguishable features β i \beta_i βi​(先用GDO算出每个法条的表征,然后池化出每个社区的表征)。通过案例的基础表征预测出该案例所属的社区,用该社区的distinguishable feature(上图中的 β c ^ \beta_{\hat{c}} βc^​)来attentively抽取案例的可区分表征(用fact re-encode module)。

    2.1 law distillation module

    1. graph construction layer (GCL):划分法条到社区中
      先构建法条的全连接图,边权是TF-IDF向量的余弦相似度→根据阈值 τ \tau τ移边
      得到一个由disconnected subgraphs组成的图,每个subgraph是一个由易混淆法条构成的社区
    2. 在每个社区中,用graph distillation layer学习其distinction vector。
      参考graph convolution operator (GCO),本文提出graph distillation operator (GDO),移除节点相似特征以学习distinction vector。
      对法条 L i L_i Li​,GDO用一个可训练权重矩阵 Ψ \Psi Ψ捕获其与图中邻居之间的相似信息,用矩阵 Φ \Phi Φ抽取其有效语义特征。每一层聚合 L i L_i Li​及其邻居相似信息、然后从表征中删掉:
      在这里插入图片描述
      一个社区的distinction vector:
      在这里插入图片描述
      (MaP是max pooling,MiP是min pooling)

    2.2 fact re-encoder module

    1. 预测案例属于哪个社区:
      在这里插入图片描述
      在这里插入图片描述
    2. 用对应社区的distinction vector β c ^ \beta_{\hat{c}} βc^​ 来attentively抽取案例的distinguishable features
      参考HAN3,基于词-句两个级别的Bi-GRUs来attentively抽取distinguishable features
      词级别:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      句子级别:
      在这里插入图片描述

    2.3 预测和训练

    得到了concat后的事实描述表征:
    在这里插入图片描述

    在这里插入图片描述

    损失函数-多任务:
    在这里插入图片描述

    损失函数-预测法条属于的社区:
    在这里插入图片描述

    在这里插入图片描述

    3. 实验

    3.1 数据集

    CAIL

    预处理工作:

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

    在这里插入图片描述

    3.2 baseline

    细节略。

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

    3.3 实验设置

    细节略。

    3.4 主实验结果

    细节略。
    在这里插入图片描述

    在这里插入图片描述

    3.5 实验分析

    3.5.1 消融实验

    在这里插入图片描述

    3.5.2 案例分析

    LADAN encoder的注意力可视化:
    在这里插入图片描述

    4. 代码复现

    4.1 官方TensorFlow实现

    环境配置可以参考官方GitHub项目中的issue:file not found · Issue #4 · prometheusXN/LADAN:
    在这里插入图片描述
    安装可以参考我之前写的博文:TensorFlow安装教程

    操作步骤:

    1. 下载各种需要的数据(LADAN官方GitHub项目链接里都给了),law_processed文件夹放到training_code文件夹下面,别的几个文件在代码里直接改路径就行
    2. 首先预处理CAIL数据:tongji_3.py→make_Legal_basis_data.py(这两个好像都是直接用于small数据的,但是改成big好像差不太多)
    3. 然后运行训练代码(后面几篇后续研究中,LADAN的baseline用的是LADAN+MTL,所以我跑的是LADAN+MTL_small.py),运行命令是python LADAN+MTL_small.py --gpu 0 --data_folder /data/cail_ladan/legal_basis_data_small。我现在能正常运行small数据集上的代码,但是改成big数据集后就跑不了了,我也不知道为啥,TF1是我所不了解的领域。准备以后再看怎么解决这个问题吧

    4.2 PyTorch复现

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

    5. 其他在本文撰写过程中使用到的参考资料

    ACL 2020 论文介绍 - 知乎


    1. Few-shot charge prediction with discriminative legal attributes ↩︎ ↩︎

    2. Learning to predict charges for criminal cases with legal basis ↩︎

    3. Hierarchical attention networks for document classification ↩︎

    4. Re7:读论文 FLA/MLAC/FactLaw Learning to Predict Charges for Criminal Cases with Legal Basis ↩︎

  • 相关阅读:
    JAVA_内部类 学习笔记
    Java多并发(五)| JUC包下的并发容器(ConcurrentHashMap)& 并发工具类 & 原子变量类
    gitee配置流水线实现自动打包vue
    语音相似度评价
    2100. 适合打劫银行的日子;2080. 区间内查询数字的频率;1774. 最接近目标价格的甜点成本
    Java学习笔记 --- 泛型
    python-(6-3-1)爬虫---requests入门
    vue 项目代码混淆配置(自定义插件适用)带配置项注释
    城市排水监测方案(dtu终端配合工业路由器精准监测)
    Python当中的repeat()函数和repeat_interleave()函数剖析和对比
  • 原文地址:https://blog.csdn.net/PolarisRisingWar/article/details/126472752
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号